@charset "UTF-8";
/* ------------------------------------
    MAIN.SCSS
 * ------------------------------------*/
/* ------------------------------------
 * Setup the framework:
 * 1. Override any settings in the framework/_defaults.scss file
 * 2. Import the framework
 * ------------------------------------*/
/* ------------------------------------
    VARS.SCSS
 * ------------------------------------*/
/**
  Any variables you find set in the framework's `_variables.scss` that you do not wish to
  keep, simply redefine here. This means that if your `$font-size-base` is set to 14px
  and you wish it to be 16px, just redeclare it in this file.
  This allows you to modify how the framework works without having to alter the framework itself.
 */
/* ------------------------------------
    BOOTSTRAP DEFAULT OVERRIDES
 * ------------------------------------*/
/* [1] */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
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 {
  -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"] {
  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;
  -moz-box-sizing: content-box;
  -webkit-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;
    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;
  }
  select {
    background: #fff !important;
  }
  .navbar {
    display: none;
  }
  .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("/css/font/glyphicons-halflings-regular.eot");
  src: url("/css/font/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("/css/font/glyphicons-halflings-regular.ttf") format("truetype"), url("/css/font/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}

.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.glyphicon-asterisk:before {
  content: "\2a";
}

.glyphicon-plus:before {
  content: "\2b";
}

.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}

.glyphicon-minus:before {
  content: "\2212";
}

.glyphicon-cloud:before {
  content: "\2601";
}

.glyphicon-envelope:before {
  content: "\2709";
}

.glyphicon-pencil:before {
  content: "\270f";
}

.glyphicon-glass:before {
  content: "\e001";
}

.glyphicon-music:before {
  content: "\e002";
}

.glyphicon-search:before {
  content: "\e003";
}

.glyphicon-heart:before {
  content: "\e005";
}

.glyphicon-star:before {
  content: "\e006";
}

.glyphicon-star-empty:before {
  content: "\e007";
}

.glyphicon-user:before {
  content: "\e008";
}

.glyphicon-film:before {
  content: "\e009";
}

.glyphicon-th-large:before {
  content: "\e010";
}

.glyphicon-th:before {
  content: "\e011";
}

.glyphicon-th-list:before {
  content: "\e012";
}

.glyphicon-ok:before {
  content: "\e013";
}

.glyphicon-remove:before {
  content: "\e014";
}

.glyphicon-zoom-in:before {
  content: "\e015";
}

.glyphicon-zoom-out:before {
  content: "\e016";
}

.glyphicon-off:before {
  content: "\e017";
}

.glyphicon-signal:before {
  content: "\e018";
}

.glyphicon-cog:before {
  content: "\e019";
}

.glyphicon-trash:before {
  content: "\e020";
}

.glyphicon-home:before {
  content: "\e021";
}

.glyphicon-file:before {
  content: "\e022";
}

.glyphicon-time:before {
  content: "\e023";
}

.glyphicon-road:before {
  content: "\e024";
}

.glyphicon-download-alt:before {
  content: "\e025";
}

.glyphicon-download:before {
  content: "\e026";
}

.glyphicon-upload:before {
  content: "\e027";
}

.glyphicon-inbox:before {
  content: "\e028";
}

.glyphicon-play-circle:before {
  content: "\e029";
}

.glyphicon-repeat:before {
  content: "\e030";
}

.glyphicon-refresh:before {
  content: "\e031";
}

.glyphicon-list-alt:before {
  content: "\e032";
}

.glyphicon-lock:before {
  content: "\e033";
}

.glyphicon-flag:before {
  content: "\e034";
}

.glyphicon-headphones:before {
  content: "\e035";
}

.glyphicon-volume-off:before {
  content: "\e036";
}

.glyphicon-volume-down:before {
  content: "\e037";
}

.glyphicon-volume-up:before {
  content: "\e038";
}

.glyphicon-qrcode:before {
  content: "\e039";
}

.glyphicon-barcode:before {
  content: "\e040";
}

.glyphicon-tag:before {
  content: "\e041";
}

.glyphicon-tags:before {
  content: "\e042";
}

.glyphicon-book:before {
  content: "\e043";
}

.glyphicon-bookmark:before {
  content: "\e044";
}

.glyphicon-print:before {
  content: "\e045";
}

.glyphicon-camera:before {
  content: "\e046";
}

.glyphicon-font:before {
  content: "\e047";
}

.glyphicon-bold:before {
  content: "\e048";
}

.glyphicon-italic:before {
  content: "\e049";
}

.glyphicon-text-height:before {
  content: "\e050";
}

.glyphicon-text-width:before {
  content: "\e051";
}

.glyphicon-align-left:before {
  content: "\e052";
}

.glyphicon-align-center:before {
  content: "\e053";
}

.glyphicon-align-right:before {
  content: "\e054";
}

.glyphicon-align-justify:before {
  content: "\e055";
}

.glyphicon-list:before {
  content: "\e056";
}

.glyphicon-indent-left:before {
  content: "\e057";
}

.glyphicon-indent-right:before {
  content: "\e058";
}

.glyphicon-facetime-video:before {
  content: "\e059";
}

.glyphicon-picture:before {
  content: "\e060";
}

.glyphicon-map-marker:before {
  content: "\e062";
}

.glyphicon-adjust:before {
  content: "\e063";
}

.glyphicon-tint:before {
  content: "\e064";
}

.glyphicon-edit:before {
  content: "\e065";
}

.glyphicon-share:before {
  content: "\e066";
}

.glyphicon-check:before {
  content: "\e067";
}

.glyphicon-move:before {
  content: "\e068";
}

.glyphicon-step-backward:before {
  content: "\e069";
}

.glyphicon-fast-backward:before {
  content: "\e070";
}

.glyphicon-backward:before {
  content: "\e071";
}

.glyphicon-play:before {
  content: "\e072";
}

.glyphicon-pause:before {
  content: "\e073";
}

.glyphicon-stop:before {
  content: "\e074";
}

.glyphicon-forward:before {
  content: "\e075";
}

.glyphicon-fast-forward:before {
  content: "\e076";
}

.glyphicon-step-forward:before {
  content: "\e077";
}

.glyphicon-eject:before {
  content: "\e078";
}

.glyphicon-chevron-left:before {
  content: "\e079";
}

.glyphicon-chevron-right:before {
  content: "\e080";
}

.glyphicon-plus-sign:before {
  content: "\e081";
}

.glyphicon-minus-sign:before {
  content: "\e082";
}

.glyphicon-remove-sign:before {
  content: "\e083";
}

.glyphicon-ok-sign:before {
  content: "\e084";
}

.glyphicon-question-sign:before {
  content: "\e085";
}

.glyphicon-info-sign:before {
  content: "\e086";
}

.glyphicon-screenshot:before {
  content: "\e087";
}

.glyphicon-remove-circle:before {
  content: "\e088";
}

.glyphicon-ok-circle:before {
  content: "\e089";
}

.glyphicon-ban-circle:before {
  content: "\e090";
}

.glyphicon-arrow-left:before {
  content: "\e091";
}

.glyphicon-arrow-right:before {
  content: "\e092";
}

.glyphicon-arrow-up:before {
  content: "\e093";
}

.glyphicon-arrow-down:before {
  content: "\e094";
}

.glyphicon-share-alt:before {
  content: "\e095";
}

.glyphicon-resize-full:before {
  content: "\e096";
}

.glyphicon-resize-small:before {
  content: "\e097";
}

.glyphicon-exclamation-sign:before {
  content: "\e101";
}

.glyphicon-gift:before {
  content: "\e102";
}

.glyphicon-leaf:before {
  content: "\e103";
}

.glyphicon-fire:before {
  content: "\e104";
}

.glyphicon-eye-open:before {
  content: "\e105";
}

.glyphicon-eye-close:before {
  content: "\e106";
}

.glyphicon-warning-sign:before {
  content: "\e107";
}

.glyphicon-plane:before {
  content: "\e108";
}

.glyphicon-calendar:before {
  content: "\e109";
}

.glyphicon-random:before {
  content: "\e110";
}

.glyphicon-comment:before {
  content: "\e111";
}

.glyphicon-magnet:before {
  content: "\e112";
}

.glyphicon-chevron-up:before {
  content: "\e113";
}

.glyphicon-chevron-down:before {
  content: "\e114";
}

.glyphicon-retweet:before {
  content: "\e115";
}

.glyphicon-shopping-cart:before {
  content: "\e116";
}

.glyphicon-folder-close:before {
  content: "\e117";
}

.glyphicon-folder-open:before {
  content: "\e118";
}

.glyphicon-resize-vertical:before {
  content: "\e119";
}

.glyphicon-resize-horizontal:before {
  content: "\e120";
}

.glyphicon-hdd:before {
  content: "\e121";
}

.glyphicon-bullhorn:before {
  content: "\e122";
}

.glyphicon-bell:before {
  content: "\e123";
}

.glyphicon-certificate:before {
  content: "\e124";
}

.glyphicon-thumbs-up:before {
  content: "\e125";
}

.glyphicon-thumbs-down:before {
  content: "\e126";
}

.glyphicon-hand-right:before {
  content: "\e127";
}

.glyphicon-hand-left:before {
  content: "\e128";
}

.glyphicon-hand-up:before {
  content: "\e129";
}

.glyphicon-hand-down:before {
  content: "\e130";
}

.glyphicon-circle-arrow-right:before {
  content: "\e131";
}

.glyphicon-circle-arrow-left:before {
  content: "\e132";
}

.glyphicon-circle-arrow-up:before {
  content: "\e133";
}

.glyphicon-circle-arrow-down:before {
  content: "\e134";
}

.glyphicon-globe:before {
  content: "\e135";
}

.glyphicon-wrench:before {
  content: "\e136";
}

.glyphicon-tasks:before {
  content: "\e137";
}

.glyphicon-filter:before {
  content: "\e138";
}

.glyphicon-briefcase:before {
  content: "\e139";
}

.glyphicon-fullscreen:before {
  content: "\e140";
}

.glyphicon-dashboard:before {
  content: "\e141";
}

.glyphicon-paperclip:before {
  content: "\e142";
}

.glyphicon-heart-empty:before {
  content: "\e143";
}

.glyphicon-link:before {
  content: "\e144";
}

.glyphicon-phone:before {
  content: "\e145";
}

.glyphicon-pushpin:before {
  content: "\e146";
}

.glyphicon-usd:before {
  content: "\e148";
}

.glyphicon-gbp:before {
  content: "\e149";
}

.glyphicon-sort:before {
  content: "\e150";
}

.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}

.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}

.glyphicon-sort-by-order:before {
  content: "\e153";
}

.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}

.glyphicon-sort-by-attributes:before {
  content: "\e155";
}

.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}

.glyphicon-unchecked:before {
  content: "\e157";
}

.glyphicon-expand:before {
  content: "\e158";
}

.glyphicon-collapse-down:before {
  content: "\e159";
}

.glyphicon-collapse-up:before {
  content: "\e160";
}

.glyphicon-log-in:before {
  content: "\e161";
}

.glyphicon-flash:before {
  content: "\e162";
}

.glyphicon-log-out:before {
  content: "\e163";
}

.glyphicon-new-window:before {
  content: "\e164";
}

.glyphicon-record:before {
  content: "\e165";
}

.glyphicon-save:before {
  content: "\e166";
}

.glyphicon-open:before {
  content: "\e167";
}

.glyphicon-saved:before {
  content: "\e168";
}

.glyphicon-import:before {
  content: "\e169";
}

.glyphicon-export:before {
  content: "\e170";
}

.glyphicon-send:before {
  content: "\e171";
}

.glyphicon-floppy-disk:before {
  content: "\e172";
}

.glyphicon-floppy-saved:before {
  content: "\e173";
}

.glyphicon-floppy-remove:before {
  content: "\e174";
}

.glyphicon-floppy-save:before {
  content: "\e175";
}

.glyphicon-floppy-open:before {
  content: "\e176";
}

.glyphicon-credit-card:before {
  content: "\e177";
}

.glyphicon-transfer:before {
  content: "\e178";
}

.glyphicon-cutlery:before {
  content: "\e179";
}

.glyphicon-header:before {
  content: "\e180";
}

.glyphicon-compressed:before {
  content: "\e181";
}

.glyphicon-earphone:before {
  content: "\e182";
}

.glyphicon-phone-alt:before {
  content: "\e183";
}

.glyphicon-tower:before {
  content: "\e184";
}

.glyphicon-stats:before {
  content: "\e185";
}

.glyphicon-sd-video:before {
  content: "\e186";
}

.glyphicon-hd-video:before {
  content: "\e187";
}

.glyphicon-subtitles:before {
  content: "\e188";
}

.glyphicon-sound-stereo:before {
  content: "\e189";
}

.glyphicon-sound-dolby:before {
  content: "\e190";
}

.glyphicon-sound-5-1:before {
  content: "\e191";
}

.glyphicon-sound-6-1:before {
  content: "\e192";
}

.glyphicon-sound-7-1:before {
  content: "\e193";
}

.glyphicon-copyright-mark:before {
  content: "\e194";
}

.glyphicon-registration-mark:before {
  content: "\e195";
}

.glyphicon-cloud-download:before {
  content: "\e197";
}

.glyphicon-cloud-upload:before {
  content: "\e198";
}

.glyphicon-tree-conifer:before {
  content: "\e199";
}

.glyphicon-tree-deciduous:before {
  content: "\e200";
}

.glyphicon-cd:before {
  content: "\e201";
}

.glyphicon-save-file:before {
  content: "\e202";
}

.glyphicon-open-file:before {
  content: "\e203";
}

.glyphicon-level-up:before {
  content: "\e204";
}

.glyphicon-copy:before {
  content: "\e205";
}

.glyphicon-paste:before {
  content: "\e206";
}

.glyphicon-alert:before {
  content: "\e209";
}

.glyphicon-equalizer:before {
  content: "\e210";
}

.glyphicon-king:before {
  content: "\e211";
}

.glyphicon-queen:before {
  content: "\e212";
}

.glyphicon-pawn:before {
  content: "\e213";
}

.glyphicon-bishop:before {
  content: "\e214";
}

.glyphicon-knight:before {
  content: "\e215";
}

.glyphicon-baby-formula:before {
  content: "\e216";
}

.glyphicon-tent:before {
  content: "\26fa";
}

.glyphicon-blackboard:before {
  content: "\e218";
}

.glyphicon-bed:before {
  content: "\e219";
}

.glyphicon-apple:before {
  content: "\f8ff";
}

.glyphicon-erase:before {
  content: "\e221";
}

.glyphicon-hourglass:before {
  content: "\231b";
}

.glyphicon-lamp:before {
  content: "\e223";
}

.glyphicon-duplicate:before {
  content: "\e224";
}

.glyphicon-piggy-bank:before {
  content: "\e225";
}

.glyphicon-scissors:before {
  content: "\e226";
}

.glyphicon-bitcoin:before {
  content: "\e227";
}

.glyphicon-btc:before {
  content: "\e227";
}

.glyphicon-xbt:before {
  content: "\e227";
}

.glyphicon-yen:before {
  content: "\00a5";
}

.glyphicon-jpy:before {
  content: "\00a5";
}

.glyphicon-ruble:before {
  content: "\20bd";
}

.glyphicon-rub:before {
  content: "\20bd";
}

.glyphicon-scale:before {
  content: "\e230";
}

.glyphicon-ice-lolly:before {
  content: "\e231";
}

.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}

.glyphicon-education:before {
  content: "\e233";
}

.glyphicon-option-horizontal:before {
  content: "\e234";
}

.glyphicon-option-vertical:before {
  content: "\e235";
}

.glyphicon-menu-hamburger:before {
  content: "\e236";
}

