/*!
 * Bootstrap v3.0.0 (Consolidated & Optimized)
 * Copyright 2013 Twitter, Inc. Licensed under Apache License v2.0
 * normalize.css v2.1.0 | MIT License
 */

/* ==========================================================================
   1. Clean Unified Global Reset Engine & Normalization
   ========================================================================== */

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
  font-size: 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.4286;
  color: #333;
  background-color: #fff;
}

/* ==========================================================================
   2. Core Typography, Hyperlinks, & Elements
   ========================================================================== */

a {
  color: #428bca;
  text-decoration: none;
}

a:hover, a:focus {
  color: #2a6496;
  text-decoration: underline;
}

a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

a:active, a:hover {
  outline: 0;
}

p {
  margin: 0 0 10px;
}

.lead {
  margin-bottom: 20px;
  font-size: 1.1429em;
  font-weight: 200;
  line-height: 1.4;
}

abbr[title], abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #999;
}

abbr.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

b, strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

hr {
  height: 0;
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
}

mark {
  color: #000;
  background: #ff0;
}

small {
  font-size: 85%;
}

cite {
  font-weight: 700;
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

img {
  border: 0;
  vertical-align: middle;
}

.img-responsive {
  display: inline-block;
  height: auto;
  max-width: 100%;
}

.img-rounded { border-radius: 6px; }
.img-circle { border-radius: 500px; }

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

/* --- Headings Architecture Systems --- */
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, h2, h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }

h1, .h1 { font-size: 2.7143em; }
h2, .h2 { font-size: 2.2857em; }
h3, .h3 { font-size: 1.7143em; }
h4, .h4 { font-size: 1.2857em; }
h5, .h5 { font-size: 1em; }
h6, .h6 { font-size: 0.8571em; }

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small,
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small {
  font-weight: 700;
  line-height: 1;
  color: #999;
}

h1 small, .h1 small { font-size: 1.7143em; }
h2 small, .h2 small { font-size: 1.2857em; }
h3 small, .h3 small, h4 small, .h4 small { font-size: 1em; }

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eee;
}

