
/* ===== Bootstrap 3 (themes/pts/css/bootstrap.css) — grid, navbar, resets ===== */
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*!
 * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=64e18c8641e50689a85d780acfb74dd6)
 * Config saved to config.json and https://gist.github.com/64e18c8641e50689a85d780acfb74dd6
 */
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  /* font-family intentionally NOT set here — the brand face (Roboto) is
     declared once in the PTS layer below. A competing declaration here
     only lost on source order, which any reorder or minifier could flip. */
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #ffffff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 30px;
}
h3,
.h3 {
  font-size: 24px;
}
h4,
.h4 {
  font-size: 18px;
}
h5,
.h5 {
  font-size: 14px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 10px;
}
.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 21px;
  }
}
small,
.small {
  font-size: 85%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 20px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #ffffff;
  background-color: #333333;
  border-radius:2px;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  -webkit-box-shadow: none;
          box-shadow: none;
}
pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  border-radius: 4px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
@media (min-width: 1900px) {
  .container {
    width: 1870px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.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%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.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%;
}
@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%;
  }
  .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%;
  }
}
@media (min-width: 1200px) {
  .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%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .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%;
  }
}
@media (min-width: 1900px) {
  .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%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .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%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #dddddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999999;
}
.form-control::-webkit-input-placeholder {
  color: #999999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius:2px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius:2px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-lg {
  height: 46px;
  line-height: 46px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 42.5px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333333;
  background-color: #ffffff;
  border-color: #cccccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #ffffff;
  border-color: #cccccc;
}
.btn-default .badge {
  color: #ffffff;
  background-color: #333333;
}
.btn-primary {
  color: #ffffff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #ffffff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #ffffff;
  background-color: #286090;
  border-color: #204d74;
}
.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: #ffffff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #ffffff;
}
.btn-success {
  color: #ffffff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #ffffff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #ffffff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #ffffff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #ffffff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #ffffff;
}
.btn-info {
  color: #ffffff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #ffffff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #ffffff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #ffffff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #ffffff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #ffffff;
}
.btn-warning {
  color: #ffffff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #ffffff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #ffffff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #ffffff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #ffffff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #ffffff;
}
.btn-danger {
  color: #ffffff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #ffffff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #ffffff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #ffffff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #ffffff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #ffffff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius:2px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius:2px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  -o-transition-property: height, visibility;
     transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
     transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
     transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -webkit-background-clip: padding-box;
          background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
@media (min-width: 768px) {
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius:2px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-bottom-color: transparent;
  cursor: default;
}
@media (min-width: 768px) {
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #ffffff;
  }
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #337ab7;
}
@media (min-width: 768px) {
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #ffffff;
  }
}
.tab-content > .active {
  display: block;
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse.in {
    overflow-y: visible;
  }
}
@media (max-device-width: 480px) and (orientation: landscape) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
}
@media (max-width: 767px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
@media (min-width: 768px) {
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555555;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #cccccc;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #ffffff;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #ffffff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #ffffff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444444;
    background-color: transparent;
  }
}
.breadcrumb > .active {
  color: #777777;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #ffffff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #ffffff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
@media screen and (min-width: 768px) {
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-o-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.panel {
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #dddddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #ffffff;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  -webkit-background-clip: padding-box;
          background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 1200px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) and (max-width: 1899px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) and (max-width: 1899px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 1200px) and (max-width: 1899px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) and (max-width: 1899px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1900px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1900px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1900px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1900px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 1200px) and (max-width: 1899px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1900px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}


/* ===== Yamm megamenu (themes/pts/css/bootstrap-yamm.css) ===== */
/*!
 * Yamm!3
 * Yet another megamenu for Bootstrap 3
 * 
 * http://geedmo.github.com/yamm3
 */
.yamm {
    margin-top: 20px;
}

.yamm .nav,
.yamm .collapse,
.yamm .dropup,
.yamm .dropdown {
    position: static;
}

.yamm .container {
    position: relative;
}

.yamm .dropdown-menu {
    left: auto;
}

.yamm .yamm-content {
    padding: 15px 0px;
}

/*.yamm .level1 a { padding: 0; }*/
.yamm .nav-col {
    margin-bottom: 15px;
}

.yamm .dropdown.yamm-fw .dropdown-menu {
    left: 0;
    right: 0;
}

.yamm .nav-col:nth-child(4n + 1) {
    clear: both;
}

.yamm .level1:hover {
    background: #e7e7e7;
}

@media only screen and (min-width: 992px) {
    .yamm ul {
        width: 100%;
    }

    .yamm .level1:hover .dropdown-menu {
        display: block;
    }

    .yamm .level1 {
        text-align: center;
        padding: 0;
    }

    .yamm .level1 a {
        font-size: 11px;
    }

    .yamm .dropdown-menu {
        text-align: left;
    }

    .yamm .level1:last-child {
        border-right: 0;
    }

    .yamm #main-nav {
        padding: 0;
    }
}

.yamm .nav-heading a {
    font-size: 12px;
    font-weight: bold;
    color: #D53E32;
}

.yamm .level3 a {
    color: #000;
    font-size: 12px;
}

/* ===== OGL off-canvas drawer (themes/pts/css/push-menu.css) ===== */
.push-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    width: 100%;
    z-index: 9999;
}

.push-menu > .push-menu__section {
    margin-left: 0;
    transform: none;
    position: absolute;
    top: 175px;
    overflow: hidden;
}

.push-menu__section {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    background: white;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: translateX(100%);
    margin-left: 30px;
    padding: 15px 0px 15px 0px;
    transition: all 0.3s linear;
    box-shadow: none;
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
    overflow: auto;
}
    
.push-menu__section:before {
    transition: all 0.3s linear;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    opacity: 0;
    pointer-events: none;
}

.push-menu__section li.push-menu__item a {
    width: 100%;
    display: inline-block;
    background: transparent url(../images/right-arrow-grey.png) no-repeat 100% center;
    background-size: 18px auto;
}
.push-menu__section li.push-menu__item a:active {
    background: transparent url(../images/right-arrow-red.png) no-repeat 100% center;
    background-size: 18px auto;
}

.push-menu__section.secondlevel {
    top: -120px;
    z-index: 9999;
}
.navbar .push-menu__section.secondlevel li.push-menu__item {
    padding: 4px 15px;
    background-position: 85% center;
    background-color: #fff;
    min-height: 30px;
}
.push-menu__section.secondlevel li.push-menu__item a, .push-menu__section.secondlevel li.push-menu__item form {
    padding: 4px 8px;
    width: 100%;
    display: inline-block;
    background: transparent url(../images/right-arrow-grey.png) no-repeat 92% center;
    background-size: 18px auto;
    min-height: 30px;
}
.push-menu__section.secondlevel li.push-menu__item a:active {
    background: transparent url(../images/right-arrow-red.png) no-repeat 92% center;
    background-size: 18px auto;
    background-color: #fff;
}

li.push-menu__item a:active {
    color: #BB181B;
    text-decoration: none;
}

.push-menu__label {
    color: hotpink;
}

.push-menu--active {
    transform: translateX(0);
}

.push-menu--top-level:before {
    opacity: 0;
    pointer-events: none;
}

.push-menu--shaded:before {
    opacity: 1;
    pointer-events: all;
}

.push-menu--1-deep:before {
    background: rgba( 0, 0, 0, 0.1 );
}
.push-menu--2-deep:before {
    background: rgba( 0, 0, 0, 0.2 );
}
.push-menu--3-deep:before {
    background: rgba( 0, 0, 0, 0.3 );
}
.push-menu--4-deep:before {
    background: rgba( 0, 0, 0, 0.4 );
}
.push-menu--5-deep:before {
    background: rgba( 0, 0, 0, 0.5 );
}

.push-menu--default {
    padding: 0;
    width: 400px;
}

.push-menu__item {
    text-transform: capitalize;
    padding: 4px 16px;
    background: white;
    color: #182b2d;
}
li.push-menu__item {

}
.push-menu__label {
    color: green;
}