.glyphicon-modal-window:before {
  content: "\e237";
}

.glyphicon-oil:before {
  content: "\e238";
}

.glyphicon-grain:before {
  content: "\e239";
}

.glyphicon-sunglasses:before {
  content: "\e240";
}

.glyphicon-text-size:before {
  content: "\e241";
}

.glyphicon-text-color:before {
  content: "\e242";
}

.glyphicon-text-background:before {
  content: "\e243";
}

.glyphicon-object-align-top:before {
  content: "\e244";
}

.glyphicon-object-align-bottom:before {
  content: "\e245";
}

.glyphicon-object-align-horizontal:before {
  content: "\e246";
}

.glyphicon-object-align-left:before {
  content: "\e247";
}

.glyphicon-object-align-vertical:before {
  content: "\e248";
}

.glyphicon-object-align-right:before {
  content: "\e249";
}

.glyphicon-triangle-right:before {
  content: "\e250";
}

.glyphicon-triangle-left:before {
  content: "\e251";
}

.glyphicon-triangle-bottom:before {
  content: "\e252";
}

.glyphicon-triangle-top:before {
  content: "\e253";
}

.glyphicon-console:before {
  content: "\e254";
}

.glyphicon-superscript:before {
  content: "\e255";
}

.glyphicon-subscript:before {
  content: "\e256";
}

.glyphicon-menu-left:before {
  content: "\e257";
}

.glyphicon-menu-right:before {
  content: "\e258";
}

.glyphicon-menu-down:before {
  content: "\e259";
}

.glyphicon-menu-up:before {
  content: "\e260";
}

* {
  -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: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.42857;
  color: #333333;
  background-color: #fff;
}

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: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: 6px;
}

.img-thumbnail {
  padding: 4px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

hr {
  margin-top: 22px;
  margin-bottom: 22px;
  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,
h1 .small, h2 small,
h2 .small, h3 small,
h3 .small, h4 small,
h4 .small, h5 small,
h5 .small, h6 small,
h6 .small,
.h1 small,
.h1 .small, .h2 small,
.h2 .small, .h3 small,
.h3 .small, .h4 small,
.h4 .small, .h5 small,
.h5 .small, .h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 22px;
  margin-bottom: 11px;
}

h1 small,
h1 .small, .h1 small,
.h1 .small,
h2 small,
h2 .small, .h2 small,
.h2 .small,
h3 small,
h3 .small, .h3 small,
.h3 .small {
  font-size: 65%;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 11px;
  margin-bottom: 11px;
}

h4 small,
h4 .small, .h4 small,
.h4 .small,
h5 small,
h5 .small, .h5 small,
.h5 .small,
h6 small,
h6 .small, .h6 small,
.h6 .small {
  font-size: 75%;
}

h1, .h1 {
  font-size: 80px;
}

h2, .h2 {
  font-size: 50px;
}

h3, .h3 {
  font-size: 44px;
}

h4, .h4 {
  font-size: 36px;
}

h5, .h5 {
  font-size: 32px;
}

h6, .h6 {
  font-size: 30px;
}

p {
  margin: 0 0 11px;
}

.lead {
  margin-bottom: 22px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .lead {
    font-size: 24px;
  }
}

small,
.small {
  font-size: 87%;
}

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, .initialism {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-muted {
  color: #777777;
}

.text-primary {
  color: #337ab7;
}

a.text-primary:hover {
  color: #286090;
}

.text-success {
  color: #3c763d;
}

a.text-success:hover {
  color: #2b542c;
}

.text-info {
  color: #31708f;
}

a.text-info:hover {
  color: #245269;
}

.text-warning {
  color: #8a6d3b;
}

a.text-warning:hover {
  color: #66512c;
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover {
  color: #843534;
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: #337ab7;
}

a.bg-primary:hover {
  background-color: #286090;
}

.bg-success {
  background-color: #dff0d8;
}

a.bg-success:hover {
  background-color: #c1e2b3;
}

.bg-info {
  background-color: #d9edf7;
}

a.bg-info:hover {
  background-color: #afd9ee;
}

.bg-warning {
  background-color: #fcf8e3;
}

a.bg-warning:hover {
  background-color: #f7ecb5;
}

.bg-danger {
  background-color: #f2dede;
}

a.bg-danger:hover {
  background-color: #e4b9b9;
}

.page-header {
  padding-bottom: 10px;
  margin: 44px 0 22px;
  border-bottom: 1px solid #eeeeee;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 11px;
}

ul ul,
ul ol,
ol ul,
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: 22px;
}

dt,
dd {
  line-height: 1.42857;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

.dl-horizontal dd:before, .dl-horizontal dd:after {
  content: " ";
  display: table;
}

.dl-horizontal dd:after {
  clear: both;
}

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 11px 22px;
  margin: 0 0 22px;
  font-size: 20px;
  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.42857;
  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-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
blockquote.pull-right small:before,
blockquote.pull-right .small:before {
  content: '';
}

.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
blockquote.pull-right small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}

address {
  margin-bottom: 22px;
  font-style: normal;
  line-height: 1.42857;
}

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: #fff;
  background-color: #333;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}

pre {
  display: block;
  padding: 10.5px;
  margin: 0 0 11px;
  font-size: 15px;
  line-height: 1.42857;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  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;
}

.container:before, .container:after {
  content: " ";
  display: table;
}

.container:after {
  clear: both;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-fluid:before, .container-fluid:after {
  content: " ";
  display: table;
}

.container-fluid:after {
  clear: both;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.row:before, .row:after {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.flex {
  display: flex;
}

.justify-content-around {
  justify-content: space-around;
}

.mb-3 {
  margin-bottom: 3rem !important;
}

.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-1 {
  width: 8.33333%;
}

.col-xs-2 {
  width: 16.66667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333%;
}

.col-xs-5 {
  width: 41.66667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.33333%;
}

.col-xs-8 {
  width: 66.66667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333%;
}

.col-xs-11 {
  width: 91.66667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.33333%;
}

.col-xs-pull-2 {
  right: 16.66667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.33333%;
}

.col-xs-pull-5 {
  right: 41.66667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.33333%;
}

.col-xs-pull-8 {
  right: 66.66667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.33333%;
}

.col-xs-pull-11 {
  right: 91.66667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.33333%;
}

.col-xs-push-2 {
  left: 16.66667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.33333%;
}

.col-xs-push-5 {
  left: 41.66667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.33333%;
}

.col-xs-push-8 {
  left: 66.66667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.33333%;
}

.col-xs-push-11 {
  left: 91.66667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.33333%;
}

.col-xs-offset-2 {
  margin-left: 16.66667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333%;
}

.col-xs-offset-5 {
  margin-left: 41.66667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333%;
}

.col-xs-offset-8 {
  margin-left: 66.66667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333%;
}

.col-xs-offset-11 {
  margin-left: 91.66667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

@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-1 {
    width: 8.33333%;
  }
  .col-sm-2 {
    width: 16.66667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.33333%;
  }
  .col-sm-5 {
    width: 41.66667%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.33333%;
  }
  .col-sm-8 {
    width: 66.66667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.33333%;
  }
  .col-sm-11 {
    width: 91.66667%;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-pull-1 {
    right: 8.33333%;
  }
  .col-sm-pull-2 {
    right: 16.66667%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-4 {
    right: 33.33333%;
  }
  .col-sm-pull-5 {
    right: 41.66667%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-7 {
    right: 58.33333%;
  }
  .col-sm-pull-8 {
    right: 66.66667%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-10 {
    right: 83.33333%;
  }
  .col-sm-pull-11 {
    right: 91.66667%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-push-1 {
    left: 8.33333%;
  }
  .col-sm-push-2 {
    left: 16.66667%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-4 {
    left: 33.33333%;
  }
  .col-sm-push-5 {
    left: 41.66667%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-7 {
    left: 58.33333%;
  }
  .col-sm-push-8 {
    left: 66.66667%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-10 {
    left: 83.33333%;
  }
  .col-sm-push-11 {
    left: 91.66667%;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66667%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-1 {
    width: 8.33333%;
  }
  .col-md-2 {
    width: 16.66667%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.33333%;
  }
  .col-md-5 {
    width: 41.66667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.33333%;
  }
  .col-md-8 {
    width: 66.66667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.33333%;
  }
  .col-md-11 {
    width: 91.66667%;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-pull-1 {
    right: 8.33333%;
  }
  .col-md-pull-2 {
    right: 16.66667%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-4 {
    right: 33.33333%;
  }
  .col-md-pull-5 {
    right: 41.66667%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-7 {
    right: 58.33333%;
  }
  .col-md-pull-8 {
    right: 66.66667%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-10 {
    right: 83.33333%;
  }
  .col-md-pull-11 {
    right: 91.66667%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-push-1 {
    left: 8.33333%;
  }
  .col-md-push-2 {
    left: 16.66667%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-4 {
    left: 33.33333%;
  }
  .col-md-push-5 {
    left: 41.66667%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-7 {
    left: 58.33333%;
  }
  .col-md-push-8 {
    left: 66.66667%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-10 {
    left: 83.33333%;
  }
  .col-md-push-11 {
    left: 91.66667%;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333%;
  }
  .col-md-offset-2 {
    margin-left: 16.66667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333%;
  }
  .col-md-offset-8 {
    margin-left: 66.66667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333%;
  }
  .col-md-offset-11 {
    margin-left: 91.66667%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-1 {
    width: 8.33333%;
  }
  .col-lg-2 {
    width: 16.66667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.33333%;
  }
  .col-lg-5 {
    width: 41.66667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.33333%;
  }
  .col-lg-8 {
    width: 66.66667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.33333%;
  }
  .col-lg-11 {
    width: 91.66667%;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-pull-1 {
    right: 8.33333%;
  }
  .col-lg-pull-2 {
    right: 16.66667%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-4 {
    right: 33.33333%;
  }
  .col-lg-pull-5 {
    right: 41.66667%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-7 {
    right: 58.33333%;
  }
  .col-lg-pull-8 {
    right: 66.66667%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-10 {
    right: 83.33333%;
  }
  .col-lg-pull-11 {
    right: 91.66667%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-push-1 {
    left: 8.33333%;
  }
  .col-lg-push-2 {
    left: 16.66667%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-4 {
    left: 33.33333%;
  }
  .col-lg-push-5 {
    left: 41.66667%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-7 {
    left: 58.33333%;
  }
  .col-lg-push-8 {
    left: 66.66667%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-10 {
    left: 83.33333%;
  }
  .col-lg-push-11 {
    left: 91.66667%;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66667%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

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: 22px;
}

.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > th,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857;
  vertical-align: top;
  border-top: 1px solid #ddd;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}

.table > caption + thead > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > tbody + tbody {
  border-top: 2px solid #ddd;
}

.table .table {
  background-color: #fff;
}

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered {
  border: 1px solid #ddd;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}

.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 > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.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 > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.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 > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.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 > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.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 > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.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: 16.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > th,
  .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 > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th: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 > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .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: 22px;
  font-size: 24px;
  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: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.42857;
  color: #555555;
}

.form-control {
  display: block;
  width: 100%;
  height: 36px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  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 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  color: #999;
}

.form-control::-webkit-input-placeholder {
  color: #999;
}

.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"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 36px;
  }
  input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"],
  .input-group-sm > input.input-group-addon[type="date"],
  .input-group-sm > .input-group-btn > input.btn[type="date"],
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input.form-control[type="time"],
  .input-group-sm > input.input-group-addon[type="time"],
  .input-group-sm > .input-group-btn > input.btn[type="time"],
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input.form-control[type="datetime-local"],
  .input-group-sm > input.input-group-addon[type="datetime-local"],
  .input-group-sm > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input.form-control[type="month"],
  .input-group-sm > input.input-group-addon[type="month"],
  .input-group-sm > .input-group-btn > input.btn[type="month"],
  .input-group-sm
  input[type="month"] {
    line-height: 33px;
  }
  input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"],
  .input-group-lg > input.input-group-addon[type="date"],
  .input-group-lg > .input-group-btn > input.btn[type="date"],
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input.form-control[type="time"],
  .input-group-lg > input.input-group-addon[type="time"],
  .input-group-lg > .input-group-btn > input.btn[type="time"],
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input.form-control[type="datetime-local"],
  .input-group-lg > input.input-group-addon[type="datetime-local"],
  .input-group-lg > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input.form-control[type="month"],
  .input-group-lg > input.input-group-addon[type="month"],
  .input-group-lg > .input-group-btn > input.btn[type="month"],
  .input-group-lg
  input[type="month"] {
    line-height: 49px;
  }
}

.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

.radio label,
.checkbox label {
  min-height: 22px;
  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="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 38px;
}

.form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 33px;
  line-height: 33px;
}

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select.form-control[multiple],
.input-group-sm > select.input-group-addon[multiple],
.input-group-sm > .input-group-btn > select.btn[multiple] {
  height: auto;
}

.form-group-sm .form-control {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

.form-group-sm select.form-control {
  height: 33px;
  line-height: 33px;
}

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}

.form-group-sm .form-control-static {
  height: 33px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  min-height: 36px;
}

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px;
}

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 49px;
  line-height: 49px;
}

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select.form-control[multiple],
.input-group-lg > select.input-group-addon[multiple],
.input-group-lg > .input-group-btn > select.btn[multiple] {
  height: auto;
}

.form-group-lg .form-control {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px;
}

.form-group-lg select.form-control {
  height: 49px;
  line-height: 49px;
}

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}

.form-group-lg .form-control-static {
  height: 49px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  min-height: 42px;
}

.has-feedback {
  position: relative;
}

.has-feedback .form-control {
  padding-right: 45px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback {
  width: 49px;
  height: 49px;
  line-height: 49px;
}

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback {
  width: 33px;
  height: 33px;
  line-height: 33px;
}

.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 .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}

.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 .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}

.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 .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}

.has-error .form-control-feedback {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
  top: 27px;
}

.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: 29px;
}

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}

.form-horizontal .form-group:before, .form-horizontal .form-group:after {
  content: " ";
  display: table;
}

.form-horizontal .form-group:after {
  clear: both;
}

@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: 14.33333px;
  }
}

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.42857;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

.btn:hover, .btn:focus, .btn.focus {
  color: #333;
  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;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}

.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active,
.open > .btn-default.dropdown-toggle {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}

.btn-default:active, .btn-default.active,
.open > .btn-default.dropdown-toggle {
  background-image: none;
}

.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active,
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default:focus,
fieldset[disabled] .btn-default.focus,
fieldset[disabled] .btn-default:active,
fieldset[disabled] .btn-default.active {
  background-color: #fff;
  border-color: #ccc;
}

.btn-default .badge {
  color: #fff;
  background-color: #333;
}

.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active,
.open > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}

.btn-primary:active, .btn-primary.active,
.open > .btn-primary.dropdown-toggle {
  background-image: none;
}

.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .btn-primary:focus,
fieldset[disabled] .btn-primary.focus,
fieldset[disabled] .btn-primary:active,
fieldset[disabled] .btn-primary.active {
  background-color: #337ab7;
  border-color: #2e6da4;
}

.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}

.btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active,
.open > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}

.btn-success:active, .btn-success.active,
.open > .btn-success.dropdown-toggle {
  background-image: none;
}

.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success:focus,
fieldset[disabled] .btn-success.focus,
fieldset[disabled] .btn-success:active,
fieldset[disabled] .btn-success.active {
  background-color: #5cb85c;
  border-color: #4cae4c;
}

.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}

.btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active,
.open > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}

.btn-info:active, .btn-info.active,
.open > .btn-info.dropdown-toggle {
  background-image: none;
}

.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-info:hover,
fieldset[disabled] .btn-info:focus,
fieldset[disabled] .btn-info.focus,
fieldset[disabled] .btn-info:active,
fieldset[disabled] .btn-info.active {
  background-color: #5bc0de;
  border-color: #46b8da;
}

.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}

.btn-warning:active, .btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  background-image: none;
}

.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning:focus,
fieldset[disabled] .btn-warning.focus,
fieldset[disabled] .btn-warning:active,
fieldset[disabled] .btn-warning.active {
  background-color: #f0ad4e;
  border-color: #eea236;
}

.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}

.btn-danger:active, .btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  background-image: none;
}

.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active,
fieldset[disabled] .btn-danger,
fieldset[disabled] .btn-danger:hover,
fieldset[disabled] .btn-danger:focus,
fieldset[disabled] .btn-danger.focus,
fieldset[disabled] .btn-danger:active,
fieldset[disabled] .btn-danger.active {
  background-color: #d9534f;
  border-color: #d43f3a;
}

.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}

.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, .btn-link[disabled]:focus,
fieldset[disabled] .btn-link:hover,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33333;
  border-radius: 6px;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

.btn-xs, .btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}

.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;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-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-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: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  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);
  background-clip: padding-box;
}

.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}

.dropdown-menu .divider {
  height: 1px;
  margin: 10px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857;
  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: #fff;
  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: 14px;
  line-height: 1.42857;
  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 solid;
  content: "";
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}

.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .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:before, .btn-toolbar:after {
  content: " ";
  display: table;
}

.btn-toolbar:after {
  clear: both;
}

.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 {
  float: left;
}

.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 > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}

.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, .btn-group-lg > .btn .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .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:before, .btn-group-vertical > .btn-group:after {
  content: " ";
  display: table;
}

.btn-group-vertical > .btn-group:after {
  clear: both;
}

.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-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.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 {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}

.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}

.btn-group-justified > .btn-group .btn {
  width: 100%;
}

.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}

[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[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-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-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 6px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.input-group-addon.input-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 3px;
}

.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 10px 16px;
  font-size: 20px;
  border-radius: 6px;
}

.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 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-addon:first-child {
  border-right: 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-addon:last-child {
  border-left: 0;
}

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}

.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 {
  margin-left: -1px;
}

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.nav:before, .nav:after {
  content: " ";
  display: table;
}

.nav:after {
  clear: both;
}

.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: 10px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}

.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid #ddd;
}

.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}