/* --- Contextual Modification Colors --- */
.text-muted { color: #999; }
.text-primary { color: #428bca; }
.text-warning { color: #c09853; }
.text-danger { color: #b94a48; }
.text-success { color: #468847; }
.text-info { color: #3a87ad; }

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

/* --- Lists & Typographic Collections --- */
ul, ol { margin-top: 0; margin-bottom: 10px; }
ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; }

.list-unstyled { padding-left: 0; list-style: none; }
.list-inline { padding-left: 0; list-style: none; }
.list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; }

dl { margin-bottom: 20px; }
dt, dd { line-height: 1.4286; }
dt { font-weight: 700; }
dd { margin-left: 0; }

.dl-horizontal dt {
  float: left;
  width: 160px;
  overflow: hidden;
  clear: left;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dl-horizontal dd { margin-left: 180px; }
.dl-horizontal dd:before, .dl-horizontal dd:after { display: table; content: " "; }
.dl-horizontal dd:after { clear: both; }

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  border-left: 5px solid #eee;
}
blockquote p { font-size: 1.25em; font-weight: 300; line-height: 1.25; }
blockquote p:last-child { margin-bottom: 0; }
blockquote small { display: block; line-height: 1.4286; color: #999; }
blockquote small:before { content: '\2014 \00A0'; }

blockquote.pull-right {
  float: right;
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eee;
  border-left: 0;
}
blockquote.pull-right p, blockquote.pull-right small { text-align: right; }
blockquote.pull-right small:before { content: ''; }
blockquote.pull-right small:after { content: '\00A0 \2014'; }

q { quotes: "\201C" "\201D" "\2018" "\2019"; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; }

address {
  display: block;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 1.4286;
}

/* --- Code Blocks & Inline Syntax --- */
code, pre { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; }

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  white-space: nowrap;
  background-color: #f9f2f4;
  border-radius: 4px;
}

pre {
  display: block;
  padding: 0.6786em;
  margin: 0 0 10px;
  font-size: 0.9286em;
  line-height: 1.4286;
  color: #333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  white-space: pre-wrap;
}
pre.prettyprint { margin-bottom: 20px; }
pre code { padding: 0; color: inherit; white-space: pre-wrap; background-color: transparent; border: 0; }
.pre-scrollable { max-height: 340px; overflow-y: scroll; }

/* ==========================================================================
   3. Fluid Layout Framework Containers & Grid Engine
   ========================================================================== */

.container {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
}
.container:before, .container:after, .row:before, .row:after { display: table; content: " "; }
.container:after, .row:after { clear: both; }

#masthead-holder .container,
#masthead-holder-front .container {
  padding: 0;
  max-width: 100%;
}


/* ==========================================================================
   4. Tables Layout Modules
   ========================================================================== */

table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}

th { text-align: left; }

.table {
  width: 100%;
  margin-bottom: 20px;
}
.table thead > tr > th, .table tbody > tr > th, .table tfoot > tr > th,
.table thead > tr > td, .table tbody > tr > td, .table tfoot > tr > td {
  padding: 8px;
  line-height: 1.4286;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table thead > tr > th { vertical-align: bottom; }
.table caption + thead tr:first-child th, .table colgroup + thead tr:first-child th, .table thead:first-child tr:first-child th,
.table caption + thead tr:first-child td, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child td {
  border-top: 0;
}
.table tbody + tbody { border-top: 2px solid #ddd; }
.table .table { background-color: #fff; }

.table-condensed thead > tr > th, .table-condensed tbody > tr > th,
.table-condensed thead > tr > td, .table-condensed tbody > tr > td { padding: 5px; }

.table-bordered { border: 1.5px solid lightgrey; }
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th,
.table-bordered > thead > tr > td, .table-bordered > tbody > tr > td { border: 1px solid #ddd; }

.table-striped > tbody > tr:nth-child(odd) > td { background-color: #f9f9f9; }
.table-hover > tbody > tr:hover > td { background-color: #f5f5f5; }

table col[class^="col-"] { display: table-column; float: none; }
table td[class^="col-"], table th[class^="col-"] { display: table-cell; float: none; }

/* Contextual Table Formats */
.table > thead > tr > td.active, .table > tbody > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active { background-color: #f5f5f5; }
.table > thead > tr > td.success, .table > tbody > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success { background-color: #dff0d8; border-color: #d6e9c6; }
.table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger { background-color: #f2dede; border-color: #eed3d7; }
.table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning { background-color: #fcf8e3; border-color: #fbeed5; }

.table-hover > tbody > tr > td.success:hover { background-color: #d0e9c6; border-color: #c9e2b3; }
.table-hover > tbody > tr > td.danger:hover { background-color: #ebcccc; border-color: #e6c1c7; }
.table-hover > tbody > tr > td.warning:hover { background-color: #faf2cc; border-color: #f8e5be; }

/* ==========================================================================
   5. Form Fields & Inputs Management
   ========================================================================== */

fieldset {
  padding: 0.35em 0.625em 0.75em;
  margin: 0 2px;
  border: 1px solid #c0c0c0;
}

legend { padding: 0; border: 0; }

button, input, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button, input { line-height: normal; }
button, select { text-transform: none; }

button, html input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
}
button[disabled], html input[disabled] { cursor: default; }

input[type="checkbox"], input[type="radio"] { padding: 0; box-sizing: border-box; }
input[type="file"] { display: block; }

input[type="search"] {
  box-sizing: border-box;
  -webkit-appearance: none;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; }
textarea { overflow: auto; vertical-align: top; }
select[multiple], select[size] { height: auto; }
select optgroup { font-family: inherit; font-size: inherit; font-style: inherit; }

input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

.form-control:-moz-placeholder { color: #999; }
.form-control::-webkit-input-placeholder { color: #999; }

.form-control {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  font-size: 1em;
  line-height: 1.4286;
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  cursor: not-allowed;
  background-color: #eee;
}

.form-group { margin-bottom: 15px; }

.radio, .checkbox {
  display: block;
  min-height: 20px;
  padding-left: 20px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label, .checkbox label { font-weight: 700; cursor: pointer; }
.radio input[type="radio"], .checkbox input[type="checkbox"] { float: left; margin-left: -20px; }

.input-large { height: 56px; padding: 14px 16px; font-size: 1.2857em; border-radius: 6px; }
.input-small { height: 30px; padding: 5px 10px; font-size: 0.8571em; border-radius: 3px; }

/* Validation States */
.has-warning .control-label, .has-warning .help-block { color: #c09853; }
.has-warning .form-control { border-color: #c09853; }
.has-error .control-label, .has-error .help-block { color: #b94a48; }
.has-error .form-control { border-color: #b94a48; }
.has-success .control-label, .has-success .help-block { color: #468847; }
.has-success .form-control { border-color: #468847; }

.help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; }

/* ==========================================================================
   6. Buttons Engine Framework
   ========================================================================== */

.btn {
  display: inline-block;
  padding: 8px 12px;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.4286;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 4px;
  user-select: none;
}
.btn:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; }
.btn:hover, .btn:focus { color: #fff; text-decoration: none; }
.btn:active, .btn.active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
.btn.disabled, .btn[disabled] { pointer-events: none; cursor: default; opacity: 0.65; box-shadow: none; }

.btn-default { color: #fff; background-color: #474949; border-color: #474949; }
.btn-default:hover { background-color: #3a3c3c; border-color: #2e2f2f; }
.btn-primary { color: #fff; background-color: #428bca; border-color: #428bca; }
.btn-primary:hover { background-color: #357ebd; border-color: #3071a9; }
.btn-warning { color: #fff; background-color: #f0ad4e; border-color: #f0ad4e; }
.btn-danger { color: #fff; background-color: #d9534f; border-color: #d9534f; }
.btn-success { color: #fff; background-color: #5cb85c; border-color: #5cb85c; }
.btn-info { color: #fff; background-color: #5bc0de; border-color: #5bc0de; }

.btn-large { padding: 14px 16px; font-size: 1.2857em; border-radius: 6px; }
.btn-small { padding: 5px 10px; font-size: 0.8571em; line-height: 1.5; border-radius: 3px; }
.btn-block { display: block; width: 100%; padding-right: 0; padding-left: 0; }

.fade { opacity: 0; transition: opacity 0.15s linear; }
.fade.in { opacity: 1; }
.collapse { display: none; }
.collapse.in { display: block; }


/* ==========================================================================
   7. Input Groupings & Dropdowns
   ========================================================================== */

.input-group { display: table; border-collapse: separate; }
.input-group .form-control { width: 100%; margin-bottom: 0; display: table-cell; }
.input-group-addon {
  padding: 8px 12px;
  background-color: #eee;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: table-cell;
  text-align: center;
}

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px solid #000;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.open > .dropdown-menu { display: block; }

.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 700;
  color: #333;
}
.dropdown-menu > li > a:hover {
  color: #fff;
  background-color: #357ebd;
  background-image: linear-gradient(to bottom, #428bca 0, #357ebd 100%);
}

/* ==========================================================================
   8. Components UI Panels, Lists, & Progress Bars
   ========================================================================== */

.list-group { padding-left: 0; margin-bottom: 20px; list-style: none; }
.list-group-item { position: relative; display: block; padding: 10px 30px 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 { border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; }

.panel { padding: 15px; margin-bottom: 20px; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; }
.panel-heading { padding: 10px 15px; margin: -15px -15px 15px; background-color: #f5f5f5; border-bottom: 1px solid #ddd; }
.panel-title { margin: 0; font-size: 1.25em; font-weight: 700; }

.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; }

.close { float: right; font-size: 1.5em; font-weight: 700; color: #000; opacity: 0.2; }
.close:hover { opacity: 0.5; cursor: pointer; }

.nav { padding-left: 0; margin-bottom: 0; list-style: none; }
.nav > li { position: relative; display: block; }
.nav > li > a { display: block; padding: 10px 15px; }
.nav > li > a:hover { background-color: #eee; }
.nav-tabs { border-bottom: 1px solid #ddd; }
.nav-tabs > li { float: left; margin-bottom: -1px; }

.navbar { position: relative; min-height: 50px; margin-bottom: 20px; background-color: #eee; border-radius: 4px; }
.navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; color: #777; }
.navbar-inverse { background-color: #222; }

/* --- Progress Bar Systems --- */
.progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; }
.progress-bar { float: left; width: 0; height: 100%; font-size: 0.8571em; color: #fff; text-align: center; background-color: #428bca; transition: width 0.6s ease; }

/* ==========================================================================
   9. Modals Overlay Interactive Framework
   ========================================================================== */

.modal-open { overflow: hidden; }
.modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; display: none; overflow-y: scroll; }
.modal-dialog { z-index: 1050; width: auto; padding: 10px; margin: 30px auto; max-width: 600px; }
.modal-content { position: relative; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); }
.modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1030; background-color: #000; opacity: 0.5; }

/* ==========================================================================
   10. Component Components (Carousels & Tooltips)
   ========================================================================== */

.tooltip { position: absolute; z-index: 1030; display: block; font-size: 0.8571em; opacity: 0; }
.tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: rgba(0, 0, 0, 0.9); border-radius: 4px; }

.carousel { position: relative; }
.carousel-inner { position: relative; width: 100%; overflow: hidden; }
.carousel-inner > .item { position: relative; display: none; transition: 0.6s ease-in-out left; }
.carousel-inner > .active { display: block; left: 0; }

.jumbotron { padding: 30px; margin-bottom: 30px; font-size: 1.5em; font-weight: 200; background-color: #eee; }

/* --- Hidden Helpers Engine --- */
.hidden { display: none !important; visibility: hidden !important; }
.invisible { visibility: hidden; }


/*
   1. Globally strip the border, padding, and margin that Bootstrap forced
   onto every fieldset element across your entire Drupal site.
*/
fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/*
   2. Safely restore the border ONLY when a fieldset sits inside an actual form.
   This protects checkout boxes, search forms, and login screens while
   keeping your content fields and Views completely clean.
*/
form fieldset,
.user-login-form fieldset,
.commerce-checkout-flow fieldset {
  border: 1px solid #ccc !important;
  padding: 10px 15px !important;
  margin: 0 0 15px 0 !important;
}
