text:
/* Reset.less
 * Props to Eric Meyer (meyerweb.com) for his CSS reset file. We're using an adapted version here	that cuts out some of the reset HTML elements we will never need here (i.e., dfn, samp, etc).
 * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* line 8, ../../app/assets/stylesheets/_reset.sass */
html, body {
  margin: 0;
  padding: 0;
}

/* line 12, ../../app/assets/stylesheets/_reset.sass */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
  line-height: 1;
  font-family: inherit;
}

/* line 22, ../../app/assets/stylesheets/_reset.sass */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* line 26, ../../app/assets/stylesheets/_reset.sass */
ol, ul {
  list-style: none;
}

/* line 29, ../../app/assets/stylesheets/_reset.sass */
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
}

/* line 39, ../../app/assets/stylesheets/_reset.sass */
html {
  overflow-y: scroll;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

/* line 46, ../../app/assets/stylesheets/_reset.sass */
a:focus {
  outline: thin dotted;
}

/* line 51, ../../app/assets/stylesheets/_reset.sass */
a:hover,
a:active {
  outline: 0;
}

/* line 59, ../../app/assets/stylesheets/_reset.sass */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

/* line 75, ../../app/assets/stylesheets/_reset.sass */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/* line 85, ../../app/assets/stylesheets/_reset.sass */
audio:not([controls]) {
  display: none;
}

/* line 92, ../../app/assets/stylesheets/_reset.sass */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

/* line 99, ../../app/assets/stylesheets/_reset.sass */
sup {
  top: -0.5em;
}

/* line 102, ../../app/assets/stylesheets/_reset.sass */
sub {
  bottom: -0.25em;
}

/* line 108, ../../app/assets/stylesheets/_reset.sass */
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

/* line 118, ../../app/assets/stylesheets/_reset.sass */
button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

/* line 127, ../../app/assets/stylesheets/_reset.sass */
button,
input {
  line-height: normal;
  *overflow: visible;
}

/* line 134, ../../app/assets/stylesheets/_reset.sass */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* line 140, ../../app/assets/stylesheets/_reset.sass */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}

/* line 149, ../../app/assets/stylesheets/_reset.sass */
input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/* line 156, ../../app/assets/stylesheets/_reset.sass */
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* line 160, ../../app/assets/stylesheets/_reset.sass */
textarea {
  overflow: auto;
  vertical-align: top;
}

/* Variables.less
 * Variables to customize the look and feel of Bootstrap
 * ----------------------------------------------------- */
/* Variables.less
 * Snippets of reusable CSS to develop faster and keep code readable
 * ----------------------------------------------------------------- */
/* Scaffolding
 * Basic and global styles for generating a grid system, structural layout, and page templates
 * ------------------------------------------------------------------------------------------- */
/* line 9, ../../app/assets/stylesheets/_scaffolding.sass */
html, body {
  background-color: white;
}

/* line 12, ../../app/assets/stylesheets/_scaffolding.sass */
body {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 18px;
  color: #404040;
}