.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}

.nav-pills > li {
  float: left;
}

.nav-pills > li > a {
  border-radius: 4px;
}

.nav-pills > li + li {
  margin-left: 2px;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}

.nav-stacked > li {
  float: none;
}

.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified, .nav-tabs.nav-justified {
  width: 100%;
}

.nav-justified > li, .nav-tabs.nav-justified > li {
  float: none;
}

.nav-justified > li > a, .nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}

.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}

@media (min-width: 768px) {
  .nav-justified > li, .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0;
}

.nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}

.nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}

@media (min-width: 768px) {
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 22px;
  border: 1px solid transparent;
}

.navbar:before, .navbar:after {
  content: " ";
  display: table;
}

.navbar:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar {
    border-radius: 4px;
  }
}

.navbar-header:before, .navbar-header:after {
  content: " ";
  display: table;
}

.navbar-header:after {
  clear: both;
}

@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}

.navbar-collapse:before, .navbar-collapse:after {
  content: " ";
  display: table;
}

.navbar-collapse:after {
  clear: both;
}

.navbar-collapse.in {
  overflow-y: auto;
}

@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}

@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 768px) {
  .container > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-header,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}

@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}

@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  padding: 14px 15px;
  font-size: 20px;
  line-height: 22px;
  height: 50px;
}

.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}

.navbar-brand > img {
  display: block;
}

@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.navbar-toggle:focus {
  outline: 0;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}

@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 7px -15px;
}

.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 22px;
}

@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    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: 22px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}

@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 7px;
  margin-bottom: 7px;
}

@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .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%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}

@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 7px;
  margin-bottom: 7px;
}

.navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {
  margin-top: 8.5px;
  margin-bottom: 8.5px;
}

.navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
  margin-top: 14px;
  margin-bottom: 14px;
}

.navbar-text {
  margin-top: 14px;
  margin-bottom: 14px;
}

@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}

@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}

.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}

.navbar-default .navbar-brand {
  color: #777;
}

.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}

.navbar-default .navbar-text {
  color: #777;
}

.navbar-default .navbar-nav > li > a {
  color: #777;
}

.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}

.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}

.navbar-default .navbar-toggle {
  border-color: #ddd;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-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: #555;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    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: #555;
    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: #ccc;
    background-color: transparent;
  }
}

.navbar-default .navbar-link {
  color: #777;
}

.navbar-default .navbar-link:hover {
  color: #333;
}

.navbar-default .btn-link {
  color: #777;
}

.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
  color: #333;
}

.navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:hover,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}

.navbar-inverse {
  background-color: #222;
  border-color: #090909;
}

.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}

.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}

.navbar-inverse .navbar-text {
  color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #090909;
}

.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}

.navbar-inverse .navbar-toggle {
  border-color: #333;
}

.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}

.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}

.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #090909;
  color: #fff;
}

@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #090909;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #090909;
  }
  .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: #fff;
    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: #fff;
    background-color: #090909;
  }
  .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: #444;
    background-color: transparent;
  }
}

.navbar-inverse .navbar-link {
  color: #9d9d9d;
}

.navbar-inverse .navbar-link:hover {
  color: #fff;
}

.navbar-inverse .btn-link {
  color: #9d9d9d;
}

.navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
  color: #fff;
}

.navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:hover,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}

.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 22px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 4px;
}

.breadcrumb > li {
  display: inline-block;
}

.breadcrumb > li + li:before {
  content: "/ ";
  padding: 0 5px;
  color: #ccc;
}

.breadcrumb > .active {
  color: #777777;
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 22px 0;
  border-radius: 4px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}

.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}

.pager {
  padding-left: 0;
  margin: 22px 0;
  list-style: none;
  text-align: center;
}

.pager:before, .pager:after {
  content: " ";
  display: table;
}

.pager:after {
  clear: both;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.pager .next > a,
.pager .next > span {
  float: right;
}

.pager .previous > a,
.pager .previous > span {
  float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}

.label:empty {
  display: none;
}

.btn .label {
  position: relative;
  top: -1px;
}

a.label:hover, a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.label-default {
  background-color: #777777;
}

.label-default[href]:hover, .label-default[href]:focus {
  background-color: #5e5e5e;
}

.label-primary {
  background-color: #337ab7;
}

.label-primary[href]:hover, .label-primary[href]:focus {
  background-color: #286090;
}

.label-success {
  background-color: #5cb85c;
}

.label-success[href]:hover, .label-success[href]:focus {
  background-color: #449d44;
}

.label-info {
  background-color: #5bc0de;
}

.label-info[href]:hover, .label-info[href]:focus {
  background-color: #31b0d5;
}

.label-warning {
  background-color: #f0ad4e;
}

.label-warning[href]:hover, .label-warning[href]:focus {
  background-color: #ec971f;
}

.label-danger {
  background-color: #d9534f;
}

.label-danger[href]:hover, .label-danger[href]:focus {
  background-color: #c9302c;
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: baseline;
  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,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}

.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}

.list-group-item > .badge {
  float: right;
}

.list-group-item > .badge + .badge {
  margin-right: 5px;
}

.nav-pills > li > a > .badge {
  margin-left: 3px;
}

a.badge:hover, a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.jumbotron {
  padding: 30px 15px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}

.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}

.jumbotron p {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 200;
}

.jumbotron > hr {
  border-top-color: #d5d5d5;
}

.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 6px;
}

.jumbotron .container {
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .jumbotron {
    padding: 48px 0;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 72px;
  }
}

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 22px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}

.thumbnail > img,
.thumbnail a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.thumbnail .caption {
  padding: 9px;
  color: #333333;
}

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}

.alert {
  padding: 15px;
  margin-bottom: 22px;
  border: 1px solid transparent;
  border-radius: 4px;
}

.alert h4 {
  margin-top: 0;
  color: inherit;
}

.alert .alert-link {
  font-weight: bold;
}

.alert > p,
.alert > ul {
  margin-bottom: 0;
}

.alert > p + p {
  margin-top: 5px;
}

.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}

.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}

.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}

.alert-success hr {
  border-top-color: #c9e2b3;
}

.alert-success .alert-link {
  color: #2b542c;
}

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}

.alert-info hr {
  border-top-color: #a6e1ec;
}

.alert-info .alert-link {
  color: #245269;
}

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}

.alert-warning hr {
  border-top-color: #f7e1b5;
}

.alert-warning .alert-link {
  color: #66512c;
}

.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert-danger hr {
  border-top-color: #e4b9c0;
}

.alert-danger .alert-link {
  color: #843534;
}

@-webkit-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: 22px;
  margin-bottom: 22px;
  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-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 22px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}

.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;
}

.progress-bar-success {
  background-color: #5cb85c;
}

.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-info {
  background-color: #5bc0de;
}

.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-warning {
  background-color: #f0ad4e;
}

.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.progress-bar-danger {
  background-color: #d9534f;
}

.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}

.media {
  margin-top: 15px;
}

.media:first-child {
  margin-top: 0;
}

.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}

.media-body {
  width: 10000px;
}

.media-object {
  display: block;
}

.media-right,
.media > .pull-right {
  padding-left: 10px;
}

.media-left,
.media > .pull-left {
  padding-right: 10px;
}

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}

.media-middle {
  vertical-align: middle;
}

.media-bottom {
  vertical-align: bottom;
}

.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.media-list {
  padding-left: 0;
  list-style: none;
}

.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}

.list-group-item:first-child {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

a.list-group-item {
  color: #555;
}

a.list-group-item .list-group-item-heading {
  color: #333;
}

a.list-group-item:hover, a.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}

.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}

.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}

.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}

.list-group-item.active .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
.list-group-item.active:focus .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;
}

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}

a.list-group-item-success {
  color: #3c763d;
}

a.list-group-item-success .list-group-item-heading {
  color: inherit;
}

a.list-group-item-success:hover, a.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}

a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}

a.list-group-item-info {
  color: #31708f;
}

a.list-group-item-info .list-group-item-heading {
  color: inherit;
}

a.list-group-item-info:hover, a.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}

a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}

a.list-group-item-warning {
  color: #8a6d3b;
}

a.list-group-item-warning .list-group-item-heading {
  color: inherit;
}

a.list-group-item-warning:hover, a.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}

a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}

a.list-group-item-danger {
  color: #a94442;
}

a.list-group-item-danger .list-group-item-heading {
  color: inherit;
}

a.list-group-item-danger:hover, a.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}

a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}

.panel {
  margin-bottom: 22px;
  background-color: #fff;
  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-body:before, .panel-body:after {
  content: " ";
  display: table;
}

.panel-body:after {
  clear: both;
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}

.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: inherit;
}

.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}

.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.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-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}

.list-group + .panel-footer {
  border-top-width: 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:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead: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:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .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 th:first-child,
.panel > .table-responsive:first-child > .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 th:first-child {
  border-top-left-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .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 th:last-child,
.panel > .table-responsive:first-child > .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 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:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody: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:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .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 th:first-child,
.panel > .table-responsive:last-child > .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 th:first-child {
  border-bottom-left-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .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 th:last-child,
.panel > .table-responsive:last-child > .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 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 #ddd;
}

.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-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th: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-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}

.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 22px;
}

.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}

.panel-group .panel + .panel {
  margin-top: 5px;
}

.panel-group .panel-heading {
  border-bottom: 0;
}

.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}

.panel-group .panel-footer {
  border-top: 0;
}

.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}

.panel-default {
  border-color: #ddd;
}

.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}

.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}

.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}

.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}

.panel-primary {
  border-color: #337ab7;
}

.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}

.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}

.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}

.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}

.panel-success {
  border-color: #d6e9c6;
}

.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}

.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}

.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}

.panel-info {
  border-color: #bce8f1;
}

.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}

.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}

.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}

.panel-warning {
  border-color: #faebcc;
}

.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}

.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}

.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}

.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}

.panel-danger {
  border-color: #ebccd1;
}

.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}

.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}

.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}

.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive-4by3 {
  padding-bottom: 75%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}

.well-lg {
  padding: 24px;
  border-radius: 6px;
}

.well-sm {
  padding: 9px;
  border-radius: 3px;
}

.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.close:hover, .close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.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;
  -moz-transition: -moz-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: #fff;
  border: 1px solid #999;
  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);
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

.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;
  min-height: 16.42857px;
}

.modal-header .close {
  margin-top: -2px;
}

.modal-title {
  margin: 0;
  line-height: 1.42857;
}

.modal-body {
  position: relative;
  padding: 15px;
}

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}

.modal-footer:before, .modal-footer:after {
  content: " ";
  display: table;
}

.modal-footer:after {
  clear: both;
}

.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: 992px) {
  .modal-lg {
    width: 900px;
  }
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}

.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}

.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}

.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}

.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #000;
  border-radius: 4px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.42857;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}

.popover.top {
  margin-top: -10px;
}

.popover.right {
  margin-left: 10px;
}

.popover.bottom {
  margin-top: 10px;
}

.popover.left {
  margin-left: -10px;
}

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}

.popover-content {
  padding: 9px 14px;
}

.popover > .arrow, .popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.popover > .arrow {
  border-width: 11px;
}

.popover > .arrow:after {
  border-width: 10px;
  content: "";
}

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}

.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}

.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
  line-height: 1;
}

@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    -moz-perspective: 1000;
    perspective: 1000;
  }
  .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 > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}

.carousel-inner > .next {
  left: 100%;
}

.carousel-inner > .prev {
  left: -100%;
}

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}

.carousel-inner > .active.left {
  left: -100%;
}

.carousel-inner > .active.right {
  left: 100%;
}

.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}

.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}

.carousel-control:hover, .carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}

.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}

.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  line-height: 1;
  font-family: serif;
}

.carousel-control .icon-prev:before {
  content: '\2039';
}

.carousel-control .icon-next:before {
  content: '\203a';
}

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}

.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}

.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}

.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.carousel-caption .btn {
  text-shadow: none;
}

@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix: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;
}

.affix {
  position: fixed;
}

@-ms-viewport {
  width: device-width;
}

.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.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;
  }
  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: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table;
  }
  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;
  }
}

/* [2] */
/* ------------------------------------
   Import Project specific styles
 * ------------------------------------*/
/*------------------------------------
    GRADS/MAIN.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the site here
 */
/* ------------------------------------
    DECLARE FONTS
 * ------------------------------------*/
@font-face {
  font-family: 'futura-condensed';
  src: url("/css/font/futura-condensed.eot");
  src: url("/css/font/futura-condensed.eot?#iefix") format("embedded-opentype"), url("/css/font/futura-condensed.ttf") format("truetype"), url("/css/font/futura-condensed.svg#futura-condensed") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* ------------------------------------
    BOOTSTRAP ADDITIONAL STYLES
 * ------------------------------------*/
.col-lg-2-4 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 1200px) {
  .col-lg-2-4 {
    float: left;
    width: 20%;
  }
}

.col-md-2-4 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 992px) {
  .col-md-2-4 {
    float: left;
    width: 20%;
  }
}

.col-sm-2-4 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 768px) {
  .col-sm-2-4 {
    float: left;
    width: 20%;
  }
}

@media (min-width: 992px) {
  .col-md-push-2-4 {
    left: 20%;
  }
}

@media (min-width: 992px) {
  .col-md-pull-2-4 {
    right: 20%;
  }
}

@media (min-width: 1200px) {
  .col-lg-offset-2-4 {
    margin-left: 20%;
  }
}

@media (min-width: 992px) {
  .col-md-offset-2-4 {
    margin-left: 20%;
  }
}