:root{
  /* PTS Brand Guidelines palette */
  --pts-red:#bd1f27;            /* primary brand red */
  --pts-red-dark:#831813;       /* secondary dark red */
  --pts-charcoal:#182b2d;       /* near-black (brand) */
  --pts-charcoal-dark:#0e1819;  /* deeper near-black for hover */
  --pts-grey:#626468;           /* brand dark grey */
  --pts-grey-mid:#908d8e;       /* brand mid grey */
  --pts-light:#f4f5f7;          /* brand off-white */
  --pts-border:#e2e2e2;
  --pts-ink:#182b2d;            /* dark text on light tints */
  --pts-teal:#8fb2ae;           /* brand secondary teal (News/articles) */
  --pts-purple:#732353;         /* brand secondary purple (Product info) */
  --header-max:1200px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Roboto",Arial,Helvetica,sans-serif;
  color:var(--pts-ink);
  background:#fff;
  line-height:1.4;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
.wrap{max-width:var(--header-max);margin:0 auto;padding:0 16px;}
.ic{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;}

/* =================  BAR 1 : PRIMARY  ================= */
.bar-primary{
  border-bottom:1px solid var(--pts-border);
  background:#fff;
}
.bar-primary .wrap{
  display:flex;
  align-items:center;
  gap:24px;
  padding-top:12px;
  padding-bottom:12px;
}
.brand img{display:block;height:54px;width:auto;}
.brand{flex:0 0 auto;}

/* search */
.search{flex:1 1 auto;min-width:160px;}
.search form{display:flex;width:100%;max-width:560px;}
.search input{
  flex:1 1 auto;
  border:1px solid var(--pts-border);
  border-right:0;
  border-radius:2px 0 0 2px;
  padding:10px 14px;
  font-size:15px;
  font-family:inherit;
  outline:none;
  min-width:0;
}
.search input:focus{border-color:var(--pts-teal);}
.search button{
  flex:0 0 auto;
  background:var(--pts-red);
  color:#fff;
  border:1px solid var(--pts-red);
  border-radius:0 2px 2px 0;
  padding:0 16px;
  cursor:pointer;
  font-size:17px;
  display:flex;align-items:center;
}
.search button svg{width:18px;height:18px;}
.search button:hover{background:var(--pts-red-dark);}

/* ---- production ODS search (standalone styling for this mockup) ----
   On the live site the real look/behaviour (type-ahead, spinner, badges)
   comes from external ODS / Bootstrap / FontAwesome stylesheets + search JS.
   These rules give the bundled markup a faithful standalone appearance. */
.ods-search-container{width:100%;max-width:560px;}
.ods-search-container .timerFeedback{
  display:flex;align-items:center;gap:6px;margin-bottom:4px;
  font-size:12px;color:var(--pts-grey);
}
.ods-search-container .timerFeedback svg{width:16px;height:16px;flex:0 0 auto;}
.ods-search-container .d-fl99ex,.ods-search-container .col-12{width:100%;}
.ods-search-container form{width:100%;}
.search-area{position:relative;width:100%;}
.input-container,.input-group{
  display:flex;align-items:stretch;width:100%;position:relative;
}
.input-container .form-control{
  flex:1 1 auto;min-width:0;
  border:1px solid var(--pts-border);border-right:0;
  border-radius:2px 0 0 2px;
  padding:10px 14px 10px 38px;          /* room for the leading magnifier */
  font-size:15px;font-family:inherit;outline:none;
  background:#fff;color:var(--pts-ink);
}
.input-container .form-control:focus{border-color:var(--pts-teal);}
.input-container .form-control::placeholder{color:#9a9a9a;}
.ods-input-icon{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:var(--pts-grey);font-size:15px;pointer-events:none;z-index:2;
}
.input-group-append{display:flex;align-items:stretch;}
.clear-btn{
  background:none;border:1px solid var(--pts-border);border-left:0;border-right:0;
  color:var(--pts-grey);cursor:pointer;padding:0 10px;font-size:14px;
}
.clear-btn:hover{color:var(--pts-red);}
.btn.button--search{
  flex:0 0 auto;background:var(--pts-red);color:#fff;
  border:1px solid var(--pts-red);border-radius:0 2px 2px 0;
  padding:0 16px;cursor:pointer;font-size:17px;
  display:flex;align-items:center;justify-content:center;
}
.btn.button--search svg{width:18px;height:18px;}
.btn.button--search .fa-search{color:#fff;font-size:16px;}
.btn.button--search:hover{background:var(--pts-red-dark);}
.btn.button--search.disabled,.btn.button--search:disabled{
  background:var(--pts-red);opacity:.85;cursor:default;
}
.search-suggest-box{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:130;
  background:#fff;border:1px solid var(--pts-border);
  border-top:3px solid var(--pts-red);border-radius:0 0 4px 4px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);padding:14px;
}
.search-suggest-box .badge{
  display:inline-block;border-radius:10px;padding:2px 8px;font-size:11px;
  font-weight:700;margin:2px 3px 0 0;
}
.search-suggest-box .badge-primary{background:var(--pts-red);color:#fff;}
.search-suggest-box .brand-red{color:var(--pts-red);}
.search-suggest-box .text-orange{color:#d2691e;}
.search-suggest-box hr{border:0;border-top:1px solid var(--pts-border);margin:10px 0;}
/* bootstrap/utility shims so the bundled markup lays out sanely standalone */
.d-flex{display:flex;}.flex-wrap{flex-wrap:wrap;}.align-items-center{align-items:center;}
.justify-content-between{justify-content:space-between;}.text-right{text-align:right;}
.d-none{display:none;}.fs-10{font-size:10px;}.fs-14{font-size:14px;}
.small{font-size:12px;}.text-muted{color:#9a9a9a;}.ms-auto{margin-left:auto;}
.mr-1{margin-right:4px;}.mr-3{margin-right:12px;}.pr-3{padding-right:12px;}
.border-right{border-right:1px solid var(--pts-border);}

/* utility cluster (currency / language / sign in / basket) */
.util{flex:0 0 auto;display:flex;align-items:center;gap:6px;}
.util-item{position:relative;}
.util-btn{
  background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:14px;color:var(--pts-grey);
  display:flex;align-items:center;gap:7px;
  padding:8px 10px;border-radius:2px;line-height:1;
}
.util-btn:hover{background:var(--pts-light);color:var(--pts-red);}
.util-btn .ic{font-size:19px;color:var(--pts-grey);}
.util-btn:hover .ic{color:var(--pts-red);}
.util-btn .lbl small{display:block;font-size:11px;color:#9a9a9a;line-height:1.1;}
.util-btn .lbl b{font-size:14px;font-weight:700;line-height:1.1;}
.cur-symbol{color:var(--pts-red);font-weight:700;font-size:16px;}
.caret{font-size:10px;opacity:.7;}

/* basket pill */
.basket .util-btn{background:var(--pts-light);}
.basket .util-btn:hover{background:#ececec;}
.basket-count{
  background:var(--pts-red);color:#fff;border-radius:10px;
  font-size:11px;font-weight:700;padding:1px 7px;margin-left:2px;
}

/* small dropdowns (currency + language) */
.dd{
  position:absolute;top:calc(100% + 6px);right:0;
  background:#fff;border:1px solid var(--pts-border);
  border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.12);
  min-width:150px;padding:6px 0;z-index:120;
  display:none;
}
.util-item.open .dd{display:block;}
.dd li a{display:block;padding:8px 16px;font-size:14px;color:var(--pts-grey);}
.dd li a:hover{background:var(--pts-light);color:var(--pts-red);}

/* language `langdesc` submit buttons styled as links (header dropdown + off-canvas) */
.lang-li form,.oc-item form{margin:0;}
.lang-form-btn{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:inherit;font-size:14px;color:var(--pts-grey);padding:8px 16px;}
.lang-form-btn:hover{background:var(--pts-light);color:var(--pts-red);}
.oc-lang-btn{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:inherit;font-size:15px;color:var(--pts-ink);padding:14px 16px;}
.oc-lang-btn:hover{background:var(--pts-light);color:var(--pts-red);}

/* =================  BAR 2 : NAV  ================= */
.bar-nav{background:var(--pts-light);border-bottom:1px solid var(--pts-border);}
.bar-nav .wrap{display:flex;align-items:center;gap:8px;padding-block:6px;}

.launcher{
  display:flex;align-items:center;gap:10px;
  font-family:inherit;font-size:16px;font-weight:700;
  border:0;cursor:pointer;color:#fff;
  padding:0 18px;height:48px;line-height:1;
}
.launcher .ic,.launcher svg{width:18px;height:18px;}
.launcher .chev{font-size:11px;opacity:.85;margin-left:2px;}

/* Menu button = CHARCOAL (visually distinct from red LPR) */
.menu-btn{background:var(--pts-charcoal);}
.menu-btn:hover{background:var(--pts-charcoal-dark);}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:3px;width:18px;}
.menu-btn .bars span{display:block;height:2px;background:#fff;border-radius:2px;}

/* Live Product Range = RED (prominent hero control) */
.lpr-btn{background:var(--pts-red);position:relative;}
.lpr-btn:hover{background:var(--pts-red-dark);}

/* inline utility nav links */
.nav-links{display:flex;align-items:center;gap:12px;margin-left:14px;flex-wrap:wrap;}
.nav-links a{
  font-size:14px;color:var(--pts-grey);font-weight:600;
  padding:0 14px;height:48px;display:flex;align-items:center;
  letter-spacing:.01em;
}
.nav-links a:hover{color:var(--pts-red);}
.nav-spacer{flex:1 1 auto;}

/* =================  DESKTOP LPR MEGA-FLYOUT  ================= */
.lpr-wrap{position:relative;display:flex;}
.lpr-flyout{
  position:absolute;top:100%;left:0;z-index:90;
  background:#fff;border:1px solid var(--pts-border);
  border-top:3px solid var(--pts-purple);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  padding:18px 22px;width:680px;max-width:90vw;
  display:none;
}
/* desktop: open on hover */
@media(hover:hover) and (min-width:992px){
  .lpr-wrap:hover .lpr-flyout{display:block;}
}
/* touch / click toggle */
.lpr-wrap.open .lpr-flyout{display:block;}

/* =================  OFF-CANVAS MENU  ================= */
.oc-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transition:opacity .25s ease;
  z-index:900;
}
.oc-overlay.is-open{opacity:1;visibility:visible;}

.oc-menu{
  position:fixed;top:0;left:0;height:100%;
  width:330px;max-width:88vw;background:#fff;
  z-index:1000;transform:translateX(-100%);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
  display:flex;flex-direction:column;
  box-shadow:2px 0 26px rgba(0,0,0,.22);
}
.oc-menu.is-open{transform:translateX(0);}

.oc-head{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
  background:var(--pts-charcoal);color:#fff;height:56px;padding:0 16px;
}
.oc-head .ttl{font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px;}

/* sliding panel viewport */
.oc-body{position:relative;flex:1 1 auto;overflow:hidden;}
.oc-panel{
  position:absolute;inset:0;overflow-y:auto;
  background:#fff;transform:translateX(100%);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
  -webkit-overflow-scrolling:touch;
}
.oc-panel.is-active{transform:translateX(0);}
.oc-panel.is-past{transform:translateX(-100%);}
.oc-panel[data-oc-root]{transform:translateX(0);}        /* root visible by default */
.oc-panel[data-oc-root].is-past{transform:translateX(-100%);}

.oc-list li{border-bottom:1px solid #eee;}
.oc-link,.oc-next{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:15px;color:var(--pts-ink);
  padding:14px 16px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;
}
.oc-link:hover,.oc-next:hover{background:var(--pts-light);color:var(--pts-red);}
.oc-next .arrow{color:var(--pts-red);font-size:18px;font-weight:700;}

/* sub-panel header / back row */
.oc-back{
  width:100%;text-align:left;background:var(--pts-light);
  border:0;border-bottom:1px solid var(--pts-border);cursor:pointer;
  font-family:inherit;font-weight:700;font-size:14px;color:var(--pts-red);
  padding:12px 16px;display:flex;align-items:center;gap:8px;
}
.oc-back .arrow{font-size:18px;}
.oc-subttl{
  padding:12px 16px;font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--pts-grey);background:#fafafa;
  border-bottom:1px solid #eee;
}

/* =================  KEYWORD EMPHASIS DEVICE (Source Serif)  ================= */
.kw{
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-style:italic;font-weight:600;color:var(--pts-red);
}

/* =================  STICKY CONDENSING HEADER  ================= */
header{position:sticky;top:0;z-index:800;background:#fff;}
.bar-primary .wrap,.brand img,.launcher,.bar-nav .wrap{transition:all .22s ease;}
header.is-condensed{box-shadow:0 4px 14px rgba(0,0,0,.10);}
header.is-condensed .bar-primary .wrap{padding-top:5px;padding-bottom:5px;}
header.is-condensed .brand img{height:38px;}


/* =================  BASKET MINI-PREVIEW  ================= */
.basket-preview{
  position:absolute;top:calc(100% + 6px);right:0;
  background:#fff;border:1px solid var(--pts-border);
  border-top:3px solid var(--pts-red);border-radius:0 0 4px 4px;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  width:300px;padding:16px;z-index:140;display:none;
}
/* invisible bridge across the 6px gap so moving the cursor from the
   basket button down into the preview never breaks the :hover chain */
.basket-preview::before{
  content:"";position:absolute;left:0;right:0;top:-9px;height:9px;
}
.util-item.basket:hover .basket-preview{display:block;}
.basket-preview .bp-title{
  font-weight:700;font-size:14px;color:var(--pts-ink);margin-bottom:10px;
  padding-bottom:8px;border-bottom:1px solid var(--pts-border);
}
.basket-preview .bp-empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  color:var(--pts-grey);font-size:13px;padding:14px 0;gap:8px;
}
.basket-preview .bp-empty svg{width:34px;height:34px;color:var(--pts-grey-mid);}
.basket-preview .bp-actions{display:flex;gap:8px;margin-top:12px;}
.basket-preview .bp-btn{
  flex:1 1 0;text-align:center;font-size:13px;font-weight:700;
  padding:9px 8px;border-radius:2px;cursor:pointer;
}
.basket-preview .bp-btn.primary{background:var(--pts-red);color:#fff;}
.basket-preview .bp-btn.primary:hover{background:var(--pts-red-dark);}
.basket-preview .bp-btn.ghost{background:var(--pts-light);color:var(--pts-ink);}
.basket-preview .bp-btn.ghost:hover{background:#e7e8ea;}

/* =================  RESPONSIVE  ================= */
@media (max-width:992px){
  .nav-links{display:none;}            /* fold inline links into the Menu */
  .lpr-btn .chev{display:inline;}
}
@media (max-width:760px){
  .bar-primary .wrap{flex-wrap:wrap;gap:12px 16px;}
  .brand{order:1;}
  .util{order:2;margin-left:auto;}
  .search{order:3;flex-basis:100%;}
  .search form{max-width:none;}
  .util-btn .lbl{display:none;}        /* currency/lang/signin shrink to icons */
  .cur-symbol{font-size:18px;}
  .basket .util-btn .lbl{display:none;}
}
@media (max-width:480px){
  .brand img{height:42px;}
  .launcher{font-size:14px;padding:0 12px;height:44px;}
  .lpr-btn .full{display:none;}        /* "Live Product Range" -> "Products" */
  .lpr-btn .compact{display:inline;}
}
.lpr-btn .compact{display:none;}

/* =================  LIVE OFF-CANVAS DRAWER — OGL #push-menu, PTS-themed  =================
   Behaviour is 100% OGL's production component: push-menu.css transforms +
   push-menu.js drill-down, both inlined verbatim at the foot of this file. The
   rules below are ONLY a theming/override layer — the same thin skin OGL would
   apply in-template — re-anchoring the component's site-specific top offsets and
   restyling rows to match the approved drawer. No transform or transition is
   overridden, so the slide/drill animation is the framework's own. */
.live-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:900;}
.live-overlay.is-open{opacity:1;visibility:visible;}
.live-drawer{position:fixed;top:0;left:0;height:100%;width:330px;max-width:88vw;background:#fff;z-index:1000;transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;box-shadow:2px 0 26px rgba(0,0,0,.22);}
.live-drawer.is-open{transform:translateX(0);}
.live-drawer-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;background:var(--pts-charcoal);color:#fff;height:56px;padding:0 16px;}
.live-drawer-head .ttl{font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px;}
.live-close{background:none;border:0;color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:6px;border-radius:2px;}
.live-close:hover{background:rgba(255,255,255,.15);}
.live-drawer-body{position:relative;flex:1 1 auto;overflow:hidden;}
.live-drawer-body #push-menu{position:absolute;inset:0;width:100%!important;height:100%!important;overflow:hidden;}
.live-drawer-body .push-menu__section{top:0!important;margin:0!important;width:100%!important;height:100%!important;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0;list-style:none;}
.live-drawer-body .push-menu__item{list-style:none;border-bottom:1px solid #eee;}
.live-drawer-body .push-menu__item>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.25;color:var(--pts-ink);text-decoration:none;}
.live-drawer-body .push-menu__item>a:hover{background:var(--pts-light);color:var(--pts-red);}
.live-drawer-body .push-menu__item.level1>a{font-size:14px;padding:12px 16px;}
.live-drawer-body a.push-menu__label[href="#"]::after{content:"\203A";color:var(--pts-red);font-size:18px;font-weight:700;margin-left:auto;line-height:1;}
.live-drawer-body .live-back{width:100%;text-align:left;background:var(--pts-light);border:0;border-bottom:1px solid var(--pts-border);cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;color:var(--pts-red);padding:12px 16px;display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:3;}
.live-drawer-body .live-back .ar{font-size:18px;line-height:1;}
.live-drawer-body .live-back:hover{background:#f0e3e3;}
.live-drawer-body .live-subttl{padding:12px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--pts-grey);background:#fafafa;border-bottom:1px solid #eee;}
.live-drawer-body .push-menu__item form{margin:0;}
.live-drawer-body .language-selection{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:inherit;font-size:15px;color:var(--pts-ink);padding:14px 16px;}
.live-drawer-body .language-selection:hover{background:var(--pts-light);color:var(--pts-red);}


/* ── v3.2 feedback (Wayne): Roboto body font + consistent brand angle-mark ── */
/* Angle tick on every major section heading, red fallback when --cat unset */
.section-head h2::before,.shead h2::before,.ishead h2::before,.dim-head h2::before,
.fhead h2::before,.panel-head h2::before,.info-head h2::before,.rg-head h2::before,
.wcard h3::before,.qstep h3::before,.kb-prose h2::before,.prose h2::before{
  content:'' !important;display:inline-block !important;flex:none !important;
  width:5px !important;height:15px !important;border-radius:2px !important;
  margin-inline-end:11px !important;vertical-align:-2px !important;
  background:var(--cat,#bd1f27) !important;
}


/* ================================================================
   CONSOLIDATED SHARED LAYER — migrated 2026-07 from per-page
   <style> blocks (rules previously duplicated on >=70 of 72 pages).
   Order preserved relative to page usage; appended after all
   original shell.css rules so existing cascade is unchanged.
   ================================================================ */

.bp-item{display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    padding: 8px 4px !important;
    border-block-end: 1px solid var(--pts-border, #e5e7eb) !important;}
.qv-stepper input{width:56px;height:44px;border:0;text-align:center;font-weight:700;font-family:inherit;background:var(--card);color:var(--ink);}
.skip-link:focus{inset-inline-start:0;}
.region-btn{display:inline-flex;align-items:center;gap:6px;}
.rp-h{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--grey);margin-block-end:9px;}
.qv-spec{color:var(--grey);font-size:.9rem;}
.foot-news .fn-copy span{color:#C6D3D2;font-size:0.84rem;}
.cert-callout .ct-pill{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);background:var(--purple-bg);border-radius:999px;padding:3px 9px;}
.qv-img img{max-width:100%;max-height:100%;object-fit:contain;}
main#main-content:focus{outline:none;}
.hero-ani-3{animation:heroIn .6s ease .4s both;}
.qv-backdrop{position:absolute;inset:0;background:rgba(15,24,25,.6);}
@media(max-width:680px){.ft-divider{display:none;}
  .ft-logos{flex-direction:column;align-items:center;gap:14px;padding:14px 8px 16px;}
  .ft-lg{width:100%;align-items:center;}
  .ft-lg-row{justify-content:center;}
  .ft-logo{height:76px;min-width:104px;padding:10px 16px;}
  .ft-logo img{max-height:54px;max-width:118px;}}
.btn-sage:hover{filter:brightness(1.05);transform:translateY(-1px);}
.pb-logo:hover{opacity:1;filter:none;}
#vat-inc:checked ~ .promobar .px-ex,#vat-inc:checked ~ main .px-ex,#vat-inc:checked ~ * .px-ex{display:none;}
.btn-ink:hover{background:var(--ink-2);transform:translateY(-1px);}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(189,31,39,.15)!important;}
.vat-wrap{display:inline-flex;align-items:center;gap:7px;margin-inline-start:auto;flex:none;}
.vcell{background:var(--ink);padding:20px 18px;display:flex;gap:13px;align-items:flex-start;}
.foot-social svg{width:17px;height:17px;}
footer.psite{margin-block-start:44px;background:var(--ink);color:#C6D3D2;position:relative;overflow:hidden;}
.crumb i{font-style:normal;margin-inline:8px;opacity:.45;}
.bp-prog{margin-block: 10px 6px;}
.live-drawer-head .ttl{position:relative;z-index:1;font-family:var(--sans);font-weight:800;font-size:1.05rem;letter-spacing:-.2px;}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:26px;}}
.qv-eyebrow{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);}
.values::before{content:"";position:absolute;inset:0;background-image:url('../assets/img/img-3ea537d95050.svg');opacity:.5;}
[class*="cat-"] .eyebrow{color:var(--cat);}
header.is-condensed{border-block-end:4px solid var(--pts-red);}
.promo-item b{color:var(--red);font-weight:800;}
.foot-creds .cred svg{width:15px;height:15px;color:var(--sage);flex:none;}
.cookie-bar p{margin:0;flex:1 1 300px}
.ani-group>.ani:nth-child(5),.ani-group>.ani-scale:nth-child(5){transition-delay:.32s;}
.foot-social .fs-label{font-size:0.78rem;color:#C6D3D2;font-weight:600;margin-inline-end:4px;}
.foot-links{display:flex;flex-direction:column;gap:9px;font-size:0.9rem;}
.bp-info strong{font-size:.84rem;}
.add-toast b{display:block;}
.px-inc{display:none;}
@media(max-width:480px){.card-p{padding:16px 15px;}
  .side-card{padding:16px 15px;}
  .wrap>.cols,.wrap>.card,.wrap>form{padding-block:26px;}}
.ft-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:11px 18px;height:74px;min-width:96px;text-decoration:none;transition:.18s;opacity:.9;flex:none;}
.foot-news .fn-thanks{display:none;color:var(--sage);font-weight:700;font-size:0.9rem;}
.rp-c.on{border-color:var(--red);background:var(--red-bg);color:var(--red);}
.ani{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease;}
.qv-price{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;}
@media(max-width:480px){.shead h2,.ishead h2,.fhead h2{font-size:1.15rem;}
  .sec-h h2{font-size:1.2rem;}}
.cert-callout .ct-d{font-size:0.84rem;color:var(--grey);margin-block-start:3px;line-height:1.45;}
.bp-info .bp-q{color:var(--ink);font-weight:600;margin-block-start:2px;}
@media(max-width:680px){.foot-top{flex-direction:column;align-items:flex-start;gap:10px;padding-block:18px;}
  .foot-top .tagline{font-size:0.9rem;}
  .foot-social{margin-inline-start:0;width:100%;}}
.bar-nav{border-block-end:4px solid var(--pts-red);}
.foot-creds .cred{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:600;color:#9BB5B3;letter-spacing:.03em;}
.qv-info h3{margin:0;font-size:1.2rem;letter-spacing:-.3px;}
.pill.mut{background:var(--pts-light);color:var(--grey);}
footer.psite h3,footer.psite h4{color:#fff;font-size:.9rem;font-weight:700;margin:0 0 14px;}
/* removed: text-transform:capitalize was rendering "A2 Vs A4", "Shop By
   Industry", "Same-Day Dispatch On 46,000+ Fasteners" — capitalised
   prepositions are the most legible machine-typography tell there is.
   Source markup is already sentence case. */
.ft-lg-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#6B8F8D;white-space:nowrap;}
.bp-rm{width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 1px solid var(--line, #e5e7eb) !important;
    background: var(--bg, #f4f5f7) !important;
    color: var(--grey, #908d8e) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    transition: background .12s, color .12s, border-color .12s !important;
    padding: 0 !important;
    margin-inline-start: auto !important;}
@media(max-width:480px){.chero .sub,.ihero .lead,.fhero .lead{max-width:100%;font-size:.9rem;}
  .hhero .lead{max-width:100%;font-size:.9rem;}}
.bp-more{font-size:.78rem;color:var(--grey);padding:8px 2px 2px;border-block-start:1px solid var(--line);margin-block-start:4px;}
.foot-news.done .fn-thanks{display:inline-flex;align-items:center;gap:8px;}
.ani-scale{opacity:0;transform:scale(.96);transition:opacity .45s ease,transform .45s ease;}
.qv-full:hover{color:var(--red);}
.qv-x{position:absolute;inset-block-start:12px;inset-inline-end:14px;z-index:2;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--grey);}
.cookie-bar .cb-btns{display:flex;gap:10px;flex-shrink:0}
.hero-ani-1{animation:heroIn .6s ease .1s both;}
.foot-inner{position:relative;z-index:1;}
.promobar .inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 26px;padding:10px 16px;font-size:.78rem;color:var(--ink);font-weight:600;}
.pb-h{text-align:center;font-size:1.4rem;font-weight:800;letter-spacing:-.3px;color:var(--ink);margin-block-end:26px;}
.cat-industry{--cat:#2c6e66;--grad:linear-gradient(130deg,#15282a 0%,#1c3a38 48%,#576d6a 122%);}
header.is-condensed ~ .bar-nav{border-block-end-width:0;}
@media(max-width:900px){.values .vgrid{grid-template-columns:repeat(2,1fr);}}
.add-toast.show{transform:translateY(0);opacity:1;}
.rrow .rr-i{display:flex;gap:8px;align-items:center;}
@media(max-width:480px){.foot-news{gap:12px;padding-block:16px;}}
@media(max-width:480px){.promobar .inner{gap:4px 14px;padding:7px 14px;font-size:.72rem;flex-wrap:nowrap;justify-content:flex-start;}
  .promo-item.opt{display:none;}
  .vt-lbl{display:none;}}
@media(max-width:680px){.bar-nav .launcher{min-height:44px;display:inline-flex;align-items:center;}}
@media(max-width:480px){.wrap{padding-inline:14px;}}
.rp-sec{margin-block-end:16px;}
:root{--grad:var(--ink);}
.foot-news .fn-form input.invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(189,31,39,.2);}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.ft-logo img,.ft-lg img,.ft-logos img{min-width:48px!important;min-height:34px!important;max-width:68px!important;}
  .ft-logo{padding:6px 8px!important;}
  .ft-lg-row{gap:6px!important;flex-wrap:wrap!important;}}
.co-steps .cs-step.done+.cs-sep{background:var(--sage-deep);}
.rrow{display:flex;flex-wrap:wrap;gap:12px 28px;margin-block:18px;padding:13px 2px;border-block:1px solid var(--line);}
.bp-sub{display:flex;justify-content:space-between;align-items:center;border-block-start:1px solid var(--line);padding-block-start:9px;margin-block-start:4px;font-size:0.84rem;color:var(--grey);}
.co-steps .cs-step.done .cs-n{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff;}
.rp-sec:last-of-type{margin-block-end:8px;}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
.rrow .rr-i b{display:block;font-size:0.78rem;color:var(--ink);line-height:1.15;}
.qv-full{margin-block-start:6px;color:var(--sage-deep);font-weight:700;font-size:0.9rem;}
.ft-divider{width:1px;background:#2B4144;align-self:stretch;margin-inline:4px;}
.ani-left.rv{opacity:1;transform:none;}
#vat-ex:checked ~ .promobar .vat-toggle .vt-btn[for=vat-ex],
#vat-inc:checked ~ .promobar .vat-toggle .vt-btn[for=vat-inc]{background:var(--bx,var(--ink,#182b2d));color:#fff;font-weight:700;}
.css-chip .cc{font-size:.72rem;font-weight:600;background:transparent;color:var(--grey-2);border-radius:0;padding:0;}
.qv-buy{display:flex;gap:10px;margin-block-start:6px;}
.cert-callout .ct-ic svg{width:21px;height:21px;color:var(--sage-deep);}
.fcard:hover,.iwc:hover,.qa:hover{border-color:var(--cat,var(--red));
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  transition:border-color .2s ease,box-shadow .2s ease;}
.rp-l{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:.84rem;font-weight:600;cursor:pointer;color:var(--ink);font-family:inherit;text-align:start;}
.sec-h .acc,.sec-head .acc{color:var(--cat,var(--red));}
@media(max-width:480px){.hhero .wrap{padding-block:28px 32px;}
  .fhero .wrap{padding-block:32px 36px;}
  .ihero .wrap{padding-block:30px 34px;}
  .chero .wrap,.qhero .wrap,.ahero .wrap,.khero .wrap{padding-block:30px 34px;}
  .shero .wrap{padding-block:24px 28px;}
  .phero .wrap{padding-block:16px 18px;}}
.live-drawer-head .live-close:hover{background:rgba(255,255,255,.18);}
@media(max-width:480px){.bar-nav .launcher{font-size:0.84rem;padding-inline:12px;min-height:44px;}}
@media(max-width:840px){.promo-item.opt{display:none;}}
.ani-fade{opacity:0;transition:opacity .6s ease;}
.btn:hover,.btn:focus{text-decoration:none;}
html{font-size:16px;}
.live-drawer-head::before{content:"";position:absolute;inset:0;background-image:url('../assets/img/img-3ea537d95050.svg');opacity:.5;}
.flag{width:20px;height:13px;border-radius:2px;overflow:hidden;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none;}
.qv-buy .btn{flex:1;}
.field-err{color:var(--red);font-size:.78rem;font-weight:600;margin-block-start:5px;}
@media(max-width:480px){.values .vgrid{grid-template-columns:1fr;}}
.foot-news .fn-form input{flex:1;border:1px solid #2B4144;background:rgba(255,255,255,.06);border-radius:10px;padding:11px 14px;color:#fff;font-family:inherit;font-size:.9rem;}
.add-toast{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:300;background:var(--ink);color:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(15,24,25,.42);padding:14px 18px;display:flex;align-items:center;gap:12px;font-size:.9rem;transform:translateY(22px);opacity:0;pointer-events:none;transition:.25s;max-width:340px;}
@media(max-width:840px){.vt-lbl{display:none;}}
#vat-inc:checked ~ .promobar .px-inc,#vat-inc:checked ~ main .px-inc,#vat-inc:checked ~ * .px-inc{display:inline;}
.dispatch-cd svg{width:15px;height:15px;flex:none;}
.foot-news .fn-form{display:flex;gap:10px;flex:1;max-width:430px;min-width:250px;}
.region-btn .rb-flag{margin-inline-start:3px;}
[class*="cat-"] .acc{color:var(--cat);}
.rp-c{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 6px;font-weight:800;font-size:0.84rem;cursor:pointer;color:var(--ink);font-family:inherit;}
@media(max-width:600px){.foot-social{margin-inline-start:0;width:100%;}}
.foot-top .tagline{color:#fff;font-size:1.05rem;}
.btn.lg{font-size:1rem;padding:14px 26px;}
.co-steps .cs-sep{flex:0 1 42px;height:2px;background:var(--line);border-radius:2px;}
.promo-item svg{width:15px;height:15px;color:var(--sage-deep);flex:none;}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}}
.csr{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;}
.ft-logos{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:0 28px;padding:18px 8px 20px;border-block-end:1px solid #2B4144;}
@media(prefers-reduced-motion:reduce){.hero-ani-1,.hero-ani-2,.hero-ani-3,.hero-ani-4{animation:none;}}
.qv-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.values{position:relative;overflow:hidden;background:var(--ink);color:#fff;margin-block-start:8px;}
.cert-callout .ct-ic{width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--sage);display:grid;place-items:center;flex:none;}
.live-drawer-body .push-menu__item:last-child{border-bottom:0;}
.btn-added{background:var(--sage-deep)!important;color:#fff!important;box-shadow:none!important;transform:none!important;}
#ck-ok{display:none}
@media(max-width:600px){.crumb{white-space:normal;line-height:1.7;font-size:.78rem;}}
.cert-callout .ct-t{font-weight:800;font-size:.95rem;color:var(--ink);display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.3;}
.foot-social a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.pb-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 46px;}
.foot-co strong{color:#fff;}
.bp-item:hover{background:var(--bg);border-inline-start-color:var(--red);}
.vcell .vv{color:#C6D3D2;font-size:0.78rem;display:block;margin-block-start:2px;line-height:1.4;}
.live-drawer-body{background:var(--pts-light);}
.premium{background:var(--card);border-block:1px solid var(--line);padding-block:38px;}
@media(max-width:680px){.foot-news{flex-direction:column;align-items:stretch;gap:10px;padding-block:18px;}
  .foot-news .fn-copy strong{font-size:0.95rem;}
  .foot-news .fn-copy span{font-size:0.84rem;}
  .foot-news .fn-form{max-width:100%;min-width:0;width:100%;}
  .foot-news .fn-form input{min-width:0;flex:1;}
  .foot-news .fn-form .btn{flex:none;white-space:nowrap;}}
.flag svg{display:block;width:100%;height:100%;}
.bp-fill.done{background: linear-gradient(90deg, #3fb282, #5dc99a) !important;}
.pill.sage{background:var(--sage-bg);color:var(--sage-deep);}
.qv-modal{position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center;padding:20px;}
.bp-q{font-size: 11.5px; color: var(--pts-grey, #908d8e); margin-block-start: 2px; display: block;}
.foot-news .fn-form input::placeholder{color:#8AA0A0;}
.live-drawer-body .push-menu__item>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;font-weight:600;font-size:.95rem;color:var(--pts-ink);border-inline-start:3px solid transparent;transition:.14s;}
.qv-price small{font-size:0.84rem;font-weight:500;color:var(--grey);letter-spacing:0;}
@media(prefers-reduced-motion:reduce){.ani,.ani-fade,.ani-scale,.ani-left{transition:none!important;opacity:1!important;transform:none!important;}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;gap:22px;padding-block:24px;}}
.promo-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.btn.sm{font-size:.84rem;padding:9px 16px;}
.bp-info{flex: 1; min-width: 0;}
.live-drawer{width:374px;max-width:90vw;box-shadow:6px 0 44px rgba(15,24,25,.3);}
.pill.warn{background:rgba(189,31,39,.1);color:var(--red);}
.btn-red{background:linear-gradient(180deg,#c9303a,#b31c24);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 1px rgba(23,42,45,.12);}
.ani-group>.ani:nth-child(n+7),.ani-group>.ani-scale:nth-child(n+7){transition-delay:.48s;}
.ani-group>.ani:nth-child(3),.ani-group>.ani-scale:nth-child(3){transition-delay:.16s;}
.ft-logo:hover{opacity:1;transform:translateY(-2px);box-shadow:0 5px 16px rgba(0,0,0,.26);}
.btn-ink:hover,.btn-ink:focus{color:#fff;}
.region{position:relative;}
.btn:active{transform:scale(.97) translateY(1px)!important;}
[class*="cat-"] .section-head h2::before,
[class*="cat-"] .shead h2::before,
[class*="cat-"] .ishead h2::before,
[class*="cat-"] .dim-head h2::before{background:var(--cat);}
.ft-lg{display:flex;flex-direction:column;align-items:center;gap:10px;}
footer.psite h4::after{content:"";display:block;width:26px;height:2px;background:var(--sage);margin-block-start:7px;border-radius:2px;}
.css-empty{padding:26px;text-align:center;color:var(--grey);font-size:0.9rem;border:1px dashed var(--line);border-radius:var(--radius);}
.crumb{font-size:.84rem;color:var(--grey);padding:20px 0 2px;}
@media(max-width:480px){.phead-band .phead .nut{display:none;}
  .phead-band .phead{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 0 16px;}
  .phead-band .phead h1{font-size:1.4rem;letter-spacing:-.3px;}
  .phead-band .phead .sub{font-size:0.84rem;}
  .phead-band .phead .stickwrap{margin-inline-start:0;}}
.qv-stepper button:hover{background:var(--bg);border-color:var(--ink);}
.vcell .vk{font-weight:800;font-size:.95rem;display:block;}
header.is-condensed .top-menu-btn{opacity:1;pointer-events:auto;display:flex;align-items:center;}
@keyframes bkbump{0%,100%{transform:none;}30%{transform:scale(1.18);}}
.css-chips{display:flex;gap:20px;flex-wrap:wrap;margin-block:2px 18px;border-block-end:1px solid var(--line);}
@media(max-width:380px){.chero .hstats,.ihero-pts,.fhero .fstats{gap:12px 16px;}
  .chero .hstat .n,.fhero .fstat .n{font-size:1.15rem;}}
@media(max-width:768px){.btn{min-height:44px;}.btn.sm{min-height:38px;}}
.vat-r:focus-visible ~ .promobar .vat-wrap{outline:2px solid var(--sage);outline-offset:2px;}
.ani-group>.ani:nth-child(4),.ani-group>.ani-scale:nth-child(4){transition-delay:.24s;}
.region.open .region-pop{display:block;}
.foot-news.done .fn-form{display:none;}
.qv-info{padding:28px 30px;display:flex;flex-direction:column;gap:10px;}
.foot-news .fn-form input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(143,178,174,.2);}
.rrow .rr-i small{font-size:.72rem;color:var(--grey);}
.vt-lbl{font-size:0.72rem;font-weight:600;color:var(--grey);white-space:nowrap;}
@media(max-width:400px){.cs-step{font-size:.68rem;gap:4px;}
  .cs-n{width:20px;height:20px;font-size:.68rem;}
  .cs-sep{width:10px;}}
@media(max-width:480px){.bar-primary .brand img{max-width:46px!important;object-fit:cover!important;object-position:0 center!important;}}
.section-head h2::before,.shead h2::before,.ishead h2::before,.dim-head h2::before,
.fhead h2::before,.wcard h3::before,.panel-head h2::before,.info-head h2::before,
.qstep h3::before,.rg-head h2::before,.ix-head h2::before{background:var(--cat,var(--red));}
that follows is
    a thin override layer that produces the 2-bar header on top of them -
    the same way OGL would ship the redesign into the existing theme.
    Body below the header is a simplified placeholder - redesign is
    HEADER-ONLY.

  WHAT CHANGED  (3 bars  ->  2 bars)
    BAR 1 (primary, top):  Logo | Search | Currency | Language |
                           Sign in | Basket
    BAR 2 (nav, below):    [Menu]  [Live Product Range]  + utility
                           links (Contact, Quick Order, Knowledge Hub,
                           Enquire, Downloads...)
    REMOVED: the standalone "Live Product Range / Standard Range" strip.

  TWO DISTINCT NAV CONTROLS  (intentionally different - see feedback)
    1. MENU  (charcoal button, hamburger icon)
         -> opens the LEFT-DOCKED off-canvas slide-out panel with
            drill-down sub-levels (mirrors the current live PTS site).
         -> full-site navigation (products, company info, account,
            language, etc).
    2. LIVE PRODUCT RANGE  (red button, prominent)
         -> opens a desktop MEGA-FLYOUT grid of the 29 product ranges
            on hover; on touch/mobile it toggles on click/tap.
         -> product-only quick browse (Amazon "All" / Accu style).

  HOW THE OFF-CANVAS MENU WORKS  (JS hooks below)
    - Trigger:    [data-menu-open]  (the Menu button)
    - Panel root: #ocMenu  (toggles .is-open)
    - Overlay:    #ocOverlay (dim backdrop; click = close)
    - Drill in:   any [data-oc-next="<panelId>"] slides that sub-panel
                  in from the right.
    - Drill back: [data-oc-back] returns to the parent panel.
    - Close:      Menu button toggles, overlay click, the X button
                  [data-menu-close], or the Esc key.
    - State model: each .oc-panel is translateX(100%) by default,
                  .is-active = translateX(0) (visible),
                  .is-past   = translateX(-100%) (parent, pushed left).
                  A JS stack tracks the navigation path for Back.
    - Accessibility: aria-expanded on the trigger, body scroll lock
                  while open, focus returns to the trigger on close.

  RESPONSIVENESS
    - >=992px : full inline nav links + desktop LPR hover mega-flyout.
    - <992px  : inline utility links collapse (use the Menu instead);
                search drops to full-width row; LPR flyout becomes a
                tap-toggle; currency/language/sign-in shrink to icons.
    - The off-canvas Menu is the primary nav on small screens and is
      available at every size.
  =====================================================================
-->

<!-- ===================================================================
     OGL PRODUCTION FRAMEWORK CSS — loaded verbatim from the live bundle
     (Bootstrap 3 + Yamm megamenu + push-menu off-canvas). The redesign
     stylesheet below layers the 2-bar header on top of these, the same
     way the redesign would ship into the existing OGL theme.
     ================================================================== -->
<link rel="stylesheet" href="css/shell.css">


<style>

:root{--header-max:1280px;
 --red:var(--pts-red);--red-dark:var(--pts-red-dark);
 --ink:var(--pts-charcoal);--ink-2:#21383b;--ink-3:var(--pts-charcoal-dark);
 --grey:var(--pts-grey);--grey-2:var(--pts-grey-mid);
 --sage:var(--pts-teal);--sage-deep:#2c6e66;--purple:var(--pts-purple);--purple-dark:#5a1b41;
 --red-bg:#fbeeee;--sage-bg:#eef4f3;--purple-bg:#f3eaef;
 --line:var(--pts-border);--bg:var(--pts-light);--card:#ffffff;
 --shadow:0 1px 2px rgba(23,42,45,.05),0 10px 30px rgba(23,42,45,.07);
 --radius:14px;
 --sans:'Roboto','Roboto Condensed','Segoe UI',Helvetica,Arial,sans-serif;
 --serif:'Source Serif 4','Source Serif Variable',Georgia,'Times New Roman',serif;}
.pill.purple{background:var(--purple-bg);color:var(--purple);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding-block:36px;}
.cat-hub{--cat:#2c6e66;--grad:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%);}
.ani-group>.ani:nth-child(2),.ani-group>.ani-scale:nth-child(2){transition-delay:.08s;}
@media(max-width:620px){.qv-grid{grid-template-columns:1fr;}}
.bp-list{padding:4px 0 6px;}
.rp-cur{display:flex;gap:8px;}
a:hover{text-decoration:none;}
.cat-product{--cat:var(--pts-red);--grad:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%);}

@keyframes heroIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.vat-toggle{display:inline-flex;align-items:center;gap:4px;}
@media(max-width:480px){.ft-logos{gap:6px;padding:12px 8px 14px;}
  .ft-logo{padding:5px 9px;height:40px;min-width:56px;}
  .ft-logo img{max-height:26px;max-width:64px;}}
.rp-l.on{border-color:var(--sage-deep);background:var(--sage-bg);}
.qv-x:hover{color:var(--red);}
.bp-item{display:flex;gap:10px;align-items:center;padding:8px 10px;border-inline-start:3px solid transparent;border-radius:6px;transition:.12s;margin-inline:2px;}
.hero-ani-4{animation:heroIn .6s ease .55s both;}
#ck-ok:checked ~ .cookie-bar{display:none}
.chero .btn-sage,.ihero .btn-sage,.fhero .btn-sage,.hhero .btn-sage,
.qhero .btn-sage,.khero .btn-sage,.shero .btn-sage,.ixhero .btn-sage{background:rgba(255,255,255,.1)!important;color:#fff!important;
  border:2px solid rgba(255,255,255,.4)!important;}
.btn-ghost:hover,.btn-ghost:focus{color:var(--ink);}
.cookie-bar a{color:#8fb2ae;text-decoration:underline}
[data-i18n="util.hello"]{display:none!important;}
@media(max-width:480px){.foot-top{padding-block:16px;}
  .foot-top img{height:30px;}
  .foot-top .tagline{font-size:0.9rem;}
  .foot-social{justify-content:flex-start;}
  .foot-bottom{flex-direction:column;gap:5px;font-size:0.72rem;}}
.pb-logo img{max-height:48px;max-width:158px;width:auto;height:auto;display:block;}
.bp-info span{font-size:0.72rem;color:var(--grey);}
.live-drawer-body .push-menu__item{border-bottom:1px solid var(--pts-border);}
.btn-sage{background:linear-gradient(180deg,#337d74,#2c6e66);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 1px rgba(23,42,45,.12);}
.btn-sage:hover,.btn-sage:focus{color:var(--ink-3);}
@media(max-width:560px){.rrow{flex-wrap:wrap;}
  .rr-i{flex:0 0 50%;}}
.co-steps .cs-step.on .cs-n{background:var(--red);border-color:var(--red);color:#fff;}
.btn:active{transform:scale(.97);filter:brightness(.92);transition:transform .06s,filter .06s;}
.bp-sub b{font-size:1rem;color:var(--ink);}
.bp-info{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.css-chip:hover{color:var(--ink);border-block-end-color:var(--sage);}
.btn{border:0;border-radius:8px;font-weight:700;letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.16s cubic-bezier(.2,.7,.3,1);text-align:center;font-family:inherit;line-height:1.1;}
.bp-info strong{font-size: 12.5px; display: block; color: var(--pts-ink, #182b2d); line-height: 1.3;}
.values .vgrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);}
.vcell svg{width:22px;height:22px;color:var(--sage);flex:none;margin-block-start:2px;}
.chero .btn-sage:hover,.ihero .btn-sage:hover,.fhero .btn-sage:hover,.hhero .btn-sage:hover,
.qhero .btn-sage:hover,.khero .btn-sage:hover,.shero .btn-sage:hover,.ixhero .btn-sage:hover{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.65)!important;}
@media(max-width:480px){.hhero h1{font-size:1.8rem;}
  .chero h1,.ahero h1,.khero h1,.qhero h1,.ihero h1{font-size:1.5rem;}
  .fhero h1{font-size:1.5rem;}
  .ixhero h1{font-size:1.5rem;}
  
  .hhero .hbtns,.chero .hbtns,.ihero .hbtns,.fhero .hbtns,
  .qhero .hbtns,.khero .hbtns,.shero .hbtns,.ixhero .hbtns{flex-direction:column;align-items:stretch;gap:9px;}
  .hhero .hbtns .btn,.chero .hbtns .btn,.ihero .hbtns .btn,.fhero .hbtns .btn,
  .qhero .hbtns .btn,.khero .hbtns .btn,.shero .hbtns .btn,.ixhero .hbtns .btn{width:100%;justify-content:center;}}

.ani-group>.ani:nth-child(6),.ani-group>.ani-scale:nth-child(6){transition-delay:.40s;}
.foot-top{display:flex;align-items:center;gap:16px;padding-block:26px;border-block-end:1px solid #2B4144;flex-wrap:wrap;}
.bp-item .bp-pic svg{width:26px;height:26px;}
.skip-link{position:absolute;inset-inline-start:-9999px;inset-block-start:0;z-index:2000;background:var(--red);color:#fff;padding:11px 18px;border-end-end-radius:8px;font-weight:700;text-decoration:none;}
.ani.rv{opacity:1;transform:none;}
.ft-logo img{max-height:50px;max-width:110px;width:auto;height:auto;object-fit:contain;display:block;}
.cat-company{--cat:#831813;--grad:var(--ink);}
.btn-red:hover,.btn-red:focus{color:#fff;}
.pwrap{max-width:var(--header-max,1200px);margin-inline:auto;padding-inline:16px;}
.foot-accent{position:relative;z-index:1;height:4px;background:linear-gradient(90deg,var(--red) 0%,var(--red) 26%,var(--sage) 62%,var(--purple) 100%);}
.qv-img{background:#fff;aspect-ratio:1/1;border-inline-end:1px solid var(--line);display:grid;place-items:center;padding:24px;}
.crumb a:hover{color:var(--red);}
.bp-msg b{color: var(--pts-ink, #182b2d) !important;}
.foot-social a{width:34px;height:34px;border-radius:8px;border:1px solid #2B4144;display:grid;place-items:center;color:#C6D3D2;transition:.15s;}
.rp-foot{display:flex;justify-content:flex-end;}
@media(max-width:600px){.hhero h1{font-size:2rem;letter-spacing:-.5px;}
  .fhero h1{font-size:2rem;letter-spacing:-.4px;}
  .ixhero h1{font-size:1.8rem;}
  .chero h1,.ahero h1,.khero h1,.qhero h1,.ihero h1{font-size:1.8rem;letter-spacing:-.3px;}
  .phero h1{font-size:1.5rem;}
  .hhero .hstat .n{font-size:1.2rem;}
  .hhero .hstats{gap:16px 24px;}}
.ft-lg-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;}
.foot-news .fn-copy strong{color:#fff;display:block;font-size:1rem;}
.foot-news{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:22px;border-block-end:1px solid #2B4144;}
.foot-creds{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 28px;padding:16px 8px 12px;border-block-end:0;}
.cat-brand{--cat:var(--bx,#732353);--grad:linear-gradient(130deg,#15282a 0%,#172a2d 42%,var(--bx,#732353) 120%);}
.bp-item .bp-pic{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;flex:none;}
.vat-toggle .vt-btn:hover{color:var(--ink);}
.live-drawer-body .push-menu__item>a:hover{border-inline-start-color:var(--pts-red);background:var(--pts-light);}
.btn.btn-red:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(23,42,45,.16);}
.bp-rm:hover{background: #fde8e8 !important;
    border-color: var(--pts-red, #bd1f27) !important;
    color: var(--pts-red, #bd1f27) !important;}
.shead .rule,.ishead .rule,.fhead .rule,.rg-head .rule,.ix-head .rule,
.section-head .rule,.panel-head .rule{background:linear-gradient(90deg,var(--cat,var(--red)),var(--line) 35%,transparent);}
.live-drawer-head{position:relative;overflow:hidden;height:64px;background:linear-gradient(135deg,var(--pts-charcoal),#21383b);padding:0 18px;}
.vat-r{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;}
.qv-stepper button{border:0;background:var(--bg);width:38px;height:44px;font-size:1.15rem;cursor:pointer;color:var(--ink);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:3px solid #2c6e66;outline-offset:2px;border-radius:4px;}
.dispatch-cd{display:inline-flex;align-items:center;gap:7px;font-size:0.84rem;font-weight:700;color:var(--sage-deep);background:var(--sage-bg);border:1px solid var(--sage);border-radius:6px;padding:7px 14px;}
.side-card:hover{transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.12),0 0 0 1px var(--line);
  transition:transform .2s ease,box-shadow .2s ease;}
.region-pop{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 46px rgba(15,24,25,.24);width:308px;padding:16px;z-index:130;display:none;}
.qv-stepper button:active{background:var(--ink);color:#fff;transform:scale(.95);}
.add-toast span{color:#C6D3D2;font-size:0.84rem;}
.promobar{background:var(--card);border-block-end:1px solid var(--line);}
.pb-h b{color:var(--red);font-weight:800;}
.rp-langs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.dispatch-cd.urgent{font-weight:800;} /* C2: urgency lives in the ticking time, not an alarm-red chip (calm sage stays) */
.qv-dialog{position:relative;background:var(--card);border-radius:var(--radius);box-shadow:0 24px 60px rgba(15,24,25,.4);width:min(760px,100%);max-height:90vh;overflow:auto;}
.bp-msg{font-size: 12px !important;
    color: var(--pts-grey, #908d8e) !important;
    line-height: 1.4 !important;}
.pb-logo{height:48px;display:flex;align-items:center;opacity:.72;filter:grayscale(1);transition:.18s;}
.foot-top img{height:42px;}
.dispatch-cd .dc-t b{color:inherit;}
.co-steps .cs-step{display:inline-flex;align-items:center;gap:8px;color:var(--grey);font-weight:600;}
.ani-left{opacity:0;transform:translateX(-20px);transition:opacity .5s ease,transform .5s ease;}
.add-toast .at-ic{width:26px;height:26px;border-radius:50%;background:var(--sage-deep);color:#fff;display:grid;place-items:center;font-weight:800;flex:none;}
.top-menu-btn{flex:none;order:-1;margin-inline-end:4px;opacity:0;pointer-events:none;transition:opacity .15s ease;}
.foot-social{margin-inline-start:auto;display:flex;align-items:center;gap:10px;}
.htile:hover,.itile:hover,.subcat:hover,.ncard:hover,.dlcard:hover,.indcard:hover{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.cert-callout{display:flex;gap:14px;align-items:flex-start;background:#f3eaef;border:1px solid #d7bac8;border-radius:14px;padding:15px 17px;}
.cert-callout .ct-ic svg,.cert-callout .ct-ic{color:#732353;}
.bp-more a{color:var(--red);font-weight:700;}
.btn-added svg{display:none;}
.cert-callout .ct-d b{color:var(--sage-deep);}
.ani-fade.rv{opacity:1;}
footer.psite::before{content:"";position:absolute;inset:0;background-image:url('../assets/img/img-9a2a2a1a41ed.svg');opacity:.4;}
.bp-item:last-child{border-block-end: none !important;}
.serif{font-family:var(--serif);font-style:italic;}
.ani-scale.rv{opacity:1;transform:none;}
/* The reveal state is .rv, not .on: .on means "this control is active"
   sitewide, and scroll-reveal decorates anchors and rows too. When both
   used .on, every revealed tile was painted as an active tab — a dark
   band with invisible ink-on-ink text. Keep the two names apart. */
@media(max-width:680px) and (min-width:481px){.phead-band .phead .nut{width:56px;height:56px;border-radius:10px;}
  .phead-band .phead h1{font-size:1.5rem;}}
.qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.vat-toggle .vt-btn{border:0;background:transparent;font-family:inherit;font-size:0.72rem;font-weight:600;padding:4px 11px;cursor:pointer;color:var(--grey);user-select:none;transition:background .15s,color .15s;border-radius:8px;line-height:1.4;white-space:nowrap;}
.section-head h2::before,.shead h2::before,.ishead h2::before,.dim-head h2::before,.fhead h2::before,.wcard h3::before,.panel-head h2::before,.info-head h2::before,.kb-prose h2::before,.qstep h3::before,.prose h2::before{height:15px!important;border-radius:2px;align-self:center;}
body{background:var(--bg);color:var(--ink);}
.css-chip{font-size:0.84rem;font-weight:700;padding:8px 2px 7px;border:0;border-block-end:2px solid transparent;border-radius:0;color:var(--grey);background:transparent;cursor:pointer;font-family:inherit;display:inline-flex;align-items:baseline;gap:6px;user-select:none;transition:.12s;}
.util .caret{width:auto;height:auto;border:0;margin-inline-start:3px;}
.btn-ghost:hover{border-color:var(--grey);}
.co-steps .cs-n{width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-size:.72rem;font-weight:800;color:var(--grey);}
.kw{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-style:italic;font-weight:600;color:var(--pts-red);}
.foot-bottom{border-block-start:1px solid #2B4144;padding-block:18px;font-size:0.78rem;color:#8AA0A0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.co-steps{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:0.84rem;margin:0 0 22px;}
.qv-modal[hidden]{display:none;}
.bp-fill{height: 100% !important;
    background: linear-gradient(90deg, var(--pts-red, #bd1f27), #e04a53) !important;
    border-radius: 999px !important;
    transition: transform .4s ease !important;}
.foot-co{font-size:0.84rem;line-height:1.75;}
.co-steps .cs-step.on{color:var(--red);}
.live-drawer-body .push-menu__section{background:transparent;padding-block:6px;}
footer.psite a:hover{color:var(--sage);}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:0.72rem;font-weight:700;padding:4px 11px;border-radius:6px;}
.live-drawer-head .live-close{position:relative;z-index:1;width:34px;height:34px;border-radius:8px;font-size:22px;display:grid;place-items:center;}
.util-item.basket.bump{animation:bkbump .5s ease;}
.btn-ink{background:linear-gradient(180deg,#21383b,#15282a);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 1px 1px rgba(23,42,45,.12);}
.btn-ghost{background:transparent;border:1.5px solid currentColor;color:var(--ink);}
.hero-ani-2{animation:heroIn .6s ease .25s both;}
.co-steps .cs-step.done{color:var(--ink);}
.pill.ok{background:rgba(143,178,174,.22);color:var(--sage-deep);}
.rrow .rr-i svg{width:18px;height:18px;color:var(--sage-deep);flex:none;}
.btn-red:hover{background:var(--red-dark);transform:translateY(-1px);}
.bp-track{height: 5px !important;
    background: var(--pts-border, #e5e7eb) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    margin-block-end: 5px !important;}

/* ================================================================
   PTS DESIGN SYSTEM LAYER — 2026-07

   The house rules for the redesign, consolidated into one section
   and grouped by concern. Everything above this point is the
   inherited framework + the shared component styles migrated out
   of the per-page <style> blocks.

   FOR 5AND3 — why selectors are `body`-prefixed here: each page
   still carries a small page-specific <style> block that loads
   AFTER this stylesheet, so a plain single-class selector would
   lose to legacy page rules of equal specificity. The `body`
   prefix (specificity 0,1,1) is the lightest reliable way to win
   without `!important`. When these mockups become templates and
   the per-page blocks disappear, the prefix can be dropped
   wholesale and the cascade still resolves identically.

   Colour law: red ACTS · ink STATES · purple CERTIFIES ·
   sage QUICK-ORDERS · sub-brands inherit --bx. See DESIGN.md.
   ================================================================ */

/* ---------- TOKENS & SHAPE ---------- */
.hc-corner{position:relative;overflow:hidden;}
.hc-corner::after{content:"";position:absolute;inset-inline-end:-80px;inset-block-start:-80px;width:300px;height:300px;background:url('../assets/img/img-3ea537d95050.svg') no-repeat center/cover;opacity:.06;pointer-events:none;}
.hc-corner>*{position:relative;}
.pill{border-radius:6px;}
.pill.tagp{border-radius:999px;}
body .dlcard,body .cert-ic,body .acc-item,body .hc,body .tt-card{border-radius:14px;}
body .qi-part,body .qi-qty{border-radius:8px;}

/* ---------- BUTTON SYSTEM ---------- */
.cert-trigger.btn.btn-ghost,.cert-trigger.bc-link{color:#732353;border:1.5px solid #732353;background:#f3eaef;border-radius:999px;font-weight:700;text-decoration:none;}
.cert-trigger.btn.btn-ghost:hover,.cert-trigger.bc-link:hover{background:#732353;color:#fff;border-color:#732353;}
.cert-trigger.btn.btn-ghost:active,.cert-trigger.bc-link:active{background:#5a1b41;}
.cert-modal .btn-red{background:#732353;box-shadow:none;}
.cert-modal .btn-red:hover{background:#5a1b41;}
.certband .btn-ghost,.qoband .btn-ghost,.hhero .btn-ghost,[class*=band] .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);}
.certband .btn-ghost:hover,.qoband .btn-ghost:hover,.hhero .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
body .cert-trigger.btn.btn-ghost{border-radius:6px;border-width:1px;background:transparent;padding:6px 12px;font-size:.78rem;min-height:36px;}
body .cert-trigger.btn.btn-ghost:hover{background:#732353;color:#fff;}
.btn-red:hover{background:linear-gradient(180deg,#d03540,#bd1f27);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 3px 8px rgba(23,42,45,.24);}
.btn-ink:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 3px 8px rgba(23,42,45,.24);}
.btn-sage:hover{background:linear-gradient(180deg,#3a8a80,#2c6e66);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 8px rgba(23,42,45,.2);}
.btn:active{transform:translateY(0) scale(.985);box-shadow:inset 0 2px 4px rgba(0,0,0,.18);}
.btn-ghost:hover{background:rgba(24,43,45,.05);}
body .util-btn,body .pw-toggle,body .cb-manage,body .cb-accept,body .spec .add{border-radius:8px;}
body .cb-accept{background:linear-gradient(180deg,#c9303a,#b31c24);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 1px rgba(23,42,45,.12);}
body .prose a:not(.btn):hover,body .foot-links a:hover{color:var(--red);}

/* ---------- SEGMENTED CONTROLS & STATE ---------- */
body .lv2-tabs{border-radius:8px;padding:4px;box-shadow:none;}
body .lv2-tabs .lt{border-radius:6px;}
body .bst{border-radius:6px!important;}
body .tab,body .gchip,body .st-btn,body .bst,body .lv2-tabs .lt{border-radius:6px;}
body .tab.active{background:linear-gradient(180deg,var(--bx,#21383b),var(--bx,#15282a))!important;border-color:var(--bx,var(--ink))!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;}
body .gchip.on{background:linear-gradient(180deg,var(--bx,#21383b),var(--bx,#15282a))!important;border-color:var(--bx,var(--ink))!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;}
body .gchip.on small{color:rgba(255,255,255,.75)!important;}
body .lv2-tabs .lt.on{background:linear-gradient(180deg,var(--bx,#21383b),var(--bx,#15282a))!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;}
body .st-btn .cc,body .tab .cc,body .bst .cc{background:transparent!important;color:inherit!important;opacity:.65;padding:0!important;border-radius:0!important;font-weight:600!important;}
body .tt-desc{background:transparent!important;border:0!important;padding:0!important;color:var(--grey)!important;font-weight:600;font-size:.78rem;letter-spacing:.02em;}
body .bsys-tabs,body .sys-tabs{background:var(--bg,#f4f5f7);border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:3px;box-shadow:none;display:inline-flex;gap:3px;}
body .rp-c.on,body .rp-l.on{background:linear-gradient(180deg,#21383b,#15282a)!important;border-color:var(--ink,#182b2d)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;}
body .rp-c,body .rp-l{border-radius:8px;}

/* ---------- CERTIFICATION IDENTITY (purple) ---------- */
.cert-modal{--sage-deep:#732353;--sage:#b98aa7;--sage-bg:#f3eaef;}
.cert-modal .cm-batch .avail,.cert-modal .cm-batch [class*=stock],.cert-modal .cm-batch td:nth-last-child(2){color:var(--green,#3fb282);}
.cm-head .cert-learn{display:block;margin-block-start:5px;text-decoration:underline;text-underline-offset:2px;}
.cert-modal .cm-head,.certbox .certbox-head{background:linear-gradient(130deg,#15282a 0%,#2a1a30 48%,#5a1b41 125%)!important;color:#fff!important;border-block-end:0!important;}
.certbox .certbox-head h2,.certbox .certbox-head h3,.certbox .certbox-head .cb-t{color:#fff;}
.certbox .certbox-head .cb-ic svg{color:#fff;}
.certbox .certbox-head .cert-learn{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:2px;}
.certbox{--sage-deep:#732353;--sage:#b98aa7;--sage-bg:#f3eaef;}
.certbox .avail,.certbox [class*=stock]{color:var(--green,#3fb282);}
.bc-chosen[data-cert]{--sage-deep:#732353;}
body .bi-cert .cert-trigger,body .cert-trigger.bc-link{border:0;background:transparent;padding:2px 0;border-radius:0;text-decoration:underline;text-underline-offset:3px;font-size:0.78rem;}
body .bi-cert .cert-trigger:hover,body .cert-trigger.bc-link:hover{background:transparent;color:#5a1b41;}
body .cert-trigger[data-chosen]{color:#732353;border-color:#d7bac8;background:#f3eaef;}
body .bi-cert a,body .bc-chosen a{color:#732353;}
body .bc-chosen .cn,body .bc-chosen .cp{color:#732353;}

/* ---------- HEADER, NAV & DRAWER ---------- */
.foot :focus-visible,footer :focus-visible,.promobar-dark :focus-visible{outline-color:#f4f5f7;}
body .launcher{border-radius:8px;height:36px;font-size:.92rem;padding-inline:16px;}
header{box-shadow:0 1px 0 var(--line,#e5e7eb),0 6px 18px rgba(23,42,45,.06);}
body header nav a:hover,body .bar-secondary a:hover{box-shadow:inset 0 -2px 0 var(--red);}
body .menu-btn{background:linear-gradient(180deg,#21383b,#15282a);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);color:#fff;border:0;border-radius:8px;}
body .lpr-btn{background:linear-gradient(180deg,#c9303a,#b31c24);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);border-radius:8px;}
body .menu-btn:hover{background:linear-gradient(180deg,#27444a,#182b2d);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 8px rgba(23,42,45,.22);}
body .lpr-btn:hover{background:linear-gradient(180deg,#d03540,#bd1f27);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 3px 8px rgba(23,42,45,.24);}
body .bar-secondary a:not(.launcher),body header nav a{padding-block:12px;transition:color .15s,box-shadow .15s;}
body .menu-btn,body .lpr-btn{transition:.16s cubic-bezier(.2,.7,.3,1);}
body .menu-btn .bars span{background:currentColor;}
body .live-drawer{background:#fff;box-shadow:0 0 60px rgba(23,42,45,.25);}
body .push-menu__section{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--grey,#626468);padding:18px 20px 6px;}
body .push-menu__item{border-block-end:1px solid #f0f1f1;}
body .push-menu__item a,body a.push-menu__item{padding:12px 20px;transition:background .13s,box-shadow .13s;}
body .live-drawer-body a.push-menu__label[href="#"]::after{margin-inline-start:10px;}

/* ---------- BASKET & CHECKOUT ---------- */
.basket-sticky{display:none;}
.techspec table,table.qty-breaks,.cm-batch,table.v2tbl,table.dtable,.co-code,.bi-code,.qmp-s{font-variant-numeric:tabular-nums;}
body .qty-breaks tr{transition:background .14s;}
body .qty-breaks tr:hover{background:#fbeeee;}
body .qty-breaks tr:hover td{color:var(--red-deep,#831813);}
body .buybox .dispatch-cd{background:transparent;border:0;padding:2px 0;}
body .basket-preview{background:#fff;z-index:1200;box-shadow:0 10px 30px rgba(23,42,45,.16);}
body .basket-preview img{width:46px;height:46px;object-fit:contain;flex:none;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:8px;}
body .panel.panel-soft{background:#fff;}
body .dopt .dmain{display:flex;flex-direction:column;gap:3px;}
body .dopt .dnm{display:block;}
body .dopt .dsub{display:block;color:var(--grey,#626468);font-size:0.78rem;}
body .foot-accent{background:var(--red,#bd1f27);height:3px;}
body .osum .dispatch-cd{background:transparent;border:0;padding:2px 0;}
body .osum .banner{background:transparent;border:0;padding:6px 0;color:var(--grey,#626468);font-size:.78rem;}

/* ---------- TYPOGRAPHY & DATA ---------- */
.dtable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.field.err input,.field.err select,.field.err textarea{border-color:var(--red,#bd1f27)!important;background:#fbeeee;}
.field-error{display:block;color:var(--red,#bd1f27);font-size:0.78rem;font-weight:600;margin-block-start:6px;}
.field-error[hidden]{display:none;}
.cred-strip{font-size:.72rem;color:var(--grey,#626468);letter-spacing:.3px;margin-block-start:10px;}
.cred-strip a{color:var(--sage-deep,#2c6e66);font-weight:600;}
.listing-meta{font-size:.78rem;font-weight:600;color:var(--grey,#626468);letter-spacing:.2px;}
.listing-meta .lm-tick{color:var(--sage-deep,#2c6e66);}
body .eyebrow,body .sec-h .acc{letter-spacing:.08em;font-weight:700;font-size:.72rem;}
table.v2tbl thead th,table.dtable thead th{position:sticky;top:0;background:var(--bg,#f4f5f7);z-index:2;}
body .sec-h h2{font-size:2rem;letter-spacing:-.02em;line-height:1.15;}
body .sec-h p{font-size:1rem;line-height:1.6;}
body .prose{line-height:1.65;}
body .sec-h{margin-block-end:34px;}
body table.v2tbl thead th,body table.dtable thead th{background:var(--ink,#182b2d);color:#C6D3D2;}
body .ntbl tbody tr,body table.dtable tbody tr{transition:background .14s;}
body .ntbl tbody tr:hover,body table.dtable tbody tr:hover{background:#f6f7f6;}

/* ---------- SURFACES & MOTION ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink,#182b2d);outline-offset:2px;}
body .ani{transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
body .ntbl thead th{background:var(--ink,#182b2d)!important;color:#C6D3D2!important;border-block-end:0;box-shadow:none;}
body .stk.in .d{animation:pts-stock-breathe 2.6s ease-in-out infinite;}
body .alt-finish{border:1px solid var(--line,#e5e7eb);border-radius:10px;background:#fff;box-shadow:none;}
body .alt-finish:hover{border-color:var(--bx,var(--ink));}
body .ani-group>.ani:nth-child(2){transition-delay:.07s;}
body .ani-group>.ani:nth-child(3){transition-delay:.14s;}
body .ani-group>.ani:nth-child(4){transition-delay:.21s;}
body .ani-group>.ani:nth-child(5){transition-delay:.28s;}
body .ani-group>.ani:nth-child(6){transition-delay:.35s;}

/* ---------- SHARED UTILITIES ---------- */
body .sec{padding-block:64px 56px;}
body a.imp-switch{text-decoration:underline;text-underline-offset:3px;}
0%,100%{opacity:1;}
50%{opacity:.35;}
body .fr-ct{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;color:var(--grey)!important;}
body a{transition:color .14s;}

/* ---------- RESPONSIVE (mobile structure, compaction, reduced-motion) ---------- */
@media (max-width:640px){ body .promobar .pwrap{flex-wrap:wrap;row-gap:2px;} body .promobar .promo-item:nth-of-type(n+3){display:none;} body .vat-wrap{margin-inline-start:auto;} body .vgrid{grid-template-columns:1fr 1fr;row-gap:16px;} body .foot-grid{grid-template-columns:1fr 1fr;row-gap:20px;} body .dept-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:430px){ body .promobar .promo-item:nth-of-type(n+2){display:none;} body .vt-lbl{display:none;} body .dept-grid{grid-template-columns:1fr;} }
@media (max-width:640px){ body .push-menu__item, body .push-menu__label{min-height:44px;display:flex;align-items:center;} body .util-btn{min-height:44px;min-width:44px;} body .vt-btn{padding:10px 12px;} body .rm{min-height:44px;display:inline-flex;align-items:center;} body .qin{min-height:44px;} body .cert-trigger{min-height:44px;display:inline-flex;align-items:center;} }
@media (max-width:768px){ .basket-sticky{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:60;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -6px 18px rgba(23,42,45,.08);padding:10px 14px calc(10px + env(safe-area-inset-bottom));align-items:center;gap:12px;} .basket-sticky .bs-total{display:flex;flex-direction:column;line-height:1.15;} .basket-sticky .bs-total small{font-size:.68rem;color:var(--grey,#626468);} .basket-sticky .bs-total b{font-size:1.05rem;color:var(--ink,#182b2d);} .basket-sticky .btn{flex:1;padding:12px;text-align:center;} body.has-basket-sticky{padding-bottom:74px;} }
@media (max-width:640px){ body header .bar-primary .wrap{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:6px;padding-block:8px;} body header .bar-primary .launcher{order:0;} body header .bar-primary .brand{order:1;} body header .bar-primary .util{order:2;margin-inline-start:auto;} body header .bar-primary .search{order:3;flex-basis:100%;} body .cookie-bar .cb-inner{padding:10px 14px;} body .cookie-bar{padding:8px 12px!important;} body .cookie-bar p{font-size:0.72rem!important;line-height:1.35!important;margin:0!important;flex-basis:auto!important;} body header .bar-primary .menu-btn [data-i18n="nav.menu"]{display:none;} body header .bar-primary .menu-btn{min-width:44px;} body .cb-btns .cb-accept,body .cb-btns .cb-manage{padding:9px 14px;font-size:0.78rem;} }
@media (max-width:880px){ body .si-split{display:flex;flex-direction:column;} body .si-split .si-form{order:0;} body .si-split>:not(.si-form){order:1;} }
@media (max-width:700px){ body .si-split .si-benefits{display:none;} }
@media (max-width:640px){ body .sec-h h2{font-size:1.5rem;} }
@media (max-width:640px){ body .sec{padding-block:44px 40px;} body .sec-h{margin-block-end:24px;} }
@media (prefers-reduced-motion: reduce){ body .stk.in .d{animation:none;} }
@media (prefers-reduced-motion: reduce){ body .ani-group>.ani{transition-delay:0s;} }

/* ================================================================
   LAW ENFORCEMENT SWEEP — 2026-07-28 (full-site audit)

   Every page was probed against the DESIGN.md laws. These rules close
   the violations found, in the shared layer so they hold everywhere.
   ================================================================ */

/* ---------- chip law: labels are typography, not bubbles ----------
   The only sanctioned rounded chips are the purple "Unique to PTS"
   cert tag and 6px status tags. Everything below was a page-local
   bubble family; they become quiet tags/text. ---------- */
body .fchip,body .dchip,body .nchip,body .credchip,body .schip,
body .cc-reg,body .dfast,body .stc,body .rg-tag,body .sgrade,
body .tt-desc,body .pop-cat,body .ec-cat{border-radius:6px!important;}
body .nchip,body .credchip,body .schip,body .rg-tag,body .stc,body .cc-reg,body .dfast{background:transparent!important;border:0!important;padding:0!important;color:var(--grey,#626468);font-weight:700;font-size:0.72rem;letter-spacing:.02em;}
body .nchip.feat{color:#732353;}
body .sgrade{border-radius:4px!important;}

/* ---------- colour law: ink states, never red ---------- */
body .tab.active,body .lt.on,body tr.on,body .msi a.on{
  background:linear-gradient(180deg,var(--bx,#21383b),var(--bx,#15282a))!important;
  border-color:var(--bx,#182b2d)!important;color:#fff!important;
}
body tr.on td{background:transparent;color:inherit;}

/* ---------- category law: purple is certification's ----------
   Account/order/search/quick-order surfaces are transactional, not
   product-category, so their heroes take the house teal. ---------- */
body .qhero,body .ov-hero,body .si-brand,body .snr-hero,body .sr-hero{
  background:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%);
}

/* ---------- composition: success/confirmation pages read as editorial ---------- */
body .oc-hero .wrap,body .es-hero .wrap,body .chero.done .wrap{text-align:start;}

/* remaining chip families found in the sweep: 404 / empty-basket quick links,
   listing tabs and jump links on the shim listing, hero category coherence */
body .nf-links a,body .eb-chips a,body .tab,body .info-jump{border-radius:6px!important;}
body .info-jump{background:transparent!important;border:0!important;padding:0!important;text-decoration:underline;text-underline-offset:3px;}
body .shero,body .fhero,body .rp-bar{background:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%)!important;}
body .stock{border-radius:0!important;}

body .catpg-cta,body .dl-qo{background:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%)!important;}
body .qe-badge{border-radius:6px!important;}


/* ================================================================
   TYPE WEIGHT — the brand display ramp actually ships
   The inherited framework declares h1..h6{font-weight:500}; without
   this block every heading on the site rendered Roboto Medium, so
   hierarchy was carried by size alone and the page read soft/templated.
   DESIGN.md ramp: 800 display, 700 UI, 600 supporting.
   ================================================================ */
body h1,body h2,body .hhero h1,body .phero h1,body .chero h1{font-weight:800;letter-spacing:-.02em;}
body h3,body h4{font-weight:700;}
body h5,body h6{font-weight:600;}
body .sec-h h2,body .shead h2{font-weight:800;}


/* ---------- AUDIT P2: measured accessibility corrections ---------- */
/* footer credential labels were #6B8F8D on #182b2d = 4.18:1 at 9.6px (below AA) */
body .ft-lg-lbl{color:#8FB2AE;}
/* drawer rows and close control met neither the 44px floor nor each other */
body .push-menu__item.level1,body .push-menu__item{min-height:44px;}
body .live-close{min-width:44px;min-height:44px;}


/* ================================================================
   PTS CARD MARK — the brand angle, not a side-tab
   Impeccable flags a straight coloured border-left on cards as a
   generated-UI tell, and it is right: a plain vertical bar says
   nothing about PTS. But red must still register on light surfaces,
   so cards carry the mark from the logo's 'P' instead — a short
   red slash at the same -16.5deg as the heading tick. Same job,
   unmistakably ours, no generic bar.
   ================================================================ */
.card-mark{position:relative;}
.card-mark::before{
  content:"";position:absolute;inset-block-start:18px;inset-inline-start:0;
  width:5px;height:22px;background:var(--red,#bd1f27);
  border-radius:2px;pointer-events:none;
}
.card-mark{padding-inline-start:22px;}
@media (max-width:640px){ .card-mark::before{height:18px;inset-block-start:16px;} }


/* ================================================================
   CONTENT & SEO BLOCK — one component for every page's editorial tail
   Category, product, brand and resource pages all end with the same
   job: explain the range, then hand off to the Knowledge Hub. Before
   this it was loose prose floating under a white band on some pages
   and a boxed card on others. One composition, two skins.
   ================================================================ */
.seo-block{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line,#e2e4e3);border-radius:14px;padding:34px 38px;margin-block:8px 34px;}
.seo-block::after{content:"";position:absolute;inset-inline-end:-70px;inset-block-end:-70px;width:260px;height:260px;background:url('../assets/img/img-3ea537d95050.svg') no-repeat center/cover;opacity:.05;pointer-events:none;}
.seo-block>*{position:relative;}
.seo-block .sb-k{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red,#bd1f27);margin-block-end:6px;}
.seo-block h2{font-size:1.5rem;margin:0 0 14px;}
.seo-block .prose{max-width:74ch;}
.seo-block .prose p{margin:0 0 12px;}
.seo-block .sb-more{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-block-start:20px;padding-block-start:18px;border-block-start:1px solid var(--line,#e2e4e3);}
.seo-block .sb-more .sb-lead{font-weight:700;font-size:.9rem;}
/* branded variant: the sub-brand accent carries the mark and the link */
.seo-block.branded{border-color:color-mix(in srgb,var(--bx,#bd1f27) 30%,#e2e4e3);}
.seo-block.branded .sb-k{color:var(--bx,#bd1f27);}
.seo-block.branded .btn{background:var(--bx,#bd1f27);color:#fff;}

/* jump-to-content link — same affordance category pages and PDPs share */
.info-jump,.gx-jump{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;
  color:var(--sage-deep,#2c6e66);text-decoration:underline;text-underline-offset:3px;margin-block-start:14px;}
.info-jump:hover,.gx-jump:hover{color:var(--ink,#182b2d);}


/* ================================================================
   TABLE + BUY-BOX CONSISTENCY (Alex's screenshot review)
   ================================================================ */
/* Listing table head: the ink band was too heavy against white rows and
   the column rule broke the run. One quiet header, one hairline. */
body .ntbl thead th{background:#f1f3f2!important;color:var(--ink,#182b2d)!important;
  border-block-end:2px solid var(--ink,#182b2d);font-size:.72rem;letter-spacing:.06em;}
body .ntbl thead th+th{border-inline-start:0;}
body table.v2tbl thead th,body table.dtable thead th{background:#f1f3f2;color:var(--ink,#182b2d);
  border-block-end:2px solid var(--ink,#182b2d);}
/* Quantity-break: the active tier was a solid black bar. Make it read as
   'your price' — brand-tinted row with a red rule, not a blackout. */
body .qty-breaks tr.on,body .qty-breaks tr[data-active],body .qty-breaks tr:first-child{
  background:#fbeeee!important;box-shadow:inset 3px 0 0 var(--red,#bd1f27);}
body .qty-breaks tr.on td,body .qty-breaks tr:first-child td{color:var(--red-deep,#831813)!important;font-weight:800;}
/* Stock pill: match the buy-box radius family so it sits with Add to basket */
body .buybox .stock,body .stockrow .stock{border-radius:8px;background:var(--sage-bg,#eef4f3);padding:7px 12px;}
/* Row link affordance: the size cell is the way into the product — make that legible */
body .ntbl td .dtxt a{text-decoration:underline;text-underline-offset:3px;font-weight:800;}
body .ntbl tbody tr:hover td .dtxt a{color:var(--red,#bd1f27);}
/* Numbered step lists share ONE pattern sitewide (home cert band = the source) */
.stepblock{display:flex;flex-direction:column;gap:0;border:1px solid var(--line,#e2e4e3);border-radius:14px;overflow:hidden;background:#fff;}
.stepblock>*{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border:0;border-radius:0;box-shadow:none;background:transparent;}
.stepblock>*+*{border-block-start:1px solid var(--line,#e2e4e3);}
.stepblock .os-n,.stepblock .stp-n,.stepblock b:first-child{flex:none;width:26px;height:26px;border-radius:50%;
  background:var(--red,#bd1f27);color:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:800;}


/* ================================================================
   ORDER SUMMARY RAIL — basket and checkout say the same things the
   same way. Under the CTA: dispatch promise, then trust, then the
   alternative action. Typography, not stacked boxes.
   ================================================================ */
.osum .dispatch-cd,.cart-side .dispatch-cd{display:flex;justify-content:center;gap:8px;background:transparent;border:0;
  padding:10px 0 0;color:var(--sage-deep,#2c6e66);font-weight:700;font-size:.84rem;}
.osum .banner,.cart-side .banner{background:transparent;border:0;padding:8px 0 0;margin:0;
  color:var(--grey,#626468);font-size:.78rem;line-height:1.5;text-align:center;}
.osum .banner b,.cart-side .banner b{color:var(--ink,#182b2d);font-weight:700;}
.osum .note,.cart-side .note{text-align:center;font-size:.78rem;padding-block-start:12px;margin-block-start:12px;
  border-block-start:1px solid var(--line,#e2e4e3);}
/* one rule under the totals, not a boxed sub-panel */
.osum .st,.cart-side .sum-total{border:0;background:transparent;border-block-start:2px solid var(--ink,#182b2d);
  border-radius:0;padding:14px 0 0;margin-block-start:6px;}

/* sage CTA hover: a real state change, not a tint shift */
.btn-sage:hover{background:linear-gradient(180deg,#2c6e66,#215751);color:#fff;}
.btn-sage:active{background:#1d4d47;}

/* Live Product Range: the chevron is .chev — rotate it on open, and keep
   the flyout above the header's separation shadow. */
body .lpr-btn .chev{display:inline-block;transition:transform .18s ease;opacity:.9;}
body .lpr-wrap:hover .lpr-btn .chev,body .lpr-wrap.open .lpr-btn .chev{transform:rotate(180deg);}
body .lpr-flyout{z-index:900;}


/* ================================================================
   CATEGORY TILE — one component for products/ and every category page
   products.html used .ptile (photo + name + arrow) while the category
   pages used .ntype (photo + standard + name + one-line description).
   The richer one is right for a fastener catalogue: a buyer scanning
   29 tiles needs the standard and the range, not just a name. Same
   anatomy, same white body, both places.
   ================================================================ */
.ptile,.ntype{background:#fff;border:1px solid var(--line,#e2e4e3);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;}
.ptile:hover,.ntype:hover{border-color:var(--red,#bd1f27);transform:translateY(-2px);box-shadow:var(--shadow);}
.ptile .pi,.ntype .ni{display:block;aspect-ratio:4/3;background:#fff;overflow:hidden;border-block-end:1px solid var(--line,#e2e4e3);}
.ptile .pi img,.ntype .ni img{width:100%;height:100%;object-fit:contain;display:block;}
.ptile .pbody,.ntype .nbody{background:#fff;color:var(--ink,#182b2d);padding:13px 15px 15px;display:flex;flex-direction:column;gap:3px;}
.ptile .pnm,.ntype .nnm{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-weight:800;font-size:.95rem;color:var(--ink,#182b2d);}
.ptile .par,.ntype .na{color:var(--grey-2,#908d8e);transition:color .15s,transform .15s;}
.ptile:hover .par,.ntype:hover .na{color:var(--red,#bd1f27);transform:translateX(2px);}
.ntype .nstd{font-size:.7rem;font-weight:800;letter-spacing:.06em;color:var(--red,#bd1f27);text-transform:uppercase;}
.ntype .nss{font-size:.82rem;color:var(--grey,#626468);line-height:1.45;}

/* products tiles carry the same anatomy as the category pages */
.ptile .pbody{align-items:stretch;text-align:start;}
.ptile .pstd{font-size:.7rem;font-weight:800;letter-spacing:.06em;color:var(--red,#bd1f27);text-transform:uppercase;}
.ptile .pss{font-size:.82rem;color:var(--grey,#626468);line-height:1.45;}
.ptile .pnm{display:flex;align-items:center;justify-content:space-between;gap:8px;}


/* LPR: bridge the gap between the button and the panel so travelling the
   mouse down does not close it mid-move. */
.lpr-wrap{position:relative;}
.lpr-wrap::after{content:"";position:absolute;inset-inline-start:0;inset-block-start:100%;width:100%;height:14px;display:none;}
.lpr-wrap:hover::after{display:block;}
.lpr-flyout{margin-block-start:0;}

/* ================================================================
   PRODUCT CONTENT BLOCK — one design, two skins
   Unbranded (house) and branded (BUMAX / Philidas / Jubilee /
   LanFranco / Nord-Lock / Precision Shims) content areas now share the
   same composition: prose column + 'At a glance' spec panel. The only
   difference is which accent carries it, so the site reads as one
   system while each sub-brand still owns its pages.
   ================================================================ */
.pcontent{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line,#e2e4e3);
  border-radius:14px;padding:34px 38px;margin-block:26px;display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.95fr);gap:38px;align-items:start;}
.pcontent::after{content:"";position:absolute;inset-inline-end:-70px;inset-block-end:-70px;width:250px;height:250px;
  background:url('../assets/img/img-3ea537d95050.svg') no-repeat center/cover;opacity:.05;pointer-events:none;}
.pcontent>*{position:relative;}
.pcontent h2{font-size:1.5rem;margin:0 0 14px;}
.pcontent .prose p{margin:0 0 12px;max-width:70ch;}
.pcontent h3{font-size:1rem;margin:20px 0 10px;}
.pcontent ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.pcontent ul li{position:relative;padding-inline-start:26px;font-size:.9rem;line-height:1.5;}
.pcontent ul li::before{content:"¹3";position:absolute;inset-inline-start:0;color:var(--bx,var(--sage-deep,#2c6e66));font-weight:800;}
/* the spec panel: dark, honeycombed, brand-accented values */
.pc-glance{background:linear-gradient(130deg,#15282a 0%,#173230 45%,#1f5048 122%);color:#fff;
  border-radius:14px;padding:22px 24px;position:relative;overflow:hidden;}
.pc-glance::before{content:"";position:absolute;inset:0;background:url('../assets/img/img-3ea537d95050.svg') repeat;
  background-size:210px;opacity:.09;pointer-events:none;}
.pc-glance>*{position:relative;}
.pc-glance h3{margin:0 0 14px;font-size:1.05rem;color:#fff;}
.pc-glance dl{margin:0;display:grid;gap:0;}
.pc-glance .gr{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-block-end:1px solid rgba(255,255,255,.14);font-size:.88rem;}
.pc-glance .gr:last-child{border-block-end:0;}
.pc-glance .gk{color:#C6D3D2;}
.pc-glance .gv{font-weight:800;text-align:end;}
/* branded skin: the sub-brand accent carries kicker, ticks and panel edge */
.pcontent.branded{border-color:color-mix(in srgb,var(--bx,#bd1f27) 30%,#e2e4e3);}
.pcontent.branded .pc-glance{background:linear-gradient(130deg,#15282a 0%,#172a2d 42%,var(--bx,#5a1b41) 122%);}
.pcontent.branded .pc-glance .gv{color:#fff;}
@media (max-width:900px){ .pcontent{grid-template-columns:1fr;gap:24px;padding:26px 22px;} }


/* Card hover = the brand accent on the EDGE of the card, not a bar across
   its top. One treatment for every card family, house and sub-brand. */
.carcard,.subcat,.cr-card,.ov-tstep{transition:border-color .15s,box-shadow .15s,transform .15s;}
.carcard:hover,.subcat:hover,.cr-card:hover{border-color:var(--bx,var(--red,#bd1f27));
  box-shadow:var(--shadow);transform:translateY(-2px);}
/* segmented-control counts need air, and read as quiet figures */
.bst .cc,.st-btn .cc,.tab .cc,.css-chip .cc{margin-inline-start:7px;opacity:.6;font-weight:600;}


/* ================================================================
   LIVE PRODUCT RANGE — the primary navigation panel
   One list of ranges in three columns (a trade buyer scans names, not
   category headers), the six brands on their own rail, and the Quick
   Order shortcut for buyers who arrive with part numbers.

   The accent mark: a short red rule that appears beside a range on
   hover, and sits permanently beside a brand in that brand's colour.
   It is a marker the width of a stroke, not a full-height strip — the
   strip is the generated-UI tell, the mark is the brand.
   ================================================================ */
body .bar-nav .lpr-flyout{
  inset-block-start:100%;inset-inline-start:0;
  width:min(96vw,1010px);padding:0;
  background:#fff;border:1px solid var(--pts-border);border-block-start:0;
  border-radius:0 0 14px 14px;
  box-shadow:0 26px 56px rgba(15,24,25,.24),0 2px 6px rgba(15,24,25,.08);
  overflow:hidden;
}
.lpr-panel{display:grid;grid-template-columns:minmax(0,1fr) 268px;}
.lpr-cats{padding:20px 24px 22px;position:relative;overflow:hidden;}
.lpr-cats::after{content:"";position:absolute;inset-inline-start:-70px;inset-block-end:-90px;
  width:260px;height:260px;background:url('../assets/img/img-3ea537d95050.svg') no-repeat center/cover;
  opacity:.05;pointer-events:none;}
.lpr-cats>*{position:relative;}
.lpr-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding-block-end:12px;margin-block-end:14px;border-block-end:1px solid var(--pts-border);}
.lpr-head h4,.lpr-head .lpr-h{margin:0;font-size:1rem;font-weight:800;color:var(--pts-ink);letter-spacing:-.2px;}
.lpr-kw{font-family:var(--serif);font-style:italic;font-size:.88rem;color:var(--red,#bd1f27);}
.lpr-gt{margin:0 0 8px;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey,#626468);}

.lpr-list{list-style:none;margin:0;padding:0;column-count:3;column-gap:26px;}
.lpr-list li{break-inside:avoid;margin:0;}
.lpr-list a{display:block;position:relative;padding:6px 10px 6px 13px;border-radius:6px;
  font-size:.86rem;font-weight:500;line-height:1.35;color:var(--pts-ink);
  text-decoration:none;transition:background .12s,color .12s;}
.lpr-list a::before{content:"";position:absolute;inset-inline-start:3px;inset-block-start:50%;
  width:3px;height:0;border-radius:2px;background:var(--red,#bd1f27);
  transform:translateY(-50%);transition:height .14s cubic-bezier(.2,.7,.3,1);}
.lpr-list a:hover,.lpr-list a:focus-visible{background:var(--pts-light);color:var(--red,#bd1f27);}
.lpr-list a:hover::before,.lpr-list a:focus-visible::before{height:15px;}

/* brands rail — brand colour as a mark beside the name, not a strip */
.lpr-side{padding:20px 22px 22px;background:var(--bg,#f6f8f8);
  border-inline-start:1px solid var(--pts-border);display:flex;flex-direction:column;}
.lpr-brands{list-style:none;margin:0;padding:0;}
.lpr-brands a{display:block;position:relative;padding:7px 10px 7px 15px;border-radius:8px;
  text-decoration:none;background:#fff;border:1px solid var(--pts-border);
  margin-block-end:6px;transition:border-color .14s,box-shadow .14s;}
.lpr-brands a::before{content:"";position:absolute;inset-inline-start:6px;inset-block-start:11px;
  width:3px;height:16px;border-radius:2px;background:var(--b,var(--red,#bd1f27));}
.lpr-brands a:hover{border-color:var(--b,var(--red,#bd1f27));box-shadow:0 2px 8px rgba(23,42,45,.08);}
.lb-n{display:block;font-size:.85rem;font-weight:700;color:var(--pts-ink);line-height:1.25;}
.lb-d{display:block;font-size:.72rem;color:var(--grey,#626468);line-height:1.3;}
.lpr-qo{display:block;margin-block-start:auto;padding-block-start:14px;text-decoration:none;}
.lq-k{display:block;font-size:.72rem;color:var(--grey,#626468);}
.lq-a{display:block;font-size:.86rem;font-weight:800;color:var(--sage-deep,#2c6e66);}
.lpr-qo:hover .lq-a{text-decoration:underline;}

.lpr-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:11px 24px;background:var(--bg,#f6f8f8);border-block-start:1px solid var(--pts-border);}
.lpr-tag{font-size:.82rem;font-weight:600;color:var(--grey,#626468);}
.lpr-tag em{color:var(--pts-ink);}
body .lpr-all{margin:0;font-weight:800;font-size:.86rem;color:var(--red,#bd1f27);text-decoration:none;}
body .lpr-all:hover{text-decoration:underline;}

@media(max-width:1080px){
  .lpr-panel{grid-template-columns:minmax(0,1fr);}
  .lpr-list{column-count:2;}
  .lpr-side{border-inline-start:0;border-block-start:1px solid var(--pts-border);}
  .lpr-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;}
  .lpr-qo{margin-block-start:10px;}
}
@media(max-width:720px){
  body .bar-nav .lpr-flyout{max-height:70vh;overflow:auto;}
  .lpr-list{column-count:1;}
}

/* Back to top — long category and knowledge-hub pages run well past a
   screen; this is the only floating control on the site, so it stays small
   and gets out of the way until it is earned by scrolling. */
.to-top{position:fixed;inset-block-end:22px;inset-inline-end:22px;z-index:880;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#e2e4e3);
  background:#fff;color:var(--ink,#182b2d);cursor:pointer;
  display:grid;place-items:center;
  box-shadow:0 4px 14px rgba(23,42,45,.16);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s,transform .2s,visibility .2s,background .15s,color .15s;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:var(--red,#bd1f27);border-color:var(--red,#bd1f27);color:#fff;}
.to-top:focus-visible{outline:2px solid var(--red,#bd1f27);outline-offset:2px;}
@media(max-width:680px){.to-top{inset-block-end:16px;inset-inline-end:14px;}}
/* the sticky mobile checkout bar owns the bottom-right corner on those pages */
body:has(.sticky-checkout,.mob-bar,.basket-sticky) .to-top{inset-block-end:88px;}
@media(prefers-reduced-motion:reduce){.to-top{transition:opacity .2s,visibility .2s;}}


/* ================================================================
   INDUSTRY CARD — one component, home and industries.html
   No sector photography exists yet, and dressing these with recycled
   product shots is what made them read as filler. So the card is
   typographic: the sector's accent as a straight mark, the name, the
   problem in one line, and what PTS supplies against it.
   NOTE for 5and3: real sector photography drops in above .ic-b — the
   card is built to take a 16:9 image without changing the text block.
   ================================================================ */
.ind-grid,.indrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.indcard{position:relative;display:flex;gap:14px;padding:18px 20px 18px 18px;
  background:var(--card,#fff);border:1px solid var(--line,#e2e4e3);border-radius:14px;
  box-shadow:var(--shadow);text-decoration:none;
  transition:border-color .15s,box-shadow .15s,transform .15s;}
.indcard:hover{border-color:var(--ix,var(--sage-deep,#2c6e66));box-shadow:var(--shadow);transform:translateY(-2px);}
.ic-mark{flex:none;width:3px;border-radius:2px;background:var(--ix,var(--sage-deep,#2c6e66));
  align-self:stretch;margin-block:2px;}
.ic-b{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ic-n{font-size:1.05rem;font-weight:800;color:var(--ink,#182b2d);letter-spacing:-.01em;line-height:1.2;}
.ic-l{font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--ix,var(--sage-deep,#2c6e66));line-height:1.35;}
.ic-p{font-size:.86rem;color:var(--grey,#626468);line-height:1.5;}
.ic-a{margin-block-start:4px;font-size:.8rem;font-weight:800;color:var(--red,#bd1f27);}
.indcard:hover .ic-a{text-decoration:underline;}
@media(max-width:900px){.ind-grid,.indrow{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.ind-grid,.indrow{grid-template-columns:minmax(0,1fr);}}


/* LPR robustness — the panel escapes the nav bar on every page.
   Anything that clips or out-stacks it is a page-by-page failure that
   looks like "the menu is broken here", so the guarantees live in one
   place rather than being rediscovered per template. */
header.psite,.bar-nav,.bar-nav .wrap,.lpr-wrap{overflow:visible;}
body .lpr-flyout{z-index:1200;}
/* keyboard: tabbing into the panel opens it and keeps it open */
.lpr-wrap:focus-within .lpr-flyout{display:block;}
.lpr-btn:focus-visible{outline:2px solid #fff;outline-offset:-4px;}


/* VAT label — one word that follows the toggle.
   Authored markup carries an empty <span class="vat-sfx">; the text is
   supplied here so every label on the page changes together with the
   toggle, instead of prices flipping while the wording says "ex VAT".
   In listing tables it appears once in the column header — repeating it
   on every row was noise. */
.vat-sfx::after{content:"ex VAT";}
#vat-inc:checked ~ .promobar .vat-sfx::after,
#vat-inc:checked ~ main .vat-sfx::after,
#vat-inc:checked ~ * .vat-sfx::after{content:"inc VAT";}
th .vat-sfx,.vat-sfx.quiet{font-weight:600;color:var(--grey,#626468);font-size:.68rem;}


/* VAT segmented control — one authoritative rule.
   The active segment was being resolved by several older rules layered
   over each other, with the result that "Ex VAT" stayed lit whichever
   option was chosen. Both segments are declared here, last, so the
   checked state is the only thing that decides which one is filled.
   Ink on house pages, the sub-brand accent on brand pages — never red,
   because red acts and this is a state. */
body .vat-toggle .vt-btn{background:transparent;color:var(--grey,#626468);font-weight:600;}
body .vat-toggle .vt-btn.is-on{
  background:var(--bx,var(--ink,#182b2d))!important;color:#fff!important;font-weight:700;}


/* Certification band — the honeycomb belongs on every dark PTS surface,
   and this is the most PTS-specific panel on the site. Tone-on-tone over
   the purple so it reads as texture, not pattern. */
.cert-modal .cm-head,.certbox .certbox-head,.cert-callout,.pdp-cert .pc-head{position:relative;overflow:hidden;}
.cert-modal .cm-head::after,.certbox .certbox-head::after{
  content:"";position:absolute;inset-inline-end:-60px;inset-block-start:-70px;
  width:260px;height:260px;pointer-events:none;
  background:url('../assets/img/img-3ea537d95050.svg') no-repeat center/cover;opacity:.12;}
.cert-modal .cm-head>*,.certbox .certbox-head>*{position:relative;z-index:1;}

/* Back to top has to clear the cookie bar and the sticky checkout bar —
   a floating control that hides behind other floating furniture is the
   same as not having one. */
.to-top{z-index:9998;}
body:has(.cookie-bar) .to-top{inset-block-end:96px;}
@media(max-width:680px){body:has(.cookie-bar) .to-top{inset-block-end:130px;}}


/* ================================================================
   NAV MARK — the one accent for in-page navigation
   A full-height rule down the side of a link is the generated-UI tell;
   the mark is a short straight stroke that grows in beside the label,
   the same device as the Live Product Range panel. Applies to the
   article contents list, account side nav, brand picker and drawer.
   ================================================================ */
body .toc a,body .side a,body .bp-item,body .live-drawer-body .push-menu__item>a{
  position:relative;border-inline-start:0!important;
  transition:background .13s,color .13s;}
body .toc a::after,body .side a::after,body .bp-item::after,
body .live-drawer-body .push-menu__item>a::after{
  content:"";position:absolute;inset-inline-start:3px;inset-block-start:50%;
  width:3px;height:0;border-radius:2px;background:var(--bx,var(--red,#bd1f27));
  transform:translateY(-50%);transition:height .16s cubic-bezier(.2,.7,.3,1);}
body .toc a:hover::after,body .toc a:focus-visible::after,
body .side a:hover::after,body .side a:focus-visible::after,
body .bp-item:hover::after,
body .live-drawer-body .push-menu__item>a:hover::after{height:14px;}
/* current section / current page: the mark is full height and the label
   carries the weight — no filled dark block */
body .toc a.on,body .side a.on,body .side a[aria-current],body .bp-item.on{
  background:var(--bg,#f6f8f8)!important;color:var(--ink,#182b2d)!important;font-weight:700;}
body .toc a.on::after,body .side a.on::after,
body .side a[aria-current]::after,body .bp-item.on::after{height:18px;}
body .toc a.on::before{color:var(--red,#bd1f27)!important;}


/* Nav launchers sit inside the bar, not across it: one height for both,
   with the bar giving them a little air top and bottom. The condensed
   header takes them down a further notch. Tap targets stay 44px on
   touch widths, where the bar is taller anyway. */
body .bar-nav{padding-block:0;}

@media(max-width:680px){body .bar-nav .launcher{height:44px;min-height:44px;font-size:.9rem;}}


/* ================================================================
   SIZE x LENGTH GRID  (bumax-product-listing.html only, for review)
   A proposal for buyers working from a drawing rather than a part
   number: every diameter/length combination at once, stock in the
   cell. Deliberately on one page so it can be judged and then kept
   or dropped — see the NOTE for 5and3 in the markup.
   ================================================================ */
.szmx-head{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-block-end:14px;}
.szmx-head h3{margin:0 0 4px;font-size:1.05rem;}
.szmx-head p{margin:0;max-width:72ch;font-size:.86rem;color:var(--grey,#626468);line-height:1.55;}
.szmx-wrap{overflow-x:auto;border:1px solid var(--line,#e2e4e3);border-radius:14px;background:#fff;}
table.szmx{border-collapse:collapse;width:100%;min-width:660px;font-variant-numeric:tabular-nums;}
.szmx th{font-size:.74rem;font-weight:800;color:var(--grey,#626468);padding:10px 8px;white-space:nowrap;
  background:var(--bg,#f6f8f8);border-block-end:1px solid var(--line,#e2e4e3);}
.szmx thead th:first-child{inset-inline-start:0;}
.szmx tbody th{text-align:end;font-size:.82rem;color:var(--ink,#182b2d);background:var(--bg,#f6f8f8);
  border-inline-end:1px solid var(--line,#e2e4e3);padding-inline:12px;position:sticky;inset-inline-start:0;z-index:1;}
.szmx td{padding:0;border-block-end:1px solid #eef1f0;border-inline-end:1px solid #eef1f0;}
.szmx tbody tr:last-child td,.szmx tbody tr:last-child th{border-block-end:0;}
.szmx button{width:100%;min-width:64px;border:0;background:transparent;padding:11px 8px;cursor:pointer;
  font:600 .8rem/1 inherit;color:var(--grey-2,#908d8e);transition:outline-color .1s;}
.szmx button.szmx-in{color:#1f7a4b;background:rgba(47,158,99,.08);}
.szmx button.szmx-low{color:#8a6410;background:rgba(217,147,17,.10);}
.szmx button.szmx-no{cursor:default;}
.szmx button:not(.szmx-no):hover,.szmx button:not(.szmx-no):focus-visible{
  outline:2px solid var(--bx,var(--red,#bd1f27));outline-offset:-2px;}
.szmx-key{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-block-start:12px;
  font-size:.78rem;color:var(--grey,#626468);}
.szmx-key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:6px;vertical-align:-1px;}
.szmx-key .k-in{background:rgba(47,158,99,.4);}
.szmx-key .k-low{background:rgba(217,147,17,.45);}
.szmx-key .k-no{background:#e8ebea;}
.szmx-key .szmx-len{margin-inline-start:auto;color:var(--grey-2,#908d8e);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}


/* The launchers keep one height whether the header is full or condensed.
   Three earlier rules disagreed about this and the one that won made them
   grow on scroll, which is the opposite of what a condensed header is for. */
body .bar-nav .launcher,
body header.is-condensed ~ .bar-nav .launcher,
body .is-condensed .bar-nav .launcher{height:36px!important;font-size:.92rem;padding-inline:16px;}
@media(max-width:680px){
  body .bar-nav .launcher,
  body header.is-condensed ~ .bar-nav .launcher,
  body .is-condensed .bar-nav .launcher{height:40px!important;min-height:40px;font-size:.9rem;}
}


/* LPR footer bar now carries Quick Order, so the brands rail is free to take
   more brands (SPAX and whatever follows) without the panel growing. */
.lpr-foot{justify-content:flex-start;gap:22px;}
.lpr-foot .lpr-qo{margin:0;padding:0;display:flex;align-items:baseline;gap:7px;}
.lpr-foot .lq-k{display:inline;font-size:.78rem;color:var(--grey,#626468);}
.lpr-foot .lq-a{display:inline;font-size:.82rem;font-weight:800;color:var(--sage-deep,#2c6e66);}
.lpr-foot .lpr-tag{margin-inline-start:auto;}
.lpr-side{padding-block-end:20px;}
@media(max-width:760px){
  .lpr-foot{gap:10px;}
  .lpr-foot .lpr-tag{margin-inline-start:0;flex-basis:100%;}
}
/* the panel must never be able to widen the page */
body .bar-nav .lpr-flyout{max-width:calc(100vw - 20px);}

/* MOBILE: the pre-footer values strip was still rendering four columns at
   375px and pushing the page 167px wide. Two up on tablet, one up on phone. */
body .values .vgrid,body .vgrid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){body .values .vgrid,body .vgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){body .values .vgrid,body .vgrid{grid-template-columns:minmax(0,1fr);}}


/* The grid is data, not a banner: cells stay compact and the table sits in
   the content column rather than stretching to fill it. It scrolls inside
   its own wrapper on narrow screens, so the page never scrolls sideways. */
table.szmx{width:auto;min-width:0;}
.szmx th,.szmx td{width:auto;}
.szmx tbody th{min-width:58px;}
.szmx button{min-width:56px;padding:9px 10px;font-size:.78rem;}
.szmx-wrap{max-width:100%;}
@media(max-width:680px){
  .szmx button{min-width:48px;padding:8px 6px;font-size:.74rem;}
  .szmx th{padding:8px 6px;font-size:.7rem;}
}


/* ================================================================
   CARD FOOT RULE — a hairline separating a card's action from its copy
   The link was floating at the bottom of the text with nothing marking
   it as the thing you press. A hairline gives the action its own
   register without adding another box, and the same treatment runs
   across every card family so they stay one costume.
   ================================================================ */
body .kart .klink,body .dlcard .dl-link,body .ncard .n-link,
body .cr-card .cr-link,body .tt-card .tt-link{
  margin-block-start:auto;padding-block-start:12px;
  border-block-start:1px solid var(--line,#e2e4e3);}
body .kart p,body .dlcard p{margin-block-end:12px;}

/* Cards lift on the page rather than sitting flat on it: the shadow token
   is the same one the product tiles use, so nothing in the card families
   reads as a different material. */
body .kart,body .dlcard,body .ncard,body .cr-card,body .tt-card,body .kb-feat{
  box-shadow:var(--shadow);
  transition:transform .15s,border-color .15s,box-shadow .15s;}
body .kart:hover,body .dlcard:hover,body .ncard:hover,body .cr-card:hover,body .tt-card:hover{
  box-shadow:0 2px 4px rgba(23,42,45,.06),0 14px 34px rgba(23,42,45,.10);}
/* the read-more link takes the accent on hover, like every other card */
body .kart:hover .klink{color:var(--bx,var(--red,#bd1f27));}


/* MOBILE OVERFLOW — two remaining cases, fixed at the component
   1. The listing's view tabs (Buy / Dimensional data / Size x length) sat on
      one row and ran past 375px. They wrap now, and scroll if a longer set
      is ever added.
   2. The knowledge-hub article column did not shrink inside its layout grid,
      so long words and the takeaways panel pushed the page sideways. Grid
      and flex children need min-width:0 before they will narrow. */
body .lv2-tabs{flex-wrap:wrap;row-gap:6px;max-width:100%;}
body .lv2-tabs .lt{flex:0 1 auto;min-width:0;}
@media(max-width:420px){body .lv2-tabs .lt{font-size:.8rem;padding-inline:11px;}}

body .alayout,body .alayout>*{min-width:0;}
body .alayout .prose,body .alayout article{min-width:0;overflow-wrap:anywhere;}
body .takeaways,body .takeaways *{min-width:0;}
body .prose pre,body .prose table{max-width:100%;overflow-x:auto;display:block;}


/* There are two Menu buttons: the one in the nav bar, and a second that
   fades into the primary header once it condenses. They were governed by
   different rules, so the header one stayed 48px while the nav one came
   down to 36 — which is what "the menu is still bigger" was. One height
   for every launcher, wherever it lives. */
body .launcher,body .menu-btn,body .lpr-btn,body .top-menu-btn,
body header.is-condensed .top-menu-btn{
  height:36px!important;min-height:0;align-self:center;
  font-size:.92rem;padding-inline:16px;}
@media(max-width:680px){
  body .launcher,body .menu-btn,body .lpr-btn,body .top-menu-btn,
  body header.is-condensed .top-menu-btn{height:40px!important;min-height:40px;font-size:.9rem;}
}


/* Industry "why PTS" cards: the 3px rule across the top of each card was the
   same horizontal slop bar as everywhere else. Same answer as the vertical
   ones — a straight mark in the sector's accent — but proportioned to what it
   marks. A 16px stub beside a 90px card read as a leftover; the mark runs the
   card's inner height, inset from the corners so it stays a mark and not an
   edge. The rule across the site: the mark's length tracks the thing it
   marks — a line beside a heading, a card's height beside a card. */
body .iwc{border-block-start:1px solid var(--line,#e2e4e3)!important;}
body .iwc::before{content:"";position:absolute;inset-inline-start:0;
  inset-block:14px;width:3px;border-radius:2px;
  background:var(--ix,var(--sage-deep,#2c6e66));}
body .iwc h3,body .iwc h4,body .iwc strong:first-child{margin-block-start:0;}