/* line 18, ../../app/assets/stylesheets/_scaffolding.sass */
.container {
  width: 940px;
  margin-left: auto;
  margin-right: auto;
  zoom: 1;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.container:before, .container:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.container:after {
  clear: both;
}

/* line 22, ../../app/assets/stylesheets/_scaffolding.sass */
.container-fluid {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  zoom: 1;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.container-fluid:before, .container-fluid:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.container-fluid:after {
  clear: both;
}
/* line 27, ../../app/assets/stylesheets/_scaffolding.sass */
.container-fluid > .sidebar {
  float: left;
  width: 220px;
}
/* line 31, ../../app/assets/stylesheets/_scaffolding.sass */
.container-fluid > .content {
  float: left;
  min-width: 700px;
  max-width: 1180px;
  margin-left: 20px;
}

/* line 38, ../../app/assets/stylesheets/_scaffolding.sass */
.hide {
  display: none;
}

/* line 41, ../../app/assets/stylesheets/_scaffolding.sass */
.show {
  display: block;
}

/* line 48, ../../app/assets/stylesheets/_scaffolding.sass */
a {
  color: #0069d6;
  text-decoration: none;
  line-height: inherit;
  font-weight: inherit;
}
/* line 53, ../../app/assets/stylesheets/_scaffolding.sass */
a:hover {
  color: #00438a;
  text-decoration: underline;
}

/* line 58, ../../app/assets/stylesheets/_scaffolding.sass */
.pull-right {
  float: right;
}

/* line 61, ../../app/assets/stylesheets/_scaffolding.sass */
.pull-left {
  float: left;
}

/* line 68, ../../app/assets/stylesheets/_scaffolding.sass */
.row {
  zoom: 1;
  margin-left: -20px;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.row:before, .row:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.row:after {
  clear: both;
}

/* line 74, ../../app/assets/stylesheets/_scaffolding.sass */
[class*="span"] {
  display: inline;
  float: left;
  margin-left: 20px;
}

/* line 78, ../../app/assets/stylesheets/_scaffolding.sass */
.span1 {
  width: 40px;
}

/* line 81, ../../app/assets/stylesheets/_scaffolding.sass */
.span2 {
  width: 100px;
}

/* line 84, ../../app/assets/stylesheets/_scaffolding.sass */
.span3 {
  width: 160px;
}

/* line 87, ../../app/assets/stylesheets/_scaffolding.sass */
.span4 {
  width: 220px;
}

/* line 90, ../../app/assets/stylesheets/_scaffolding.sass */
.span5 {
  width: 280px;
}

/* line 93, ../../app/assets/stylesheets/_scaffolding.sass */
.span6 {
  width: 340px;
}

/* line 96, ../../app/assets/stylesheets/_scaffolding.sass */
.span7 {
  width: 400px;
}

/* line 99, ../../app/assets/stylesheets/_scaffolding.sass */
.span8 {
  width: 460px;
}

/* line 102, ../../app/assets/stylesheets/_scaffolding.sass */
.span9 {
  width: 520px;
}

/* line 105, ../../app/assets/stylesheets/_scaffolding.sass */
.span10 {
  width: 580px;
}

/* line 108, ../../app/assets/stylesheets/_scaffolding.sass */
.span11 {
  width: 640px;
}

/* line 111, ../../app/assets/stylesheets/_scaffolding.sass */
.span12 {
  width: 700px;
}

/* line 114, ../../app/assets/stylesheets/_scaffolding.sass */
.span13 {
  width: 760px;
}

/* line 117, ../../app/assets/stylesheets/_scaffolding.sass */
.span14 {
  width: 820px;
}

/* line 120, ../../app/assets/stylesheets/_scaffolding.sass */
.span15 {
  width: 880px;
}

/* line 123, ../../app/assets/stylesheets/_scaffolding.sass */
.span16 {
  width: 940px;
}

/* line 127, ../../app/assets/stylesheets/_scaffolding.sass */
.span17 {
  width: 1000px;
}

/* line 130, ../../app/assets/stylesheets/_scaffolding.sass */
.span18 {
  width: 1060px;
}

/* line 133, ../../app/assets/stylesheets/_scaffolding.sass */
.span19 {
  width: 1120px;
}

/* line 136, ../../app/assets/stylesheets/_scaffolding.sass */
.span20 {
  width: 1180px;
}

/* line 139, ../../app/assets/stylesheets/_scaffolding.sass */
.span21 {
  width: 1240px;
}

/* line 142, ../../app/assets/stylesheets/_scaffolding.sass */
.span22 {
  width: 1300px;
}

/* line 145, ../../app/assets/stylesheets/_scaffolding.sass */
.span23 {
  width: 1360px;
}

/* line 148, ../../app/assets/stylesheets/_scaffolding.sass */
.span24 {
  width: 1420px;
}

/* line 152, ../../app/assets/stylesheets/_scaffolding.sass */
.offset1 {
  margin-left: 80px;
}

/* line 155, ../../app/assets/stylesheets/_scaffolding.sass */
.offset2 {
  margin-left: 140px;
}

/* line 158, ../../app/assets/stylesheets/_scaffolding.sass */
.offset3 {
  margin-left: 200px;
}

/* line 161, ../../app/assets/stylesheets/_scaffolding.sass */
.offset4 {
  margin-left: 260px;
}

/* line 164, ../../app/assets/stylesheets/_scaffolding.sass */
.offset5 {
  margin-left: 320px;
}

/* line 167, ../../app/assets/stylesheets/_scaffolding.sass */
.offset6 {
  margin-left: 380px;
}

/* line 170, ../../app/assets/stylesheets/_scaffolding.sass */
.offset7 {
  margin-left: 440px;
}

/* line 173, ../../app/assets/stylesheets/_scaffolding.sass */
.offset8 {
  margin-left: 500px;
}

/* line 176, ../../app/assets/stylesheets/_scaffolding.sass */
.offset9 {
  margin-left: 560px;
}

/* line 179, ../../app/assets/stylesheets/_scaffolding.sass */
.offset10 {
  margin-left: 620px;
}

/* line 182, ../../app/assets/stylesheets/_scaffolding.sass */
.offset11 {
  margin-left: 680px;
}

/* line 185, ../../app/assets/stylesheets/_scaffolding.sass */
.offset12 {
  margin-left: 740px;
}

/* line 189, ../../app/assets/stylesheets/_scaffolding.sass */
.span-one-third {
  width: 300px;
}

/* line 192, ../../app/assets/stylesheets/_scaffolding.sass */
.span-two-thirds {
  width: 620px;
}

/* line 195, ../../app/assets/stylesheets/_scaffolding.sass */
.offset-one-third {
  margin-left: 340px;
}

/* line 198, ../../app/assets/stylesheets/_scaffolding.sass */
.offset-two-thirds {
  margin-left: 660px;
}

/* Typography.less
 * Headings, body text, lists, code, and more for a versatile and durable typography system
 * ---------------------------------------------------------------------------------------- */
/* line 8, ../../app/assets/stylesheets/_type.sass */
p {
  font-size: 13px;
  font-weight: normal;
  line-height: 18px;
  margin-bottom: 9px;
}
/* line 11, ../../app/assets/stylesheets/_type.sass */
p small {
  font-size: 11px;
  color: #bfbfbf;
}

/* line 18, ../../app/assets/stylesheets/_type.sass */
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #404040;
}
/* line 21, ../../app/assets/stylesheets/_type.sass */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: #bfbfbf;
}

/* line 24, ../../app/assets/stylesheets/_type.sass */
h1 {
  margin-bottom: 18px;
  font-size: 30px;
  line-height: 36px;
}
/* line 28, ../../app/assets/stylesheets/_type.sass */
h1 small {
  font-size: 18px;
}

/* line 31, ../../app/assets/stylesheets/_type.sass */
h2 {
  font-size: 24px;
  line-height: 36px;
}
/* line 34, ../../app/assets/stylesheets/_type.sass */
h2 small {
  font-size: 14px;
}

/* line 37, ../../app/assets/stylesheets/_type.sass */
h3, h4, h5, h6 {
  line-height: 36px;
}

/* line 40, ../../app/assets/stylesheets/_type.sass */
h3 {
  font-size: 18px;
}
/* line 42, ../../app/assets/stylesheets/_type.sass */
h3 small {
  font-size: 14px;
}

/* line 45, ../../app/assets/stylesheets/_type.sass */
h4 {
  font-size: 16px;
}
/* line 47, ../../app/assets/stylesheets/_type.sass */
h4 small {
  font-size: 12px;
}

/* line 50, ../../app/assets/stylesheets/_type.sass */
h5 {
  font-size: 14px;
}

/* line 53, ../../app/assets/stylesheets/_type.sass */
h6 {
  font-size: 13px;
  color: #bfbfbf;
  text-transform: uppercase;
}

/* line 62, ../../app/assets/stylesheets/_type.sass */
ul, ol {
  margin: 0 0 18px 25px;
}

/* line 65, ../../app/assets/stylesheets/_type.sass */
ul ul,
ul ol,
ol ol,
ol ul {
  margin-bottom: 0;
}

/* line 71, ../../app/assets/stylesheets/_type.sass */
ul {
  list-style: disc;
}

/* line 74, ../../app/assets/stylesheets/_type.sass */
ol {
  list-style: decimal;
}

/* line 77, ../../app/assets/stylesheets/_type.sass */
li {
  line-height: 18px;
  color: gray;
}

/* line 81, ../../app/assets/stylesheets/_type.sass */
ul.unstyled {
  list-style: none;
  margin-left: 0;
}

/* line 86, ../../app/assets/stylesheets/_type.sass */
dl {
  margin-bottom: 18px;
}
/* line 88, ../../app/assets/stylesheets/_type.sass */
dl dt, dl dd {
  line-height: 18px;
}
/* line 90, ../../app/assets/stylesheets/_type.sass */
dl dt {
  font-weight: bold;
}
/* line 92, ../../app/assets/stylesheets/_type.sass */
dl dd {
  margin-left: 9px;
}

/* line 99, ../../app/assets/stylesheets/_type.sass */
hr {
  margin: 20px 0 19px;
  border: 0;
  border-bottom: 1px solid #eeeeee;
}

/* line 105, ../../app/assets/stylesheets/_type.sass */
strong {
  font-style: inherit;
  font-weight: bold;
}

/* line 109, ../../app/assets/stylesheets/_type.sass */
em {
  font-style: italic;
  font-weight: inherit;
  line-height: inherit;
}

/* line 114, ../../app/assets/stylesheets/_type.sass */
.muted {
  color: #bfbfbf;
}

/* line 118, ../../app/assets/stylesheets/_type.sass */
blockquote {
  margin-bottom: 18px;
  border-left: 5px solid #eeeeee;
  padding-left: 15px;
}
/* line 122, ../../app/assets/stylesheets/_type.sass */
blockquote p {
  font-size: 14px;
  font-weight: 300;
  line-height: 18px;
  margin-bottom: 0;
}
/* line 125, ../../app/assets/stylesheets/_type.sass */
blockquote small {
  display: block;
  font-size: 12px;
  font-weight: 300;
  line-height: 18px;
  color: #bfbfbf;
}
/* line 129, ../../app/assets/stylesheets/_type.sass */
blockquote small:before {
  content: "\2014 \00A0";
}

/* line 133, ../../app/assets/stylesheets/_type.sass */
address {
  display: block;
  line-height: 18px;
  margin-bottom: 18px;
}

/* line 139, ../../app/assets/stylesheets/_type.sass */
code, pre {
  padding: 0 3px 2px;
  font-family: Monaco, Andale Mono, Courier New, monospace;
  font-size: 12px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

/* line 145, ../../app/assets/stylesheets/_type.sass */
code {
  background-color: #fee9cc;
  color: rgba(0, 0, 0, 0.75);
  padding: 1px 3px;
}

/* line 150, ../../app/assets/stylesheets/_type.sass */
pre {
  background-color: #f5f5f5;
  display: block;
  padding: 8.5px;
  margin: 0 0 18px;
  line-height: 18px;
  font-size: 12px;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Forms.less
 * Base styles for various input types, form layouts, and states
 * ------------------------------------------------------------- */
/* line 8, ../../app/assets/stylesheets/_forms.sass */
form {
  margin-bottom: 18px;
}

/* line 12, ../../app/assets/stylesheets/_forms.sass */
fieldset {
  margin-bottom: 18px;
  padding-top: 18px;
}
/* line 15, ../../app/assets/stylesheets/_forms.sass */
fieldset legend {
  display: block;
  padding-left: 150px;
  font-size: 19.5px;
  line-height: 1;
  color: #404040;
  *padding: 0 0 5px 145px;
  /* IE6-7 */
  *line-height: 1.5;
  /* IE6-7 */
}

/* line 27, ../../app/assets/stylesheets/_forms.sass */
form .clearfix {
  margin-bottom: 18px;
  zoom: 1;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
form .clearfix:before, form .clearfix:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
form .clearfix:after {
  clear: both;
}

/* line 33, ../../app/assets/stylesheets/_forms.sass */
label,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: normal;
}

/* line 40, ../../app/assets/stylesheets/_forms.sass */
label {
  padding-top: 6px;
  font-size: 13px;
  line-height: 18px;
  float: left;
  width: 130px;
  text-align: right;
  color: #404040;
}

/* line 50, ../../app/assets/stylesheets/_forms.sass */
form .input {
  margin-left: 150px;
}

/* line 55, ../../app/assets/stylesheets/_forms.sass */
input[type=checkbox],
input[type=radio] {
  cursor: pointer;
}

/* line 61, ../../app/assets/stylesheets/_forms.sass */
input,
textarea,
select,
.uneditable-input {
  display: inline-block;
  width: 210px;
  height: 18px;
  padding: 4px;
  font-size: 13px;
  line-height: 18px;
  color: gray;
  border: 1px solid #cccccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

/* mini reset for non-html5 file types */
/* line 77, ../../app/assets/stylesheets/_forms.sass */
input[type=checkbox],
input[type=radio] {
  width: auto;
  height: auto;
  padding: 0;
  margin: 3px 0;
  *margin-top: 0;
  /* IE6-7 */
  line-height: normal;
  border: none;
}

/* line 88, ../../app/assets/stylesheets/_forms.sass */
input[type=file] {
  background-color: white;
  padding: initial;
  border: initial;
  line-height: initial;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

/* line 95, ../../app/assets/stylesheets/_forms.sass */
input[type=button],
input[type=reset],
input[type=submit] {
  width: auto;
  height: auto;
}

/* line 101, ../../app/assets/stylesheets/_forms.sass */
select,
input[type=file] {
  height: 27px;
  line-height: 27px;
  *margin-top: 4px;
  /* For IE7, add top margin to align select with labels */
}

/* line 110, ../../app/assets/stylesheets/_forms.sass */
select[multiple] {
  height: inherit;
}

/* line 113, ../../app/assets/stylesheets/_forms.sass */
textarea {
  height: auto;
}

/* line 117, ../../app/assets/stylesheets/_forms.sass */
.uneditable-input {
  background-color: white;
  display: block;
  border-color: #eeeeee;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  cursor: not-allowed;
}

/* line 125, ../../app/assets/stylesheets/_forms.sass */
:-moz-placeholder {
  color: #bfbfbf;
}

/* line 128, ../../app/assets/stylesheets/_forms.sass */
::-webkit-input-placeholder {
  color: #bfbfbf;
}

/* line 133, ../../app/assets/stylesheets/_forms.sass */
input,
textarea {
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
  -o-transition: border linear 0.2s, box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* line 139, ../../app/assets/stylesheets/_forms.sass */
input:focus,
textarea:focus {
  outline: 0;
  border-color: rgba(82, 168, 236, 0.8);
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6);
}

/* line 146, ../../app/assets/stylesheets/_forms.sass */
input[type=file]:focus,
input[type=checkbox]:focus,
select:focus {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  outline: 1px dotted #666666;
}

/* line 155, ../../app/assets/stylesheets/_forms.sass */
form div.clearfix.error {
  background: #fae5e3;
  padding: 10px 0;
  margin: -10px 0 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
/* line 161, ../../app/assets/stylesheets/_forms.sass */
form div.clearfix.error > label,
form div.clearfix.error span.help-inline,
form div.clearfix.error span.help-block {
  color: #9d261d;
}
/* line 165, ../../app/assets/stylesheets/_forms.sass */
form div.clearfix.error input,
form div.clearfix.error textarea {
  border-color: #c87872;
  -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
  -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
  box-shadow: 0 0 3px rgba(171, 41, 32, 0.25);
}
/* line 169, ../../app/assets/stylesheets/_forms.sass */
form div.clearfix.error input:focus,
form div.clearfix.error textarea:focus {
  border-color: #b9554d;
  -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
  -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
  box-shadow: 0 0 6px rgba(171, 41, 32, 0.5);
}
/* line 174, ../../app/assets/stylesheets/_forms.sass */
form div.clearfix.error .input-prepend span.add-on,
form div.clearfix.error .input-append span.add-on {
  background: #f4c8c5;
  border-color: #c87872;
  color: #b9554d;
}

/* line 182, ../../app/assets/stylesheets/_forms.sass */
.input-mini,
input.mini,
textarea.mini,
select.mini {
  width: 60px;
}

/* line 188, ../../app/assets/stylesheets/_forms.sass */
.input-small,
input.small,
textarea.small,
select.small {
  width: 90px;
}

/* line 194, ../../app/assets/stylesheets/_forms.sass */
.input-medium,
input.medium,
textarea.medium,
select.medium {
  width: 150px;
}

/* line 200, ../../app/assets/stylesheets/_forms.sass */
.input-large,
input.large,
textarea.large,
select.large {
  width: 210px;
}

/* line 206, ../../app/assets/stylesheets/_forms.sass */
.input-xlarge,
input.xlarge,
textarea.xlarge,
select.xlarge {
  width: 270px;
}

/* line 212, ../../app/assets/stylesheets/_forms.sass */
.input-xxlarge,
input.xxlarge,
textarea.xxlarge,
select.xxlarge {
  width: 530px;
}

/* line 218, ../../app/assets/stylesheets/_forms.sass */
textarea.xxlarge {
  overflow-y: auto;
}

/* line 233, ../../app/assets/stylesheets/_forms.sass */
input.span1,
textarea.span1,
select.span1 {
  display: inline-block;
  float: none;
  width: 30px;
  margin-left: 0;
}
/* line 235, ../../app/assets/stylesheets/_forms.sass */
input.span2,
textarea.span2,
select.span2 {
  display: inline-block;
  float: none;
  width: 90px;
  margin-left: 0;
}
/* line 237, ../../app/assets/stylesheets/_forms.sass */
input.span3,
textarea.span3,
select.span3 {
  display: inline-block;
  float: none;
  width: 150px;
  margin-left: 0;
}
/* line 239, ../../app/assets/stylesheets/_forms.sass */
input.span4,
textarea.span4,
select.span4 {
  display: inline-block;
  float: none;
  width: 210px;
  margin-left: 0;
}
/* line 241, ../../app/assets/stylesheets/_forms.sass */
input.span5,
textarea.span5,
select.span5 {
  display: inline-block;
  float: none;
  width: 270px;
  margin-left: 0;
}
/* line 243, ../../app/assets/stylesheets/_forms.sass */
input.span6,
textarea.span6,
select.span6 {
  display: inline-block;
  float: none;
  width: 330px;
  margin-left: 0;
}
/* line 245, ../../app/assets/stylesheets/_forms.sass */
input.span7,
textarea.span7,
select.span7 {
  display: inline-block;
  float: none;
  width: 390px;
  margin-left: 0;
}
/* line 247, ../../app/assets/stylesheets/_forms.sass */
input.span8,
textarea.span8,
select.span8 {
  display: inline-block;
  float: none;
  width: 450px;
  margin-left: 0;
}
/* line 249, ../../app/assets/stylesheets/_forms.sass */
input.span9,
textarea.span9,
select.span9 {
  display: inline-block;
  float: none;
  width: 510px;
  margin-left: 0;
}
/* line 251, ../../app/assets/stylesheets/_forms.sass */
input.span10,
textarea.span10,
select.span10 {
  display: inline-block;
  float: none;
  width: 570px;
  margin-left: 0;
}
/* line 253, ../../app/assets/stylesheets/_forms.sass */
input.span11,
textarea.span11,
select.span11 {
  display: inline-block;
  float: none;
  width: 630px;
  margin-left: 0;
}
/* line 255, ../../app/assets/stylesheets/_forms.sass */
input.span12,
textarea.span12,
select.span12 {
  display: inline-block;
  float: none;
  width: 690px;
  margin-left: 0;
}
/* line 257, ../../app/assets/stylesheets/_forms.sass */
input.span13,
textarea.span13,
select.span13 {
  display: inline-block;
  float: none;
  width: 750px;
  margin-left: 0;
}
/* line 259, ../../app/assets/stylesheets/_forms.sass */
input.span14,
textarea.span14,
select.span14 {
  display: inline-block;
  float: none;
  width: 810px;
  margin-left: 0;
}
/* line 261, ../../app/assets/stylesheets/_forms.sass */
input.span15,
textarea.span15,
select.span15 {
  display: inline-block;
  float: none;
  width: 870px;
  margin-left: 0;
}
/* line 263, ../../app/assets/stylesheets/_forms.sass */
input.span16,
textarea.span16,
select.span16 {
  display: inline-block;
  float: none;
  width: 930px;
  margin-left: 0;
}

/* line 268, ../../app/assets/stylesheets/_forms.sass */
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  background-color: #f5f5f5;
  border-color: #dddddd;
  cursor: not-allowed;
}

/* line 279, ../../app/assets/stylesheets/_forms.sass */
.actions {
  background: #f5f5f5;
  margin-top: 18px;
  margin-bottom: 18px;
  padding: 17px 20px 18px 150px;
  border-top: 1px solid #dddddd;
  -webkit-border-radius: 0 0 3px 3px;
  -moz-border-radius: 0 0 3px 3px;
  border-radius: 0 0 3px 3px;
}
/* line 286, ../../app/assets/stylesheets/_forms.sass */
.actions .secondary-action {
  float: right;
}
/* line 288, ../../app/assets/stylesheets/_forms.sass */
.actions .secondary-action a {
  line-height: 30px;
}
/* line 290, ../../app/assets/stylesheets/_forms.sass */
.actions .secondary-action a:hover {
  text-decoration: underline;
}

/* line 295, ../../app/assets/stylesheets/_forms.sass */
.help-inline,
.help-block {
  font-size: 11px;
  line-height: 18px;
  color: #bfbfbf;
}

/* line 301, ../../app/assets/stylesheets/_forms.sass */
.help-inline {
  padding-left: 5px;
  *position: relative;
  /* IE6-7 */
  *top: -5px;
  /* IE6-7 */
}

/* line 309, ../../app/assets/stylesheets/_forms.sass */
.help-block {
  display: block;
  max-width: 600px;
}

/* line 314, ../../app/assets/stylesheets/_forms.sass */
.inline-inputs {
  color: gray;
}
/* line 316, ../../app/assets/stylesheets/_forms.sass */
.inline-inputs span, .inline-inputs input {
  display: inline-block;
}
/* line 318, ../../app/assets/stylesheets/_forms.sass */
.inline-inputs input.mini {
  width: 60px;
}
/* line 320, ../../app/assets/stylesheets/_forms.sass */
.inline-inputs input.small {
  width: 90px;
}
/* line 322, ../../app/assets/stylesheets/_forms.sass */
.inline-inputs span {
  padding: 0 2px 0 1px;
}

/* line 329, ../../app/assets/stylesheets/_forms.sass */
.input-prepend input,
.input-append input {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
/* line 331, ../../app/assets/stylesheets/_forms.sass */
.input-prepend .add-on,
.input-append .add-on {
  position: relative;
  background: #f5f5f5;
  border: 1px solid #cccccc;
  z-index: 2;
  float: left;
  display: block;
  width: auto;
  min-width: 16px;
  height: 18px;
  padding: 4px 4px 4px 5px;
  margin-right: -1px;
  font-weight: normal;
  line-height: 18px;
  color: #bfbfbf;
  text-align: center;
  text-shadow: 0 1px 0 white;
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
/* line 349, ../../app/assets/stylesheets/_forms.sass */
.input-prepend .active,
.input-append .active {
  background: #a9dba9;
  border-color: #46a546;
}

/* line 354, ../../app/assets/stylesheets/_forms.sass */
.input-prepend .add-on {
  *margin-top: 1px;
  /* IE6-7 */
}

/* line 359, ../../app/assets/stylesheets/_forms.sass */
.input-append input {
  float: left;
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
/* line 362, ../../app/assets/stylesheets/_forms.sass */
.input-append .add-on {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
  margin-right: 0;
  margin-left: -1px;
}

/* line 368, ../../app/assets/stylesheets/_forms.sass */
.inputs-list {
  margin: 0 0 5px;
  width: 100%;
}
/* line 371, ../../app/assets/stylesheets/_forms.sass */
.inputs-list li {
  display: block;
  padding: 0;
  width: 100%;
}
/* line 375, ../../app/assets/stylesheets/_forms.sass */
.inputs-list label {
  display: block;
  float: none;
  width: auto;
  padding: 0;
  line-height: 18px;
  text-align: left;
  white-space: normal;
}
/* line 383, ../../app/assets/stylesheets/_forms.sass */
.inputs-list label strong {
  color: gray;
}
/* line 385, ../../app/assets/stylesheets/_forms.sass */
.inputs-list label small {
  font-size: 11px;
  font-weight: normal;
}
/* line 388, ../../app/assets/stylesheets/_forms.sass */
.inputs-list .inputs-list {
  margin-left: 25px;
  margin-bottom: 10px;
  padding-top: 0;
}
/* line 392, ../../app/assets/stylesheets/_forms.sass */
.inputs-list:first-child {
  padding-top: 6px;
}
/* line 394, ../../app/assets/stylesheets/_forms.sass */
.inputs-list li + li {
  padding-top: 2px;
}
/* line 396, ../../app/assets/stylesheets/_forms.sass */
.inputs-list input[type=radio],
.inputs-list input[type=checkbox] {
  margin-bottom: 0;
}

/* line 401, ../../app/assets/stylesheets/_forms.sass */
.form-stacked {
  padding-left: 20px;
}
/* line 403, ../../app/assets/stylesheets/_forms.sass */
.form-stacked fieldset {
  padding-top: 9px;
}
/* line 405, ../../app/assets/stylesheets/_forms.sass */
.form-stacked legend {
  padding-left: 0;
}
/* line 407, ../../app/assets/stylesheets/_forms.sass */
.form-stacked label {
  display: block;
  float: none;
  width: auto;
  font-weight: bold;
  text-align: left;
  line-height: 20px;
  padding-top: 0;
}
/* line 415, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .clearfix {
  margin-bottom: 9px;
}
/* line 417, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .clearfix div.input {
  margin-left: 0;
}
/* line 419, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .inputs-list {
  margin-bottom: 0;
}
/* line 421, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .inputs-list li {
  padding-top: 0;
}
/* line 423, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .inputs-list li label {
  font-weight: normal;
  padding-top: 0;
}
/* line 426, ../../app/assets/stylesheets/_forms.sass */
.form-stacked div.clearfix.error {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  margin-top: 0;
  margin-left: -10px;
}
/* line 432, ../../app/assets/stylesheets/_forms.sass */
.form-stacked .actions {
  margin-left: -20px;
  padding-left: 20px;
}

/* Tables.less
 * Tables for, you guessed it, tabular data
 * ---------------------------------------- */
/* line 9, ../../app/assets/stylesheets/_tables.sass */
table {
  width: 100%;
  margin-bottom: 18px;
  padding: 0;
  border-collapse: separate;
  *border-collapse: collapse;
  /* IE7, collapse table to remove spacing */
  font-size: 13px;
  border: 1px solid #dddddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
/* line 20, ../../app/assets/stylesheets/_tables.sass */
table th, table td {
  padding: 10px 10px 9px;
  line-height: 18px;
  text-align: left;
}
/* line 24, ../../app/assets/stylesheets/_tables.sass */
table th {
  padding-top: 9px;
  font-weight: bold;
  vertical-align: middle;
  border-bottom: 1px solid #dddddd;
}
/* line 29, ../../app/assets/stylesheets/_tables.sass */
table td {
  vertical-align: top;
}
/* line 31, ../../app/assets/stylesheets/_tables.sass */
table th + th,
table td + td {
  border-left: 1px solid #dddddd;
}
/* line 34, ../../app/assets/stylesheets/_tables.sass */
table tr + tr td {
  border-top: 1px solid #dddddd;
}
/* line 36, ../../app/assets/stylesheets/_tables.sass */
table tbody tr:first-child td:first-child {
  -webkit-border-radius: 4px 0 0 0;
  -moz-border-radius: 4px 0 0 0;
  border-radius: 4px 0 0 0;
}
/* line 38, ../../app/assets/stylesheets/_tables.sass */
table tbody tr:first-child td:last-child {
  -webkit-border-radius: 0 4px 0 0;
  -moz-border-radius: 0 4px 0 0;
  border-radius: 0 4px 0 0;
}
/* line 40, ../../app/assets/stylesheets/_tables.sass */
table tbody tr:last-child td:first-child {
  -webkit-border-radius: 0 0 0 4px;
  -moz-border-radius: 0 0 0 4px;
  border-radius: 0 0 0 4px;
}
/* line 42, ../../app/assets/stylesheets/_tables.sass */
table tbody tr:last-child td:last-child {
  -webkit-border-radius: 0 0 4px 0;
  -moz-border-radius: 0 0 4px 0;
  border-radius: 0 0 4px 0;
}

/* line 51, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped tbody tr:nth-child(odd) td {
  background-color: #f9f9f9;
}
/* line 53, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped tbody tr:hover td {
  background-color: #f5f5f5;
}
/* line 56, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .header {
  cursor: pointer;
}
/* line 58, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .header:after {
  content: "";
  float: right;
  margin-top: 7px;
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: black transparent;
  visibility: hidden;
}
/* line 67, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .headerSortUp,
.zebra-striped .headerSortDown {
  background-color: rgba(141, 192, 219, 0.25);
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}
/* line 73, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .header:hover:after {
  visibility: visible;
}
/* line 78, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .headerSortDown:after,
.zebra-striped .headerSortDown:hover:after {
  visibility: visible;
  filter: alpha(opacity = 60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}
/* line 83, ../../app/assets/stylesheets/_tables.sass */
.zebra-striped .headerSortUp:after {
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid black;
  visibility: visible;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  filter: alpha(opacity = 60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}

/* line 95, ../../app/assets/stylesheets/_tables.sass */
table .blue {
  color: #049cdb;
  border-bottom-color: #049cdb;
}
/* line 98, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.blue,
table .headerSortDown.blue {
  background-color: #ade6fe;
}
/* line 102, ../../app/assets/stylesheets/_tables.sass */
table .green {
  color: #46a546;
  border-bottom-color: #46a546;
}
/* line 105, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.green,
table .headerSortDown.green {
  background-color: #cdeacd;
}
/* line 109, ../../app/assets/stylesheets/_tables.sass */
table .red {
  color: #9d261d;
  border-bottom-color: #9d261d;
}
/* line 112, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.red,
table .headerSortDown.red {
  background-color: #f4c8c5;
}
/* line 116, ../../app/assets/stylesheets/_tables.sass */
table .yellow {
  color: #ffc40d;
  border-bottom-color: #ffc40d;
}
/* line 119, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.yellow,
table .headerSortDown.yellow {
  background-color: #fff6d9;
}
/* line 123, ../../app/assets/stylesheets/_tables.sass */
table .orange {
  color: #f89406;
  border-bottom-color: #f89406;
}
/* line 126, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.orange,
table .headerSortDown.orange {
  background-color: #fee9cc;
}
/* line 130, ../../app/assets/stylesheets/_tables.sass */
table .purple {
  color: #7a43b6;
  border-bottom-color: #7a43b6;
}
/* line 133, ../../app/assets/stylesheets/_tables.sass */
table .headerSortUp.purple,
table .headerSortDown.purple {
  background-color: #e2d5f0;
}

/* Patterns.less
 * Repeatable UI elements outside the base styles provided from the scaffolding
 * ---------------------------------------------------------------------------- */
/* line 9, ../../app/assets/stylesheets/_patterns.sass */
.topbar {
  height: 40px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  overflow: visible;
}
/* line 18, ../../app/assets/stylesheets/_patterns.sass */
.topbar a {
  color: #bfbfbf;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
/* line 23, ../../app/assets/stylesheets/_patterns.sass */
.topbar h3 a:hover,
.topbar .brand a:hover,
.topbar ul .active > a {
  background-color: #333333;
  background-color: rgba(255, 255, 255, 0.05);
  color: white;
  text-decoration: none;
}
/* line 32, ../../app/assets/stylesheets/_patterns.sass */
.topbar h3 {
  position: relative;
}
/* line 34, ../../app/assets/stylesheets/_patterns.sass */
.topbar h3 a,
.topbar .brand {
  float: left;
  display: block;
  padding: 8px 20px 12px;
  margin-left: -20px;
  color: white;
  font-size: 20px;
  font-weight: 200;
  line-height: 1;
}
/* line 46, ../../app/assets/stylesheets/_patterns.sass */
.topbar p {
  margin: 0;
  line-height: 40px;
}
/* line 49, ../../app/assets/stylesheets/_patterns.sass */
.topbar p a:hover {
  background-color: transparent;
  color: white;
}
/* line 53, ../../app/assets/stylesheets/_patterns.sass */
.topbar form {
  float: left;
  margin: 5px 0 0 0;
  position: relative;
  filter: alpha(opacity = 100);
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
}
/* line 59, ../../app/assets/stylesheets/_patterns.sass */
.topbar form.pull-right {
  float: right;
}
/* line 61, ../../app/assets/stylesheets/_patterns.sass */
.topbar input {
  background-color: #444444;
  background-color: rgba(255, 255, 255, 0.3);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: normal;
  font-weight: 13px;
  line-height: 1;
  padding: 4px 9px;
  color: white;
  color: rgba(255, 255, 255, 0.75);
  border: 1px solid #111111;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.25);
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}
/* line 74, ../../app/assets/stylesheets/_patterns.sass */
.topbar input:-moz-placeholder {
  color: #e6e6e6;
}
/* line 76, ../../app/assets/stylesheets/_patterns.sass */
.topbar input::-webkit-input-placeholder {
  color: #e6e6e6;
}
/* line 79, ../../app/assets/stylesheets/_patterns.sass */
.topbar input:hover {
  background-color: #bfbfbf;
  background-color: rgba(255, 255, 255, 0.5);
  color: white;
}
/* line 84, ../../app/assets/stylesheets/_patterns.sass */
.topbar input:focus, .topbar input.focused {
  outline: 0;
  background-color: white;
  color: #404040;
  text-shadow: 0 1px 0 white;
  border: 0;
  padding: 5px 10px;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

/* line 97, ../../app/assets/stylesheets/_patterns.sass */
.topbar-inner,
.topbar .fill {
  background-color: #222222;
  background-color: #222222;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));
  background-image: -moz-linear-gradient(top, #333333, #222222);
  background-image: -ms-linear-gradient(top, #333333, #222222);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));
  background-image: -webkit-linear-gradient(top, #333333, #222222);
  background-image: -o-linear-gradient(top, #333333, #222222);
  background-image: linear-gradient(top, #333333, #222222);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

/* line 111, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul,
.nav {
  display: block;
  float: left;
  margin: 0 10px 0 0;
  position: relative;
  left: 0;
}
/* line 118, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul > li,
.nav > li {
  display: block;
  float: left;
}
/* line 121, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul a,
.nav a {
  display: block;
  float: none;
  padding: 10px 10px 11px;
  line-height: 19px;
  text-decoration: none;
}
/* line 127, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul a:hover,
.nav a:hover {
  color: white;
  text-decoration: none;
}
/* line 130, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .active > a,
.nav .active > a {
  background-color: #222222;
  background-color: rgba(0, 0, 0, 0.5);
}
/* line 134, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul.secondary-nav,
.nav.secondary-nav {
  float: right;
  margin-left: 10px;
  margin-right: 0;
}
/* line 139, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul.secondary-nav .menu-dropdown,
.topbar div > ul.secondary-nav .dropdown-menu,
.nav.secondary-nav .menu-dropdown,
.nav.secondary-nav .dropdown-menu {
  right: 0;
  border: 0;
}
/* line 145, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul a.menu:hover,
.topbar div > ul li.open .menu,
.topbar div > ul .dropdown-toggle:hover,
.topbar div > ul .dropdown.open .dropdown-toggle,
.nav a.menu:hover,
.nav li.open .menu,
.nav .dropdown-toggle:hover,
.nav .dropdown.open .dropdown-toggle {
  background: #444444;
  background: rgba(255, 255, 255, 0.05);
}
/* line 152, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown,
.topbar div > ul .dropdown-menu,
.nav .menu-dropdown,
.nav .dropdown-menu {
  background-color: #333333;
}
/* line 156, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown a.menu,
.topbar div > ul .menu-dropdown .dropdown-toggle,
.topbar div > ul .dropdown-menu a.menu,
.topbar div > ul .dropdown-menu .dropdown-toggle,
.nav .menu-dropdown a.menu,
.nav .menu-dropdown .dropdown-toggle,
.nav .dropdown-menu a.menu,
.nav .dropdown-menu .dropdown-toggle {
  color: white;
}
/* line 159, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown a.menu.open,
.topbar div > ul .menu-dropdown .dropdown-toggle.open,
.topbar div > ul .dropdown-menu a.menu.open,
.topbar div > ul .dropdown-menu .dropdown-toggle.open,
.nav .menu-dropdown a.menu.open,
.nav .menu-dropdown .dropdown-toggle.open,
.nav .dropdown-menu a.menu.open,
.nav .dropdown-menu .dropdown-toggle.open {
  background: #444444;
  background: rgba(255, 255, 255, 0.05);
}
/* line 162, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown li a,
.topbar div > ul .dropdown-menu li a,
.nav .menu-dropdown li a,
.nav .dropdown-menu li a {
  color: #999999;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}
/* line 165, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown li a:hover,
.topbar div > ul .dropdown-menu li a:hover,
.nav .menu-dropdown li a:hover,
.nav .dropdown-menu li a:hover {
  background-color: #191919;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));
  background-image: -moz-linear-gradient(top, #292929, #191919);
  background-image: -ms-linear-gradient(top, #292929, #191919);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));
  background-image: -webkit-linear-gradient(top, #292929, #191919);
  background-image: -o-linear-gradient(top, #292929, #191919);
  background-image: linear-gradient(top, #292929, #191919);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);
  color: white;
}
/* line 168, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown .active a,
.topbar div > ul .dropdown-menu .active a,
.nav .menu-dropdown .active a,
.nav .dropdown-menu .active a {
  color: white;
}
/* line 170, ../../app/assets/stylesheets/_patterns.sass */
.topbar div > ul .menu-dropdown .divider,
.topbar div > ul .dropdown-menu .divider,
.nav .menu-dropdown .divider,
.nav .dropdown-menu .divider {
  background-color: #222222;
  border-color: #444444;
}

/* line 176, ../../app/assets/stylesheets/_patterns.sass */
.topbar ul .menu-dropdown li a,
.topbar ul .dropdown-menu li a {
  padding: 4px 15px;
}

/* line 184, ../../app/assets/stylesheets/_patterns.sass */
li.menu,
.dropdown {
  position: relative;
}

/* line 191, ../../app/assets/stylesheets/_patterns.sass */
a.menu:after,
.dropdown-toggle:after {
  width: 0;
  height: 0;
  display: inline-block;
  content: "↓";
  text-indent: -99999px;
  vertical-align: top;
  margin-top: 8px;
  margin-left: 4px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid white;
  filter: alpha(opacity = 50);
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
  opacity: 0.5;
}

/* line 209, ../../app/assets/stylesheets/_patterns.sass */
.menu-dropdown,
.dropdown-menu {
  background-color: white;
  float: left;
  display: none;
  position: absolute;
  top: 40px;
  z-index: 900;
  min-width: 160px;
  max-width: 220px;
  _width: 160px;
  margin-left: 0;
  margin-right: 0;
  padding: 6px 0;
  zoom: 1;
  border-color: #999999;
  border-color: rgba(0, 0, 0, 0.2);
  border-style: solid;
  border-width: 0 1px 1px;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
}
/* line 235, ../../app/assets/stylesheets/_patterns.sass */
.menu-dropdown li,
.dropdown-menu li {
  float: none;
  display: block;
  background-color: none;
}
/* line 240, ../../app/assets/stylesheets/_patterns.sass */
.menu-dropdown .divider,
.dropdown-menu .divider {
  height: 1px;
  margin: 5px 0;
  overflow: hidden;
  background-color: #eeeeee;
  border-bottom: 1px solid white;
}

/* line 249, ../../app/assets/stylesheets/_patterns.sass */
.topbar .dropdown-menu a, .dropdown-menu a {
  display: block;
  padding: 4px 15px;
  clear: both;
  font-weight: normal;
  line-height: 18px;
  color: gray;
  text-shadow: 0 1px 0 white;
}
/* line 258, ../../app/assets/stylesheets/_patterns.sass */
.topbar .dropdown-menu a:hover, .dropdown-menu a:hover {
  background-color: #dddddd;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
  background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
  background-image: -ms-linear-gradient(top, #eeeeee, #dddddd);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));
  background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
  background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
  background-image: linear-gradient(top, #eeeeee, #dddddd);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);
  color: #404040;
  text-decoration: none;
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025);
}

/* line 271, ../../app/assets/stylesheets/_patterns.sass */
.open .menu,
.open .dropdown-toggle,
.dropdown.open .menu,
.dropdown.open .dropdown-toggle {
  color: white;
  background: #cccccc;
  background: rgba(0, 0, 0, 0.3);
}
/* line 277, ../../app/assets/stylesheets/_patterns.sass */
.open .menu-dropdown,
.open .dropdown-menu,
.dropdown.open .menu-dropdown,
.dropdown.open .dropdown-menu {
  display: block;
}

/* line 283, ../../app/assets/stylesheets/_patterns.sass */
.tabs,
.pills {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  zoom: 1;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.tabs:before, .tabs:after,
.pills:before,
.pills:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.tabs:after,
.pills:after {
  clear: both;
}
/* line 289, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li,
.pills > li {
  float: left;
}
/* line 291, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li > a,
.pills > li > a {
  display: block;
}

/* line 295, ../../app/assets/stylesheets/_patterns.sass */
.tabs {
  float: left;
  width: 100%;
  border-bottom: 1px solid #dddddd;
}
/* line 299, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li {
  position: relative;
  top: 1px;
}
/* line 303, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li > a {
  padding: 0 15px;
  margin-right: 2px;
  line-height: 36px;
  border: 1px solid transparent;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
/* line 309, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li > a:hover {
  text-decoration: none;
  background-color: #eeeeee;
  border-color: #eeeeee #eeeeee #dddddd;
}
/* line 313, ../../app/assets/stylesheets/_patterns.sass */
.tabs > li.active > a {
  color: gray;
  background-color: white;
  border: 1px solid #dddddd;
  border-bottom-color: transparent;
}
/* line 319, ../../app/assets/stylesheets/_patterns.sass */
.tabs .menu-dropdown,
.tabs .dropdown-menu {
  top: 35px;
  border-width: 1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px 6px;
  border-radius: 0 6px 6px 6px;
}
/* line 325, ../../app/assets/stylesheets/_patterns.sass */
.tabs a.menu:after,
.tabs .dropdown-toggle:after {
  border-top-color: #999999;
  margin-top: 15px;
  margin-left: 5px;
}
/* line 331, ../../app/assets/stylesheets/_patterns.sass */
.tabs li.open.menu .menu,
.tabs .open.dropdown .dropdown-toggle {
  border-color: #999999;
}
/* line 335, ../../app/assets/stylesheets/_patterns.sass */
.tabs li.open a.menu:after,
.tabs .dropdown.open .dropdown-toggle:after {
  border-top-color: #555555;
}

/* line 339, ../../app/assets/stylesheets/_patterns.sass */
.tab-content {
  clear: both;
}

/* line 344, ../../app/assets/stylesheets/_patterns.sass */
.pills a {
  margin: 5px 3px 5px 0;
  padding: 0 15px;
  text-shadow: 0 1px 1px white;
  line-height: 30px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
/* line 350, ../../app/assets/stylesheets/_patterns.sass */
.pills a:hover {
  background: #00438a;
  color: white;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}
/* line 355, ../../app/assets/stylesheets/_patterns.sass */
.pills .active a {
  background: #0069d6;
  color: white;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}

/* line 360, ../../app/assets/stylesheets/_patterns.sass */
.tab-content > *,
.pill-content > * {
  display: none;
}

/* line 364, ../../app/assets/stylesheets/_patterns.sass */
.tab-content > .active,
.pill-content > .active {
  display: block;
}

/* line 371, ../../app/assets/stylesheets/_patterns.sass */
.breadcrumb {
  margin: 0 0 18px;
  padding: 7px 14px;
  background-color: #f5f5f5;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(white), to(#f5f5f5));
  background-image: -moz-linear-gradient(top, white, #f5f5f5);
  background-image: -ms-linear-gradient(top, white, #f5f5f5);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #f5f5f5));
  background-image: -webkit-linear-gradient(top, white, #f5f5f5);
  background-image: -o-linear-gradient(top, white, #f5f5f5);
  background-image: linear-gradient(top, #ffffff, #f5f5f5);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='white', endColorstr='#f5f5f5', GradientType=0);
  border: 1px solid #dddddd;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 0 white;
  -moz-box-shadow: inset 0 1px 0 white;
  box-shadow: inset 0 1px 0 white;
}
/* line 378, ../../app/assets/stylesheets/_patterns.sass */
.breadcrumb li {
  display: inline;
  text-shadow: 0 1px 0 white;
}
/* line 381, ../../app/assets/stylesheets/_patterns.sass */
.breadcrumb .divider {
  padding: 0 5px;
  color: #bfbfbf;
}
/* line 385, ../../app/assets/stylesheets/_patterns.sass */
.breadcrumb .active a {
  color: #404040;
}

/* line 391, ../../app/assets/stylesheets/_patterns.sass */
.hero-unit {
  background-color: #f5f5f5;
  margin-bottom: 30px;
  padding: 60px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
/* line 396, ../../app/assets/stylesheets/_patterns.sass */
.hero-unit h1 {
  margin-bottom: 0;
  font-size: 60px;
  line-height: 1;
  letter-spacing: -1px;
}
/* line 401, ../../app/assets/stylesheets/_patterns.sass */
.hero-unit p {
  font-size: 18px;
  font-weight: 200;
  line-height: 27px;
}

/* line 406, ../../app/assets/stylesheets/_patterns.sass */
footer {
  margin-top: 17px;
  padding-top: 17px;
  border-top: 1px solid #eeeeee;
}

/* line 414, ../../app/assets/stylesheets/_patterns.sass */
.page-header {
  margin-bottom: 17px;
  border-bottom: 1px solid #dddddd;
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
/* line 418, ../../app/assets/stylesheets/_patterns.sass */
.page-header h1 {
  margin-bottom: 8px;
}

/* line 429, ../../app/assets/stylesheets/_patterns.sass */
.btn.danger, .btn.danger:hover, .btn.error, .btn.error:hover, .btn.success, .btn.success:hover, .btn.info, .btn.info:hover,
.alert-message.danger,
.alert-message.danger:hover,
.alert-message.error,
.alert-message.error:hover,
.alert-message.success,
.alert-message.success:hover,
.alert-message.info,
.alert-message.info:hover {
  color: white;
}
/* line 439, ../../app/assets/stylesheets/_patterns.sass */
.btn.danger, .btn.error,
.alert-message.danger,
.alert-message.error {
  background-color: #c43c35;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: linear-gradient(top, #ee5f5b, #c43c35);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #c43c35 #c43c35 #882a25;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%);
}
/* line 443, ../../app/assets/stylesheets/_patterns.sass */
.btn.success,
.alert-message.success {
  background-color: #57a957;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
  background-image: -moz-linear-gradient(top, #62c462, #57a957);
  background-image: -ms-linear-gradient(top, #62c462, #57a957);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
  background-image: -o-linear-gradient(top, #62c462, #57a957);
  background-image: linear-gradient(top, #62c462, #57a957);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #57a957 #57a957 #3d773d;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%);
}
/* line 446, ../../app/assets/stylesheets/_patterns.sass */
.btn.info,
.alert-message.info {
  background-color: #339bb9;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
  background-image: linear-gradient(top, #5bc0de, #339bb9);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #339bb9 #339bb9 #22697d;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%);
}

/* line 450, ../../app/assets/stylesheets/_patterns.sass */
.btn {
  cursor: pointer;
  display: inline-block;
  background-color: #e6e6e6;
  background-repeat: no-repeat;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), color-stop(25%, white), to(#e6e6e6));
  background-image: -webkit-linear-gradient(white, white 25%, #e6e6e6);
  background-image: -moz-linear-gradient(top, white, white 25%, #e6e6e6);
  background-image: -ms-linear-gradient(white, white 25%, #e6e6e6);
  background-image: -o-linear-gradient(white, white 25%, #e6e6e6);
  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='white', endColorstr='#e6e6e6', GradientType=0);
  padding: 5px 14px 6px;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  color: #333333;
  font-size: 13px;
  line-height: normal;
  border: 1px solid #cccccc;
  border-bottom-color: #bbbbbb;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.1s linear all;
  -moz-transition: 0.1s linear all;
  -ms-transition: 0.1s linear all;
  -o-transition: 0.1s linear all;
  transition: 0.1s linear all;
}
/* line 466, ../../app/assets/stylesheets/_patterns.sass */
.btn:hover {
  background-position: 0 -15px;
  color: #333333;
  text-decoration: none;
}
/* line 471, ../../app/assets/stylesheets/_patterns.sass */
.btn:focus {
  outline: 1px dotted #666666;
}
/* line 474, ../../app/assets/stylesheets/_patterns.sass */
.btn.primary {
  color: white;
  background-color: #0064cd;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
  background-image: linear-gradient(top, #049cdb, #0064cd);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #0064cd #0064cd #003f81;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%);
}
/* line 480, ../../app/assets/stylesheets/_patterns.sass */
.btn:active {
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
}
/* line 483, ../../app/assets/stylesheets/_patterns.sass */
.btn.disabled {
  cursor: default;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.Gradient(enabled = false);
  filter: alpha(opacity = 65);
  -khtml-opacity: 0.65;
  -moz-opacity: 0.65;
  opacity: 0.65;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
/* line 489, ../../app/assets/stylesheets/_patterns.sass */
.btn[disabled] {
  cursor: default;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.Gradient(enabled = false);
  filter: alpha(opacity = 65);
  -khtml-opacity: 0.65;
  -moz-opacity: 0.65;
  opacity: 0.65;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
/* line 498, ../../app/assets/stylesheets/_patterns.sass */
.btn.large {
  font-size: 15px;
  line-height: normal;
  padding: 9px 14px 9px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
/* line 503, ../../app/assets/stylesheets/_patterns.sass */
.btn.small {
  padding: 7px 9px 7px;
  font-size: 11px;
}

/* line 513, ../../app/assets/stylesheets/_patterns.sass */
button.btn::-moz-focus-inner,
input[type=submit].btn::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* line 519, ../../app/assets/stylesheets/_patterns.sass */
.close {
  float: right;
  color: black;
  font-size: 20px;
  font-weight: bold;
  line-height: 13.5px;
  text-shadow: 0 1px 0 white;
  filter: alpha(opacity = 20);
  -khtml-opacity: 0.2;
  -moz-opacity: 0.2;
  opacity: 0.2;
}
/* line 527, ../../app/assets/stylesheets/_patterns.sass */
.close:hover {
  color: black;
  text-decoration: none;
  filter: alpha(opacity = 40);
  -khtml-opacity: 0.4;
  -moz-opacity: 0.4;
  opacity: 0.4;
}

/* line 536, ../../app/assets/stylesheets/_patterns.sass */
.alert-message {
  position: relative;
  padding: 7px 15px;
  margin-bottom: 18px;
  color: #404040;
  background-color: #eedc94;
  background-repeat: repeat-x;
  background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));
  background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
  background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
  background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
  background-image: -o-linear-gradient(top, #fceec1, #eedc94);
  background-image: linear-gradient(top, #fceec1, #eedc94);
  filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  border-color: #eedc94 #eedc94 #e4c652;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border-width: 1px;
  border-style: solid;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
/* line 549, ../../app/assets/stylesheets/_patterns.sass */
.alert-message .close {
  *margin-top: 3px;
  /* IE7 spacing */
}
/* line 553, ../../app/assets/stylesheets/_patterns.sass */
.alert-message h5 {
  line-height: 18px;
}
/* line 555, ../../app/assets/stylesheets/_patterns.sass */
.alert-message p {
  margin-bottom: 0;
}
/* line 557, ../../app/assets/stylesheets/_patterns.sass */
.alert-message div {
  margin-top: 5px;
  margin-bottom: 2px;
  line-height: 28px;
}
/* line 561, ../../app/assets/stylesheets/_patterns.sass */
.alert-message .btn {
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
/* line 564, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message {
  background-image: none;
  background-color: #fdf5d9;
  filter: progid:DXImageTransform.Microsoft.Gradient(enabled = false);
  padding: 14px;
  border-color: #fceec1;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
/* line 571, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message ul, .alert-message.block-message p {
  margin-right: 30px;
}
/* line 573, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message ul {
  margin-bottom: 0;
}
/* line 575, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message li {
  color: #404040;
}
/* line 577, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message .alert-actions {
  margin-top: 5px;
}
/* line 579, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message.error, .alert-message.block-message.success, .alert-message.block-message.info {
  color: #404040;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
/* line 584, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message.error {
  background-color: #fddfde;
  border-color: #fbc7c6;
}
/* line 587, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message.success {
  background-color: #d1eed1;
  border-color: #bfe7bf;
}
/* line 590, ../../app/assets/stylesheets/_patterns.sass */
.alert-message.block-message.info {
  background-color: #ddf4fb;
  border-color: #c6edf9;
}

/* line 597, ../../app/assets/stylesheets/_patterns.sass */
.pagination {
  height: 36px;
  margin: 18px 0;
}
/* line 600, ../../app/assets/stylesheets/_patterns.sass */
.pagination ul {
  float: left;
  margin: 0;
  border: 1px solid #dddddd;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
/* line 607, ../../app/assets/stylesheets/_patterns.sass */
.pagination li {
  display: inline;
}
/* line 609, ../../app/assets/stylesheets/_patterns.sass */
.pagination a {
  float: left;
  padding: 0 14px;
  line-height: 34px;
  border-right: 1px solid;
  border-right-color: #dddddd;
  border-right-color: rgba(0, 0, 0, 0.15);
  *border-right-color: #dddddd;
  /* IE6-7 */
  text-decoration: none;
}
/* line 619, ../../app/assets/stylesheets/_patterns.sass */
.pagination a:hover,
.pagination .active a {
  background-color: #c7eefe;
}
/* line 622, ../../app/assets/stylesheets/_patterns.sass */
.pagination .disabled a,
.pagination .disabled a:hover {
  background-color: transparent;
  color: #bfbfbf;
}
/* line 626, ../../app/assets/stylesheets/_patterns.sass */
.pagination .next a {
  border: 0;
}

/* line 632, ../../app/assets/stylesheets/_patterns.sass */
.well {
  background-color: #f5f5f5;
  margin-bottom: 20px;
  padding: 19px;
  min-height: 20px;
  border: 1px solid #eeeeee;
  border: 1px solid rgba(0, 0, 0, 0.05);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
/* line 641, ../../app/assets/stylesheets/_patterns.sass */
.well blockquote {
  border-color: #dddddd;
  border-color: rgba(0, 0, 0, 0.15);
}

/* line 648, ../../app/assets/stylesheets/_patterns.sass */
.modal-backdrop {
  background-color: black;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
}
/* line 657, ../../app/assets/stylesheets/_patterns.sass */
.modal-backdrop.fade {
  opacity: 0;
}

/* line 660, ../../app/assets/stylesheets/_patterns.sass */
.modal-backdrop, .modal-backdrop.fade.in {
  filter: alpha(opacity = 80);
  -khtml-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}

/* line 663, ../../app/assets/stylesheets/_patterns.sass */
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 11000;
  width: 560px;
  margin: -250px 0 0 -250px;
  background-color: white;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.3);
  *border: 1px solid #999999;
  /* IE6-7 */
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
}
/* line 678, ../../app/assets/stylesheets/_patterns.sass */
.modal .close {
  margin-top: 7px;
}
/* line 680, ../../app/assets/stylesheets/_patterns.sass */
.modal.fade {
  -webkit-transition: e("opacity .3s linear, top .3s ease-out");
  -moz-transition: e("opacity .3s linear, top .3s ease-out");
  -ms-transition: e("opacity .3s linear, top .3s ease-out");
  -o-transition: e("opacity .3s linear, top .3s ease-out");
  transition: e("opacity .3s linear, top .3s ease-out");
  top: -25%;
}
/* line 683, ../../app/assets/stylesheets/_patterns.sass */
.modal.fade.in {
  top: 50%;
}

/* line 686, ../../app/assets/stylesheets/_patterns.sass */
.modal-header {
  border-bottom: 1px solid #eeeeee;
  padding: 5px 15px;
}

/* line 690, ../../app/assets/stylesheets/_patterns.sass */
.modal-body {
  padding: 15px;
}

/* line 693, ../../app/assets/stylesheets/_patterns.sass */
.modal-footer {
  background-color: #f5f5f5;
  padding: 14px 15px 15px;
  border-top: 1px solid #dddddd;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: inset 0 1px 0 white;
  -moz-box-shadow: inset 0 1px 0 white;
  box-shadow: inset 0 1px 0 white;
  zoom: 1;
  margin-bottom: 0;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.modal-footer:before, .modal-footer:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.modal-footer:after {
  clear: both;
}
/* line 701, ../../app/assets/stylesheets/_patterns.sass */
.modal-footer .btn {
  float: right;
  margin-left: 5px;
}

/* line 743, ../../app/assets/stylesheets/_patterns.sass */
.twipsy {
  display: block;
  position: absolute;
  visibility: visible;
  padding: 5px;
  font-size: 11px;
  z-index: 1000;
  filter: alpha(opacity = 80);
  -khtml-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
/* line 751, ../../app/assets/stylesheets/_patterns.sass */
.twipsy.fade.in {
  filter: alpha(opacity = 80);
  -khtml-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
/* line 753, ../../app/assets/stylesheets/_patterns.sass */
.twipsy.above .twipsy-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid black;
}
/* line 755, ../../app/assets/stylesheets/_patterns.sass */
.twipsy.left .twipsy-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid black;
}
/* line 757, ../../app/assets/stylesheets/_patterns.sass */
.twipsy.below .twipsy-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid black;
}
/* line 759, ../../app/assets/stylesheets/_patterns.sass */
.twipsy.right .twipsy-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid black;
}

/* line 762, ../../app/assets/stylesheets/_patterns.sass */
.twipsy-inner {
  padding: 3px 8px;
  background-color: black;
  color: white;
  text-align: center;
  max-width: 200px;
  text-decoration: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

/* line 771, ../../app/assets/stylesheets/_patterns.sass */
.twipsy-arrow {
  position: absolute;
  width: 0;
  height: 0;
}

/* line 779, ../../app/assets/stylesheets/_patterns.sass */
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  padding: 5px;
  display: none;
}
/* line 786, ../../app/assets/stylesheets/_patterns.sass */
.popover.above .arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid black;
}
/* line 788, ../../app/assets/stylesheets/_patterns.sass */
.popover.right .arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid black;
}
/* line 790, ../../app/assets/stylesheets/_patterns.sass */
.popover.below .arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid black;
}
/* line 792, ../../app/assets/stylesheets/_patterns.sass */
.popover.left .arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid black;
}
/* line 794, ../../app/assets/stylesheets/_patterns.sass */
.popover .arrow {
  position: absolute;
  width: 0;
  height: 0;
}
/* line 798, ../../app/assets/stylesheets/_patterns.sass */
.popover .inner {
  background-color: black;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 3px;
  overflow: hidden;
  width: 280px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
}
/* line 806, ../../app/assets/stylesheets/_patterns.sass */
.popover .title {
  background-color: #f5f5f5;
  padding: 9px 15px;
  line-height: 1;
  -webkit-border-radius: 3px 3px 0 0;
  -moz-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
  border-bottom: 1px solid #eeeeee;
}
/* line 812, ../../app/assets/stylesheets/_patterns.sass */
.popover .content {
  background-color: white;
  padding: 14px;
  -webkit-border-radius: 0 0 3px 3px;
  -moz-border-radius: 0 0 3px 3px;
  border-radius: 0 0 3px 3px;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
}
/* line 817, ../../app/assets/stylesheets/_patterns.sass */
.popover .content p, .popover .content ul, .popover .content ol {
  margin-bottom: 0;
}

/* line 823, ../../app/assets/stylesheets/_patterns.sass */
.fade {
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -ms-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  opacity: 0;
}
/* line 826, ../../app/assets/stylesheets/_patterns.sass */
.fade.in {
  opacity: 1;
}

/* line 832, ../../app/assets/stylesheets/_patterns.sass */
.label {
  padding: 1px 3px 2px;
  background-color: #bfbfbf;
  font-size: 9.75px;
  font-weight: bold;
  color: white;
  text-transform: uppercase;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
/* line 840, ../../app/assets/stylesheets/_patterns.sass */
.label.important {
  background-color: #c43c35;
}
/* line 842, ../../app/assets/stylesheets/_patterns.sass */
.label.warning {
  background-color: #f89406;
}
/* line 844, ../../app/assets/stylesheets/_patterns.sass */
.label.success {
  background-color: #46a546;
}
/* line 846, ../../app/assets/stylesheets/_patterns.sass */
.label.notice {
  background-color: #62cffc;
}

/* line 852, ../../app/assets/stylesheets/_patterns.sass */
.media-grid {
  margin-left: -20px;
  margin-bottom: 0;
  zoom: 1;
}
/* line 8, ../../app/assets/stylesheets/_mixins.sass */
.media-grid:before, .media-grid:after {
  display: table;
  content: "";
  zoom: 1;
  *display: inline;
}
/* line 14, ../../app/assets/stylesheets/_mixins.sass */
.media-grid:after {
  clear: both;
}
/* line 856, ../../app/assets/stylesheets/_patterns.sass */
.media-grid li {
  display: inline;
}
/* line 858, ../../app/assets/stylesheets/_patterns.sass */
.media-grid a {
  float: left;
  padding: 4px;
  margin: 0 0 20px 20px;
  border: 1px solid #dddddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
}
/* line 865, ../../app/assets/stylesheets/_patterns.sass */
.media-grid a img {
  display: block;
}
/* line 867, ../../app/assets/stylesheets/_patterns.sass */
.media-grid a:hover {
  border-color: #0069d6;
  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}

redpajama_set_name: RedPajamaGithub


text:
void RegisterUserMessages( void );

//-----------------------------------------------------------------------------
// Purpose: Force registration on .dll load
// FIXME:  Should this be a client/server system?
//-----------------------------------------------------------------------------
CUserMessages::CUserMessages()
{
	// Game specific registration function;
	RegisterUserMessages();
}

CUserMessages::~CUserMessages()
{
	int c = m_UserMessages.Count();
	for ( int i = 0; i < c; ++i )
	{
		delete m_UserMessages[ i ];
	}
	m_UserMessages.RemoveAll();
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : *name -
// Output : int
//-----------------------------------------------------------------------------
int CUserMessages::LookupUserMessage( const char *name )
{
	int idx = m_UserMessages.Find( name );
	if ( idx == m_UserMessages.InvalidIndex() )
	{
		return -1;
	}

	return idx;
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : index -
// Output : int
//-----------------------------------------------------------------------------
int CUserMessages::GetUserMessageSize( int index )
{
	if ( index < 0 || index >= (int)m_UserMessages.Count() )
	{
		Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index );
	}

	CUserMessage *e = m_UserMessages[ index ];
	return e->size;
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : index -
// Output : char const
//-----------------------------------------------------------------------------
const char *CUserMessages::GetUserMessageName( int index )
{
	if ( index < 0 || index >= (int)m_UserMessages.Count() )
	{
		Error( "CUserMessages::GetUserMessageSize( %i ) out of range!!!\n", index );
	}

	return m_UserMessages.GetElementName( index );
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : index -
// Output : Returns true on success, false on failure.
//-----------------------------------------------------------------------------
bool CUserMessages::IsValidIndex( int index )
{
	return m_UserMessages.IsValidIndex( index );
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : *name -
//			size - -1 for variable size
//-----------------------------------------------------------------------------
void CUserMessages::Register( const char *name, int size )
{
	Assert( name );
	int idx = m_UserMessages.Find( name );
	if ( idx != m_UserMessages.InvalidIndex() )
	{
		Error( "CUserMessages::Register '%' already registered\n", name );
	}

	CUserMessage * entry = new CUserMessage;
	entry->size = size;
	entry->name = name;

	m_UserMessages.Insert( name, entry );
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : *name -
//			hook -
//-----------------------------------------------------------------------------
void CUserMessages::HookMessage( const char *name, pfnUserMsgHook hook )
{
#if defined( CLIENT_DLL )
	Assert( name );
	Assert( hook );

	int idx = m_UserMessages.Find( name );
	if ( idx == m_UserMessages.InvalidIndex() )
	{
		DevMsg( "CUserMessages::HookMessage:  no such message %s\n", name );
		Assert( 0 );
		return;
	}

	int i = m_UserMessages[ idx ]->clienthooks.AddToTail();
	m_UserMessages[ idx ]->clienthooks[i] = hook;

#else
	Error( "CUserMessages::HookMessage called from server code!!!\n" );
#endif
}

//-----------------------------------------------------------------------------
// Purpose:
// Input  : *pszName -
//			iSize -
//			*pbuf -
// Output : Returns true on success, false on failure.
//-----------------------------------------------------------------------------
bool CUserMessages::DispatchUserMessage( int msg_type, bf_read &msg_data )
{
#if defined( CLIENT_DLL )
	if ( msg_type < 0 || msg_type >= (int)m_UserMessages.Count() )
	{
		DevMsg( "CUserMessages::DispatchUserMessage:  Bogus msg type %i (max == %i)\n", msg_type, m_UserMessages.Count() );
		Assert( 0 );
		return false;
	}

	CUserMessage *entry = m_UserMessages[ msg_type ];

	if ( !entry )
	{
		DevMsg( "CUserMessages::DispatchUserMessage:  Missing client entry for msg type %i\n", msg_type );
		Assert( 0 );
		return false;
	}

	if ( entry->clienthooks.Count() == 0 )
	{
		DevMsg( "CUserMessages::DispatchUserMessage:  missing client hook for %s\n", GetUserMessageName(msg_type) );
		Assert( 0 );
		return false;
	}

	for (int i = 0; i < entry->clienthooks.Count(); i++  )
	{
		bf_read msg_copy = msg_data;

		pfnUserMsgHook hook = entry->clienthooks[i];
		(*hook)( msg_copy );
	}
	return true;
#else
	Error( "CUserMessages::DispatchUserMessage called from server code!!!\n" );
	return false;
#endif
}

// Singleton
static CUserMessages g_UserMessages;
// Expose to rest of .dll
CUserMessages *usermessages = &g_UserMessages;


text:
'''
Created on Jun 1, 2012

@author: Jason Huang
'''
from random import shuffle
from collections import namedtuple

def printTreeImpl(treeDict, node, level):
    print( '   ' * level, treeDict[node].label )

    for child in treeDict[node].children:
        printTreeImpl(treeDict, child, level + 1)

def printTree(treeArr):

    Node = namedtuple('Node', ['id','pid','label','children'])

    treeDict = {n[0]:Node(n[0],n[1],n[2],[]) for n in treeArr}

    for nid,pid,_ in treeArr:
        if(nid != pid):
            treeDict[pid].children.append(nid)

    # find root
    root = list(treeDict.keys())[0]
    while(treeDict[root].pid != root):
        root = treeDict[root]

    printTreeImpl(treeDict, root, 0)

if __name__ == '__main__':
    treeArr = []
    treeArr.append((0, 0, 'A')) # id, parent_id, label
    treeArr.append((1, 0, 'B'))
    treeArr.append((2, 0, 'C'))
    treeArr.append((3, 1, 'D'))
    treeArr.append((4, 1, 'E'))
    treeArr.append((5, 1, 'F'))
    treeArr.append((6, 4, 'G'))

    shuffle(treeArr)
    printTree(treeArr)


text:
author: yiyangshi
layout: post
title: "Yiyang's Chapter 5 Exercise"
---

Here is exercise 1:

Here is exercise 2:

Reflection:

1. I notice that it is easier to write the loop first and then initialize the variables used in the loop. Although one needs to double check if all the variables are initialized.

2. Having to int(input) every time is a little annoying. Creating a new variable that equals the numerical value of the input with int data type may ease the process.


text:
//
//  RKPromisePostProcessor.h
//  RoundaboutKit
//
//  Created by Kevin MacWhinnie on 12/6/13.
//  Copyright (c) 2013 Roundabout Software, LLC. All rights reserved.
//

#ifndef RKPostProcessor_h
#define RKPostProcessor_h 1

#import <Foundation/Foundation.h>

///The key used to embed the string representation of malformed data, if possible.
RK_EXTERN NSString *const RKPostProcessorBadValueStringRepresentationErrorUserInfoKey;

///The key used to embed the source URL of an error, if possible.
RK_EXTERN NSString *const RKPostProcessorSourceURLErrorUserInfoKey;

enum {
    ///The error code used by image-loading post-processors when they
    ///cannot convert some data into an image due to it not being an image.
    kRKErrorCodeNotAnImage = '!img',
};

///An RKPostProcessor takes an input value and error, performs some work on it,
///and produces either an error or another object. They can be chained together
///to perform data conversions such as `NSData -> NSDictionary -> ModelObject`.
///
///Post-processors may specify an input type through their `+[self inputValueType]`
///method. Runtime type-checking will be performed by the clients of RKPostProcessor
///contained in RoundaboutKit.
///
///Post-processors perform their work using their primitive method `+[self processValue:
///error:withContext:]`. Post-processors are assumed to be stateless. Subclasses should
///provide singletons to reduce memory usage.
///
///The RKPostProcessor root class simply passes its input value and error into its output properties.
@interface RKPostProcessor : NSObject

#pragma mark - Types

///Returns the expected class for input values given to the post-processor.
///
///Return nil to indicate any type is acceptable.
- (Class)inputValueType;

#pragma mark - Processing

///Perform the post-processor's logic on a given input value,
///placing any processing errors into the `outError` pointer,
///and returning the processed value.
///
/// \param  value       A value of type `-[self inputValueType]`. May be nil.
/// \param  outError    A pointer that should be populated with an error if
///                     an issue arrises during post-processing.
/// \param  context     The object that is invoking the post-processor. When a
///                     post-processor is being used with RKPromise, this will
///                     be the RKPromise. May be nil.
///
/// \result A value. nil is considered a valid value.
///         To indicate an error, write to `outError`.
///
///This method is always invoked from a background thread. Post-processors
///are never shared between threads.
- (id)processValue:(id)value error:(NSError **)outError withContext:(id)context;

@end

#pragma mark -

@class RKPossibility;

///The RKSimplePostProcessorBlock type describes implementations for the
///`RKSimplePostProcessor` class. It takes a possibility and context object,
///and returns a new possibilty,
///
/// \param  maybeData   The information the block is to operate on.
/// \param  context     The object that is invoking the post-processor.
///
/// \result A new possibility object describing the result of processing the input data.
///
/// \seealso(RKSimplePostProcessor, <RKPostProcessor>)
typedef RKPossibility *(^RKSimplePostProcessorBlock)(RKPossibility *maybeData, id context);

///The RKSimplePostProcessor class implements a simple, weakly typed, block-based
///implementation of RKPostProcessor. It is designed to provide source-level backwards
///compatibility with the old `RKURLRequestPromise` post- processor implementation.
@interface RKSimplePostProcessor : RKPostProcessor

///Initialize the receiver with an implementation block.
///
/// \param  block   The block that will serve as the implementation of the receiver. Required.
///
/// \result A fully initialized simple post processor object.
///
/// \seealso(RKSimplePostProcessorBlock)
- (instancetype)initWithBlock:(RKSimplePostProcessorBlock)block;

#pragma mark - Properties

///The implementation block.
@property (readonly, copy) RKSimplePostProcessorBlock block;

@end

///A simple post-processor block that takes an NSData object and yields JSON objects.
RK_EXTERN RKSimplePostProcessorBlock const kRKJSONPostProcessorBlock RK_DEPRECATED_SINCE_2_1;

///A simple post-processor block that takes an NSData object and yields an NS/UIImage.
RK_EXTERN RKSimplePostProcessorBlock const kRKImagePostProcessorBlock RK_DEPRECATED_SINCE_2_1;

///A simple post-processor block that takes an NSData object and yields a property list objects.
RK_EXTERN RKSimplePostProcessorBlock const kRKPropertyListPostProcessorBlock RK_DEPRECATED_SINCE_2_1;

#endif /* RKPostProcessor_h */


text:
package com.zjw.mobilesafe;

import java.util.List;

import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.TrafficStats;
import android.os.Bundle;

public class TrafficActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_traffic);

		PackageManager packageManager = getPackageManager();
		List<ApplicationInfo> applications = packageManager.getInstalledApplications(0);
		for (ApplicationInfo info : applications) {
			int uid = info.uid;
			long uidRxBytes = TrafficStats.getUidRxBytes(uid);
			long uidTxBytes = TrafficStats.getUidTxBytes(uid);
		}
	}
}


text:
package org.wuxinshui.boosters.wsdl;

import org.reficio.ws.builder.SoapBuilder;
import org.reficio.ws.builder.SoapOperation;
import org.reficio.ws.builder.core.Wsdl;

import javax.xml.namespace.QName;
import java.util.List;

/**
 * Created by FujiRen on 2016/4/13.
 */
public class SoapMessage {
    public static String getSoapMessage(String wsdlUrl,String operationName) {
        Wsdl wsdl = Wsdl.parse(wsdlUrl);
        List<QName> bindings = wsdl.getBindings();
        QName serviceBinding = bindings.get(0);
        String serviceBindingName = serviceBinding.getLocalPart();

        SoapBuilder builder = wsdl.binding().localPart(serviceBindingName).find();
        SoapOperation operation = builder.operation().name(operationName).find();
        //soap报文
        String soapRequestMessage = builder.buildInputMessage(operation);
        return soapRequestMessage;
    }

}


text:
/*
 * null
 */
#import "FHIRProfileSearchParamComponent.h"

#import "FHIRCode.h"
#import "FHIRString.h"

#import "FHIRErrorList.h"

@implementation FHIRProfileSearchParamComponent

- (NSArray /*<NSString>*/ *)resource
{
    if(self.resourceElement)
    {
        NSMutableArray *array = [NSMutableArray new];
        for(FHIRCode *elem in self.resourceElement)
            [array addObject:[elem value]];
        return [NSArray arrayWithArray:array];
    }
    return nil;
}

- (void )setResource:(NSArray /*<NSString>*/ *)resource
{
    if(resource)
    {
        NSMutableArray *array = [NSMutableArray new];
        for(NSString *value in resource)
            [array addObject:[[FHIRCode alloc] initWithValue:value]];
        [self setResourceElement:[NSArray arrayWithArray:array]];
    }
    else
    {
        [self setResourceElement:nil];
    }
}

- (NSString *)name
{
    if(self.nameElement)
    {
        return [self.nameElement value];
    }
    return nil;
}

- (void )setName:(NSString *)name
{
    if(name)
    {
        [self setNameElement:[[FHIRString alloc] initWithValue:name]];
    }
    else
    {
        [self setNameElement:nil];
    }
}

- (NSString *)type
{
    if(self.typeElement)
    {
        return [self.typeElement value];
    }
    return nil;
}

- (void )setType:(NSString *)type
{
    if(type)
    {
        [self setTypeElement:[[FHIRCode alloc] initWithValue:type]];
    }
    else
    {
        [self setTypeElement:nil];
    }
}

- (NSString *)documentation
{
    if(self.documentationElement)
    {
        return [self.documentationElement value];
    }
    return nil;
}

- (void )setDocumentation:(NSString *)documentation
{
    if(documentation)
    {
        [self setDocumentationElement:[[FHIRString alloc] initWithValue:documentation]];
    }
    else
    {
        [self setDocumentationElement:nil];
    }
}

- (NSString *)xpath
{
    if(self.xpathElement)
    {
        return [self.xpathElement value];
    }
    return nil;
}

- (void )setXpath:(NSString *)xpath
{
    if(xpath)
    {
        [self setXpathElement:[[FHIRString alloc] initWithValue:xpath]];
    }
    else
    {
        [self setXpathElement:nil];
    }
}

- (NSArray /*<NSString>*/ *)target
{
    if(self.targetElement)
    {
        NSMutableArray *array = [NSMutableArray new];
        for(FHIRCode *elem in self.targetElement)
            [array addObject:[elem value]];
        return [NSArray arrayWithArray:array];
    }
    return nil;
}

- (void )setTarget:(NSArray /*<NSString>*/ *)target
{
    if(target)
    {
        NSMutableArray *array = [NSMutableArray new];
        for(NSString *value in target)
            [array addObject:[[FHIRCode alloc] initWithValue:value]];
        [self setTargetElement:[NSArray arrayWithArray:array]];
    }
    else
    {
        [self setTargetElement:nil];
    }
}

- (FHIRErrorList *)validate
{
    FHIRErrorList *result = [[FHIRErrorList alloc] init];

    [result addValidation:[super validate]];

    if(self.resourceElement != nil )
        for(FHIRCode *elem in self.resourceElement)
            [result addValidationRange:[elem validate]];
    if(self.nameElement != nil )
        [result addValidationRange:[self.nameElement validate]];
    if(self.typeElement != nil )
        [result addValidationRange:[self.typeElement validate]];
    if(self.documentationElement != nil )
        [result addValidationRange:[self.documentationElement validate]];
    if(self.xpathElement != nil )
        [result addValidationRange:[self.xpathElement validate]];
    if(self.targetElement != nil )
        for(FHIRCode *elem in self.targetElement)
            [result addValidationRange:[elem validate]];

    return result;
}

@end


text:
.. _argus_pepd_operation:

Argus PEP Server: Operation
===========================

For more Argus details, see the :ref:`Argus Service Reference Card <service-reference-card>`.

Service Operation Commands
--------------------------

Start the PEP service
   ========   ===========
   Platform   Command
   ========   ===========
   EL6        ``service argus-pepd start``
   EL7        ``systemctl start argus-pepd``
   ========   ===========

Stop the PEP service
   ========   ===========
   Platform   Command
   ========   ===========
   EL6        ``service argus-pepd stop``
   EL7        ``systemctl stop argus-pepd``
   ========   ===========

Restart the PEP service
   ========   ===========
   Platform   Command
   ========   ===========
   EL6        ``service argus-pepd restart``
   EL7        ``systemctl restart argus-pepd``
   ========   ===========

PEP service status information
   ========   ===========
   Platform   Command
   ========   ===========
   EL6        ``service argus-pepd status``
   EL7        ``systemctl status argus-pepd``
   ========   ===========

Clear PEP service response cache
   Causes the currently cached responses from the PDP can be flushed from memory

   ========   ===========
   Platform   Command
   ========   ===========
   EL6        ``pepdctl clearResponseCache``
   EL7        ``pepdctl clearResponseCache``
   ========   ===========

Service Information
-------------------

Service Ports
~~~~~~~~~~~~~

-  Default Service Port: ``8154``
-  Default Admin Port: ``8155``

The PEP service only requires the standard service port to be open to
those PEP clients which will communicate with the PEP. The PEP must also
be able to make outbound connections to those PDPs to which is will make
policy decision requests.

Service Endpoints
~~~~~~~~~~~~~~~~~

This service contains the following endpoint URLs:

``https://argus.example.org:8154/authz``
   This endpoint is the recipient of authorization requests and is reachable on the standard
   service host and port.

``http://127.0.0.1:8155/status``
   This endpoint provides current status information on the PEP daemon and is reachable on the standard
   admin host and port.

``http://127.0.0.1:8155/clearResponseCache``
   This endpoint instructs the PEP daemon to flush its PDP response cache. It is
   reachable on the standard admin host and port.

``http://127.0.0.1:8155/shutdown``
   This endpoint instructs the PEP
   daemon to shutdown and is reachable on the standard admin host and
   port.

.. note::
   Admin services may be password protected and thus not
   invokable without this password.

Logging and Logs
----------------

This service uses the `logback <http://logback.qos.ch/>`__ logging
library. Java developers are probably familiar with Apache Log4J,
logback is written by the developer who initially wrote Log4J and
contains a cleaner API and is much more performant. The configuration
file for the logging system can be found in
``$PEP_HOME/conf/logging.xml`` and changes to this file are picked up
every 5 minutes.

Enable Debug Logging
~~~~~~~~~~~~~~~~~~~~

To enable debug logging follow:

1. Locate the line that contains ``logger name="org.glite.authz"`` (line 10 in the default logging config)
2. On the following line, change ``INFO`` to ``DEBUG``

In some cases it may be helpful to see the incoming and outgoing
messages. To do this:

1. Locate the line that contains ``org.glite.authz.message.protocol`` (line 15 in the default logging config)
2. On the following line, change ``INFO`` to ``DEBUG``

.. note::
   Always change your logging levels back to their original values
   once you are done debugging a problem. Keeping the system on the debug
   logging level could fill up your disk partition in a short time.

Service Logs
~~~~~~~~~~~~

The service writes three different logs, located in ``$PEPD_HOME/logs``:

-  **process.log** - This log file contains the normal, human-oriented
   logging messages that the system generates while in operation. This
   can be thought of as the debug log (though that's really only true if
   configured to log debug messages).
-  **access.log** - This file is an Apache-style access log showing
   information about incoming requests. This log is meant to be machine
   parsed. Each line contains the following '\|' (pipe) delimited
   fields:

   -  request time - time of the request, in the UTC timezone, from the
      Unix epoch (Jan 1, 1970, 00:00:00 UTC)
   -  remote host - the hostname or IP address of the host that
      contacted the PDP
   -  server host - the hostname or IP address on which the server
      received the request
   -  server port - the port on which the server received the request
   -  request path - the URL path that was requested

-  **audit.log** - This file contains information useful for auditing
   the system (e.g. results of authorization requests). This log is
   meant to be machine parsed. Each line contains the following '\|'
   (pipe) delimited fields:

   -  request time - time of the request, in the UTC timezone, from the
      Unix epoch (Jan 1, 1970, 00:00:00 UTC)
   -  request ID - the ID of the authorization request
   -  responder ID - the URL of the PDP that responded to the
      authorization request
   -  response ID - the ID of the response message sent back from the
      PDP
   -  policy decision - the authorization decision that was reached


text:
#ifndef INCLUDE_git_time_h__
#define INCLUDE_git_time_h__

#include "git2/common.h"

GIT_BEGIN_DECL

/**
 * Return a monotonic time value, useful for measuring running time
 * and setting up timeouts.
 *
 * The returned value is an arbitrary point in time -- it can only be
 * used when comparing it to another `git_time_monotonic` call.
 *
 * The time is returned in seconds, with a decimal fraction that differs
 * on accuracy based on the underlying system, but should be least
 * accurate to Nanoseconds.
 *
 * This function cannot fail.
 */
GIT_EXTERN(double) git_time_monotonic(void);

GIT_END_DECL
#endif