@media (min-width: 768px) {
  .col-sm-offset-2-4 {
    margin-left: 20%;
  }
}

.col-auto {
  display: inline-block;
  vertical-align: middle;
}

.pad-1 {
  padding: 1rem;
}

.pad-2 {
  padding: 2rem;
}

.pad-4 {
  padding: 4rem;
}

.pad-t-1 {
  padding-top: 1rem;
}

.pad-t-2 {
  padding-top: 2rem;
}

.pad-t-4 {
  padding-top: 4rem;
}

.pad-b-1 {
  padding-bottom: 1rem;
}

.pad-b-2 {
  padding-bottom: 2rem;
}

.pad-b-4 {
  padding-bottom: 4rem;
}

.pad-tb-1 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pad-tb-2 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pad-tb-4 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.mar-t-1 {
  margin-top: 1rem;
}

.mar-t-2 {
  margin-top: 2rem;
}

.mar-t-4 {
  margin-top: 4rem;
}

.mar-b-1 {
  margin-bottom: 1rem;
}

.mar-b-2 {
  margin-bottom: 2rem;
}

.mar-b-4 {
  margin-bottom: 4rem;
}

.login-panel,
.panel-heading {
  border-radius: 0;
}

.text-white {
  color: #ffffff;
}

.text-blue {
  color: #009fe3;
}

.text-purple {
  color: #530d50;
}

.text-yellow {
  color: #fecc00;
}

.font-futura {
  font-family: futura-condensed;
}

.input-padding {
  padding: 0 1rem;
}

.soften {
  height: 1px;
  background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
  background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
  background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
  border: 0;
}

.popover-login {
  max-width: 270px !important;
}

.popover-frame {
  max-width: 400px !important;
}

.popover-info {
  max-width: 450px !important;
}

.success {
  color: white;
  background-color: #5cb85c;
  border-color: #4cae4c;
}

.danger {
  color: white;
  background-color: #d9534f;
  border-color: #d43f3a;
}

.btn-more-images {
  color: #ffffff;
  background-color: #6D1A6D;
  border: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  padding: 6px 12px;
  cursor: pointer;
}
/* Load-more buttons mark themselves busy with a class + aria-disabled rather
   than the disabled property (which blurs a focused button), so the fetching
   state needs styling of its own. */
.image_search.is-loading {
  cursor: default;
  opacity: 0.6;
}
/* The gallery status line is screen-reader-only (.sr-only) for routine batch
   updates. When a press fails or brings nothing back the JS swaps that class
   for this one, since there are no new images to show the user instead. */
.gallery-status--problem {
  display: block;
  margin-top: 1rem;
  text-align: center;
  color: #cd0000;
}

.btn-grads {
  color: #ffffff;
  background-color: #6D1A6D;
  border-color: #530d50;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  padding: 6px 12px;
}

.btn-grads:hover, .btn-grads:focus {
  color: #ffffff;
  background-color: #611761;
  border-color: #530d50;
}

.btn-rotate {
  color: #ffffff;
  background-color: #6D1A6D;
  border-color: #530d50;
}

.btn-rotate:hover, .btn-rotate:focus {
  color: #ffffff;
  background-color: #611761;
  border-color: #530d50;
}

.btn-purple {
  color: #ffffff;
  background-color: #6D1A6D;
  border-color: #6D1A6D;
}

.btn-purple:hover, .btn-purple:focus {
  color: #ffffff;
  background-color: #611761;
  border-color: #530d50;
}

.btn-pink {
  color: #ffffff;
  background-color: #e6007e;
  border-color: #e6007e;
}

.btn-pink:hover, .btn-pink:focus {
  color: #ffffff;
  background-color: #d70076;
  border-color: #8d004c;
}

.btn-yellow {
  color: #ffffff;
  background-color: #fecc00;
  border-color: #fecc00;
}

.btn-yellow:hover, .btn-yellow:focus {
  color: #ffffff;
  background-color: #efc000;
  border-color: #997e00;
}

.btn-green {
  color: #ffffff;
  background-color: #76b729;
  border-color: #76b729;
}

.btn-green:hover, .btn-green:focus {
  color: #ffffff;
  background-color: #6eab26;
  border-color: #487319;
}

.btn-login {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  padding: 3px 6px;
}

.btn-rotate {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  padding: 0 9px;
}

/* ------------------------------------
    MAIN/COMMON STYLES
 * ------------------------------------*/
pre {
  border-radius: 0;
}

/*
ul {
  list-style-type: none;
  margin: 0;
}

li {
  padding-bottom: 1.2rem;
}

nav li {
  display: inline;
}

*/
html,
body {
  background-color: #ffffff;
  height: 95%;
}

object {
  pointer-events: none;
}

iframe {
  border: none;
  margin-bottom: 2rem;
}

th {
  font-size: 1.9rem;
}

/* Fixed-header top offset — desktop only. The header is only `fixed` (and thus
   overlapping content) at >=768px; on mobile it's sticky/in-flow so no offset
   is needed. Scoped to the outer #main-content section so nested sections
   (e.g. .product-ymal, .product-faq) don't inherit a stray top gap. */
@media (min-width: 768px) {
  #main-content {
    margin-top: 7.3rem;
  }
}

.full-height {
  height: 100%;
}

.vertical-bottom {
  padding-right: inherit;
  padding-left: inherit;
  position: absolute;
  bottom: 0;
  left: 0;
}

.hide {
  display: none;
}

.header {
  text-transform: capitalize;
  font-family: futura-condensed;
  font-size: 7.4rem;
}

.error-label {
  color: #cd0000;
}

.cc-cookies {
  width: 100%;
}

.summary {
  padding: 0 !important;
}

.summary .table {
  margin-bottom: 0;
}

.summary .table th {
  padding: 0;
}

.summary .table td {
  border-top-width: 0;
  padding-top: 4px;
  padding-bottom: 4px;
}

/* ------------------------------------
    HOME PAGE STYLES
 * ------------------------------------*/
/* ------------------------------------
    MENU STYLES
 * ------------------------------------*/
.nav li {
  color: #ffffff;
}

.box-shadow--2dp {
  box-shadow: 0 3px 4px 0 rgba(33, 33, 33, 0.2);
}

.grad-navbar {
  background-color: #0086be;
  border-color: #beecff;
}

.grad-navbar .grad-menu {
  padding: 0;
  padding: 1rem 0 0 0;
}

.grad-navbar .grad-menu span {
  display: inline-block;
  height: 3rem;
  width: 3rem;
}

.grad-navbar .grad-menu span:nth-of-type(1) {
  background-color: #009fe3;
}

.grad-navbar .grad-menu span:nth-of-type(2) {
  background-color: #312783;
}

.grad-navbar .grad-menu span:nth-of-type(3) {
  background-color: #6D1A6D;
}

.grad-navbar .grad-menu span:nth-of-type(4) {
  background-color: #e6007e;
}

.grad-navbar .grad-menu span:nth-of-type(5) {
  background-color: #fecc00;
}

.grad-navbar .grad-menu span:nth-of-type(6) {
  background-color: #76b729;
}

.grad-navbar .grad-menu:hover {
  background-color: #0086be;
}

.grad-navbar .grad-nav li a {
  color: #ffffff;
  font-size: 1.4rem;
}

.grad-navbar .grad-nav li a.nav-account {
  font-size: 1.8rem;
}

.grad-navbar .grad-nav li a.inline {
  display: inline;
}

.grad-navbar .grad-nav li a:hover, .grad-navbar .grad-nav li a:focus {
  color: #ffffff;
  opacity: 0.75;
}

.grad-navbar .grad-nav .dropdown-toggle {
  color: #ffffff;
}

.grad-navbar .grad-nav .dropdown-toggle:hover, .grad-navbar .grad-nav .dropdown-toggle:focus {
  color: #ffffff;
  opacity: 1;
}

.grad-navbar .grad-nav .dropdown-menu {
  background-color: #0086be;
  border-color: rgba(255, 255, 255, 0.25);
  border-radius: 0;
  padding: 0;
}

.grad-navbar .grad-nav .dropdown-menu li {
  margin-bottom: 1rem;
}

.grad-navbar .grad-nav .dropdown-menu a:hover, .grad-navbar .grad-nav .dropdown-menu a:focus {
  background-color: #0086be;
}

.grad-navbar .grad-nav .open a,
.grad-navbar .grad-nav .open a:hover,
.grad-navbar .grad-nav .open a:focus {
  background-color: #0086be;
  color: #ffffff;
}

.grad-navbar .grad-nav .open a.btn-order {
  background-color: #0086be;
  margin: 1rem 1rem 0 1rem;
  color: #ffffff;
}

.grad-navbar .navbar-right p,
.grad-navbar .navbar-right a,
.grad-navbar .navbar-right a:hover {
  color: #ffffff;
}

.grad-navbar .navbar-toggle {
  background-color: #ffffff;
  border-color: #ffffff;
}

.grad-navbar .navbar-toggle .icon-bar {
  background-color: #0086be;
}

.grad-navbar .navbar-toggle:hover {
  background-color: #0086be;
}

.grad-navbar .navbar-toggle:hover .icon-bar {
  background-color: #ffffff;
}

.navbar-default .navbar-basket-text {
  margin-top: 12px;
  margin-bottom: 0;
}

.navbar-default .navbar-basket-text ul {
  list-style-type: none;
}

.navbar-default .navbar-basket-text a:hover,
.navbar-default .navbar-basket-text a:focus {
  text-decoration: none;
}

ul.dropdown-cart {
  background-color: #ffffff !important;
  min-width: 350px;
}

ul.dropdown-cart a.btn-order {
  background-color: #ffffff;
  color: #666666;
}

ul.dropdown-cart li .item {
  color: #666666;
  display: block;
  padding: 3px 10px;
  margin: 3px 0;
}

ul.dropdown-cart li .item:hover {
  background-color: #f3f3f3;
}

ul.dropdown-cart li .item:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

ul.dropdown-cart li .item-left {
  float: left;
}

ul.dropdown-cart li .item-left img,
ul.dropdown-cart li .item-left span.item-info {
  float: left;
}

ul.dropdown-cart li .item-left span.item-info {
  margin-left: 10px;
}

ul.dropdown-cart li .item-left span.item-info span {
  display: block;
}

ul.dropdown-cart li .item-right {
  float: right;
}

ul.dropdown-cart li .item-right button {
  margin-top: 14px;
}

.cart-item-pre-order {
  background-color: #76b729;
  padding: 0.5rem;
}

@media (max-width: 768px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #ffffff;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #ffffff;
    opacity: 0.85;
  }
}

/* ------------------------------------
    FOOTER STYLES
 * ------------------------------------*/
/* ------------------------------------
    MESSAGE STYLES
 * ------------------------------------*/
.error-404 {
  color: #ffffff;
  margin-bottom: 22px;
}

.error-404 .error-404-text {
  font-size: 1.8rem;
}

.alert {
  margin-bottom: 0;
}

.message {
  border-bottom: 1px solid #fff;
  padding: 10px;
  text-align: center;
}

.success-message {
  background-color: #e2f7d8;
  border-color: #9fde9c;
  color: #3e933a;
}

.notice-message {
  background-color: #d6e9f8;
  border-color: #4d90f0;
  color: #1155cc;
}

.error-message {
  background-color: #ffdfdf;
  border-color: #da1d1d;
  color: #da1d1d;
}

.discount-message {
  color: #ffffff;
  padding: 1rem;
  margin: 1rem auto;
  text-align: center;
}

.discount-message span {
  border: 1px solid #ffffff;
  border-width: 1px 0px;
  padding: 1rem 0.5rem;
}

.contact-address {
  color: #ffffff;
}

#LSmainDiv {
  position: fixed;
  font-size: 11pt;
  float: none !important;
  z-index: 99999;
  top: auto !important;
  bottom: 0;
  right: 0 !important;
  padding: 14px;
  border-radius: 3px;
}

/* ------------------------------------
    GRADS/LOGIN.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the login page here
 */
.login-container {
  max-height: 440px;
}

.login-container .error-label {
  color: #fecc00;
}

.row-login {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.row-login input,
.row-login select {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.login-title {
  font-size: 2rem;
  line-height: 2.6rem;
  margin-top: 1rem;
}

.login-form {
  width: 100%;
}

.inner {
  border-radius: 4px;
  margin-top: 2.4rem;
  padding: 1rem;
  position: relative;
}

.login-graduation,
.login-no-graduation {
  background-color: rgba(0, 0, 0, 0.2);
  transition: all 0.5s ease;
}

.login-fade {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0.5;
}

.login-form .login-container .row div:first-of-type {
  padding-left: 0;
}

.login-form .login-container .row div:last-of-type {
  padding-right: 0;
}

.login-info {
  font-size: 1.6rem;
}

.login-month {
  padding: 0;
}

.popover-title {
  color: #000000;
  font-size: 2.5rem;
}

.popover-content img {
  -webkit-box-shadow: 2px 2px 5px 0px #000000;
  -moz-box-shadow: 2px 2px 5px 0px #000000;
  box-shadow: 2px 2px 5px 0px #000000;
  width: 100%;
}

@media (max-width: 992px) {
  .login-container {
    max-height: 480px;
  }
  .btn-login {
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .login-container {
    max-height: 440px;
  }
  .btn-login {
    margin-top: 10px;
  }
}

/* ------------------------------------
    GRADS/ACCOUNT.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the checkout page here
 */
/* ------------------------------------
    ACCOUNT STYLES

    Removed with the customer account page (/account/). The only rules here styled
    .account-form, which was template/account.php's form.
 * ------------------------------------*/

/* ------------------------------------
    GRADS/CATEGORY.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the category page here
 */
/* ------------------------------------
    CATEGORY PAGE STYLES
 * ------------------------------------*/
.category .cat-inner {
  box-shadow: 0 3px 4px 0 rgba(33, 33, 33, 0.2);
  padding: 1rem;
}

.category .cat-inner .row {
  margin-right: 0;
  margin-left: 0;
}

.category > .row > div {
  padding: 1px;
}

.category > .row > div .cat-text {
  font-size: 1.8rem;
  padding-top: 1rem;
}

.category > .row > div a {
  color: #ffffff;
  text-decoration: none;
}

.category > .row > div a:hover .cat-text,
.category > .row > div a:focus .cat-text {
  opacity: 0.75;
}

.category > .row > div:nth-child(5n+1) > div {
  background-color: #76b729;
}

.category > .row > div:nth-child(5n+1) > div a:hover .cat-text,
.category > .row > div:nth-child(5n+1) > div:focus .cat-text {
  color: #211452;
}

.category > .row > div:nth-child(5n+2) > div {
  background-color: #fecc00;
}

.category > .row > div:nth-child(5n+2) > div a:hover .cat-text,
.category > .row > div:nth-child(5n+2) > div:focus .cat-text {
  color: #211452;
}

.category > .row > div:nth-child(5n+3) > div {
  background-color: #e6007e;
}

.category > .row > div:nth-child(5n+3) > div a:hover .cat-text,
.category > .row > div:nth-child(5n+3) > div:focus .cat-text {
  color: #211452;
}

.category > .row > div:nth-child(5n+4) > div {
  background-color: #6D1A6D;
}

.category > .row > div:nth-child(5n+5) > div {
  background-color: #312783;
}

.cat-text {
  transition: all 0.25s;
}

.category-hr {
  margin: 4rem 0;
}

/* ------------------------------------
    CATEGORY MEDIA QUERY
 * ------------------------------------*/
/* ------------------------------------
    GRADS/PRODUCT.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the product pages here
 */
/* ------------------------------------
    PRODUCTLIST STYLES
 * ------------------------------------*/
.productlist > .row {
  height: 240px;
  padding-bottom: 2px;
}

.productlist > .row:nth-child(even) .prodlist_inner {
  background-color: #008bc0;
}

.productlist > .row:nth-child(4n+1) .prodlist_title {
  background-color: #76b729;
}

.productlist > .row:nth-child(4n+2) .prodlist_title {
  background-color: #fecc00;
}

.productlist > .row:nth-child(4n+3) .prodlist_title {
  background-color: #e6007e;
}

.productlist > .row:nth-child(4n+4) .prodlist_title {
  background-color: #6D1A6D;
}

.productlist > .row:hover:nth-child(4n+1) .prodlist_inner, .productlist > .row:focus:nth-child(4n+1) .prodlist_inner {
  background-color: #76b729;
}

.productlist > .row:hover:nth-child(4n+2) .prodlist_inner, .productlist > .row:focus:nth-child(4n+2) .prodlist_inner {
  color: #211452;
  background-color: #fecc00;
}

.productlist > .row:hover:nth-child(4n+2) .prodlist_inner .prodlist_price-from, .productlist > .row:focus:nth-child(4n+2) .prodlist_inner .prodlist_price-from {
  color: #e6007e;
}

.productlist > .row:hover:nth-child(4n+3) .prodlist_inner, .productlist > .row:focus:nth-child(4n+3) .prodlist_inner {
  background-color: #e6007e;
}

.productlist > .row:hover:nth-child(4n+4) .prodlist_inner, .productlist > .row:focus:nth-child(4n+4) .prodlist_inner {
  background-color: #6D1A6D;
}

.productlist > .row a:hover,
.productlist > .row a:focus {
  text-decoration: none;
}

.productlist > .row div {
  padding: 0 1px;
  height: 100%;
}

.productlist > .row .prodlist_inner {
  background-color: #0095cd;
  color: #ffffff;
  padding: 4rem;
  transition: all 0.25s;
}

.productlist > .row .prodlist_inner.prodlist_img {
  padding: 0;
}

.prodlist_title {
  font-size: 2.8rem;
  text-align: right;
}

.prodlist_img {
  padding: 0;
}

.prodlist_img img {
  max-width: 100%;
}

.prodlist_description {
  font-size: 1.4rem;
  overflow-y: hidden;
}

.prodlist_price {
  font-size: 4.4rem;
  font-weight: bold;
  text-align: right;
}

.prodlist_price-from {
  color: #fecc00;
  font-size: 2.4rem;
  max-height: 28px;
}

@media all and (max-width: 992px) {
  .productlist > .row .prodlist_inner {
    padding: 1.8rem;
  }
}

/* ------------------------------------
    PRODUCTS LIST MEDIA QUERY
 * ------------------------------------*/
@media all and (max-width: 768px) {
  .productlist > .row {
    height: auto;
  }
  .productlist > .row .prodlist_inner {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
  }
  .prodlist_title {
    text-align: center;
  }
  .prodlist_price {
    text-align: center;
  }
}

/* ------------------------------------
    PRODUCT PAGE STYLES
 * ------------------------------------*/
.glyphicon-addons {
  font-size: 4.0rem;
}

.addon {
  background-color: #008bc0;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem 1.5rem 1.5rem 1.5rem;
}

.addon h1 {
  font-size: 6rem;
}

.flash {
  background-color: #ffffff;
  display: none;
  position: absolute;
  width: 100%;
  height: 51px;
}

.panel-addon {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0 15px;
}

.panel-addon .panel-heading.active-faq {
  border: 0;
}

.panel-addon .panel-title {
  color: #ffffff;
  font-size: 1.6rem;
  vertical-align: top;
}

.panel-addon .panel-title .glyphicon {
  font-size: .7em;
}

.panel-addon .panel-body {
  border-top: 0 !important;
  padding: 0.5rem 0.1rem;
}

.panel-addon .panel-body input,
.panel-addon .panel-body select {
  font-family: arial;
}

.product {
  color: #ffffff;
}

.product .product-price {
  font-size: 6.0rem;
}

.product .product-description {
  font-size: 1.6rem;
}

.product .product-qty,
.product .product-basket {
  font-size: 2.8rem;
}

.product .product-qty {
  padding-right: 0;
  padding-left: 0;
}

.product .product-basket {
  text-align: center;
  padding-left: 0;
}

.product .btn-basket {
  background-color: #530d50;
  border-color: #460b43;
  font-size: 1.4rem;
  margin-top: -8px;
}

.product .btn-basket:hover, .product .btn-basket:focus {
  color: #ffffff;
  background-color: #6D1A6D;
}

.product .btn-addon {
  font-size: 1.4rem;
  margin-top: -1px;
}

.product div.error-label {
  color: #ffffff;
}

.btn-glyphicon {
  background: #ffffff;
  margin-right: 4px;
  padding: 7px 7px 8px 8px;
}

.icon-btn {
  border-radius: 50px;
  padding: 1px 15px 3px 3px;
}

.text-basket {
  color: #6D1A6D;
}

.panel-product {
  background-color: #009fe3;
  border: 1px solid #ffffff;
  box-shadow: none;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
}

.panel-product .imageref-link {
  width: 600px;
  color: #ffffff;
}

.panel-product .imageref-link:hover {
  color: #312783;
}

.panel-product .panel-heading {
  padding: 15px;
}

.panel-product span {
  margin-top: -27px;
  font-size: 1.4rem;
}

.clickable {
  cursor: pointer;
}

.btn-circle {
  border: 1px solid #ffffff;
  border-radius: 50%;
  padding: 6px 10px;
}

.btn-select {
  margin-top: 1rem;
}

.selected-image-header {
  margin-bottom: 0.5rem;
  font-size: 2rem;
}

.text-black {
  color: #000000;
}

.preview-content {
  padding: 1rem;
}

.panel-image-size {
  background-color: #008bc0;
  padding: 1.5rem;
  margin-right: 0;
  margin-bottom: 3rem;
}

.panel-image-size .image-section_header {
  font-size: 2.8rem;
  line-height: 6.8rem;
}

.panel-image-size .image-section_size {
  font-size: 1.3rem;
}

@media all and (max-width: 1200px) {
  .panel-image-size {
    margin-left: 0;
  }
  .panel-image-size .image-section_header {
    font-size: 3rem;
    line-height: 3.2rem;
  }
}

.modal-header h4 {
  color: #000000;
}

/* ------------------------------------
    GRADS/ORDER.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the product pages here
 */
/* ------------------------------------
    ORDER / BASKET STYLES
 * ------------------------------------*/
.order-header {
  margin-top: 0;
  margin-bottom: 22px;
}

.order-title, .order-item-text {
  font-size: 1.2rem;
}

.order-item-title {
  color: #333333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  margin: 0;
}

.order-table {
  padding: 2rem;
}

.order-table .order-item-price {
  font-size: 1.8rem;
  padding-right: 3rem;
}

.order-table .balance_green {
  color: #5cb85c;
}

.order-table .balance_red {
  color: #d9534f;
}

.order-table .input-group {
  max-width: 9rem;
}

.order-table input[type=text] {
  min-width: 4.5rem;
  max-width: 4.5rem;
}

.order-table .input-group-addon {
  padding: 3px 6px;
}

.order-table .glyphicon {
  font-size: 1.4rem;
}

.order-table a {
  color: #009fe3;
}

.order-table .btn-checkout {
  color: #ffffff;
}

@media (max-width: 585px) {
  .input-group span.input-group-btn, .input-group input, .input-group button {
    display: block;
    width: 100%;
    border-radius: 0;
    margin: 0;
  }
  .input-group {
    position: relative;
  }
  .input-group span.data-up {
    position: absolute;
    top: 0;
  }
  .input-group span.data-dwn {
    position: absolute;
    bottom: 0;
  }
  .form-control.text-center {
    margin: 34px 0;
  }
  .input-group-btn:last-child > .btn,
  .input-group-btn:last-child > .btn-group {
    margin-left: 0;
  }
}

/* ------------------------------------
    GRADS/CHECKOUT.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the checkout page here
 */
/* ------------------------------------
    CHECKOUT STYLES
 * ------------------------------------*/
.payment-frame {
  height: 70rem;
}

.checkout {
  background-color: #ffffff;
  border-radius: 6px;
  padding: 3rem;
}

.checkout label {
  font-size: .9em;
}

@media all and (min-width: 768px) {
  .checkout .control-label {
    padding-right: 0;
    padding-left: 0;
  }
}

/* ------------------------------------
    DELIVERY STYLES
 * ------------------------------------*/
/* .logout-link removed: it styled the "logout and use your existing account" link inside the
   old "account exists" checkout error, which no longer exists. */
.delivery-text {
  color: #ffffff;
  font-size: 2rem;
  padding: 2rem 2rem 0 2rem;
}

.required:after {
  content: "*";
  color: red;
  font-size: 1.2em;
}

/* ------------------------------------
    GRADS/INVOICE.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the invoice page here
 */
/* ------------------------------------
    INVOICE STYLES
 * ------------------------------------*/
@media print {
  .no-print {
    display: none;
  }
}

/* ------------------------------------
    GRADS/FAQ.SCSS
 * ------------------------------------*/
/**
  Declare custom styles for the faq page here
 */
/* ------------------------------------
    FAQ STYLES
 * ------------------------------------*/
.faq-cat-content {
  margin-top: 25px;
}

.faq-cat-tabs li a {
  padding: 15px 10px 15px 10px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #777777;
}

.nav-tabs li a:focus,
.panel-heading a:focus {
  outline: none;
}

.panel-heading a,
.panel-heading a:hover,
.panel-heading a:focus {
  text-decoration: none;
  color: #777777;
}

.faq-cat-content .panel-heading:hover {
  background-color: #efefef;
}

.faq-cat-section {
    margin-top: 0;
}

.active-faq {
  border-left: 5px solid #888888;
}

.panel-faq .panel-heading .panel-title span {
  font-size: 13px;
  font-weight: normal;
}

.panel-faq .panel-body {
  font-size: 1.4rem;
}

.panel-faq .panel-body a {
  color: #00628b;
  text-decoration: underline;
}

/* ------------------------------------
    REDESIGN: SHARED HEADER & FOOTER
    Brand indigo #2E3092. Styles scoped to .site-* so they do not
    depend on (or affect) the legacy global a/h colours or page bg.
    Mobile-first; desktop layout at >= 768px. WCAG 2.2 AA.
 * ------------------------------------*/

/* Skip link (WCAG 2.4.1 Bypass Blocks) */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
  padding: 1rem 1.6rem;
  background-color: #2E3092;
  color: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform 0.15s ease;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 3px solid #ffffff;
  outline-offset: -3px;
}

/* ---- Header ---- */
.site-header {
  /* sticky (not fixed) so the header is sized by its in-flow containing block
     (the content width) instead of the layout viewport. A fixed header with
     left/right:0 stretches to the viewport, which mobile browsers expand to
     fit any overflow — that was pushing the header past the screen edge. */
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: #ffffff;
  border-bottom: 1px solid #e6e6e6;
}

.site-header__bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* 7.2rem + 1px border = 7.3rem, matching the global `section` top offset
     so no sliver of the page background shows between header and content */
  min-height: 7.2rem;
  padding: 0 1.6rem;
}

/* Mobile hamburger toggle (44x44 target — WCAG 2.5.8) */
.site-header__toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}
.site-header__toggle-bar {
  display: block;
  width: 2.4rem;
  height: 2px;
  background-color: #1c1c1c;
  border-radius: 2px;
}

/* Wordmark (live text; swap for an SVG asset later if supplied) */
.site-brand {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  line-height: 1;
}
/* logo image (SVG) — replaces the old text wordmark; ~30px tall in the header */
.site-brand__logo {
  display: block;
  height: 3rem;
  width: auto;
}

/* Primary nav — mobile: collapses into a panel below the bar */
.site-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #ffffff;
  border-bottom: 1px solid #e6e6e6;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
}
.site-nav__list {
  list-style: none;
  margin: 0;
  padding: 0.8rem 0;
}
.site-nav__link {
  display: block;
  padding: 1.2rem 2rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  text-decoration: none;
}
.site-nav__link:hover,
.site-nav__link:focus {
  color: #2E3092;
  background-color: #f5f5f7;
}
.site-nav .caret {
  color: inherit;
}

/* On touch devices Bootstrap injects a full-viewport .dropdown-backdrop to
   catch "tap outside to close" — but only when the dropdown is NOT inside a
   .navbar-nav. Our nav uses .site-nav__list, so the backdrop gets added and
   (position:fixed; z-index:990) sits over the open menu, swallowing the tap on
   the category links so they never navigate. Neutralise it: the dropdown still
   closes by tapping its toggle or by navigating away. */
.dropdown-backdrop {
  display: none;
}

/* Dropdown (Products / My account) — static inside the mobile panel */
.site-nav .dropdown-menu {
  position: static;
  float: none;
  width: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-color: #f5f5f7;
}
.site-nav__dropdown > li > a {
  display: block;
  padding: 1rem 3.2rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  text-decoration: none;
}
.site-nav__dropdown > li > a:hover,
.site-nav__dropdown > li > a:focus {
  color: #2E3092;
  background-color: #ececef;
}

/* Cart */
.site-header__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.4rem;
  height: 4.4rem;
  color: #1c1c1c;
  font-size: 2rem;
  text-decoration: none;
}
.site-header__cart:hover,
.site-header__cart:focus {
  color: #2E3092;
}
.site-header__cart-count {
  position: absolute;
  top: 0.4rem;
  right: 0.2rem;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 0.4rem;
  border-radius: 0.9rem;
  background-color: #2E3092;
  color: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.1rem;
  line-height: 1.8rem;
  text-align: center;
}
.site-header__cart-count[hidden] {
  display: none;
}

/* Visible focus indicator (WCAG 2.4.7 / 2.4.11) */
.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Desktop layout */
@media (min-width: 768px) {
  /* desktop: header is fixed (overlays content; offset handled by section
     margin-top). Mobile keeps the sticky/in-flow header so it can't stretch
     to an over-wide layout viewport. */
  .site-header {
    position: fixed;
    left: 0;
    right: 0;
  }
  .site-header__toggle {
    display: none;
  }
  .site-brand {
    left: 1.6rem;
    transform: translateY(-50%);
    align-items: flex-start;
  }
  .site-nav,
  .site-nav.collapse {
    display: flex !important;
    height: 100% !important;
    top: 0;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .site-nav__list {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0;
  }
  .site-nav__item {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .site-nav__link {
    padding: 0 1.6rem;
    font-size: 1.5rem;
    line-height: 7rem;
  }
  .site-nav__link:hover,
  .site-nav__link:focus {
    background-color: transparent;
    color: #2E3092;
  }
  /* dropdowns float over content on desktop */
  .site-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 18rem;
    padding: 0.6rem 0;
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
  .site-header__cart {
    margin-left: auto;
  }
}

/* ---- Footer ---- */
.site-footer {
  background-color: #f2f2f2;
  color: #1c1c1c;
  padding: 4rem 1.6rem;
}
.site-footer__inner {
  max-width: 120rem;
  margin: 0 auto;
}
.site-footer .site-brand--footer {
  position: static;
  transform: none;
  align-items: flex-start;
}
.site-footer__heading {
  margin: 2.4rem 0 1rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
.site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer__links li {
  margin-bottom: 0.4rem;
}
.site-footer__links a {
  display: inline-block;
  padding: 0.4rem 0;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  text-decoration: underline;
}
.site-footer__links a:hover,
.site-footer__links a:focus {
  color: #232569;
}
/* external-link indicator (non-PDF off-site links) */
.site-footer__ext-icon {
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.5rem;
  vertical-align: -0.1rem;
  color: currentColor;
}
.site-footer__company {
  margin: 2.4rem 0 0;
  color: #444444;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.3rem;
}

@media (prefers-reduced-motion: reduce) {
  .skip-link {
    transition: none;
  }
}

/* Sticky-footer layout: keep the footer in view instead of being pushed
   below the viewport by the full-height content section. Overrides the
   legacy `html, body { height: 95% }` further up this file. */
html,
body {
  height: auto;
  min-height: 100%;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.container-fixed {
  flex: 1 0 auto;
  /* allow this flex item to shrink to the viewport width instead of being
     held open by its content's intrinsic width (prevents horizontal overflow) */
  min-width: 0;
}
.site-footer {
  flex-shrink: 0;
}

/* Defensive: stop any inherited clearfix pseudo-elements becoming phantom
   flex items and knocking the header bar's flex alignment off. */
.site-header__bar::before,
.site-header__bar::after {
  content: none;
}

/* ------------------------------------
    REDESIGN: LOGIN / HOME PAGE
    Two-column: photo banner (mobile) / fixed-left photo + scrolling
    right panel (desktop). Brand indigo #2E3092. WCAG 2.2 AA.
 * ------------------------------------*/
.login-xmas {
  padding: 1.6rem;
  text-align: center;
}
.login-xmas img {
  max-width: 100%;
}

.login {
  display: flex;
  flex-direction: column;
  width: 100%;
}
/* Prevent flex items' default min-width:auto from forcing horizontal overflow */
.login__media,
.login__panel {
  min-width: 0;
}

/* Left media — banner image (portrait 712x950); indigo fallback if absent */
.login__media {
  min-height: 22rem;
  background-color: #2E3092;
  background-image: url("/img/banner.png");
  /* Anchor to the top so `cover` crops from the bottom — keeps the subject's
     head in frame on short/wide viewports instead of centre-cropping it out. */
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}

.login__panel {
  background-color: #ffffff;
}
.login__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
  padding: 3.2rem 2rem 4rem;
}
.login__panel a {
  color: #2E3092;
  text-decoration: underline;
}
.login__panel a:hover,
.login__panel a:focus {
  color: #232569;
}
/* Brand link is not body copy — keep it unstyled (higher specificity than .login__panel a) */
.login__panel .login__brand {
  text-decoration: none;
}

.login__brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 2.8rem;
  line-height: 1;
  text-decoration: none;
}
.login__brand .site-brand__logo {
  height: 4.8rem;
}

.login__title {
  margin: 0 0 1.2rem;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
}
.login__intro {
  margin: 0 0 2.4rem;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.6;
}

.login-label {
  display: block;
  margin-bottom: 0.6rem;
  color: #1c1c1c;
  font-size: 1.4rem;
  font-weight: 600;
}
.login-input {
  width: 100%;
  height: auto;
  padding: 1.2rem 1.4rem;
  border: 1px solid #c4c4c4;
  border-radius: 4px;
  background-color: #ffffff;
  color: #1c1c1c;
  font-size: 1.6rem;
  box-shadow: none;
}
.login-input:focus {
  border-color: #2E3092;
  outline: 2px solid #2E3092;
  outline-offset: 0;
}
.login-form .form-group {
  margin-bottom: 1.8rem;
}

.login-help {
  display: inline-block;
  margin-bottom: 1.8rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.4rem;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}
.login-help:hover,
.login-help:focus {
  color: #232569;
}
.login-help:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
  border-radius: 2px;
}

.btn-login-primary {
  display: block;
  width: 100%;
  padding: 1.4rem 2rem;
  border: 0;
  border-radius: 4px;
  background-color: #2E3092;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
}
.btn-login-primary:hover,
.btn-login-primary:focus {
  background-color: #232569;
  color: #ffffff;
}
.btn-login-primary:disabled {
  background-color: #9a9bc4;
  cursor: not-allowed;
}

/* Ceremony accordion */
.login-accordion {
  margin: 2.8rem 0;
  border: 1px solid #d8d8d8;
  border-radius: 4px;
}
.login-accordion__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.4rem 1.6rem;
  border: 0;
  background-color: #ffffff;
  border-radius: 4px;
  color: #1c1c1c;
  font-size: 1.6rem;
  text-align: left;
  cursor: pointer;
}
.login-accordion__chevron {
  flex-shrink: 0;
  color: #2E3092;
  transition: transform 0.2s ease;
}
.login-accordion__toggle[aria-expanded="true"] .login-accordion__chevron {
  transform: rotate(180deg);
}
.login-accordion__panel {
  padding: 0 1.6rem;
}
.login-accordion__panel.in {
  padding-bottom: 1.6rem;
}
.login-accordion__intro {
  margin: 0.4rem 0 1.6rem;
  color: #333333;
  font-size: 1.5rem;
  line-height: 1.6;
}

/* Sits under the intro on the pre-ceremony form: this route is for viewing products and
   prices, since an order cannot be placed without a photo reference. */
.login-accordion__note {
  margin: -0.8rem 0 1.6rem;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.6;
}

/* Three date selects in a row. .login-container retained so the existing
   jquery-validate errorPlacement selector still resolves. */
.login-date {
  display: flex;
  gap: 1.2rem;
  max-height: none;
}
.login-date__field {
  flex: 1;
}

.login-faq {
  margin-top: 2.8rem;
}
.login-faq__title {
  margin: 0 0 0.6rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
}
.login-faq p {
  margin: 0;
  color: #333333;
  font-size: 1.5rem;
  line-height: 1.6;
}

.login .error-label {
  color: #cd0000;
  font-size: 1.3rem;
  margin-top: 0.4rem;
}

/* "Where is my reference number?" modal */
.login-modal__content {
  position: relative;
  border: 0;
  border-radius: 8px;
  padding: 3rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}
.login-modal__close {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #1c1c1c;
  cursor: pointer;
}
.login-modal__close:hover,
.login-modal__close:focus {
  color: #2E3092;
}
.login-modal__title {
  margin: 0 2.8rem 1rem 0;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
}
.login-modal__text {
  margin: 0 0 2rem;
  color: #333333;
  font-size: 1.5rem;
  line-height: 1.6;
}
.login-modal__media {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  background-color: #d8d8d8;
  border-radius: 4px;
}
.login-modal__media img {
  display: block;
  max-width: 100%;
  height: auto;
}
.login-modal .login-modal__close:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Desktop: fixed-left photo + independently scrolling right panel.
   The split fills the viewport below the fixed header; only the right
   panel scrolls (e.g. when the ceremony accordion is expanded) while the
   left photo stays put. */
@media (min-width: 768px) {
  .login {
    flex-direction: row;
    align-items: stretch;
    height: calc(100vh - 7.3rem);
    overflow: hidden;
  }
  .login__media {
    flex: 1 1 50%;
    height: 100%;
  }
  .login__panel {
    flex: 1 1 50%;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    /* `safe` keeps content top-aligned (and fully scrollable) when it
       overflows, instead of clipping the top as plain `center` would */
    justify-content: safe center;
  }
  .login__inner {
    max-width: 52rem;
    padding: 6rem 5rem;
  }
}

/* ------------------------------------
    REDESIGN: CATEGORY PAGE
    "Your graduation photos" carousel + "Browse our products" cards.
    Brand indigo #2E3092. Mobile-first; desktop at >= 768px. WCAG 2.2 AA.
 * ------------------------------------*/
.category-page {
  min-height: calc(100vh - 7.3rem);
  padding-bottom: 4rem;
}
.category-section__title {
  margin: 3.2rem 0 2rem;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

/* Photo carousel — wraps the shared docket gallery (#js-images_*) and
   turns its tile row into a horizontal scroll-snap track. */
.category-carousel {
  position: relative;
}
.category-carousel [id^="js-images_"] {
  display: flex;
  gap: 1.6rem;
  overflow-x: auto;
  padding-bottom: 1.2rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.category-carousel [id^="js-images_"] {
  align-items: flex-start;
}
.category-carousel [id^="js-images_"] > .col-auto {
  /* uniform HEIGHT, width follows each image's aspect ratio — the whole
     image is shown (no cropping); landscape boxes are wider than portrait */
  flex: 0 0 auto;
  height: 22rem;
  padding: 0;
  margin: 0;
  scroll-snap-align: start;
}
.category-carousel .thumbnail {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background-color: #d9d9d9;
  overflow: hidden;
}
.category-carousel .img-responsive {
  width: auto;
  height: 100%;
  max-width: none;
  display: block;
}
.category-carousel .btn-more-images {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1rem 2.4rem;
  border-radius: 4px;
  background-color: #d9d9d9;
  color: #2E3092;
  font-weight: 600;
  white-space: nowrap;
}
.category-carousel .btn-more-images:not(.is-loading):hover,
.category-carousel .btn-more-images:not(.is-loading):focus {
  background-color: #cfcfcf;
  color: #2E3092;
}
.category-carousel [id^="js-images_"]::-webkit-scrollbar {
  height: 6px;
}
.category-carousel [id^="js-images_"]::-webkit-scrollbar-track {
  background-color: #ececec;
  border-radius: 3px;
}
.category-carousel [id^="js-images_"]::-webkit-scrollbar-thumb {
  background-color: #b0b0b0;
  border-radius: 3px;
}
.category-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #ffffff;
  color: #2E3092;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.category-carousel__nav--prev {
  left: 0.4rem;
}
.category-carousel__nav--next {
  right: 0.4rem;
}
/* display:flex above would otherwise override the UA [hidden] rule */
.category-carousel__nav[hidden] {
  display: none;
}
.category-carousel__nav:hover,
.category-carousel__nav:focus {
  color: #232569;
}
.category-carousel__nav:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}

/* Product / booking cards — mobile: horizontal rows; desktop: stacked cards */
.category-grid {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.category-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 7.2rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
  background-color: #ffffff;
  text-decoration: none;
}
.category-card__media {
  flex: 0 0 9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem;
  background-color: #d9d9d9;
}
.category-card__media img {
  display: block;
  max-width: 100%;
  max-height: 6rem;
  height: auto;
}
.category-card__bar {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
}
.category-card__text {
  padding: 0 1.6rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
}
.category-card__chevron {
  flex: 0 0 4.4rem;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #2E3092;
  color: #ffffff;
}
.category-card:hover,
.category-card:focus {
  border-color: #2E3092;
}
.category-card:hover .category-card__chevron,
.category-card:focus .category-card__chevron {
  background-color: #232569;
}
.category-card:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .category-section__title {
    margin: 4rem 0 2.4rem;
    font-size: 2.8rem;
  }
  .category-carousel [id^="js-images_"] > .col-auto {
    height: 26rem;
  }
  .category-grid {
    flex-direction: row;
    gap: 2rem;
  }
  .category-card {
    flex: 1 1 0;
    flex-direction: column;
    min-height: 0;
  }
  .category-card__media {
    flex: 0 0 auto;
    height: 18rem;
    padding: 1.6rem;
  }
  .category-card__media img {
    max-height: 100%;
  }
  .category-card__bar {
    background-color: #2E3092;
    justify-content: center;
  }
  .category-card__text {
    padding: 1.3rem 1rem;
    color: #ffffff;
    text-align: center;
  }
  .category-card__chevron {
    display: none;
  }
}

/* -----------------------------------*\
    REDESIGN: PRODUCT-LIST PAGE
    Category-selector strip + product card grid.
    Brand indigo #2E3092. Mobile-first (2-up, count shown, no description);
    desktop >= 768px (4-up, count hidden, description shown). WCAG 2.2 AA.
 * ------------------------------------*/
.product-list {
  min-height: calc(100vh - 7.3rem);
  padding-bottom: 4rem;
}
.product-list__title {
  margin: 2.4rem 0 2rem;
  color: #2E3092;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  /* mobile: left-aligned per mockup */
}

/* Category-selector strip — horizontal, scrollable on mobile */
.product-list__strip-wrap {
  margin-bottom: 1.6rem;
}
.product-list__strip {
  display: flex;
  gap: 1.2rem;
  overflow-x: auto;
  padding-bottom: 0.8rem;
  -webkit-overflow-scrolling: touch;
}
.product-list__chip {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 1.4rem 0.7rem 0.7rem;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: #ffffff;
  color: #1c1c1c;
  text-decoration: none;
  white-space: nowrap;
}
.product-list__chip.is-active {
  /* highlight the current category; keep box size stable with the border grow */
  border: 2px solid #2E3092;
  padding: calc(0.7rem - 1px) calc(1.4rem - 1px) calc(0.7rem - 1px) calc(0.7rem - 1px);
}
.product-list__chip-media {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 4rem;
  background-color: #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
}
.product-list__chip-media img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.product-list__chip-label {
  font-size: 1.4rem;
  font-weight: 500;
}
.product-list__chip:hover,
.product-list__chip:focus {
  border-color: #2E3092;
}
.product-list__chip:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}

/* Item count — mobile only */
.product-list__count {
  margin: 0 0 1.6rem;
  color: #1c1c1c;
  font-size: 1.5rem;
}

/* Product card grid — 2-up mobile, 4-up desktop */
.product-list__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
}
.product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background-color: #ffffff;
  text-decoration: none;
}
.product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  padding: 1.2rem;
  background-color: #d9d9d9;
}
.product-card__media img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  display: block;
}
/* product images are wrapped in <picture> (responsive sources). Make the
   wrapper transparent to layout so the flex centring + the `… img` sizing
   rules in these media containers still apply to the inner <img>. */
.product-card__media picture,
.product-page__media picture,
.basket-item__media picture,
.ymal-card__media picture {
  display: contents;
}
.product-card__body {
  display: block;
  padding: 1.2rem 1.4rem 1.6rem;
}
.product-card__title {
  display: block;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}
.product-card__price {
  display: block;
  margin-top: 0.6rem;
  color: #2E3092;
  font-size: 1.6rem;
  font-weight: 700;
}
.product-card__price-from {
  display: block;
  color: #555555;
  font-size: 1.1rem;
  font-weight: 500;
}
.product-card__desc {
  /* hidden on mobile per mockup; revealed on desktop */
  display: none;
}
.product-card:hover,
.product-card:focus {
  border-color: #2E3092;
}
.product-card:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .product-list__title {
    margin: 4rem 0 2.4rem;
    font-size: 3rem;
    text-align: center;
  }
  .product-list__strip {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    padding-bottom: 0;
    margin-bottom: 0.8rem;
  }
  .product-list__count {
    display: none;
  }
  .product-list__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.4rem;
  }
  .product-card__desc {
    display: block;
    margin-top: 1rem;
    color: #555555;
    font-size: 1.2rem;
    line-height: 1.45;
  }
  .product-card__desc p {
    margin: 0 0 0.6rem;
  }
}

/* -----------------------------------*\
    REDESIGN: PRODUCT (DETAIL) PAGE
    Two-column buy area + "You may also like" add-ons + FAQ.
    Brand indigo #2E3092. Mobile-first; desktop >= 768px. WCAG 2.2 AA.
 * ------------------------------------*/
.product-page {
  /* gap below the FAQ band so it reads as its own box (like the YMAL
     band) rather than blending into the footer */
  padding-bottom: 6rem;
}
.product-page__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  padding: 2.4rem 0 4rem;
}
/* grid/flex children must be allowed to shrink below content width */
.product-page__media,
.product-page__info {
  min-width: 0;
}

/* Left: stock product image */
.product-page__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 2rem;
  background-color: #d9d9d9;
  border-radius: 8px;
}
.product-page__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

/* Right: product info */
.product-page__title {
  margin: 0 0 0.8rem;
  color: #1c1c1c;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-transform: capitalize;
}
.product-page__price {
  margin: 0 0 1.6rem;
  color: #2E3092;
  font-size: 2.6rem;
  font-weight: 700;
}
.product-page__desc {
  color: #1c1c1c;
  font-size: 1.5rem;
  line-height: 1.55;
  overflow-wrap: break-word;
}
.product-page__desc p {
  margin: 0 0 0.6rem;
}
.product-page__stock-note {
  margin: 1.6rem 0 2.4rem;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.5;
}
/* Thin "+" icon shared by the stock-image note and the image accordions */
.product-page__stock-note .plus-icon,
.acc--image .acc__icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  border: 0;          /* cancel the FAQ chevron borders */
  transform: none;
  vertical-align: middle;
}
.product-page__stock-note .plus-icon::before,
.product-page__stock-note .plus-icon::after,
.acc--image .acc__icon::before,
.acc--image .acc__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #2E3092;
}
.product-page__stock-note .plus-icon::before,
.acc--image .acc__icon::before {
  width: 1.5rem;
  height: 2px;
  transform: translate(-50%, -50%);
}
.product-page__stock-note .plus-icon::after,
.acc--image .acc__icon::after {
  width: 2px;
  height: 1.5rem;
  transform: translate(-50%, -50%);
}
/* open → minus (hide the vertical bar; cancel the inherited chevron rotate) */
.acc--image .acc__trigger[aria-expanded="true"] .acc__icon {
  transform: none;
}
.acc--image .acc__trigger[aria-expanded="true"] .acc__icon::after {
  display: none;
}

/* Selected-images summary panel */
.product-selected {
  margin-bottom: 1.6rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}
.product-selected .panel-product {
  margin: 0;
  background-color: #ffffff;
}
.product-selected .panel-heading {
  padding: 1.2rem 1.6rem;
  background-color: #ffffff;
  border-bottom: 1px solid #e0e0e0;
}
.product-selected .panel-body {
  background-color: #ffffff;
}
.product-selected .panel-title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1c1c1c;
}
.product-selected .panel-body {
  padding: 1.6rem;
}
.product-selected__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
}
.product-selected .thumbnail {
  margin: 0;
  padding: 0.8rem;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: #ffffff;
}
.product-selected .selected-image-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.6rem;
  font-weight: 600;
}
.btn-rotate {
  padding: 0.3rem 1rem;
  border: 0;
  border-radius: 4px;
  background-color: #7a1f9c;
  color: #ffffff;
  font-size: 1.2rem;
}

/* Frame / option selector */
.product-frame {
  margin-bottom: 1.6rem;
}
.product-frame__label {
  display: block;
  margin-bottom: 0.6rem;
  font-weight: 600;
  color: #1c1c1c;
}
/* full-width row via flex (more predictable than Bootstrap's table layout):
   the select grows to fill, the button keeps its intrinsic width */
.product-frame .input-group {
  display: flex;
  width: 100%;
}
.product-frame .input-group > .form-control {
  flex: 1 1 0;
  min-width: 0;
}
.product-frame .input-group > .input-group-btn {
  flex: 0 0 auto;
  width: auto;
}
.product-frame .form-control {
  height: 4.4rem;
  border-radius: 6px;
}
/* "Frame examples" button (opens the modal) → brand indigo, matches input height */
.product-frame .input-group-btn .btn-grads {
  display: inline-flex;
  align-items: center;
  height: 4.4rem;
  background-color: #2E3092;
  border-color: #2E3092;
  color: #ffffff;
  font-weight: 600;
  white-space: nowrap;
}
.product-frame .input-group-btn .btn-grads:hover,
.product-frame .input-group-btn .btn-grads:focus {
  background-color: #232569;
  border-color: #232569;
  color: #ffffff;
}
/* Frame examples modal — 10 examples in a grid (2-up mobile, 5x2 desktop).
   Widen the dialog beyond the default login-modal width to fit 5 columns. */
.frame-examples__grid {
  display: grid;
  /* single column on mobile; minmax(0,1fr) (not the default minmax(auto,1fr))
     lets the column shrink below the image's intrinsic width so a large frame
     image can't force the modal wider than a mobile viewport */
  grid-template-columns: minmax(0, 1fr);
  gap: 1.2rem;
}
.frame-examples__cell {
  min-width: 0;
  background-color: #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
}
.frame-examples__cell img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
/* frame swatches are wrapped in <picture> (desktop/mobile sources); make the
   wrapper transparent so the cell's `img { width:100% }` still applies */
.frame-examples__cell picture {
  display: contents;
}
@media (min-width: 768px) {
  #frame-examples-modal .modal-dialog {
    width: auto;
    max-width: 84rem;
    margin: 3rem auto;
  }
  .frame-examples__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* Image-selection accordions */
/* Image-selection accordions — reuse the .acc component (same as FAQs).
   .acc--image adds the green "Added" selected state + a check/label group. */
/* spacing between stacked image accordions, matching the FAQ acc-group gap */
.acc--image {
  margin-bottom: 0.8rem;
}
.acc--image .acc__label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.acc__check {
  display: none;
  align-items: center;
  color: #2e7d32;
}
.acc__added {
  display: none;
}
.acc--image.is-selected {
  border-color: #2e7d32;
}
.acc--image.is-selected .acc__trigger {
  background-color: #e7f9ec;
}
.acc--image.is-selected .acc__check {
  display: inline-flex;
}
.acc--image.is-selected .acc__added {
  display: inline;
}
.product-image__intro {
  margin-bottom: 1.2rem;
  color: #1c1c1c;
  font-size: 1.4rem;
}

/* Ref-number search (sits below the photo reel) */
.product-image__search {
  margin-top: 1.6rem;
}
.product-image__reflabel {
  display: block;
  margin-bottom: 0.6rem;
  font-weight: 600;
  color: #1c1c1c;
}
/* input + Search button on one row (Bootstrap's display:table stacks them on
   narrow widths) — same flex treatment as the frame row: input stretches, the
   button keeps its width beside it */
.product-image__search .input-group {
  display: flex;
  width: 100%;
}
.product-image__search .input-group > .form-control {
  flex: 1 1 0;
  min-width: 0;
  height: 4.4rem;
}
.product-image__search .input-group > .input-group-btn {
  flex: 0 0 auto;
  width: auto;
}
.product-image__search .input-group-btn .btn-grads {
  display: inline-flex;
  align-items: center;
  height: 4.4rem;
}
.product-image__found {
  margin-top: 1.2rem;
}

/* Ceremony-photo carousel inside an image accordion (tiles = image + Select) */
.product-carousel {
  position: relative;
}
/* the shared docket gallery emits a "The following images were found:" label;
   the mockup omits it, so hide that bare text node above the reel */
.product-carousel > div:not([id]) {
  display: none;
}
.product-carousel [id^="js-images_"] {
  display: flex;
  gap: 1.2rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.product-carousel [id^="js-images_"] {
  align-items: flex-start;
}
.product-carousel [id^="js-images_"] > .col-auto {
  /* same alignment as the category-page carousel: uniform HEIGHT, width follows
     each image's aspect ratio (no cropping) — plus the Select button below */
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}
.product-carousel .thumbnail {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.product-carousel .thumbnail .img-responsive {
  width: auto;
  height: 18rem;
  max-width: none;
  display: block;
  border-radius: 4px;
}
/* Search button inside an image accordion → brand indigo */
.acc--image .btn-grads {
  background-color: #2E3092;
  border-color: #2E3092;
  color: #ffffff;
}
.acc--image .btn-grads:hover,
.acc--image .btn-grads:focus {
  background-color: #232569;
  border-color: #232569;
  color: #ffffff;
}
/* "Select this image" → outlined indigo (defined after the .btn-grads rule so
   the equal-specificity .btn-select wins; text wraps so it can't overflow) */
.acc--image .btn-select {
  margin-top: 0.6rem;
  padding: 0.8rem 1rem;
  background-color: #ffffff;
  border: 1px solid #2E3092;
  color: #2E3092;
  font-weight: 600;
  font-size: 1.3rem;
  border-radius: 4px;
  white-space: normal;
}
.acc--image .btn-select:hover,
.acc--image .btn-select:focus {
  background-color: #2E3092;
  color: #ffffff;
}
.acc--image .btn-select:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}

/* Buy box */
.product-buy {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 2rem 0;
}
.qty-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cccccc;
  border-radius: 6px;
  overflow: hidden;
}
.qty-stepper__btn {
  width: 4rem;
  height: 4.4rem;
  border: 0;
  background-color: #ffffff;
  color: #1c1c1c;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}
.qty-stepper__btn:disabled {
  color: #bbbbbb;
  cursor: not-allowed;
}
.qty-stepper__btn:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: -3px;
}
.qty-stepper__input,
.qty-stepper__value {
  width: 4rem;
  height: 4.4rem;
  border: 0;
  border-left: 1px solid #eeeeee;
  border-right: 1px solid #eeeeee;
  text-align: center;
  font-size: 1.5rem;
  -moz-appearance: textfield;
}
.qty-stepper__value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.qty-stepper__input::-webkit-outer-spin-button,
.qty-stepper__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-page .btn-basket,
.product-ymal .btn-basket {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 2rem;
  border: 0;
  border-radius: 6px;
  background-color: #2E3092;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
}
.product-buy .btn-basket {
  flex: 1;
}
.product-page .btn-basket:hover,
.product-page .btn-basket:focus,
.product-ymal .btn-basket:hover,
.product-ymal .btn-basket:focus {
  background-color: #232569;
  color: #ffffff;
}
.product-page .btn-basket:focus-visible,
.product-ymal .btn-basket:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}
.product-page .btn-basket[disabled],
.product-ymal .btn-basket[disabled] {
  background-color: #9aa0c8;
  cursor: not-allowed;
}

/* Accessible accordions (detail + FAQ) */
.acc-group {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
.acc {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
}
.acc__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.3rem 1.6rem;
  border: 0;
  background-color: #ffffff;
  color: #1c1c1c;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.acc__trigger:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: -3px;
}
.acc__icon {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  border-right: 2px solid #2E3092;
  border-bottom: 2px solid #2E3092;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.acc__trigger[aria-expanded="true"] .acc__icon {
  transform: rotate(-135deg);
}
.acc__panel {
  padding: 0.4rem 1.6rem 1.6rem;
  color: #1c1c1c;
  font-size: 1.4rem;
  line-height: 1.55;
}
/* product page: accordion content sits on white (the trigger is already white),
   so on the grey FAQ band each accordion reads as a clean white card */
.product-page .acc__panel {
  background-color: #ffffff;
}
.acc__panel[hidden] {
  display: none;
}
.acc__panel p {
  margin: 0 0 0.8rem;
}
.acc__subhead {
  margin: 0 0 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1c1c1c;
}
.acc__subhead + p {
  margin-top: 0;
}
/* space above a subhead that follows preceding content */
.acc__panel p + .acc__subhead {
  margin-top: 1.2rem;
}
/* links inside accordion content — match the FAQ page (override the legacy
   global white link colour) */
.acc__panel a {
  color: #00628b;
  text-decoration: underline;
}

/* You May Also Like (add-ons) */
.product-ymal {
  padding: 3.2rem 0 4rem;
  background-color: #f4f4f4;
}
.product-ymal__title {
  margin: 0 0 2.4rem;
  color: #2E3092;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.product-ymal__row {
  display: flex;
  gap: 1.6rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
}
/* Cross-sell carousel — one featured product per category, in the shared
   [data-carousel] track (reuses the carousel JS + generic track scroll CSS). */
.crosssell-card {
  flex: 0 0 auto;
  width: 20rem;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background-color: #ffffff;
  text-decoration: none;
}
.crosssell-card:hover,
.crosssell-card:focus {
  border-color: #2E3092;
}
.crosssell-card:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}
.crosssell-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  padding: 1.2rem;
  background-color: #d9d9d9;
}
.crosssell-card__media img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  display: block;
}
.crosssell-card picture {
  display: contents;
}
.crosssell-card__body {
  display: block;
  padding: 1.2rem 1.4rem 1.6rem;
}
.crosssell-card__title {
  display: block;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}
.crosssell-card__price {
  display: block;
  margin-top: 0.6rem;
  color: #2E3092;
  font-size: 1.6rem;
  font-weight: 700;
}
.ymal-card {
  flex: 0 0 auto;
  width: 26rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background-color: #ffffff;
}
/* the add-on image <select> has a wide intrinsic min-width from its option
   text; allow it to shrink so it can't force the card/grid wider */
.ymal-card .form-control {
  min-width: 0;
  max-width: 100%;
}
.ymal-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  margin-bottom: 1rem;
  padding: 1rem;
  background-color: #d9d9d9;
  border-radius: 6px;
}
.ymal-card__media img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
}
.ymal-card__title {
  color: #1c1c1c;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
}
.ymal-card__price {
  margin: 0.4rem 0 1rem;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
.ymal-card__actions {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 0.8rem;
}
.ymal-card__actions .btn-basket {
  flex: 1;
  padding: 0.9rem 1rem;
  font-size: 1.3rem;
}
.product-ymal.login-fade {
  opacity: 0.6;
}

/* FAQ section */
.product-faq {
  padding: 3.2rem 0 4rem;
  background-color: #f4f4f4;
}
.product-faq__title {
  margin: 0 0 2rem;
  color: #2E3092;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.product-faq .acc-group {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .product-page__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: start;
  }
  .product-page__title {
    font-size: 2.8rem;
  }
  .product-page__price {
    font-size: 3rem;
  }
  .product-ymal__title,
  .product-faq__title {
    font-size: 2.6rem;
  }
  .product-ymal__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    overflow-x: visible;
    padding-bottom: 0;
  }
  .ymal-card {
    width: auto;
  }
  /* desktop: Add to Basket is a fixed-width button (does not stretch) */
  .product-buy .btn-basket {
    flex: 0 0 auto;
    min-width: 28rem;
  }
}

/* ------------------------------------
    REDESIGN: BASKET PAGE
    /orders → order.php. "Your Basket" panel + "Order Summary" rail,
    empty state with category shortcuts, remove-from-basket modal.
    Brand indigo #2E3092. Mobile-first; desktop at >= 768px. WCAG 2.2 AA.
 * ------------------------------------*/
.basket-page {
  min-height: calc(100vh - 7.3rem);
  padding-bottom: 6rem;
}

/* Layout: single column on mobile, items + summary rail on desktop */
.basket {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.4rem;
  margin: 2rem 0;
}

/* "Your Basket" panel (grey surface, like the product-page YMAL/FAQ boxes) */
.basket__items {
  min-width: 0;
  padding: 2.4rem;
  background-color: #f4f4f4;
  border-radius: 8px;
}
.basket__title {
  margin: 0 0 1.6rem;
  color: #2E3092;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
.basket__notice {
  margin: 0 0 1.6rem;
  padding: 1.2rem 1.6rem;
  background-color: #ffffff;
  border-radius: 6px;
  color: #1c1c1c;
  font-size: 1.4rem;
  text-align: center;
}
/* Order-summary customer block (delivery details above the items).
   No bottom border/padding — the first basket item's top border is the divider. */
.order-summary__customer {
  margin-bottom: 1.6rem;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.6;
}
.order-summary__customer p {
  margin: 0;
}
.order-summary__name {
  color: #1c1c1c;
  font-weight: 700;
  font-size: 1.5rem;
}
.order-summary__line strong {
  color: #1c1c1c;
}
.basket__empty-note {
  margin: 0;
  color: #555555;
  font-size: 1.5rem;
  text-align: center;
}

/* Line item — mobile: stacked, image above the details */
.basket-item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 1.6rem 0;
  border-top: 1px solid #dcdcdc;
}
.basket-item__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18rem;
  max-width: 100%;
  height: 18rem;
  background-color: #d9d9d9;
  border-radius: 6px;
  overflow: hidden;
}
.basket-item__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}
.basket-item__info {
  min-width: 0;
}
.basket-item__title {
  margin: 0 0 0.6rem;
  /* explicit colour so plain-text titles (order summary) aren't hit by the
     legacy global h2{color:#fff}; the link variant overrides below */
  color: #1c1c1c;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}
.basket-item__title a {
  color: #1c1c1c;
  text-decoration: none;
}
.basket-item__title a:hover,
.basket-item__title a:focus {
  color: #2E3092;
  text-decoration: underline;
}
.basket-item__meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.basket-item__line {
  color: #555555;
  font-size: 1.4rem;
}
.basket-item__line a {
  color: #00628b;
  text-decoration: underline;
}
.basket-item__price {
  margin: 0.8rem 0 0;
  color: #2E3092;
  font-size: 1.6rem;
  font-weight: 700;
}
.basket-item__remove-note {
  margin: 0.6rem 0 0;
  font-size: 1.3rem;
}
.basket-item__actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.basket-item__qty {
  color: #1c1c1c;
  font-size: 1.5rem;
}
.basket-item__line-total {
  /* hidden for now — not part of the current design */
  display: none;
}
/* the basket qty stepper reuses the product-page .qty-stepper visual; centre the glyph icons */
.basket .qty-stepper__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Outlined-indigo button (Remove, and the modal Cancel) */
.btn-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border: 1px solid #2E3092;
  border-radius: 6px;
  background-color: #ffffff;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
}
.btn-remove:hover,
.btn-remove:focus {
  background-color: #2E3092;
  color: #ffffff;
}
.btn-remove:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}
.btn-remove[disabled] {
  border-color: #b9b9b9;
  color: #b9b9b9;
  background-color: #ffffff;
  cursor: not-allowed;
}

/* Order Summary rail */
.basket__summary {
  min-width: 0;
}
.basket__summary-title {
  margin: 0 0 1.6rem;
  color: #2E3092;
  font-size: 2.4rem;
  font-weight: 700;
}
.basket__summary-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.6rem;
  margin-bottom: 1rem;
  color: #1c1c1c;
  font-size: 1.6rem;
}
.basket__summary-note {
  margin: 0 0 1.6rem;
  color: #555555;
  font-size: 1.4rem;
}
.basket__summary-row--total {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid #dcdcdc;
  font-weight: 700;
}
.basket__summary .balance_green {
  color: #2e7d32;
}
.basket__summary .balance_red {
  color: #cd0000;
}
.basket__summary-error {
  margin: 1rem 0 0;
  font-size: 1.4rem;
}

/* Checkout + continue */
.btn-checkout {
  display: block;
  width: 100%;
  margin-top: 1.6rem;
  padding: 1.3rem 2rem;
  border: 0;
  border-radius: 6px;
  background-color: #2E3092;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.btn-checkout:hover,
.btn-checkout:focus {
  background-color: #232569;
  color: #ffffff;
  text-decoration: none;
}
.btn-checkout:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}
.btn-checkout[disabled] {
  background-color: #9aa0c8;
  pointer-events: none;
  cursor: not-allowed;
}
.basket__continue {
  display: block;
  margin-top: 1.4rem;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  text-decoration: underline;
}
.basket__continue:hover,
.basket__continue:focus {
  color: #232569;
}

/* Empty basket */
.basket-empty {
  padding: 4rem 0 2rem;
  text-align: center;
}
.basket-empty__title {
  margin: 0 0 1.2rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
}
.basket-empty__text {
  margin: 0 0 2.8rem;
  color: #1c1c1c;
  font-size: 1.6rem;
}
.basket-empty__strip {
  /* mobile: stacked, each chip full (even) width */
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.basket-empty__strip .product-list__chip {
  width: 100%;
}
.basket-empty__cta {
  display: inline-block;
}

/* Remove-from-basket modal */
#remove-item-modal .modal-dialog {
  max-width: 48rem;
}
.login-modal__actions {
  display: flex;
  gap: 1.2rem;
}
.login-modal__actions > .btn-remove,
.login-modal__actions > .btn-grads {
  flex: 1 1 0;
}
.login-modal__actions .btn-grads {
  /* brand indigo Proceed (override the legacy purple .btn-grads) */
  border-radius: 6px;
  border: 0;
  background-color: #2E3092;
  color: #ffffff;
  font-weight: 600;
}
.login-modal__actions .btn-grads:hover,
.login-modal__actions .btn-grads:focus {
  background-color: #232569;
  border-color: #232569;
  color: #ffffff;
}

@media (min-width: 768px) {
  .basket {
    grid-template-columns: minmax(0, 1fr) 34rem;
    gap: 4rem;
    align-items: start;
  }
  .basket__items {
    padding: 3.2rem;
  }
  /* item row: image, details (grows), then qty + remove — top aligned */
  .basket-item {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr) auto;
    align-items: start;
    gap: 2rem;
  }
  .basket-item__media {
    width: 10rem;
    height: 10rem;
  }
  .basket__summary-title {
    text-align: center;
  }
  /* sticky rail so the summary stays in view while scrolling a long basket */
  .basket__summary {
    position: sticky;
    top: 9rem;
  }
  /* empty-state category chips: back to a centred wrapping row on desktop */
  .basket-empty__strip {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .basket-empty__strip .product-list__chip {
    width: auto;
  }
}

/* ------------------------------------
    REDESIGN: CONTACT US PAGE
    /contact → contact.php. Centred, content-light column.
    Brand indigo #2E3092. Mobile-first; desktop at >= 768px. WCAG 2.2 AA.
 * ------------------------------------*/
.contact-page {
  min-height: calc(100vh - 7.3rem);
  padding: 3rem 0 6rem;
  text-align: center;
}
.contact-page__title {
  margin: 0 0 3rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
}
.contact-page__address {
  margin: 0 0 3rem;
  font-style: normal;
  color: #1c1c1c;
  font-size: 1.6rem;
  line-height: 1.7;
}
.contact-page__line {
  display: block;
}
.contact-page__contact {
  margin: 0 0 3rem;
  color: #1c1c1c;
  font-size: 1.6rem;
  line-height: 1.9;
}
.contact-page__contact a {
  color: #00628b;
  text-decoration: underline;
}
.contact-page__contact a:hover,
.contact-page__contact a:focus {
  color: #2E3092;
}
.contact-page__reg {
  margin: 0;
  color: #555555;
  font-size: 1.5rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .contact-page {
    padding-top: 5rem;
  }
  .contact-page__title {
    font-size: 3.2rem;
  }
}

/* ------------------------------------
    REDESIGN: FAQ PAGE
    /faq → faq.php. Same white surface + indigo centred title as the contact
    page; the existing accordion panels are self-contained (grey headings /
    white bodies) so they need no change. Brand indigo #2E3092. WCAG 2.2 AA.
 * ------------------------------------*/
.faq-page {
  min-height: calc(100vh - 7.3rem);
  padding: 3rem 0 6rem;
}
.faq-page__title {
  margin: 0 0 3rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 768px) {
  .faq-page {
    padding-top: 5rem;
  }
  .faq-page__title {
    font-size: 3.2rem;
  }
}

/* Photograph-sizes table (FAQ page + product page). Scrolls horizontally
   inside its own box on very narrow screens so the page can't overflow. */
.faq-sizes-wrap {
  margin: 1rem 0 1.6rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.faq-sizes {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
}
.faq-sizes th,
.faq-sizes td {
  padding: 0.8rem 1rem;
  border: 1px solid #dcdcdc;
  font-size: 1.4rem;
  text-align: left;
  vertical-align: top;
}
.faq-sizes thead th {
  background-color: #f4f4f4;
  color: #2E3092;
  font-weight: 700;
}
.faq-sizes tbody th {
  color: #1c1c1c;
  font-weight: 600;
}
.faq-sizes tbody td {
  color: #555555;
}

/* ------------------------------------
    REDESIGN: ORDER COMPLETE PAGE
    /order/complete → order-complete.php. Same white surface + indigo centred
    title as the contact/FAQ pages. Brand indigo #2E3092. WCAG 2.2 AA.
 * ------------------------------------*/
.order-complete-page {
  min-height: calc(100vh - 7.3rem);
  padding: 3rem 0 6rem;
  text-align: center;
}
.order-complete-page__title {
  margin: 0 0 3rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
}
.order-complete-page__panel {
  max-width: 60rem;
  margin: 0 auto;
  color: #1c1c1c;
  font-size: 1.6rem;
  line-height: 1.7;
}
.order-complete-page__panel h5 {
  margin: 0 0 1.2rem;
  color: #1c1c1c;
  font-size: 2rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .order-complete-page {
    padding-top: 5rem;
  }
  .order-complete-page__title {
    font-size: 3.2rem;
  }
}

/* ------------------------------------
    REDESIGN: PAYMENT PAGE
    /payment/:orderguid → payment.php. White card on the grey checkout surface
    holding the third-party SmartPay/Fuse widget (#secure-payment-page) or the
    redirect notice. Do not restyle the widget internals. Brand indigo.
 * ------------------------------------*/
.payment-page {
  background-color: #f4f4f4;
  min-height: calc(100vh - 7.3rem);
  padding: 3rem 0 4rem;
}
.payment-page__title {
  margin: 0 0 2.4rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}
.payment-card {
  max-width: 52rem;
  margin: 0 auto;
  padding: 2.4rem 2rem;
  background-color: #ffffff;
  border-radius: 8px;
}
.payment-page__redirect {
  margin: 0;
  color: #555555;
  font-size: 1.6rem;
  text-align: center;
}
/* third-party payment widget (was an inline <style> in payment.php) — made
   responsive so it can't overflow the card on mobile */
#secure-payment-page {
  overflow: hidden;
  width: 100%;
  max-width: 45rem;
  margin: 0 auto;
}
#secure-payment-page iframe {
  border: 0;
  width: 100%;
  height: 66rem;
}
@media (min-width: 768px) {
  .payment-page {
    padding-top: 5rem;
  }
  .payment-page__title {
    font-size: 3.2rem;
  }
  .payment-card {
    padding: 4rem;
  }
}

/* ------------------------------------
    REDESIGN: CHECKOUT (DELIVERY) PAGE
    /delivery/:orderid → delivery.php. Single-column form in a white card on
    the grey body. All field ids/names + JS hooks preserved. Brand indigo.
 * ------------------------------------*/
.checkout-page {
  /* grey surface; the white card sits on top. min-height keeps the grey
     filling the viewport on short content. */
  background-color: #f4f4f4;
  min-height: calc(100vh - 7.3rem);
  padding: 3rem 0 4rem;
}
.checkout-card {
  max-width: 72rem;
  margin: 0 auto;
  padding: 2.4rem 2rem;
  background-color: #ffffff;
  border-radius: 8px;
}
.checkout-page__title {
  margin: 0 0 2.8rem;
  color: #2E3092;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}
.checkout-page__section-title {
  margin: 2.8rem 0 0.5rem 0;
  font-size: 2.2rem;
  font-weight: 700;
}
.checkout-field {
  margin-bottom: 1.6rem;
}
.checkout-field__label {
  display: block;
  margin-bottom: 0.6rem;
  color: #1c1c1c;
  font-size: 1.4rem;
  font-weight: 600;
}
/* full-width inputs/selects inside the checkout card */
.checkout-form .form-control {
  width: 100%;
  height: 4.4rem;
  padding: 0 1.2rem;
  /* #767676 gives >=3:1 against white for the input boundary (WCAG 1.4.11) */
  border: 1px solid #767676;
  border-radius: 6px;
  font-size: 1.5rem;
  color: #1c1c1c;
  background-color: #ffffff;
}
.checkout-form .form-control:focus {
  /* solid 2px outline gives a >=3:1 focus indicator (WCAG 2.4.11),
     matching .login-input:focus */
  border-color: #2E3092;
  outline: 2px solid #2E3092;
  outline-offset: 0;
}
/* read-only fields (Street/District/Town/County for GB) render greyed */
.checkout-form .form-control[readonly] {
  background-color: #f0f0f0;
  color: #555555;
}
.checkout-form .form-control[disabled] {
  background-color: #f0f0f0;
  color: #555555;
  cursor: not-allowed;
}
/* account-balance read-only field: keep the green/red value colour
   (overrides the greyed readonly/disabled text colour above) */
.checkout-form .account-balance.balance_green {
  color: #2e7d32;
  font-weight: 600;
}
.checkout-form .account-balance.balance_red {
  color: #cd0000;
  font-weight: 600;
}

/* Postcode + Find Address inline row (flex; #addresslookup's parent is the
   .input-group so the validate errorPlacement drops the message below it) */
.checkout-postcode.input-group {
  display: flex;
  width: 100%;
}
.checkout-postcode .form-control {
  flex: 1 1 0;
  min-width: 0;
}
.btn-find-address {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 4.4rem;
  margin-left: 1rem;
  padding: 0 2rem;
  border: 1px solid #2E3092;
  border-radius: 6px;
  background-color: #ffffff;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.btn-find-address:hover,
.btn-find-address:focus {
  background-color: #2E3092;
  color: #ffffff;
  text-decoration: none;
}
.btn-find-address:focus-visible {
  outline: 3px solid #2E3092;
  outline-offset: 2px;
}
/* A legacy @media(max-width:585px) rule stacks .input-group children
   (`.input-group button{display:block;width:100%}`), which would beat the
   bare <button> above and make Find Address full-width on mobile. Re-assert
   the inline row with higher specificity scoped to the postcode group. */
.checkout-postcode .form-control {
  width: auto;
}
.checkout-postcode .btn-find-address {
  display: inline-flex;
  width: auto;
}

.checkout-form__submit {
  width: 100%;
  margin-top: 1.2rem;
}
.checkout-form__continue {
  display: block;
  margin-top: 1.4rem;
  color: #2E3092;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  text-decoration: underline;
}
.checkout-form__continue:hover,
.checkout-form__continue:focus {
  color: #232569;
}
.checkout-page__postal {
  max-width: 72rem;
  margin: 3rem auto 0;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.6;
}
.checkout-page__postal p {
  margin: 0 0 1rem;
}
/* inline validation error (jQuery Validate errorClass) */
.checkout-form .error-label {
  margin-top: 0.4rem;
  color: #cd0000;
  font-size: 1.3rem;
}
/* Find Address modal address table */
.checkout-addresses {
  max-height: 50vh;
  overflow-y: auto;
}
.checkout-addresses .btn-info {
  background-color: #2E3092;
  border-color: #2E3092;
  color: #ffffff;
}

@media (min-width: 768px) {
  .checkout-page {
    padding-top: 5rem;
  }
  .checkout-card {
    padding: 4rem 8rem;
  }
  .checkout-page__title {
    font-size: 3.2rem;
  }
}

/* ------------------------------------
    REDESIGN: SITE-WIDE NEWS / PROMO BANNER
    Rendered above the header on every page (header.php), toggled via
    CFG_NEWS_BANNER (active/message) in gvars.common.php. Brand indigo.
 * ------------------------------------*/
.news-banner {
  /* mobile: in normal flow above the sticky header (scrolls away on scroll) */
  background-color: #2E3092;
  color: #ffffff;
  text-align: center;
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
  line-height: 1.4;
}
.news-banner__text a {
  color: #ffffff;
  text-decoration: underline;
}
.news-banner__text a:hover,
.news-banner__text a:focus {
  color: #ffffff;
  opacity: 0.85;
}

@media (min-width: 768px) {
  /* desktop header is fixed; pin the banner above it and push content clear */
  .has-news-banner .news-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1031;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    /* fixed 4rem height: keep a long message on one line and clip it rather
       than letting it wrap and overlap the header below */
    overflow: hidden;
  }
  .has-news-banner .news-banner__text {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .has-news-banner .site-header {
    top: 4rem;
  }
  /* clear both the banner (4rem) and the fixed header (7.3rem) */
  .has-news-banner #main-content {
    margin-top: 11.3rem;
  }
}
