Browse Source

thread view template work, fix #592: make thread events posts with special flag instead of separate model

Rafał Pitoń 9 years ago
parent
commit
12f8b7fec1

+ 1 - 0
frontend/style/index.less

@@ -36,6 +36,7 @@
 @import "@{bs}dropdowns.less";
 @import "@{bs}navs.less";
 @import "@{bs}navbar.less";
+@import "@{bs}breadcrumbs.less";
 @import "@{bs}alerts.less";
 @import "@{bs}progress-bars.less";
 @import "@{bs}media.less";

+ 8 - 0
frontend/style/misago/page-header.less

@@ -46,6 +46,14 @@
 }
 
 
+// Breadcrumbs
+.page-breadcrumbs .breadcrumb {
+  background: none;
+  padding-left: 0px;
+  padding-right: 0px;
+  margin-bottom: @line-height-computed * -1;
+}
+
 // Stats
 .header-stats .list-inline li {
   margin-right: 8px;

+ 7067 - 1
misago/static/misago/css/misago.css

@@ -1 +1,7067 @@
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.btn,.caret,img{vertical-align:middle}hr,img{border:0}body,figure{margin:0}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.img-thumbnail,.table,label{max-width:100%}.alerts-snackbar,.form-control-feedback,a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}dl,ol,ul{margin-top:0}.lead,address,dl{margin-bottom:20px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{font-size:16px;font-weight:300;line-height:1.4}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;border-bottom:1px solid #eee}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{font-style:normal}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.badge,.btn,.dropdown-header,.material-icon{white-space:nowrap}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}.media-object.img-thumbnail,.nav>li>a>img{max-width:none}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.btn-block,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;touch-action:manipulation;cursor:pointer;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle,.btn.active,.btn:active,.dropdown-toggle:focus,.modal,.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus,.modal-content,.navbar-toggle:focus,.open>a{outline:0}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block}.btn-block+.btn-block{margin-top:5px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.nav>li,.nav>li>a,.open>.dropdown-menu{display:block}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-header,.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.nav>li.disabled>a{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.nav>li,.nav>li>a,.navbar{position:relative}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.modal,.modal-backdrop{bottom:0;right:0;left:0;top:0}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{min-height:50px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.progress-bar{float:left}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.progress-bar{width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.badge,.material-icon{vertical-align:middle}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.badge,.pager{text-align:center}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.pager{padding-left:0;margin:20px 0;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.close,.list-group-item>.badge{float:right}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.close{font-weight:700;line-height:1}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{font-size:21px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;background-color:#777;border-radius:10px}.badge:empty,.modal{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.modal{position:fixed;z-index:1050;-webkit-overflow-scrolling:touch}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.alerts-snackbar,.auth-message{transition:top .3s ease;width:100%}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.affix,.auth-message{position:fixed}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.material-icon,.user-dropdown .dropdown-header strong{font-weight:400}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}.navbar.navbar-misago{min-height:auto}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.alerts-snackbar p,.navbar .navbar-full .navbar-brand>*{display:inline-block}.auth-message{background-color:#eee;padding:20px 0;top:-100%;left:0;z-index:1070}.auth-message.show{top:0;bottom:auto}.auth-message p{padding:5px 0;color:#222}@media screen and (max-width:991px){body,html{overflow-x:hidden}.auth-message{text-align:center}.auth-message .btn{padding:10px 16px;font-size:18px}}.alerts-snackbar{position:fixed;top:-100%;z-index:1060;text-align:center;font-size:18px}.nav-side>a>.material-icon,.navbar ul.navbar-compact-nav>li>a>.material-icon{font-size:24px;line-height:24px}.alerts-snackbar.in{top:0;transition:top .2s ease}.alerts-snackbar p{border-radius:0 0 4px 4px;margin:0;pointer-events:all}.loader{width:100%;height:49px;text-align:center}.loader.loader-spaced{margin:40px 0}.loader-spinning-wheel{width:49px;height:49px;margin:0 auto;border:3px solid #777;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:cssload-spin 575ms infinite linear;-o-animation:cssload-spin 575ms infinite linear;-ms-animation:cssload-spin 575ms infinite linear;-webkit-animation:cssload-spin 575ms infinite linear;-moz-animation:cssload-spin 575ms infinite linear}@keyframes cssload-spin{100%{transform:rotate(360deg)}}@-o-keyframes cssload-spin{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes cssload-spin{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes cssload-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes cssload-spin{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}.navbar{margin-bottom:0}.navbar .navbar-full .navbar-brand img{height:16px}.navbar .navbar-full .nav-guest,.navbar .navbar-full .nav-user{float:right}.navbar .navbar-full .nav-guest .navbar-btn,.navbar .navbar-full .nav-user .navbar-btn{margin-left:15px}.navbar .navbar-full .nav-user .dropdown-toggle{padding:8px}.navbar .navbar-full .nav-user .dropdown-toggle img{width:34px;height:34px}.navbar ul.navbar-compact-nav{margin:0;display:table;width:100%}.navbar ul.navbar-compact-nav>li{display:table-cell}.navbar ul.navbar-compact-nav>li>a,.navbar ul.navbar-compact-nav>li>button{background:0 0;border:none;padding-top:13px;padding-bottom:13px;display:block;width:100%;color:#777;text-align:center}.navbar ul.navbar-compact-nav>li>a:focus,.navbar ul.navbar-compact-nav>li>a:hover,.navbar ul.navbar-compact-nav>li>button:focus,.navbar ul.navbar-compact-nav>li>button:hover{color:#333;background-color:transparent}.navbar ul.navbar-compact-nav>li>a>img,.navbar ul.navbar-compact-nav>li>button>img{width:24px;height:24px}.navbar ul.navbar-compact-nav>li>button{padding-top:10px;padding-bottom:10px}.modal-body .form-group,.toolbar{min-height:34px}.nav-side>a>.material-icon{margin:-5px 10px -5px -5px;position:relative;bottom:2px;width:24px;height:24px}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local('Material Icons'),local('MaterialIcons-Regular'),url(../fonts/MaterialIcons-Regular.woff2) format('woff2'),url(../fonts/MaterialIcons-Regular.woff) format('woff'),url(../fonts/MaterialIcons-Regular.ttf) format('truetype')}.material-icon{font-family:'Material Icons';font-style:normal;display:inline-block;width:1em;height:1em;line-height:1;text-align:center;text-transform:none;letter-spacing:normal;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}@media screen and (max-width:991px){.modal-message{text-align:center}.modal-message .message-icon{margin:30px}.modal-message .message-icon .material-icon{font-size:160px}}@media screen and (min-width:992px){.modal-message .modal-body{padding-top:20px;padding-bottom:30px}.modal-message .message-icon{float:left;position:relative;left:7px}.modal-message .message-icon .material-icon{font-size:50px}.modal-message .message-body{margin-left:75px;margin-top:10px}.modal-message .message-body p{margin-top:20px}.modal-message .message-body .lead{margin-top:0;margin-bottom:0}.modal-body .form-group .control-label{position:relative;top:7px}}.modal-loader{padding:50px 0}.modal-loader .loader{width:100%;height:80px;text-align:center}.modal-loader .loader-spinning-wheel{width:80px;height:80px}.modal-register .modal-footer a{float:left;margin-top:6.67px}@media screen and (max-width:991px){.modal-register .modal-footer{text-align:center}.modal-register .modal-footer a{display:block}.modal-register .modal-footer .btn{display:block;float:none;margin-top:10px;width:100%}}.list-item-errors{margin-bottom:20px}.list-errored-items li:last-child .list-item-errors{margin-bottom:0}.has-feedback .material-icon.form-control-feedback{top:6px;right:24px;font-size:1.42857143;line-height:1.42857143}.well.well-form.well-done{font-size:18px;text-align:center}.well.well-form.well-done .message-icon{margin-bottom:10px;font-size:90px;line-height:90px}.well.well-form.well-done .message-body{margin-bottom:6.67px}.well.well-form.well-noscript{font-size:18px;text-align:center}.well.well-form.well-noscript .message-icon{margin-bottom:10px;font-size:90px;line-height:90px}.btn.btn-select,.btn.btn-yes-no{background:0 0;border:1px solid #eee}.btn.btn-select .material-icon,.btn.btn-yes-no .material-icon{margin:-4px 8px -4px 0;position:relative;bottom:1px;width:20px;height:20px;font-size:20px;line-height:20px}input.hidden-file-upload{position:absolute;top:-9999px;left:-9999px}.form-search{position:relative}.form-search .form-control{padding-right:30px}.form-search .material-icon{position:absolute;top:5px;right:5px;color:#777;font-size:24px;line-height:24px;pointer-events:none}.btn.btn-loading,.btn.btn-loading:active,.btn.btn-loading:focus,.btn.btn-loading:hover,.btn.btn-loading:link,.btn.btn-loading:visited{color:transparent}.btn.btn-loading .loader,.btn.btn-loading:active .loader,.btn.btn-loading:focus .loader,.btn.btn-loading:hover .loader,.btn.btn-loading:link .loader,.btn.btn-loading:visited .loader{height:20px;margin-top:-20px}.btn.btn-loading .loader>div,.btn.btn-loading:active .loader>div,.btn.btn-loading:focus .loader>div,.btn.btn-loading:hover .loader>div,.btn.btn-loading:link .loader>div,.btn.btn-loading:visited .loader>div{width:20px;height:20px}.btn.btn-loading.btn-default .loader>div{border-top-color:#333;border-bottom-color:#333}.btn.btn-loading.btn-danger .loader>div,.btn.btn-loading.btn-info .loader>div,.btn.btn-loading.btn-primary .loader>div,.btn.btn-loading.btn-success .loader>div,.btn.btn-loading.btn-warning .loader>div{border-top-color:#fff;border-bottom-color:#fff}.btn .material-icon{margin-right:3px;position:relative;bottom:1px}.btn-icon .material-icon{margin:-1px -4px;width:20px;height:20px;font-size:20px;line-height:20px}.dropdown-menu>li>.btn-link,.dropdown-menu>li>a,.modal-menu>li>.btn-link,.modal-menu>li>a{display:block;border:none;clear:both;float:none;padding:4px 20px;width:100%;color:#333;font-weight:400;line-height:1.42857143;text-align:left;white-space:nowrap}.pager-more,.pager-progress-bar,.panel-body-loading,.toolbar>p,.user-dropdown .guest-preview{text-align:center}.dropdown-menu>li>.btn-link:focus,.dropdown-menu>li>.btn-link:hover,.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.modal-menu>li>.btn-link:focus,.modal-menu>li>.btn-link:hover,.modal-menu>li>a:focus,.modal-menu>li>a:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.dropdown-menu>li>.btn-link .material-icon,.dropdown-menu>li>a .material-icon,.modal-menu>li>.btn-link .material-icon,.modal-menu>li>a .material-icon{margin:-2px 7px -2px 0;position:relative;bottom:1px;font-size:18px}.dropdown-menu>li>.btn-link .badge,.dropdown-menu>li>a .badge,.modal-menu>li>.btn-link .badge,.modal-menu>li>a .badge{float:right}.modal-menu{margin:20px 0;padding:0}.modal-menu>li{margin:6.67px 0;padding:0;list-style:none}.dropdown-menu{width:210px}.dropdown-menu .dropdown-footer{padding:6px 20px}.dropdown-menu .dropdown-buttons{padding:2px 20px}.dropdown-menu .dropdown-buttons .btn{margin:4px 0}.compact-nav,.mobile-dropdown{position:static;margin:0;overflow:auto}.compact-nav.open,.mobile-dropdown.open{margin-bottom:20px}.compact-nav.open{margin-top:-20px}.compact-nav.open>.dropdown-menu,.mobile-dropdown.open>.dropdown-menu{border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;display:block;margin:0;width:100%;position:static}.user-dropdown .guest-preview .row{margin:0}.navbar .user-dropdown{width:240px}.user-dropdown .dropdown-header{padding:6px 20px;font-size:18px}@media screen and (min-width:992px){.category-picker .dropdown-menu{width:300px}.page-header.tabbed{padding-bottom:0}}.category-picker .dropdown-menu>li>.btn-link{white-space:normal;word-wrap:break-word}.page-header{margin:0 0 20px}.page-header .btn-aligned{float:right;margin-top:23px;margin-left:8px}.page-header .btn-aligned.pull-left{margin-left:0;margin-right:8px}@media screen and (max-width:991px){.container h1{font-size:22.5px}.container .btn-aligned{float:right;margin-top:13px}.container .btn-icon .material-icon{width:24px;height:24px;font-size:24px;line-height:24px}}.header-stats .list-inline li{margin-right:8px}.header-stats .list-inline li .status-icon{width:18px;height:18px;margin-right:4px;position:relative;bottom:1px;font-size:18px;line-height:18px}@media screen and (max-width:991px){.header-stats .list-inline{margin-top:10px;margin-bottom:0;font-size:12px}}.page-header .page-tabs .nav>li{margin:0}.page-header .page-tabs .nav>li>a{border-radius:0}@media screen and (max-width:991px){.page-header .page-tabs{margin-top:9px;margin-bottom:-9px}.page-header .page-tabs .container{padding:0;width:100%}.page-header .page-tabs .container .nav-pills li{display:block;float:inherit;width:auto}.panel-message-body{text-align:center}.panel-message-body .message-icon{margin:30px}.panel-message-body .message-icon .material-icon{font-size:160px}}.pager-progress-bar li,.ui-preview-text{display:inline-block}@media screen and (min-width:992px){.panel-message-body{padding:20px 20px 30px}.panel-message-body .message-icon{float:left}.panel-message-body .message-icon .material-icon{font-size:50px}.panel-message-body .message-body{margin-left:75px;margin-top:10px}.panel-message-body .message-body .lead{margin-bottom:0}.panel-message-body .message-body .help-block{margin-top:13.2px}}.panel-body-loading{padding:0}.misago-footer{margin-top:30px;margin-bottom:50px}.misago-footer .footer-content{border-top:1px solid #eee;padding-top:30px}.misago-footer .noscript-message .material-icon{position:relative;bottom:1px;font-size:18px}.ui-preview{color:#eee;-webkit-animation:ui-preview-animation 1s linear infinite;-o-animation:ui-preview-animation 1s linear infinite;animation:ui-preview-animation 1s linear infinite}@keyframes ui-preview-animation{0%,100%{opacity:1;filter:alpha(opacity=100)}50%{opacity:.1;filter:alpha(opacity=10)}}.ui-preview-text{background:#eee;border-radius:100px;height:14px;position:relative;top:3px}.ui-preview-paragraph .ui-preview-text{margin-right:6px}.ui-preview-paragraph .ui-preview-text:last-child{margin-right:0}.ui-preview-img{background:#eee;border-radius:5px}.pager-undercontent{margin-top:-20px}.pager-progress-bar{list-style:none;margin:-46px 0 0;padding:0;overflow:auto}.pager-progress-bar li a{padding:0 6px}.pager-progress-bar li.active a{font-weight:700}@media screen and (min-width:992px){.pager-more .btn{padding-left:20px;padding-right:20px}}.misago-pagination{overflow:auto}.misago-pagination .pagination{float:left;margin:0 10px 0 0}.misago-pagination .pagination a{padding:2px}.misago-pagination .pagination .material-icon{width:28px;height:28px;font-size:28px;line-height:28px}.misago-pagination p{float:left;margin:0;padding:7px}.user-status.user-banned .status-icon{color:#d9534f}.user-status.user-online .status-icon{color:#5cb85c}.user-status.user-offline .status-icon{color:#777}.user-card{background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:20px;overflow:hidden}.user-card-bg-image .bg-image{display:none}.user-card .user-details{padding:6px 12px;overflow:auto}.user-card .user-details .user-avatar{float:left}.user-card .user-details .user-avatar img{width:60px;height:60px}.user-card .user-name{margin-left:76px}.user-card .user-name .item-title{font-size:18px}@media screen and (max-width:991px){.user-card .user-details .user-avatar img{width:46px;height:46px}.user-card .user-name{margin-left:58px;margin-top:5px;margin-bottom:6px}}.user-card .user-subscript{margin-left:76px;margin-bottom:0;overflow:auto;color:#777;font-size:9.24px}.item-title,a.item-title:active,a.item-title:hover,a.item-title:link,a.item-title:visited{color:#333;font-weight:700}.user-card .user-subscript>*{display:block;float:left;height:auto;padding:0;margin:0 8px 0 0}@media screen and (max-width:991px){.user-card .user-subscript{margin-left:58px}}.user-card .user-subscript .ui-preview-text{position:relative;top:auto;height:9.24px;font-size:9.24px;line-height:9.24px}.user-card .user-status .status-icon{margin-right:2px;position:relative;bottom:1px;width:11px;height:11px;font-size:11px;line-height:11px}.user-card .user-status .status-icon.ui-preview-text{margin-right:3px;position:relative;bottom:0;width:12px;height:12px;font-size:12px;line-height:12px}.user-card .user-card-stats{border-top:1px solid #eee;display:table;table-layout:fixed;width:100%}.user-card .user-card-stats ul{display:table-row}.user-card .user-card-stats ul li{display:table-cell;overflow:auto;padding:6px 12px;font-size:12px;font-weight:700;text-align:center}.user-card .user-card-stats .ui-preview-text{position:static;height:12px;font-size:12px;line-height:12px}.toolbar{display:block;margin-bottom:10px}.toolbar.toolbar-bottom{margin-top:10px;margin-bottom:20px}.toolbar>h3{font-size:18px}.toolbar>p{padding:6px 0}@media screen and (min-width:992px){.toolbar .toolbar-left{float:left;margin-right:16px}.toolbar .toolbar-right{float:right;margin-left:16px}.toolbar .toolbar-bottom>.form-control,.toolbar .toolbar-control{margin:0;width:auto}.toolbar>h3,.toolbar>p{min-height:34px;margin:0;padding-top:6px;text-align:left}.toolbar>p{padding-top:7px}}.item-title{text-decoration:none}a.item-title:hover{text-decoration:underline}.message-line{text-align:center}.message-line .material-icon{margin-right:6.67px;font-size:20px;line-height:20px;height:20px;width:20px}.modal-change-avatar .modal-avatar-index .avatar-preview{border-radius:6px;margin:0 auto;overflow:hidden;position:relative;width:200px;height:200px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{display:none;position:absolute;top:50px;height:100px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{border-width:10px;border-color:#fff transparent;width:100px;height:100px}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img{opacity:.33;filter:alpha(opacity=33)}.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader{display:block}@media (max-width:767px){.modal-change-avatar .modal-avatar-index .avatar-preview{margin-bottom:20px;width:150px;height:150px}.modal-change-avatar .modal-avatar-index .avatar-preview img{width:150px;height:150px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader{top:25px;height:100px}.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel{width:100px;height:100px}}.modal-change-avatar .modal-avatar-index .btn{text-align:left}.modal-change-avatar .modal-avatar-upload{text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file{background:0 0;border:2px solid #eee;border-radius:6px;padding:10px 24px;-webkit-box-shadow:none;box-shadow:none;color:#777;font-size:18px;text-align:center}.modal-change-avatar .modal-avatar-upload .btn-pick-file>.material-icon{display:block;margin:0 auto 13.2px;font-size:50px;width:50px;height:50px}.modal-change-avatar .modal-avatar-upload .btn-pick-file:active,.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover{border-color:#777}.modal-change-avatar .modal-avatar-upload .text-muted{margin-top:13.2px}.modal-change-avatar .modal-avatar-upload .upload-progress img{border-radius:4px;margin-bottom:20px;max-height:80px;width:auto}.modal-change-avatar .modal-avatar-upload .upload-progress .progress{width:70%;margin:0 auto}.modal-avatar-crop .crop-form{margin:0 auto}.modal-avatar-crop .crop-form .cropit-image-zoom-input{margin-top:10px;-webkit-appearance:none;border:1px solid #fff;width:100%}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track{width:100%;height:8px;background:#eee;border:none;border-radius:3px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb{-webkit-appearance:none;border:none;height:20px;width:20px;border-radius:50%;background:#777;margin-top:-6px}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track{background:#eee}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track{width:100%;height:8px;background:#eee;border:none;border-radius:4px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb{border:none;height:20px;width:20px;border-radius:50%;background:#777}.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track{width:100%;height:8px;background:0 0;border-color:transparent;border-width:8px 0;color:transparent}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower{background:#eee;border-radius:16px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper{background:#eee;border-radius:16px}.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb{border:none;height:20px;width:20px;border-radius:50%;background:#777}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower{background:#eee}.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper{background:#eee}.modal-change-avatar .modal-avatar-gallery{padding-bottom:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery{margin-bottom:20px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3{margin-top:0}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row{margin-bottom:10px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn{border-radius:6px;border:2px solid #eee;background:0 0;padding:2px}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover{border-color:#777}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active{border-color:#337ab7}.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img{border-radius:4px;width:100%}.list-inline.subcategories-list{overflow:auto;margin-top:-10px}.list-inline.subcategories-list li{display:block;float:left}.list-inline.subcategories-list li a,.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:focus,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li a:link,.list-inline.subcategories-list li a:visited{background-color:#eee;border:1px solid #e2e2e2;border-radius:4px;display:inline-block;margin-top:10px;padding:6px 12px;color:#555}.list-inline.subcategories-list li a:active,.list-inline.subcategories-list li a:hover,.list-inline.subcategories-list li:focus{background-color:#e2e2e2;color:#333;text-decoration:none}.panel-category .panel-heading.heading-alone{border-radius:4px;border-bottom:none}.panel-category .panel-title,.panel-category h4{overflow:auto;margin:0;padding:0;font-size:18px}.panel-category .panel-title a,.panel-category h4 a{display:block;float:left;margin-top:1px}.panel-category .panel-title .read-status,.panel-category h4 .read-status{float:left;cursor:help}.panel-category .panel-title .read-status .material-icon,.panel-category h4 .read-status .material-icon{margin:0 4px 0 0;width:26px;position:relative;bottom:1px;color:#777;font-size:24px;line-height:24px;text-align:center}.panel-category .panel-title .read-status.item-new .material-icon,.panel-category h4 .read-status.item-new .material-icon{color:#5cb85c}.panel-category .category-description p:last-child,.panel-category .subcategory-description p:last-child{margin-bottom:0}.panel-category .subcategory-description{margin-top:10px;font-size:12px}.panel-category .category-subcategories .subcategories-list{margin-top:0}.panel-category .category-subcategories .subcategories-list a,.panel-category .category-subcategories .subcategories-list a:active,.panel-category .category-subcategories .subcategories-list a:focus,.panel-category .category-subcategories .subcategories-list a:hover,.panel-category .category-subcategories .subcategories-list a:link,.panel-category .category-subcategories .subcategories-list a:visited{margin-top:10px;padding:5px 10px;font-size:12px}.category-last-post,.category-thread-message{margin-top:6px;margin-bottom:0}.category-thread-message{overflow:auto}.category-thread-message .material-icon{display:block;float:left;margin-right:4px;position:relative;top:1px;font-size:18px;line-height:18px}@media screen and (max-width:991px){.panel-category .panel-title,.panel-category h4{margin-top:3px}.panel-category .category-stats{display:none}.panel-category .category-last-activity{margin-bottom:0}.panel-category .category-last-activity .thread-title{float:none;clear:both;overflow:hidden;margin-top:10px;margin-bottom:4px;padding-right:0;white-space:nowrap;text-overflow:ellipsis}.panel-category .category-last-activity .poster-name,.panel-category .category-last-activity .thread-date{font-size:12px}.panel-category .category-last-activity .thread-date{position:relative;top:1px}.panel-category .thread-message{padding-top:4px;font-size:small}.panel-category .thread-message .material-icon{position:relative;top:-1px}}@media screen and (min-width:992px){.panel-category .category-stats{float:right;margin:-23px 0 0;overflow:auto}.panel-category .category-stats li{display:block;float:left}.panel-category .category-last-activity{margin-top:4px;margin-bottom:0}}@media screen and (max-width:991px){.page-error .message-panel,.page-message .message-panel{text-align:center}.page-error .message-icon,.page-message .message-icon{margin:30px}.page-error .message-icon .material-icon,.page-message .message-icon .material-icon{font-size:160px}.threads-list .thread-icon{width:46px}}@media screen and (min-width:992px){.page-error .message-panel,.page-message .message-panel{margin:60px auto;max-width:779.35px;overflow:auto}.page-error .message-icon,.page-message .message-icon{float:left}.page-error .message-icon .material-icon,.page-message .message-icon .material-icon{font-size:80px}.page-error .message-body,.page-message .message-body{margin-top:4px;margin-left:100px}}.threads-list{margin-bottom:20px}.threads-list .thread-new,.threads-list .thread-preview,.threads-list .thread-read{padding-left:0;padding-right:0}.threads-list .thread-icon{float:left;width:46px;padding-top:2px;text-align:center}.thread-ops-one .thread-options{float:right;width:46px}@media screen and (max-width:991px){.thread-ops-one .thread-options{width:8px}}.thread-ops-two .thread-options{float:right;width:100px}.thread-main{margin-left:46px;margin-right:10px}.thread-ops-one .thread-main{margin-right:46px}@media screen and (max-width:991px){.thread-ops-two .thread-options{width:8px}.thread-main{margin-left:46px;padding-top:2px}.thread-ops-one .thread-main{margin-right:8px}}.thread-ops-two .thread-main{margin-right:100px}@media screen and (max-width:991px){.thread-ops-two .thread-main{margin-right:8px}}.threads-list .read-status .material-icon{width:24px;height:24px;color:#777;font-size:24px;line-height:24px}.threads-list .thread-new .read-status .material-icon{color:#5cb85c}.threads-list .thread-preview .read-status .material-icon{color:#eee}.threads-list .thread-icon .loader{height:24px}.threads-list .thread-icon .loader-spinning-wheel{width:24px;height:24px;border-color:#b7b7b7 transparent}.threads-list .thread-flags{display:none;margin-left:auto;margin-right:auto;position:relative;bottom:4px;color:#777;pointer-events:none}@media screen and (max-width:991px){.threads-list .thread-flags{display:block;margin:0;padding:0}}.threads-list .thread-flags li{margin:0 2px}.threads-list .thread-flags .material-icon{font-size:10px;line-height:10px}.threads-list .thread-title,.threads-list .thread-title:active,.threads-list .thread-title:focus,.threads-list .thread-title:hover,.threads-list .thread-title:link,.threads-list .thread-title:visited{color:#777;font-size:18px;font-weight:400;word-wrap:break-word}.threads-list .thread-title .ui-preview-text,.threads-list .thread-title:active .ui-preview-text,.threads-list .thread-title:focus .ui-preview-text,.threads-list .thread-title:hover .ui-preview-text,.threads-list .thread-title:link .ui-preview-text,.threads-list .thread-title:visited .ui-preview-text{height:18px}@media screen and (max-width:991px){.threads-list .thread-title,.threads-list .thread-title:active,.threads-list .thread-title:focus,.threads-list .thread-title:hover,.threads-list .thread-title:link,.threads-list .thread-title:visited{font-size:14px;font-weight:700}.threads-list .thread-title .ui-preview-text,.threads-list .thread-title:active .ui-preview-text,.threads-list .thread-title:focus .ui-preview-text,.threads-list .thread-title:hover .ui-preview-text,.threads-list .thread-title:link .ui-preview-text,.threads-list .thread-title:visited .ui-preview-text{height:14px}}.threads-list .thread-new .thread-title,.threads-list .thread-new .thread-title:active,.threads-list .thread-new .thread-title:focus,.threads-list .thread-new .thread-title:hover,.threads-list .thread-new .thread-title:link,.threads-list .thread-new .thread-title:visited{color:#333}.threads-list .thread-details-full{display:block;float:none;margin:5px 0 0;padding:0;overflow:auto;font-size:12px}@media screen and (max-width:991px){.threads-list .thread-details-full{display:none}}.threads-list .thread-details-full>li{display:block;float:left;margin:0 6px 0 0;padding:0;overflow:auto}.threads-list .thread-details-full>li .material-icon{position:relative;top:1px;float:left;margin-right:2px;font-size:14px;line-height:14px}.threads-list .thread-details-full>li .icon-legend{float:left}.threads-list .thread-details-full>li .ui-preview-text{height:12px}.threads-list .thread-details-full>li.thread-path a{float:left}.threads-list .thread-details-compact{display:none;float:none;margin:5px 0 0;padding:0;overflow:auto;color:#777;font-size:9.24px}.threads-list .thread-details-compact>li{display:block;float:left;margin:0 6px 0 0;padding:0}.threads-list .thread-details-compact>li .material-icon{position:relative;top:-1px;margin-right:2px;font-size:10.24px;line-height:10.24px}.threads-list .thread-details-compact>li .ui-preview-text{height:9.24px}.threads-list .thread-path .material-icon{margin:0 2px}.threads-list .thread-options>ul{margin:0;padding:0}.threads-list .thread-options>ul>li{float:right}.threads-list .thread-options .btn-default{padding:4px;color:#777}.threads-list .thread-options .btn-default:active,.threads-list .thread-options .btn-default:hover{color:#555}@media screen and (max-width:991px){.threads-list .thread-details-compact{display:block}.threads-list .thread-options{overflow:visible;position:relative;width:100px}.threads-list .thread-options>ul{position:absolute;top:-3px;right:2px}.threads-list .thread-options>ul>li{overflow:hidden}.threads-list .thread-options .btn-default{background:0 0;opacity:.33}.threads-list .thread-options .btn-default:active,.threads-list .thread-options .btn-default:hover{background:#fff;opacity:1}}.threads-list .thread-options .btn-default .material-icon{margin:0;position:relative;top:0;width:20px;height:20px;font-size:20px;line-height:20px}.threads-list .thread-options .btn-default .icon-legend{display:none}.threads-diff-message{padding:0}.threads-diff-message .btn{border:none;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:10px 16px;width:100%;overflow:none;text-align:left}.threads-diff-message .btn .material-icon{margin-right:4px;width:24px;font-size:24px;height:24px}@media screen and (max-width:991px){.threads-diff-message .btn{text-align:center;white-space:normal;word-wrap:break-word}.threads-diff-message .btn .material-icon{display:none}.active-posters .rank-user-avatar{height:42px}.active-posters .rank-user-avatar img{width:36px;height:36px;position:relative;top:3px}}.threads-list .thread-busy .thread-flags,.threads-list .thread-busy .thread-main,.threads-list .thread-busy .thread-options{-webkit-animation:thread-busy-animation .6s linear infinite;-o-animation:thread-busy-animation .6s linear infinite;animation:thread-busy-animation .6s linear infinite}@keyframes thread-busy-animation{0%,100%{opacity:.2;filter:alpha(opacity=20)}50%{opacity:.5;filter:alpha(opacity=50)}}.active-posters li{display:block;overflow:auto}.active-posters .rank-user-avatar{float:left}.active-posters .rank-user{float:left;margin-top:3px}@media screen and (max-width:991px){.active-posters .rank-user{margin-left:13.2px;width:40%}}@media screen and (min-width:992px){.active-posters .rank-user{margin-left:16px;width:25%}.active-posters .rank-user .user-name{font-size:18px}}.active-posters .user-details{overflow:auto}.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{display:block;float:left;margin-right:3px;font-size:10.5px}.active-posters .user-status{overflow:auto;position:relative;top:1px}.active-posters .user-status span{display:block;float:left}@media screen and (min-width:992px){.active-posters .user-details .rank-name,.active-posters .user-details .user-status,.active-posters .user-details .user-title{margin-right:8px;font-size:12px}.active-posters .user-status{height:14px}}.active-posters .user-status .status-icon{position:relative}@media screen and (max-width:991px){.active-posters .user-status .status-icon{top:0;width:12px;height:12px;font-size:12px;line-height:12px}}@media screen and (min-width:992px){.active-posters .user-status .status-icon{top:1px;margin-right:3px;width:13px;height:13px;font-size:13px;line-height:13px}}.active-posters .rank-name .ui-preview-text,.active-posters .status-label.ui-preview-text,.active-posters .user-title .ui-preview-text{height:11px;position:relative;top:2px;font-size:11px;line-height:11px}.active-posters .rank-name .ui-preview-text,.active-posters .user-title .ui-preview-text{position:static}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{display:block}@media screen and (max-width:991px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{overflow:auto}.active-posters .rank-position small,.active-posters .rank-position strong,.active-posters .rank-posts-counted small,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total small,.active-posters .rank-posts-total strong{float:left;font-size:10.5px}.active-posters .rank-position strong,.active-posters .rank-posts-counted strong,.active-posters .rank-posts-total strong{min-width:30px;margin-right:3px;text-align:right}.active-posters .rank-position .ui-preview-text,.active-posters .rank-posts-counted .ui-preview-text,.active-posters .rank-posts-total .ui-preview-text{height:8px;position:relative;top:-1px;font-size:8px;line-height:8px}}@media screen and (min-width:992px){.active-posters .rank-position,.active-posters .rank-posts-counted,.active-posters .rank-posts-total{float:left;margin-top:3px;width:23%;font-size:18px;text-align:center}.active-posters .rank-position small,.active-posters .rank-posts-counted small,.active-posters .rank-posts-total small{font-size:12px;font-weight:400}}@media screen and (max-width:991px){.active-posters .rank-position{margin-top:6px}.active-posters .rank-posts-total{display:none}.page-user-profile .page-header h1 img{width:40px;height:40px}.page-user-profile .page-header h1.pull-left img{margin-right:6px}.page-user-profile .page-header h1 .user-name{position:relative;top:2px}.page-user-profile .page-header .btn-aligned{position:relative;top:8px}.page-user-profile .page-header .header-stats ul{text-align:center}.page-user-profile .page-header .header-stats ul li{display:inline-block;white-space:nowrap}.page-user-profile .profile-side-avatar{display:none}}@media screen and (min-width:992px){.page-user-profile .page-header h1 img{display:none}.header-stats ul li{display:block;float:left}.page-user-profile .profile-side-avatar img{width:100%;height:auto;margin-top:-110px;margin-bottom:20px}.username-history li{display:block;overflow:auto}}.username-history .change-avatar{float:left}.username-history .change-avatar a,.username-history .change-avatar span{margin-right:10px}.username-history .change-avatar a img,.username-history .change-avatar span img{width:42px;height:42px}.username-history .change{min-height:20px;overflow:auto}.username-history .change span{display:block;float:left}.username-history .change .material-icon{margin:0 7px;position:relative;top:4px}@media screen and (min-width:992px){.username-history .change-avatar a img,.username-history .change-avatar span img{width:18px;height:18px;position:relative;bottom:1px}.username-history .change-author{float:left;width:30%}.username-history .change{float:left;width:40%}.username-history .change-date{float:left;width:20%}}
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+  font-family: sans-serif;
+  -ms-text-size-adjust: 100%;
+  -webkit-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background-color: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+mark {
+  background: #ff0;
+  color: #000;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit;
+  font: inherit;
+  margin: 0;
+}
+button {
+  overflow: visible;
+}
+button,
+select {
+  text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box;
+  padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+legend {
+  border: 0;
+  padding: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+td,
+th {
+  padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+  *,
+  *:before,
+  *:after {
+    background: transparent !important;
+    color: #000 !important;
+    box-shadow: none !important;
+    text-shadow: none !important;
+  }
+  a,
+  a:visited {
+    text-decoration: underline;
+  }
+  a[href]:after {
+    content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+    content: " (" attr(title) ")";
+  }
+  a[href^="#"]:after,
+  a[href^="javascript:"]:after {
+    content: "";
+  }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+    page-break-inside: avoid;
+  }
+  thead {
+    display: table-header-group;
+  }
+  tr,
+  img {
+    page-break-inside: avoid;
+  }
+  img {
+    max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3;
+  }
+  h2,
+  h3 {
+    page-break-after: avoid;
+  }
+  .navbar {
+    display: none;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+    border-top-color: #000 !important;
+  }
+  .label {
+    border: 1px solid #000;
+  }
+  .table {
+    border-collapse: collapse !important;
+  }
+  .table td,
+  .table th {
+    background-color: #fff !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+    border: 1px solid #ddd !important;
+  }
+}
+* {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+*:before,
+*:after {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+html {
+  font-size: 10px;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #333333;
+  background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit;
+}
+a {
+  color: #337ab7;
+  text-decoration: none;
+}
+a:hover,
+a:focus {
+  color: #23527c;
+  text-decoration: underline;
+}
+a:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+figure {
+  margin: 0;
+}
+img {
+  vertical-align: middle;
+}
+.img-responsive {
+  display: block;
+  max-width: 100%;
+  height: auto;
+}
+.img-rounded {
+  border-radius: 6px;
+}
+.img-thumbnail {
+  padding: 4px;
+  line-height: 1.42857143;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-radius: 4px;
+  -webkit-transition: all 0.2s ease-in-out;
+  -o-transition: all 0.2s ease-in-out;
+  transition: all 0.2s ease-in-out;
+  display: inline-block;
+  max-width: 100%;
+  height: auto;
+}
+.img-circle {
+  border-radius: 50%;
+}
+hr {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border: 0;
+  border-top: 1px solid #eeeeee;
+}
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  clip: auto;
+}
+[role="button"] {
+  cursor: pointer;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+  font-family: inherit;
+  font-weight: 500;
+  line-height: 1.1;
+  color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+  font-weight: normal;
+  line-height: 1;
+  color: #777777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+  font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+  font-size: 75%;
+}
+h1,
+.h1 {
+  font-size: 36px;
+}
+h2,
+.h2 {
+  font-size: 30px;
+}
+h3,
+.h3 {
+  font-size: 24px;
+}
+h4,
+.h4 {
+  font-size: 18px;
+}
+h5,
+.h5 {
+  font-size: 14px;
+}
+h6,
+.h6 {
+  font-size: 12px;
+}
+p {
+  margin: 0 0 10px;
+}
+.lead {
+  margin-bottom: 20px;
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 1.4;
+}
+@media (min-width: 768px) {
+  .lead {
+    font-size: 21px;
+  }
+}
+small,
+.small {
+  font-size: 85%;
+}
+mark,
+.mark {
+  background-color: #fcf8e3;
+  padding: .2em;
+}
+.text-left {
+  text-align: left;
+}
+.text-right {
+  text-align: right;
+}
+.text-center {
+  text-align: center;
+}
+.text-justify {
+  text-align: justify;
+}
+.text-nowrap {
+  white-space: nowrap;
+}
+.text-lowercase {
+  text-transform: lowercase;
+}
+.text-uppercase {
+  text-transform: uppercase;
+}
+.text-capitalize {
+  text-transform: capitalize;
+}
+.text-muted {
+  color: #777777;
+}
+.text-primary {
+  color: #337ab7;
+}
+a.text-primary:hover,
+a.text-primary:focus {
+  color: #286090;
+}
+.text-success {
+  color: #3c763d;
+}
+a.text-success:hover,
+a.text-success:focus {
+  color: #2b542c;
+}
+.text-info {
+  color: #31708f;
+}
+a.text-info:hover,
+a.text-info:focus {
+  color: #245269;
+}
+.text-warning {
+  color: #8a6d3b;
+}
+a.text-warning:hover,
+a.text-warning:focus {
+  color: #66512c;
+}
+.text-danger {
+  color: #a94442;
+}
+a.text-danger:hover,
+a.text-danger:focus {
+  color: #843534;
+}
+.bg-primary {
+  color: #fff;
+  background-color: #337ab7;
+}
+a.bg-primary:hover,
+a.bg-primary:focus {
+  background-color: #286090;
+}
+.bg-success {
+  background-color: #dff0d8;
+}
+a.bg-success:hover,
+a.bg-success:focus {
+  background-color: #c1e2b3;
+}
+.bg-info {
+  background-color: #d9edf7;
+}
+a.bg-info:hover,
+a.bg-info:focus {
+  background-color: #afd9ee;
+}
+.bg-warning {
+  background-color: #fcf8e3;
+}
+a.bg-warning:hover,
+a.bg-warning:focus {
+  background-color: #f7ecb5;
+}
+.bg-danger {
+  background-color: #f2dede;
+}
+a.bg-danger:hover,
+a.bg-danger:focus {
+  background-color: #e4b9b9;
+}
+.page-header {
+  padding-bottom: 9px;
+  margin: 40px 0 20px;
+  border-bottom: 1px solid #eeeeee;
+}
+ul,
+ol {
+  margin-top: 0;
+  margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+  margin-bottom: 0;
+}
+.list-unstyled {
+  padding-left: 0;
+  list-style: none;
+}
+.list-inline {
+  padding-left: 0;
+  list-style: none;
+  margin-left: -5px;
+}
+.list-inline > li {
+  display: inline-block;
+  padding-left: 5px;
+  padding-right: 5px;
+}
+dl {
+  margin-top: 0;
+  margin-bottom: 20px;
+}
+dt,
+dd {
+  line-height: 1.42857143;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: 0;
+}
+@media (min-width: 768px) {
+  .dl-horizontal dt {
+    float: left;
+    width: 160px;
+    clear: left;
+    text-align: right;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  .dl-horizontal dd {
+    margin-left: 180px;
+  }
+}
+abbr[title],
+abbr[data-original-title] {
+  cursor: help;
+  border-bottom: 1px dotted #777777;
+}
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+blockquote {
+  padding: 10px 20px;
+  margin: 0 0 20px;
+  font-size: 17.5px;
+  border-left: 5px solid #eeeeee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+  margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+  display: block;
+  font-size: 80%;
+  line-height: 1.42857143;
+  color: #777777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+  content: '\2014 \00A0';
+}
+.blockquote-reverse,
+blockquote.pull-right {
+  padding-right: 15px;
+  padding-left: 0;
+  border-right: 5px solid #eeeeee;
+  border-left: 0;
+  text-align: right;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+  content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+  content: '\00A0 \2014';
+}
+address {
+  margin-bottom: 20px;
+  font-style: normal;
+  line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #c7254e;
+  background-color: #f9f2f4;
+  border-radius: 4px;
+}
+kbd {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: #fff;
+  background-color: #333;
+  border-radius: 3px;
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+kbd kbd {
+  padding: 0;
+  font-size: 100%;
+  font-weight: bold;
+  box-shadow: none;
+}
+pre {
+  display: block;
+  padding: 9.5px;
+  margin: 0 0 10px;
+  font-size: 13px;
+  line-height: 1.42857143;
+  word-break: break-all;
+  word-wrap: break-word;
+  color: #333333;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+}
+pre code {
+  padding: 0;
+  font-size: inherit;
+  color: inherit;
+  white-space: pre-wrap;
+  background-color: transparent;
+  border-radius: 0;
+}
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+.container {
+  margin-right: auto;
+  margin-left: auto;
+  padding-left: 15px;
+  padding-right: 15px;
+}
+@media (min-width: 768px) {
+  .container {
+    width: 750px;
+  }
+}
+@media (min-width: 992px) {
+  .container {
+    width: 970px;
+  }
+}
+@media (min-width: 1200px) {
+  .container {
+    width: 1170px;
+  }
+}
+.container-fluid {
+  margin-right: auto;
+  margin-left: auto;
+  padding-left: 15px;
+  padding-right: 15px;
+}
+.row {
+  margin-left: -15px;
+  margin-right: -15px;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+  position: relative;
+  min-height: 1px;
+  padding-left: 15px;
+  padding-right: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+  float: left;
+}
+.col-xs-12 {
+  width: 100%;
+}
+.col-xs-11 {
+  width: 91.66666667%;
+}
+.col-xs-10 {
+  width: 83.33333333%;
+}
+.col-xs-9 {
+  width: 75%;
+}
+.col-xs-8 {
+  width: 66.66666667%;
+}
+.col-xs-7 {
+  width: 58.33333333%;
+}
+.col-xs-6 {
+  width: 50%;
+}
+.col-xs-5 {
+  width: 41.66666667%;
+}
+.col-xs-4 {
+  width: 33.33333333%;
+}
+.col-xs-3 {
+  width: 25%;
+}
+.col-xs-2 {
+  width: 16.66666667%;
+}
+.col-xs-1 {
+  width: 8.33333333%;
+}
+.col-xs-pull-12 {
+  right: 100%;
+}
+.col-xs-pull-11 {
+  right: 91.66666667%;
+}
+.col-xs-pull-10 {
+  right: 83.33333333%;
+}
+.col-xs-pull-9 {
+  right: 75%;
+}
+.col-xs-pull-8 {
+  right: 66.66666667%;
+}
+.col-xs-pull-7 {
+  right: 58.33333333%;
+}
+.col-xs-pull-6 {
+  right: 50%;
+}
+.col-xs-pull-5 {
+  right: 41.66666667%;
+}
+.col-xs-pull-4 {
+  right: 33.33333333%;
+}
+.col-xs-pull-3 {
+  right: 25%;
+}
+.col-xs-pull-2 {
+  right: 16.66666667%;
+}
+.col-xs-pull-1 {
+  right: 8.33333333%;
+}
+.col-xs-pull-0 {
+  right: auto;
+}
+.col-xs-push-12 {
+  left: 100%;
+}
+.col-xs-push-11 {
+  left: 91.66666667%;
+}
+.col-xs-push-10 {
+  left: 83.33333333%;
+}
+.col-xs-push-9 {
+  left: 75%;
+}
+.col-xs-push-8 {
+  left: 66.66666667%;
+}
+.col-xs-push-7 {
+  left: 58.33333333%;
+}
+.col-xs-push-6 {
+  left: 50%;
+}
+.col-xs-push-5 {
+  left: 41.66666667%;
+}
+.col-xs-push-4 {
+  left: 33.33333333%;
+}
+.col-xs-push-3 {
+  left: 25%;
+}
+.col-xs-push-2 {
+  left: 16.66666667%;
+}
+.col-xs-push-1 {
+  left: 8.33333333%;
+}
+.col-xs-push-0 {
+  left: auto;
+}
+.col-xs-offset-12 {
+  margin-left: 100%;
+}
+.col-xs-offset-11 {
+  margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+  margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+  margin-left: 75%;
+}
+.col-xs-offset-8 {
+  margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+  margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+  margin-left: 50%;
+}
+.col-xs-offset-5 {
+  margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+  margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+  margin-left: 25%;
+}
+.col-xs-offset-2 {
+  margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+  margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+  margin-left: 0%;
+}
+@media (min-width: 768px) {
+  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+    float: left;
+  }
+  .col-sm-12 {
+    width: 100%;
+  }
+  .col-sm-11 {
+    width: 91.66666667%;
+  }
+  .col-sm-10 {
+    width: 83.33333333%;
+  }
+  .col-sm-9 {
+    width: 75%;
+  }
+  .col-sm-8 {
+    width: 66.66666667%;
+  }
+  .col-sm-7 {
+    width: 58.33333333%;
+  }
+  .col-sm-6 {
+    width: 50%;
+  }
+  .col-sm-5 {
+    width: 41.66666667%;
+  }
+  .col-sm-4 {
+    width: 33.33333333%;
+  }
+  .col-sm-3 {
+    width: 25%;
+  }
+  .col-sm-2 {
+    width: 16.66666667%;
+  }
+  .col-sm-1 {
+    width: 8.33333333%;
+  }
+  .col-sm-pull-12 {
+    right: 100%;
+  }
+  .col-sm-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-sm-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-sm-pull-9 {
+    right: 75%;
+  }
+  .col-sm-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-sm-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-sm-pull-6 {
+    right: 50%;
+  }
+  .col-sm-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-sm-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-sm-pull-3 {
+    right: 25%;
+  }
+  .col-sm-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-sm-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-sm-pull-0 {
+    right: auto;
+  }
+  .col-sm-push-12 {
+    left: 100%;
+  }
+  .col-sm-push-11 {
+    left: 91.66666667%;
+  }
+  .col-sm-push-10 {
+    left: 83.33333333%;
+  }
+  .col-sm-push-9 {
+    left: 75%;
+  }
+  .col-sm-push-8 {
+    left: 66.66666667%;
+  }
+  .col-sm-push-7 {
+    left: 58.33333333%;
+  }
+  .col-sm-push-6 {
+    left: 50%;
+  }
+  .col-sm-push-5 {
+    left: 41.66666667%;
+  }
+  .col-sm-push-4 {
+    left: 33.33333333%;
+  }
+  .col-sm-push-3 {
+    left: 25%;
+  }
+  .col-sm-push-2 {
+    left: 16.66666667%;
+  }
+  .col-sm-push-1 {
+    left: 8.33333333%;
+  }
+  .col-sm-push-0 {
+    left: auto;
+  }
+  .col-sm-offset-12 {
+    margin-left: 100%;
+  }
+  .col-sm-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-sm-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-sm-offset-9 {
+    margin-left: 75%;
+  }
+  .col-sm-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-sm-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-sm-offset-6 {
+    margin-left: 50%;
+  }
+  .col-sm-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-sm-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-sm-offset-3 {
+    margin-left: 25%;
+  }
+  .col-sm-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-sm-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-sm-offset-0 {
+    margin-left: 0%;
+  }
+}
+@media (min-width: 992px) {
+  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+    float: left;
+  }
+  .col-md-12 {
+    width: 100%;
+  }
+  .col-md-11 {
+    width: 91.66666667%;
+  }
+  .col-md-10 {
+    width: 83.33333333%;
+  }
+  .col-md-9 {
+    width: 75%;
+  }
+  .col-md-8 {
+    width: 66.66666667%;
+  }
+  .col-md-7 {
+    width: 58.33333333%;
+  }
+  .col-md-6 {
+    width: 50%;
+  }
+  .col-md-5 {
+    width: 41.66666667%;
+  }
+  .col-md-4 {
+    width: 33.33333333%;
+  }
+  .col-md-3 {
+    width: 25%;
+  }
+  .col-md-2 {
+    width: 16.66666667%;
+  }
+  .col-md-1 {
+    width: 8.33333333%;
+  }
+  .col-md-pull-12 {
+    right: 100%;
+  }
+  .col-md-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-md-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-md-pull-9 {
+    right: 75%;
+  }
+  .col-md-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-md-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-md-pull-6 {
+    right: 50%;
+  }
+  .col-md-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-md-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-md-pull-3 {
+    right: 25%;
+  }
+  .col-md-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-md-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-md-pull-0 {
+    right: auto;
+  }
+  .col-md-push-12 {
+    left: 100%;
+  }
+  .col-md-push-11 {
+    left: 91.66666667%;
+  }
+  .col-md-push-10 {
+    left: 83.33333333%;
+  }
+  .col-md-push-9 {
+    left: 75%;
+  }
+  .col-md-push-8 {
+    left: 66.66666667%;
+  }
+  .col-md-push-7 {
+    left: 58.33333333%;
+  }
+  .col-md-push-6 {
+    left: 50%;
+  }
+  .col-md-push-5 {
+    left: 41.66666667%;
+  }
+  .col-md-push-4 {
+    left: 33.33333333%;
+  }
+  .col-md-push-3 {
+    left: 25%;
+  }
+  .col-md-push-2 {
+    left: 16.66666667%;
+  }
+  .col-md-push-1 {
+    left: 8.33333333%;
+  }
+  .col-md-push-0 {
+    left: auto;
+  }
+  .col-md-offset-12 {
+    margin-left: 100%;
+  }
+  .col-md-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-md-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-md-offset-9 {
+    margin-left: 75%;
+  }
+  .col-md-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-md-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-md-offset-6 {
+    margin-left: 50%;
+  }
+  .col-md-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-md-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-md-offset-3 {
+    margin-left: 25%;
+  }
+  .col-md-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-md-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-md-offset-0 {
+    margin-left: 0%;
+  }
+}
+@media (min-width: 1200px) {
+  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+    float: left;
+  }
+  .col-lg-12 {
+    width: 100%;
+  }
+  .col-lg-11 {
+    width: 91.66666667%;
+  }
+  .col-lg-10 {
+    width: 83.33333333%;
+  }
+  .col-lg-9 {
+    width: 75%;
+  }
+  .col-lg-8 {
+    width: 66.66666667%;
+  }
+  .col-lg-7 {
+    width: 58.33333333%;
+  }
+  .col-lg-6 {
+    width: 50%;
+  }
+  .col-lg-5 {
+    width: 41.66666667%;
+  }
+  .col-lg-4 {
+    width: 33.33333333%;
+  }
+  .col-lg-3 {
+    width: 25%;
+  }
+  .col-lg-2 {
+    width: 16.66666667%;
+  }
+  .col-lg-1 {
+    width: 8.33333333%;
+  }
+  .col-lg-pull-12 {
+    right: 100%;
+  }
+  .col-lg-pull-11 {
+    right: 91.66666667%;
+  }
+  .col-lg-pull-10 {
+    right: 83.33333333%;
+  }
+  .col-lg-pull-9 {
+    right: 75%;
+  }
+  .col-lg-pull-8 {
+    right: 66.66666667%;
+  }
+  .col-lg-pull-7 {
+    right: 58.33333333%;
+  }
+  .col-lg-pull-6 {
+    right: 50%;
+  }
+  .col-lg-pull-5 {
+    right: 41.66666667%;
+  }
+  .col-lg-pull-4 {
+    right: 33.33333333%;
+  }
+  .col-lg-pull-3 {
+    right: 25%;
+  }
+  .col-lg-pull-2 {
+    right: 16.66666667%;
+  }
+  .col-lg-pull-1 {
+    right: 8.33333333%;
+  }
+  .col-lg-pull-0 {
+    right: auto;
+  }
+  .col-lg-push-12 {
+    left: 100%;
+  }
+  .col-lg-push-11 {
+    left: 91.66666667%;
+  }
+  .col-lg-push-10 {
+    left: 83.33333333%;
+  }
+  .col-lg-push-9 {
+    left: 75%;
+  }
+  .col-lg-push-8 {
+    left: 66.66666667%;
+  }
+  .col-lg-push-7 {
+    left: 58.33333333%;
+  }
+  .col-lg-push-6 {
+    left: 50%;
+  }
+  .col-lg-push-5 {
+    left: 41.66666667%;
+  }
+  .col-lg-push-4 {
+    left: 33.33333333%;
+  }
+  .col-lg-push-3 {
+    left: 25%;
+  }
+  .col-lg-push-2 {
+    left: 16.66666667%;
+  }
+  .col-lg-push-1 {
+    left: 8.33333333%;
+  }
+  .col-lg-push-0 {
+    left: auto;
+  }
+  .col-lg-offset-12 {
+    margin-left: 100%;
+  }
+  .col-lg-offset-11 {
+    margin-left: 91.66666667%;
+  }
+  .col-lg-offset-10 {
+    margin-left: 83.33333333%;
+  }
+  .col-lg-offset-9 {
+    margin-left: 75%;
+  }
+  .col-lg-offset-8 {
+    margin-left: 66.66666667%;
+  }
+  .col-lg-offset-7 {
+    margin-left: 58.33333333%;
+  }
+  .col-lg-offset-6 {
+    margin-left: 50%;
+  }
+  .col-lg-offset-5 {
+    margin-left: 41.66666667%;
+  }
+  .col-lg-offset-4 {
+    margin-left: 33.33333333%;
+  }
+  .col-lg-offset-3 {
+    margin-left: 25%;
+  }
+  .col-lg-offset-2 {
+    margin-left: 16.66666667%;
+  }
+  .col-lg-offset-1 {
+    margin-left: 8.33333333%;
+  }
+  .col-lg-offset-0 {
+    margin-left: 0%;
+  }
+}
+table {
+  background-color: transparent;
+}
+caption {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  color: #777777;
+  text-align: left;
+}
+th {
+  text-align: left;
+}
+.table {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+  padding: 8px;
+  line-height: 1.42857143;
+  vertical-align: top;
+  border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+  border-top: 0;
+}
+.table > tbody + tbody {
+  border-top: 2px solid #ddd;
+}
+.table .table {
+  background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+  padding: 5px;
+}
+.table-bordered {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+  border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+  border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+  background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover {
+  background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+  position: static;
+  float: none;
+  display: table-column;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+  position: static;
+  float: none;
+  display: table-cell;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+  background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+  background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+  background-color: #dff0d8;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+  background-color: #d0e9c6;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+  background-color: #d9edf7;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+  background-color: #c4e3f3;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+  background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+  background-color: #faf2cc;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+  background-color: #f2dede;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+  background-color: #ebcccc;
+}
+.table-responsive {
+  overflow-x: auto;
+  min-height: 0.01%;
+}
+@media screen and (max-width: 767px) {
+  .table-responsive {
+    width: 100%;
+    margin-bottom: 15px;
+    overflow-y: hidden;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+    border: 1px solid #ddd;
+  }
+  .table-responsive > .table {
+    margin-bottom: 0;
+  }
+  .table-responsive > .table > thead > tr > th,
+  .table-responsive > .table > tbody > tr > th,
+  .table-responsive > .table > tfoot > tr > th,
+  .table-responsive > .table > thead > tr > td,
+  .table-responsive > .table > tbody > tr > td,
+  .table-responsive > .table > tfoot > tr > td {
+    white-space: nowrap;
+  }
+  .table-responsive > .table-bordered {
+    border: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:first-child,
+  .table-responsive > .table-bordered > tbody > tr > th:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+  .table-responsive > .table-bordered > thead > tr > td:first-child,
+  .table-responsive > .table-bordered > tbody > tr > td:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+    border-left: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:last-child,
+  .table-responsive > .table-bordered > tbody > tr > th:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+  .table-responsive > .table-bordered > thead > tr > td:last-child,
+  .table-responsive > .table-bordered > tbody > tr > td:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+    border-right: 0;
+  }
+  .table-responsive > .table-bordered > tbody > tr:last-child > th,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+  .table-responsive > .table-bordered > tbody > tr:last-child > td,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+    border-bottom: 0;
+  }
+}
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+  min-width: 0;
+}
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+  font-size: 21px;
+  line-height: inherit;
+  color: #333333;
+  border: 0;
+  border-bottom: 1px solid #e5e5e5;
+}
+label {
+  display: inline-block;
+  max-width: 100%;
+  margin-bottom: 5px;
+  font-weight: bold;
+}
+input[type="search"] {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9;
+  line-height: normal;
+}
+input[type="file"] {
+  display: block;
+}
+input[type="range"] {
+  display: block;
+  width: 100%;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+output {
+  display: block;
+  padding-top: 7px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555555;
+}
+.form-control {
+  display: block;
+  width: 100%;
+  height: 34px;
+  padding: 6px 12px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555555;
+  background-color: #fff;
+  background-image: none;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+  border-color: #66afe9;
+  outline: 0;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
+}
+.form-control::-moz-placeholder {
+  color: #999;
+  opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+  color: #999;
+}
+.form-control::-webkit-input-placeholder {
+  color: #999;
+}
+.form-control::-ms-expand {
+  border: 0;
+  background-color: transparent;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+  background-color: #eeeeee;
+  opacity: 1;
+}
+.form-control[disabled],
+fieldset[disabled] .form-control {
+  cursor: not-allowed;
+}
+textarea.form-control {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-appearance: none;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+  input[type="date"].form-control,
+  input[type="time"].form-control,
+  input[type="datetime-local"].form-control,
+  input[type="month"].form-control {
+    line-height: 34px;
+  }
+  input[type="date"].input-sm,
+  input[type="time"].input-sm,
+  input[type="datetime-local"].input-sm,
+  input[type="month"].input-sm,
+  .input-group-sm input[type="date"],
+  .input-group-sm input[type="time"],
+  .input-group-sm input[type="datetime-local"],
+  .input-group-sm input[type="month"] {
+    line-height: 30px;
+  }
+  input[type="date"].input-lg,
+  input[type="time"].input-lg,
+  input[type="datetime-local"].input-lg,
+  input[type="month"].input-lg,
+  .input-group-lg input[type="date"],
+  .input-group-lg input[type="time"],
+  .input-group-lg input[type="datetime-local"],
+  .input-group-lg input[type="month"] {
+    line-height: 46px;
+  }
+}
+.form-group {
+  margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+  position: relative;
+  display: block;
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+.radio label,
+.checkbox label {
+  min-height: 20px;
+  padding-left: 20px;
+  margin-bottom: 0;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  position: absolute;
+  margin-left: -20px;
+  margin-top: 4px \9;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+  position: relative;
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  vertical-align: middle;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+  cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+  cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+  cursor: not-allowed;
+}
+.form-control-static {
+  padding-top: 7px;
+  padding-bottom: 7px;
+  margin-bottom: 0;
+  min-height: 34px;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+  padding-left: 0;
+  padding-right: 0;
+}
+.input-sm {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+select.input-sm {
+  height: 30px;
+  line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+  height: auto;
+}
+.form-group-sm .form-control {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+.form-group-sm select.form-control {
+  height: 30px;
+  line-height: 30px;
+}
+.form-group-sm textarea.form-control,
+.form-group-sm select[multiple].form-control {
+  height: auto;
+}
+.form-group-sm .form-control-static {
+  height: 30px;
+  min-height: 32px;
+  padding: 6px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+}
+.input-lg {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+select.input-lg {
+  height: 46px;
+  line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+  height: auto;
+}
+.form-group-lg .form-control {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+.form-group-lg select.form-control {
+  height: 46px;
+  line-height: 46px;
+}
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
+  height: auto;
+}
+.form-group-lg .form-control-static {
+  height: 46px;
+  min-height: 38px;
+  padding: 11px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+}
+.has-feedback {
+  position: relative;
+}
+.has-feedback .form-control {
+  padding-right: 42.5px;
+}
+.form-control-feedback {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 2;
+  display: block;
+  width: 34px;
+  height: 34px;
+  line-height: 34px;
+  text-align: center;
+  pointer-events: none;
+}
+.input-lg + .form-control-feedback,
+.input-group-lg + .form-control-feedback,
+.form-group-lg .form-control + .form-control-feedback {
+  width: 46px;
+  height: 46px;
+  line-height: 46px;
+}
+.input-sm + .form-control-feedback,
+.input-group-sm + .form-control-feedback,
+.form-group-sm .form-control + .form-control-feedback {
+  width: 30px;
+  height: 30px;
+  line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+  color: #3c763d;
+}
+.has-success .form-control {
+  border-color: #3c763d;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-success .form-control:focus {
+  border-color: #2b542c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+  color: #3c763d;
+  border-color: #3c763d;
+  background-color: #dff0d8;
+}
+.has-success .form-control-feedback {
+  color: #3c763d;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+  color: #8a6d3b;
+}
+.has-warning .form-control {
+  border-color: #8a6d3b;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-warning .form-control:focus {
+  border-color: #66512c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+  color: #8a6d3b;
+  border-color: #8a6d3b;
+  background-color: #fcf8e3;
+}
+.has-warning .form-control-feedback {
+  color: #8a6d3b;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+  color: #a94442;
+}
+.has-error .form-control {
+  border-color: #a94442;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-error .form-control:focus {
+  border-color: #843534;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+  color: #a94442;
+  border-color: #a94442;
+  background-color: #f2dede;
+}
+.has-error .form-control-feedback {
+  color: #a94442;
+}
+.has-feedback label ~ .form-control-feedback {
+  top: 25px;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+  top: 0;
+}
+.help-block {
+  display: block;
+  margin-top: 5px;
+  margin-bottom: 10px;
+  color: #737373;
+}
+@media (min-width: 768px) {
+  .form-inline .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .form-inline .form-control-static {
+    display: inline-block;
+  }
+  .form-inline .input-group {
+    display: inline-table;
+    vertical-align: middle;
+  }
+  .form-inline .input-group .input-group-addon,
+  .form-inline .input-group .input-group-btn,
+  .form-inline .input-group .form-control {
+    width: auto;
+  }
+  .form-inline .input-group > .form-control {
+    width: 100%;
+  }
+  .form-inline .control-label {
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .radio,
+  .form-inline .checkbox {
+    display: inline-block;
+    margin-top: 0;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .radio label,
+  .form-inline .checkbox label {
+    padding-left: 0;
+  }
+  .form-inline .radio input[type="radio"],
+  .form-inline .checkbox input[type="checkbox"] {
+    position: relative;
+    margin-left: 0;
+  }
+  .form-inline .has-feedback .form-control-feedback {
+    top: 0;
+  }
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+  margin-top: 0;
+  margin-bottom: 0;
+  padding-top: 7px;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+  min-height: 27px;
+}
+.form-horizontal .form-group {
+  margin-left: -15px;
+  margin-right: -15px;
+}
+@media (min-width: 768px) {
+  .form-horizontal .control-label {
+    text-align: right;
+    margin-bottom: 0;
+    padding-top: 7px;
+  }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+  right: 15px;
+}
+@media (min-width: 768px) {
+  .form-horizontal .form-group-lg .control-label {
+    padding-top: 11px;
+    font-size: 18px;
+  }
+}
+@media (min-width: 768px) {
+  .form-horizontal .form-group-sm .control-label {
+    padding-top: 6px;
+    font-size: 12px;
+  }
+}
+.btn {
+  display: inline-block;
+  margin-bottom: 0;
+  font-weight: normal;
+  text-align: center;
+  vertical-align: middle;
+  touch-action: manipulation;
+  cursor: pointer;
+  background-image: none;
+  border: 1px solid transparent;
+  white-space: nowrap;
+  padding: 6px 12px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  border-radius: 4px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.btn:hover,
+.btn:focus,
+.btn.focus {
+  color: #333;
+  text-decoration: none;
+}
+.btn:active,
+.btn.active {
+  outline: 0;
+  background-image: none;
+  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+  cursor: not-allowed;
+  opacity: 0.65;
+  filter: alpha(opacity=65);
+  -webkit-box-shadow: none;
+  box-shadow: none;
+}
+a.btn.disabled,
+fieldset[disabled] a.btn {
+  pointer-events: none;
+}
+.btn-default {
+  color: #333;
+  background-color: #fff;
+  border-color: #ccc;
+}
+.btn-default:focus,
+.btn-default.focus {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #8c8c8c;
+}
+.btn-default:hover {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+  color: #333;
+  background-color: #e6e6e6;
+  border-color: #adadad;
+}
+.btn-default:active:hover,
+.btn-default.active:hover,
+.open > .dropdown-toggle.btn-default:hover,
+.btn-default:active:focus,
+.btn-default.active:focus,
+.open > .dropdown-toggle.btn-default:focus,
+.btn-default:active.focus,
+.btn-default.active.focus,
+.open > .dropdown-toggle.btn-default.focus {
+  color: #333;
+  background-color: #d4d4d4;
+  border-color: #8c8c8c;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+  background-image: none;
+}
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus {
+  background-color: #fff;
+  border-color: #ccc;
+}
+.btn-default .badge {
+  color: #fff;
+  background-color: #333;
+}
+.btn-primary {
+  color: #fff;
+  background-color: #337ab7;
+  border-color: #2e6da4;
+}
+.btn-primary:focus,
+.btn-primary.focus {
+  color: #fff;
+  background-color: #286090;
+  border-color: #122b40;
+}
+.btn-primary:hover {
+  color: #fff;
+  background-color: #286090;
+  border-color: #204d74;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+  color: #fff;
+  background-color: #286090;
+  border-color: #204d74;
+}
+.btn-primary:active:hover,
+.btn-primary.active:hover,
+.open > .dropdown-toggle.btn-primary:hover,
+.btn-primary:active:focus,
+.btn-primary.active:focus,
+.open > .dropdown-toggle.btn-primary:focus,
+.btn-primary:active.focus,
+.btn-primary.active.focus,
+.open > .dropdown-toggle.btn-primary.focus {
+  color: #fff;
+  background-color: #204d74;
+  border-color: #122b40;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+  background-image: none;
+}
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus {
+  background-color: #337ab7;
+  border-color: #2e6da4;
+}
+.btn-primary .badge {
+  color: #337ab7;
+  background-color: #fff;
+}
+.btn-success {
+  color: #fff;
+  background-color: #5cb85c;
+  border-color: #4cae4c;
+}
+.btn-success:focus,
+.btn-success.focus {
+  color: #fff;
+  background-color: #449d44;
+  border-color: #255625;
+}
+.btn-success:hover {
+  color: #fff;
+  background-color: #449d44;
+  border-color: #398439;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+  color: #fff;
+  background-color: #449d44;
+  border-color: #398439;
+}
+.btn-success:active:hover,
+.btn-success.active:hover,
+.open > .dropdown-toggle.btn-success:hover,
+.btn-success:active:focus,
+.btn-success.active:focus,
+.open > .dropdown-toggle.btn-success:focus,
+.btn-success:active.focus,
+.btn-success.active.focus,
+.open > .dropdown-toggle.btn-success.focus {
+  color: #fff;
+  background-color: #398439;
+  border-color: #255625;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+  background-image: none;
+}
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus {
+  background-color: #5cb85c;
+  border-color: #4cae4c;
+}
+.btn-success .badge {
+  color: #5cb85c;
+  background-color: #fff;
+}
+.btn-info {
+  color: #fff;
+  background-color: #5bc0de;
+  border-color: #46b8da;
+}
+.btn-info:focus,
+.btn-info.focus {
+  color: #fff;
+  background-color: #31b0d5;
+  border-color: #1b6d85;
+}
+.btn-info:hover {
+  color: #fff;
+  background-color: #31b0d5;
+  border-color: #269abc;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+  color: #fff;
+  background-color: #31b0d5;
+  border-color: #269abc;
+}
+.btn-info:active:hover,
+.btn-info.active:hover,
+.open > .dropdown-toggle.btn-info:hover,
+.btn-info:active:focus,
+.btn-info.active:focus,
+.open > .dropdown-toggle.btn-info:focus,
+.btn-info:active.focus,
+.btn-info.active.focus,
+.open > .dropdown-toggle.btn-info.focus {
+  color: #fff;
+  background-color: #269abc;
+  border-color: #1b6d85;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+  background-image: none;
+}
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus {
+  background-color: #5bc0de;
+  border-color: #46b8da;
+}
+.btn-info .badge {
+  color: #5bc0de;
+  background-color: #fff;
+}
+.btn-warning {
+  color: #fff;
+  background-color: #f0ad4e;
+  border-color: #eea236;
+}
+.btn-warning:focus,
+.btn-warning.focus {
+  color: #fff;
+  background-color: #ec971f;
+  border-color: #985f0d;
+}
+.btn-warning:hover {
+  color: #fff;
+  background-color: #ec971f;
+  border-color: #d58512;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+  color: #fff;
+  background-color: #ec971f;
+  border-color: #d58512;
+}
+.btn-warning:active:hover,
+.btn-warning.active:hover,
+.open > .dropdown-toggle.btn-warning:hover,
+.btn-warning:active:focus,
+.btn-warning.active:focus,
+.open > .dropdown-toggle.btn-warning:focus,
+.btn-warning:active.focus,
+.btn-warning.active.focus,
+.open > .dropdown-toggle.btn-warning.focus {
+  color: #fff;
+  background-color: #d58512;
+  border-color: #985f0d;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+  background-image: none;
+}
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus {
+  background-color: #f0ad4e;
+  border-color: #eea236;
+}
+.btn-warning .badge {
+  color: #f0ad4e;
+  background-color: #fff;
+}
+.btn-danger {
+  color: #fff;
+  background-color: #d9534f;
+  border-color: #d43f3a;
+}
+.btn-danger:focus,
+.btn-danger.focus {
+  color: #fff;
+  background-color: #c9302c;
+  border-color: #761c19;
+}
+.btn-danger:hover {
+  color: #fff;
+  background-color: #c9302c;
+  border-color: #ac2925;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+  color: #fff;
+  background-color: #c9302c;
+  border-color: #ac2925;
+}
+.btn-danger:active:hover,
+.btn-danger.active:hover,
+.open > .dropdown-toggle.btn-danger:hover,
+.btn-danger:active:focus,
+.btn-danger.active:focus,
+.open > .dropdown-toggle.btn-danger:focus,
+.btn-danger:active.focus,
+.btn-danger.active.focus,
+.open > .dropdown-toggle.btn-danger.focus {
+  color: #fff;
+  background-color: #ac2925;
+  border-color: #761c19;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+  background-image: none;
+}
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus {
+  background-color: #d9534f;
+  border-color: #d43f3a;
+}
+.btn-danger .badge {
+  color: #d9534f;
+  background-color: #fff;
+}
+.btn-link {
+  color: #337ab7;
+  font-weight: normal;
+  border-radius: 0;
+}
+.btn-link,
+.btn-link:active,
+.btn-link.active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+  background-color: transparent;
+  -webkit-box-shadow: none;
+  box-shadow: none;
+}
+.btn-link,
+.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+  border-color: transparent;
+}
+.btn-link:hover,
+.btn-link:focus {
+  color: #23527c;
+  text-decoration: underline;
+  background-color: transparent;
+}
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+  color: #777777;
+  text-decoration: none;
+}
+.btn-lg,
+.btn-group-lg > .btn {
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+  border-radius: 6px;
+}
+.btn-sm,
+.btn-group-sm > .btn {
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+.btn-xs,
+.btn-group-xs > .btn {
+  padding: 1px 5px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+.btn-block {
+  display: block;
+  width: 100%;
+}
+.btn-block + .btn-block {
+  margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+  width: 100%;
+}
+.fade {
+  opacity: 0;
+  -webkit-transition: opacity 0.15s linear;
+  -o-transition: opacity 0.15s linear;
+  transition: opacity 0.15s linear;
+}
+.fade.in {
+  opacity: 1;
+}
+.collapse {
+  display: none;
+}
+.collapse.in {
+  display: block;
+}
+tr.collapse.in {
+  display: table-row;
+}
+tbody.collapse.in {
+  display: table-row-group;
+}
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  -webkit-transition-property: height, visibility;
+  transition-property: height, visibility;
+  -webkit-transition-duration: 0.35s;
+  transition-duration: 0.35s;
+  -webkit-transition-timing-function: ease;
+  transition-timing-function: ease;
+}
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 2px;
+  vertical-align: middle;
+  border-top: 4px dashed;
+  border-top: 4px solid \9;
+  border-right: 4px solid transparent;
+  border-left: 4px solid transparent;
+}
+.dropup,
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle:focus {
+  outline: 0;
+}
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0;
+  list-style: none;
+  font-size: 14px;
+  text-align: left;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 4px;
+  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+  background-clip: padding-box;
+}
+.dropdown-menu.pull-right {
+  right: 0;
+  left: auto;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 9px 0;
+  overflow: hidden;
+  background-color: #e5e5e5;
+}
+.dropdown-menu > li > a {
+  display: block;
+  padding: 3px 20px;
+  clear: both;
+  font-weight: normal;
+  line-height: 1.42857143;
+  color: #333333;
+  white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+  text-decoration: none;
+  color: #262626;
+  background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+  color: #fff;
+  text-decoration: none;
+  outline: 0;
+  background-color: #337ab7;
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  color: #777777;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+  text-decoration: none;
+  background-color: transparent;
+  background-image: none;
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  cursor: not-allowed;
+}
+.open > .dropdown-menu {
+  display: block;
+}
+.open > a {
+  outline: 0;
+}
+.dropdown-menu-right {
+  left: auto;
+  right: 0;
+}
+.dropdown-menu-left {
+  left: 0;
+  right: auto;
+}
+.dropdown-header {
+  display: block;
+  padding: 3px 20px;
+  font-size: 12px;
+  line-height: 1.42857143;
+  color: #777777;
+  white-space: nowrap;
+}
+.dropdown-backdrop {
+  position: fixed;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+  z-index: 990;
+}
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+  border-top: 0;
+  border-bottom: 4px dashed;
+  border-bottom: 4px solid \9;
+  content: "";
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 2px;
+}
+@media (min-width: 768px) {
+  .navbar-right .dropdown-menu {
+    left: auto;
+    right: 0;
+  }
+  .navbar-right .dropdown-menu-left {
+    left: 0;
+    right: auto;
+  }
+}
+.nav {
+  margin-bottom: 0;
+  padding-left: 0;
+  list-style: none;
+}
+.nav > li {
+  position: relative;
+  display: block;
+}
+.nav > li > a {
+  position: relative;
+  display: block;
+  padding: 10px 15px;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+  text-decoration: none;
+  background-color: #eeeeee;
+}
+.nav > li.disabled > a {
+  color: #777777;
+}
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+  color: #777777;
+  text-decoration: none;
+  background-color: transparent;
+  cursor: not-allowed;
+}
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+  background-color: #eeeeee;
+  border-color: #337ab7;
+}
+.nav .nav-divider {
+  height: 1px;
+  margin: 9px 0;
+  overflow: hidden;
+  background-color: #e5e5e5;
+}
+.nav > li > a > img {
+  max-width: none;
+}
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+  float: left;
+  margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+  margin-right: 2px;
+  line-height: 1.42857143;
+  border: 1px solid transparent;
+  border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+  border-color: #eeeeee #eeeeee #ddd;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+  color: #555555;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
+.nav-tabs.nav-justified {
+  width: 100%;
+  border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+  float: none;
+}
+.nav-tabs.nav-justified > li > a {
+  text-align: center;
+  margin-bottom: 5px;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+  top: auto;
+  left: auto;
+}
+@media (min-width: 768px) {
+  .nav-tabs.nav-justified > li {
+    display: table-cell;
+    width: 1%;
+  }
+  .nav-tabs.nav-justified > li > a {
+    margin-bottom: 0;
+  }
+}
+.nav-tabs.nav-justified > li > a {
+  margin-right: 0;
+  border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+  border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+  .nav-tabs.nav-justified > li > a {
+    border-bottom: 1px solid #ddd;
+    border-radius: 4px 4px 0 0;
+  }
+  .nav-tabs.nav-justified > .active > a,
+  .nav-tabs.nav-justified > .active > a:hover,
+  .nav-tabs.nav-justified > .active > a:focus {
+    border-bottom-color: #fff;
+  }
+}
+.nav-pills > li {
+  float: left;
+}
+.nav-pills > li > a {
+  border-radius: 4px;
+}
+.nav-pills > li + li {
+  margin-left: 2px;
+}
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+  color: #fff;
+  background-color: #337ab7;
+}
+.nav-stacked > li {
+  float: none;
+}
+.nav-stacked > li + li {
+  margin-top: 2px;
+  margin-left: 0;
+}
+.nav-justified {
+  width: 100%;
+}
+.nav-justified > li {
+  float: none;
+}
+.nav-justified > li > a {
+  text-align: center;
+  margin-bottom: 5px;
+}
+.nav-justified > .dropdown .dropdown-menu {
+  top: auto;
+  left: auto;
+}
+@media (min-width: 768px) {
+  .nav-justified > li {
+    display: table-cell;
+    width: 1%;
+  }
+  .nav-justified > li > a {
+    margin-bottom: 0;
+  }
+}
+.nav-tabs-justified {
+  border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+  margin-right: 0;
+  border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+  border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+  .nav-tabs-justified > li > a {
+    border-bottom: 1px solid #ddd;
+    border-radius: 4px 4px 0 0;
+  }
+  .nav-tabs-justified > .active > a,
+  .nav-tabs-justified > .active > a:hover,
+  .nav-tabs-justified > .active > a:focus {
+    border-bottom-color: #fff;
+  }
+}
+.tab-content > .tab-pane {
+  display: none;
+}
+.tab-content > .active {
+  display: block;
+}
+.nav-tabs .dropdown-menu {
+  margin-top: -1px;
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+.navbar {
+  position: relative;
+  min-height: 50px;
+  margin-bottom: 20px;
+  border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+  .navbar {
+    border-radius: 4px;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-header {
+    float: left;
+  }
+}
+.navbar-collapse {
+  overflow-x: visible;
+  padding-right: 15px;
+  padding-left: 15px;
+  border-top: 1px solid transparent;
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+  -webkit-overflow-scrolling: touch;
+}
+.navbar-collapse.in {
+  overflow-y: auto;
+}
+@media (min-width: 768px) {
+  .navbar-collapse {
+    width: auto;
+    border-top: 0;
+    box-shadow: none;
+  }
+  .navbar-collapse.collapse {
+    display: block !important;
+    height: auto !important;
+    padding-bottom: 0;
+    overflow: visible !important;
+  }
+  .navbar-collapse.in {
+    overflow-y: visible;
+  }
+  .navbar-fixed-top .navbar-collapse,
+  .navbar-static-top .navbar-collapse,
+  .navbar-fixed-bottom .navbar-collapse {
+    padding-left: 0;
+    padding-right: 0;
+  }
+}
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+  max-height: 340px;
+}
+@media (max-device-width: 480px) and (orientation: landscape) {
+  .navbar-fixed-top .navbar-collapse,
+  .navbar-fixed-bottom .navbar-collapse {
+    max-height: 200px;
+  }
+}
+.container > .navbar-header,
+.container-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+@media (min-width: 768px) {
+  .container > .navbar-header,
+  .container-fluid > .navbar-header,
+  .container > .navbar-collapse,
+  .container-fluid > .navbar-collapse {
+    margin-right: 0;
+    margin-left: 0;
+  }
+}
+.navbar-static-top {
+  z-index: 1000;
+  border-width: 0 0 1px;
+}
+@media (min-width: 768px) {
+  .navbar-static-top {
+    border-radius: 0;
+  }
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  position: fixed;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+@media (min-width: 768px) {
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    border-radius: 0;
+  }
+}
+.navbar-fixed-top {
+  top: 0;
+  border-width: 0 0 1px;
+}
+.navbar-fixed-bottom {
+  bottom: 0;
+  margin-bottom: 0;
+  border-width: 1px 0 0;
+}
+.navbar-brand {
+  float: left;
+  padding: 15px 15px;
+  font-size: 18px;
+  line-height: 20px;
+  height: 50px;
+}
+.navbar-brand:hover,
+.navbar-brand:focus {
+  text-decoration: none;
+}
+.navbar-brand > img {
+  display: block;
+}
+@media (min-width: 768px) {
+  .navbar > .container .navbar-brand,
+  .navbar > .container-fluid .navbar-brand {
+    margin-left: -15px;
+  }
+}
+.navbar-toggle {
+  position: relative;
+  float: right;
+  margin-right: 15px;
+  padding: 9px 10px;
+  margin-top: 8px;
+  margin-bottom: 8px;
+  background-color: transparent;
+  background-image: none;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.navbar-toggle:focus {
+  outline: 0;
+}
+.navbar-toggle .icon-bar {
+  display: block;
+  width: 22px;
+  height: 2px;
+  border-radius: 1px;
+}
+.navbar-toggle .icon-bar + .icon-bar {
+  margin-top: 4px;
+}
+@media (min-width: 768px) {
+  .navbar-toggle {
+    display: none;
+  }
+}
+.navbar-nav {
+  margin: 7.5px -15px;
+}
+.navbar-nav > li > a {
+  padding-top: 10px;
+  padding-bottom: 10px;
+  line-height: 20px;
+}
+@media (max-width: 767px) {
+  .navbar-nav .open .dropdown-menu {
+    position: static;
+    float: none;
+    width: auto;
+    margin-top: 0;
+    background-color: transparent;
+    border: 0;
+    box-shadow: none;
+  }
+  .navbar-nav .open .dropdown-menu > li > a,
+  .navbar-nav .open .dropdown-menu .dropdown-header {
+    padding: 5px 15px 5px 25px;
+  }
+  .navbar-nav .open .dropdown-menu > li > a {
+    line-height: 20px;
+  }
+  .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-nav .open .dropdown-menu > li > a:focus {
+    background-image: none;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-nav {
+    float: left;
+    margin: 0;
+  }
+  .navbar-nav > li {
+    float: left;
+  }
+  .navbar-nav > li > a {
+    padding-top: 15px;
+    padding-bottom: 15px;
+  }
+}
+.navbar-form {
+  margin-left: -15px;
+  margin-right: -15px;
+  padding: 10px 15px;
+  border-top: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  margin-top: 8px;
+  margin-bottom: 8px;
+}
+@media (min-width: 768px) {
+  .navbar-form .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .form-control {
+    display: inline-block;
+    width: auto;
+    vertical-align: middle;
+  }
+  .navbar-form .form-control-static {
+    display: inline-block;
+  }
+  .navbar-form .input-group {
+    display: inline-table;
+    vertical-align: middle;
+  }
+  .navbar-form .input-group .input-group-addon,
+  .navbar-form .input-group .input-group-btn,
+  .navbar-form .input-group .form-control {
+    width: auto;
+  }
+  .navbar-form .input-group > .form-control {
+    width: 100%;
+  }
+  .navbar-form .control-label {
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .radio,
+  .navbar-form .checkbox {
+    display: inline-block;
+    margin-top: 0;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .navbar-form .radio label,
+  .navbar-form .checkbox label {
+    padding-left: 0;
+  }
+  .navbar-form .radio input[type="radio"],
+  .navbar-form .checkbox input[type="checkbox"] {
+    position: relative;
+    margin-left: 0;
+  }
+  .navbar-form .has-feedback .form-control-feedback {
+    top: 0;
+  }
+}
+@media (max-width: 767px) {
+  .navbar-form .form-group {
+    margin-bottom: 5px;
+  }
+  .navbar-form .form-group:last-child {
+    margin-bottom: 0;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-form {
+    width: auto;
+    border: 0;
+    margin-left: 0;
+    margin-right: 0;
+    padding-top: 0;
+    padding-bottom: 0;
+    -webkit-box-shadow: none;
+    box-shadow: none;
+  }
+}
+.navbar-nav > li > .dropdown-menu {
+  margin-top: 0;
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+  margin-bottom: 0;
+  border-top-right-radius: 4px;
+  border-top-left-radius: 4px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.navbar-btn {
+  margin-top: 8px;
+  margin-bottom: 8px;
+}
+.navbar-btn.btn-sm {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+.navbar-btn.btn-xs {
+  margin-top: 14px;
+  margin-bottom: 14px;
+}
+.navbar-text {
+  margin-top: 15px;
+  margin-bottom: 15px;
+}
+@media (min-width: 768px) {
+  .navbar-text {
+    float: left;
+    margin-left: 15px;
+    margin-right: 15px;
+  }
+}
+@media (min-width: 768px) {
+  .navbar-left {
+    float: left !important;
+  }
+  .navbar-right {
+    float: right !important;
+    margin-right: -15px;
+  }
+  .navbar-right ~ .navbar-right {
+    margin-right: 0;
+  }
+}
+.navbar-default {
+  background-color: #f8f8f8;
+  border-color: #e7e7e7;
+}
+.navbar-default .navbar-brand {
+  color: #777;
+}
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+  color: #5e5e5e;
+  background-color: transparent;
+}
+.navbar-default .navbar-text {
+  color: #777;
+}
+.navbar-default .navbar-nav > li > a {
+  color: #777;
+}
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+  color: #333;
+  background-color: transparent;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+  color: #555;
+  background-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+  color: #ccc;
+  background-color: transparent;
+}
+.navbar-default .navbar-toggle {
+  border-color: #ddd;
+}
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+  background-color: #ddd;
+}
+.navbar-default .navbar-toggle .icon-bar {
+  background-color: #888;
+}
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+  border-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+  background-color: #e7e7e7;
+  color: #555;
+}
+@media (max-width: 767px) {
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+    color: #777;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+    color: #333;
+    background-color: transparent;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+    color: #555;
+    background-color: #e7e7e7;
+  }
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+    color: #ccc;
+    background-color: transparent;
+  }
+}
+.navbar-default .navbar-link {
+  color: #777;
+}
+.navbar-default .navbar-link:hover {
+  color: #333;
+}
+.navbar-default .btn-link {
+  color: #777;
+}
+.navbar-default .btn-link:hover,
+.navbar-default .btn-link:focus {
+  color: #333;
+}
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+  color: #ccc;
+}
+.navbar-inverse {
+  background-color: #222;
+  border-color: #080808;
+}
+.navbar-inverse .navbar-brand {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+  color: #fff;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-text {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+  color: #fff;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+  color: #fff;
+  background-color: #080808;
+}
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+  color: #444;
+  background-color: transparent;
+}
+.navbar-inverse .navbar-toggle {
+  border-color: #333;
+}
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+  background-color: #333;
+}
+.navbar-inverse .navbar-toggle .icon-bar {
+  background-color: #fff;
+}
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+  border-color: #101010;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+  background-color: #080808;
+  color: #fff;
+}
+@media (max-width: 767px) {
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+    border-color: #080808;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+    background-color: #080808;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+    color: #9d9d9d;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+    color: #fff;
+    background-color: transparent;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+    color: #fff;
+    background-color: #080808;
+  }
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+    color: #444;
+    background-color: transparent;
+  }
+}
+.navbar-inverse .navbar-link {
+  color: #9d9d9d;
+}
+.navbar-inverse .navbar-link:hover {
+  color: #fff;
+}
+.navbar-inverse .btn-link {
+  color: #9d9d9d;
+}
+.navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link:focus {
+  color: #fff;
+}
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-inverse .btn-link:focus {
+  color: #444;
+}
+.breadcrumb {
+  padding: 8px 15px;
+  margin-bottom: 20px;
+  list-style: none;
+  background-color: #f5f5f5;
+  border-radius: 4px;
+}
+.breadcrumb > li {
+  display: inline-block;
+}
+.breadcrumb > li + li:before {
+  content: "/\00a0";
+  padding: 0 5px;
+  color: #ccc;
+}
+.breadcrumb > .active {
+  color: #777777;
+}
+.alert {
+  padding: 15px;
+  margin-bottom: 20px;
+  border: 1px solid transparent;
+  border-radius: 4px;
+}
+.alert h4 {
+  margin-top: 0;
+  color: inherit;
+}
+.alert .alert-link {
+  font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+  margin-bottom: 0;
+}
+.alert > p + p {
+  margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+  padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  color: inherit;
+}
+.alert-success {
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+  color: #3c763d;
+}
+.alert-success hr {
+  border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+  color: #2b542c;
+}
+.alert-info {
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+  color: #31708f;
+}
+.alert-info hr {
+  border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+  color: #245269;
+}
+.alert-warning {
+  background-color: #fcf8e3;
+  border-color: #faebcc;
+  color: #8a6d3b;
+}
+.alert-warning hr {
+  border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+  color: #66512c;
+}
+.alert-danger {
+  background-color: #f2dede;
+  border-color: #ebccd1;
+  color: #a94442;
+}
+.alert-danger hr {
+  border-top-color: #e4b9c0;
+}
+.alert-danger .alert-link {
+  color: #843534;
+}
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+.progress {
+  overflow: hidden;
+  height: 20px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+.progress-bar {
+  float: left;
+  width: 0%;
+  height: 100%;
+  font-size: 12px;
+  line-height: 20px;
+  color: #fff;
+  text-align: center;
+  background-color: #337ab7;
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -webkit-transition: width 0.6s ease;
+  -o-transition: width 0.6s ease;
+  transition: width 0.6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 40px 40px;
+}
+.progress.active .progress-bar,
+.progress-bar.active {
+  -webkit-animation: progress-bar-stripes 2s linear infinite;
+  -o-animation: progress-bar-stripes 2s linear infinite;
+  animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-bar-success {
+  background-color: #5cb85c;
+}
+.progress-striped .progress-bar-success {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+  background-color: #5bc0de;
+}
+.progress-striped .progress-bar-info {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+  background-color: #f0ad4e;
+}
+.progress-striped .progress-bar-warning {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+  background-color: #d9534f;
+}
+.progress-striped .progress-bar-danger {
+  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.media {
+  margin-top: 15px;
+}
+.media:first-child {
+  margin-top: 0;
+}
+.media,
+.media-body {
+  zoom: 1;
+  overflow: hidden;
+}
+.media-body {
+  width: 10000px;
+}
+.media-object {
+  display: block;
+}
+.media-object.img-thumbnail {
+  max-width: none;
+}
+.media-right,
+.media > .pull-right {
+  padding-left: 10px;
+}
+.media-left,
+.media > .pull-left {
+  padding-right: 10px;
+}
+.media-left,
+.media-right,
+.media-body {
+  display: table-cell;
+  vertical-align: top;
+}
+.media-middle {
+  vertical-align: middle;
+}
+.media-bottom {
+  vertical-align: bottom;
+}
+.media-heading {
+  margin-top: 0;
+  margin-bottom: 5px;
+}
+.media-list {
+  padding-left: 0;
+  list-style: none;
+}
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+  position: relative;
+  float: left;
+}
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+  z-index: 2;
+}
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+  margin-left: -1px;
+}
+.btn-toolbar {
+  margin-left: -5px;
+}
+.btn-toolbar .btn,
+.btn-toolbar .btn-group,
+.btn-toolbar .input-group {
+  float: left;
+}
+.btn-toolbar > .btn,
+.btn-toolbar > .btn-group,
+.btn-toolbar > .input-group {
+  margin-left: 5px;
+}
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+.btn-group > .btn:first-child {
+  margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+.btn-group > .btn-group {
+  float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-bottom-left-radius: 0;
+  border-top-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+  padding-left: 12px;
+  padding-right: 12px;
+}
+.btn-group.open .dropdown-toggle {
+  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
+.btn-group.open .dropdown-toggle.btn-link {
+  -webkit-box-shadow: none;
+  box-shadow: none;
+}
+.btn .caret {
+  margin-left: 0;
+}
+.btn-lg .caret {
+  border-width: 5px 5px 0;
+  border-bottom-width: 0;
+}
+.dropup .btn-lg .caret {
+  border-width: 0 5px 5px;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn {
+  display: block;
+  float: none;
+  width: 100%;
+  max-width: 100%;
+}
+.btn-group-vertical > .btn-group > .btn {
+  float: none;
+}
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+  margin-top: -1px;
+  margin-left: 0;
+}
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+  border-radius: 0;
+}
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+  border-top-right-radius: 4px;
+  border-top-left-radius: 4px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+  border-bottom-right-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+.btn-group-justified {
+  display: table;
+  width: 100%;
+  table-layout: fixed;
+  border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+  float: none;
+  display: table-cell;
+  width: 1%;
+}
+.btn-group-justified > .btn-group .btn {
+  width: 100%;
+}
+.btn-group-justified > .btn-group .dropdown-menu {
+  left: auto;
+}
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+  position: absolute;
+  clip: rect(0, 0, 0, 0);
+  pointer-events: none;
+}
+.list-group {
+  margin-bottom: 20px;
+  padding-left: 0;
+}
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: 10px 15px;
+  margin-bottom: -1px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+  border-top-right-radius: 4px;
+  border-top-left-radius: 4px;
+}
+.list-group-item:last-child {
+  margin-bottom: 0;
+  border-bottom-right-radius: 4px;
+  border-bottom-left-radius: 4px;
+}
+a.list-group-item,
+button.list-group-item {
+  color: #555;
+}
+a.list-group-item .list-group-item-heading,
+button.list-group-item .list-group-item-heading {
+  color: #333;
+}
+a.list-group-item:hover,
+button.list-group-item:hover,
+a.list-group-item:focus,
+button.list-group-item:focus {
+  text-decoration: none;
+  color: #555;
+  background-color: #f5f5f5;
+}
+button.list-group-item {
+  width: 100%;
+  text-align: left;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+  background-color: #eeeeee;
+  color: #777777;
+  cursor: not-allowed;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+  color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+  color: #777777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+  z-index: 2;
+  color: #fff;
+  background-color: #337ab7;
+  border-color: #337ab7;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+  color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+  color: #c7ddef;
+}
+.list-group-item-success {
+  color: #3c763d;
+  background-color: #dff0d8;
+}
+a.list-group-item-success,
+button.list-group-item-success {
+  color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading,
+button.list-group-item-success .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-success:hover,
+button.list-group-item-success:hover,
+a.list-group-item-success:focus,
+button.list-group-item-success:focus {
+  color: #3c763d;
+  background-color: #d0e9c6;
+}
+a.list-group-item-success.active,
+button.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+button.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus,
+button.list-group-item-success.active:focus {
+  color: #fff;
+  background-color: #3c763d;
+  border-color: #3c763d;
+}
+.list-group-item-info {
+  color: #31708f;
+  background-color: #d9edf7;
+}
+a.list-group-item-info,
+button.list-group-item-info {
+  color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading,
+button.list-group-item-info .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-info:hover,
+button.list-group-item-info:hover,
+a.list-group-item-info:focus,
+button.list-group-item-info:focus {
+  color: #31708f;
+  background-color: #c4e3f3;
+}
+a.list-group-item-info.active,
+button.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+button.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus,
+button.list-group-item-info.active:focus {
+  color: #fff;
+  background-color: #31708f;
+  border-color: #31708f;
+}
+.list-group-item-warning {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+}
+a.list-group-item-warning,
+button.list-group-item-warning {
+  color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading,
+button.list-group-item-warning .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-warning:hover,
+button.list-group-item-warning:hover,
+a.list-group-item-warning:focus,
+button.list-group-item-warning:focus {
+  color: #8a6d3b;
+  background-color: #faf2cc;
+}
+a.list-group-item-warning.active,
+button.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+button.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus,
+button.list-group-item-warning.active:focus {
+  color: #fff;
+  background-color: #8a6d3b;
+  border-color: #8a6d3b;
+}
+.list-group-item-danger {
+  color: #a94442;
+  background-color: #f2dede;
+}
+a.list-group-item-danger,
+button.list-group-item-danger {
+  color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading,
+button.list-group-item-danger .list-group-item-heading {
+  color: inherit;
+}
+a.list-group-item-danger:hover,
+button.list-group-item-danger:hover,
+a.list-group-item-danger:focus,
+button.list-group-item-danger:focus {
+  color: #a94442;
+  background-color: #ebcccc;
+}
+a.list-group-item-danger.active,
+button.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+button.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus,
+button.list-group-item-danger.active:focus {
+  color: #fff;
+  background-color: #a94442;
+  border-color: #a94442;
+}
+.list-group-item-heading {
+  margin-top: 0;
+  margin-bottom: 5px;
+}
+.list-group-item-text {
+  margin-bottom: 0;
+  line-height: 1.3;
+}
+.panel {
+  margin-bottom: 20px;
+  background-color: #fff;
+  border: 1px solid transparent;
+  border-radius: 4px;
+  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.panel-body {
+  padding: 15px;
+}
+.panel-heading {
+  padding: 10px 15px;
+  border-bottom: 1px solid transparent;
+  border-top-right-radius: 3px;
+  border-top-left-radius: 3px;
+}
+.panel-heading > .dropdown .dropdown-toggle {
+  color: inherit;
+}
+.panel-title {
+  margin-top: 0;
+  margin-bottom: 0;
+  font-size: 16px;
+  color: inherit;
+}
+.panel-title > a,
+.panel-title > small,
+.panel-title > .small,
+.panel-title > small > a,
+.panel-title > .small > a {
+  color: inherit;
+}
+.panel-footer {
+  padding: 10px 15px;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+  margin-bottom: 0;
+}
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
+  border-width: 1px 0;
+  border-radius: 0;
+}
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+  border-top: 0;
+  border-top-right-radius: 3px;
+  border-top-left-radius: 3px;
+}
+.panel > .list-group:last-child .list-group-item:last-child,
+.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+  border-bottom: 0;
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
+  border-top-right-radius: 0;
+  border-top-left-radius: 0;
+}
+.panel-heading + .list-group .list-group-item:first-child {
+  border-top-width: 0;
+}
+.list-group + .panel-footer {
+  border-top-width: 0;
+}
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+  margin-bottom: 0;
+}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+  padding-left: 15px;
+  padding-right: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+  border-top-right-radius: 3px;
+  border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+  border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+  border-top-right-radius: 3px;
+}
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+  border-bottom-right-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+  border-bottom-left-radius: 3px;
+  border-bottom-right-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+  border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+  border-bottom-right-radius: 3px;
+}
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+  border-top: 1px solid #ddd;
+}
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+  border-top: 0;
+}
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+  border: 0;
+}
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+  border-left: 0;
+}
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+  border-right: 0;
+}
+.panel > .table-bordered > thead > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+  border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+  border-bottom: 0;
+}
+.panel > .table-responsive {
+  border: 0;
+  margin-bottom: 0;
+}
+.panel-group {
+  margin-bottom: 20px;
+}
+.panel-group .panel {
+  margin-bottom: 0;
+  border-radius: 4px;
+}
+.panel-group .panel + .panel {
+  margin-top: 5px;
+}
+.panel-group .panel-heading {
+  border-bottom: 0;
+}
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
+  border-top: 1px solid #ddd;
+}
+.panel-group .panel-footer {
+  border-top: 0;
+}
+.panel-group .panel-footer + .panel-collapse .panel-body {
+  border-bottom: 1px solid #ddd;
+}
+.panel-default {
+  border-color: #ddd;
+}
+.panel-default > .panel-heading {
+  color: #333333;
+  background-color: #f5f5f5;
+  border-color: #ddd;
+}
+.panel-default > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #ddd;
+}
+.panel-default > .panel-heading .badge {
+  color: #f5f5f5;
+  background-color: #333333;
+}
+.panel-default > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #ddd;
+}
+.panel-primary {
+  border-color: #337ab7;
+}
+.panel-primary > .panel-heading {
+  color: #fff;
+  background-color: #337ab7;
+  border-color: #337ab7;
+}
+.panel-primary > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #337ab7;
+}
+.panel-primary > .panel-heading .badge {
+  color: #337ab7;
+  background-color: #fff;
+}
+.panel-primary > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #337ab7;
+}
+.panel-success {
+  border-color: #d6e9c6;
+}
+.panel-success > .panel-heading {
+  color: #3c763d;
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+}
+.panel-success > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #d6e9c6;
+}
+.panel-success > .panel-heading .badge {
+  color: #dff0d8;
+  background-color: #3c763d;
+}
+.panel-success > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #d6e9c6;
+}
+.panel-info {
+  border-color: #bce8f1;
+}
+.panel-info > .panel-heading {
+  color: #31708f;
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+}
+.panel-info > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #bce8f1;
+}
+.panel-info > .panel-heading .badge {
+  color: #d9edf7;
+  background-color: #31708f;
+}
+.panel-info > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #bce8f1;
+}
+.panel-warning {
+  border-color: #faebcc;
+}
+.panel-warning > .panel-heading {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+  border-color: #faebcc;
+}
+.panel-warning > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #faebcc;
+}
+.panel-warning > .panel-heading .badge {
+  color: #fcf8e3;
+  background-color: #8a6d3b;
+}
+.panel-warning > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #faebcc;
+}
+.panel-danger {
+  border-color: #ebccd1;
+}
+.panel-danger > .panel-heading {
+  color: #a94442;
+  background-color: #f2dede;
+  border-color: #ebccd1;
+}
+.panel-danger > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #ebccd1;
+}
+.panel-danger > .panel-heading .badge {
+  color: #f2dede;
+  background-color: #a94442;
+}
+.panel-danger > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #ebccd1;
+}
+.pager {
+  padding-left: 0;
+  margin: 20px 0;
+  list-style: none;
+  text-align: center;
+}
+.pager li {
+  display: inline;
+}
+.pager li > a,
+.pager li > span {
+  display: inline-block;
+  padding: 5px 14px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  border-radius: 15px;
+}
+.pager li > a:hover,
+.pager li > a:focus {
+  text-decoration: none;
+  background-color: #eeeeee;
+}
+.pager .next > a,
+.pager .next > span {
+  float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+  float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+  color: #777777;
+  background-color: #fff;
+  cursor: not-allowed;
+}
+.pagination {
+  display: inline-block;
+  padding-left: 0;
+  margin: 20px 0;
+  border-radius: 4px;
+}
+.pagination > li {
+  display: inline;
+}
+.pagination > li > a,
+.pagination > li > span {
+  position: relative;
+  float: left;
+  padding: 6px 12px;
+  line-height: 1.42857143;
+  text-decoration: none;
+  color: #337ab7;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  margin-left: -1px;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+  margin-left: 0;
+  border-bottom-left-radius: 4px;
+  border-top-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+  border-bottom-right-radius: 4px;
+  border-top-right-radius: 4px;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+  z-index: 2;
+  color: #23527c;
+  background-color: #eeeeee;
+  border-color: #ddd;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+  z-index: 3;
+  color: #fff;
+  background-color: #337ab7;
+  border-color: #337ab7;
+  cursor: default;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+  color: #777777;
+  background-color: #fff;
+  border-color: #ddd;
+  cursor: not-allowed;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.3333333;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+  border-bottom-left-radius: 6px;
+  border-top-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+  border-bottom-right-radius: 6px;
+  border-top-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+  border-bottom-left-radius: 3px;
+  border-top-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+  border-bottom-right-radius: 3px;
+  border-top-right-radius: 3px;
+}
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border: 1px solid #e3e3e3;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.well blockquote {
+  border-color: #ddd;
+  border-color: rgba(0, 0, 0, 0.15);
+}
+.well-lg {
+  padding: 24px;
+  border-radius: 6px;
+}
+.well-sm {
+  padding: 9px;
+  border-radius: 3px;
+}
+.close {
+  float: right;
+  font-size: 21px;
+  font-weight: bold;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  opacity: 0.2;
+  filter: alpha(opacity=20);
+}
+.close:hover,
+.close:focus {
+  color: #000;
+  text-decoration: none;
+  cursor: pointer;
+  opacity: 0.5;
+  filter: alpha(opacity=50);
+}
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
+.badge {
+  display: inline-block;
+  min-width: 10px;
+  padding: 3px 7px;
+  font-size: 12px;
+  font-weight: bold;
+  color: #fff;
+  line-height: 1;
+  vertical-align: middle;
+  white-space: nowrap;
+  text-align: center;
+  background-color: #777777;
+  border-radius: 10px;
+}
+.badge:empty {
+  display: none;
+}
+.btn .badge {
+  position: relative;
+  top: -1px;
+}
+.btn-xs .badge,
+.btn-group-xs > .btn .badge {
+  top: 0;
+  padding: 1px 5px;
+}
+a.badge:hover,
+a.badge:focus {
+  color: #fff;
+  text-decoration: none;
+  cursor: pointer;
+}
+.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+  color: #337ab7;
+  background-color: #fff;
+}
+.list-group-item > .badge {
+  float: right;
+}
+.list-group-item > .badge + .badge {
+  margin-right: 5px;
+}
+.nav-pills > li > a > .badge {
+  margin-left: 3px;
+}
+.modal-open {
+  overflow: hidden;
+}
+.modal {
+  display: none;
+  overflow: hidden;
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1050;
+  -webkit-overflow-scrolling: touch;
+  outline: 0;
+}
+.modal.fade .modal-dialog {
+  -webkit-transform: translate(0, -25%);
+  -ms-transform: translate(0, -25%);
+  -o-transform: translate(0, -25%);
+  transform: translate(0, -25%);
+  -webkit-transition: -webkit-transform 0.3s ease-out;
+  -moz-transition: -moz-transform 0.3s ease-out;
+  -o-transition: -o-transform 0.3s ease-out;
+  transition: transform 0.3s ease-out;
+}
+.modal.in .modal-dialog {
+  -webkit-transform: translate(0, 0);
+  -ms-transform: translate(0, 0);
+  -o-transform: translate(0, 0);
+  transform: translate(0, 0);
+}
+.modal-open .modal {
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.modal-dialog {
+  position: relative;
+  width: auto;
+  margin: 10px;
+}
+.modal-content {
+  position: relative;
+  background-color: #fff;
+  border: 1px solid #999;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 6px;
+  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+  background-clip: padding-box;
+  outline: 0;
+}
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000;
+}
+.modal-backdrop.fade {
+  opacity: 0;
+  filter: alpha(opacity=0);
+}
+.modal-backdrop.in {
+  opacity: 0.5;
+  filter: alpha(opacity=50);
+}
+.modal-header {
+  padding: 15px;
+  border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+  margin-top: -2px;
+}
+.modal-title {
+  margin: 0;
+  line-height: 1.42857143;
+}
+.modal-body {
+  position: relative;
+  padding: 15px;
+}
+.modal-footer {
+  padding: 15px;
+  text-align: right;
+  border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+  margin-left: 5px;
+  margin-bottom: 0;
+}
+.modal-footer .btn-group .btn + .btn {
+  margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+  margin-left: 0;
+}
+.modal-scrollbar-measure {
+  position: absolute;
+  top: -9999px;
+  width: 50px;
+  height: 50px;
+  overflow: scroll;
+}
+@media (min-width: 768px) {
+  .modal-dialog {
+    width: 600px;
+    margin: 30px auto;
+  }
+  .modal-content {
+    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+  }
+  .modal-sm {
+    width: 300px;
+  }
+}
+@media (min-width: 992px) {
+  .modal-lg {
+    width: 900px;
+  }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.panel-body:before,
+.panel-body:after,
+.pager:before,
+.pager:after,
+.modal-header:before,
+.modal-header:after,
+.modal-footer:before,
+.modal-footer:after {
+  content: " ";
+  display: table;
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.panel-body:after,
+.pager:after,
+.modal-header:after,
+.modal-footer:after {
+  clear: both;
+}
+.center-block {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+.pull-right {
+  float: right !important;
+}
+.pull-left {
+  float: left !important;
+}
+.hide {
+  display: none !important;
+}
+.show {
+  display: block !important;
+}
+.invisible {
+  visibility: hidden;
+}
+.text-hide {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
+}
+.hidden {
+  display: none !important;
+}
+.affix {
+  position: fixed;
+}
+@-ms-viewport {
+  width: device-width;
+}
+.visible-xs,
+.visible-sm,
+.visible-md,
+.visible-lg {
+  display: none !important;
+}
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+  display: none !important;
+}
+@media (max-width: 767px) {
+  .visible-xs {
+    display: block !important;
+  }
+  table.visible-xs {
+    display: table !important;
+  }
+  tr.visible-xs {
+    display: table-row !important;
+  }
+  th.visible-xs,
+  td.visible-xs {
+    display: table-cell !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-block {
+    display: block !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-inline {
+    display: inline !important;
+  }
+}
+@media (max-width: 767px) {
+  .visible-xs-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm {
+    display: block !important;
+  }
+  table.visible-sm {
+    display: table !important;
+  }
+  tr.visible-sm {
+    display: table-row !important;
+  }
+  th.visible-sm,
+  td.visible-sm {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-block {
+    display: block !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .visible-sm-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md {
+    display: block !important;
+  }
+  table.visible-md {
+    display: table !important;
+  }
+  tr.visible-md {
+    display: table-row !important;
+  }
+  th.visible-md,
+  td.visible-md {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-block {
+    display: block !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .visible-md-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg {
+    display: block !important;
+  }
+  table.visible-lg {
+    display: table !important;
+  }
+  tr.visible-lg {
+    display: table-row !important;
+  }
+  th.visible-lg,
+  td.visible-lg {
+    display: table-cell !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-block {
+    display: block !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-inline {
+    display: inline !important;
+  }
+}
+@media (min-width: 1200px) {
+  .visible-lg-inline-block {
+    display: inline-block !important;
+  }
+}
+@media (max-width: 767px) {
+  .hidden-xs {
+    display: none !important;
+  }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+  .hidden-sm {
+    display: none !important;
+  }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+  .hidden-md {
+    display: none !important;
+  }
+}
+@media (min-width: 1200px) {
+  .hidden-lg {
+    display: none !important;
+  }
+}
+.visible-print {
+  display: none !important;
+}
+@media print {
+  .visible-print {
+    display: block !important;
+  }
+  table.visible-print {
+    display: table !important;
+  }
+  tr.visible-print {
+    display: table-row !important;
+  }
+  th.visible-print,
+  td.visible-print {
+    display: table-cell !important;
+  }
+}
+.visible-print-block {
+  display: none !important;
+}
+@media print {
+  .visible-print-block {
+    display: block !important;
+  }
+}
+.visible-print-inline {
+  display: none !important;
+}
+@media print {
+  .visible-print-inline {
+    display: inline !important;
+  }
+}
+.visible-print-inline-block {
+  display: none !important;
+}
+@media print {
+  .visible-print-inline-block {
+    display: inline-block !important;
+  }
+}
+@media print {
+  .hidden-print {
+    display: none !important;
+  }
+}
+@media screen and (max-width: 991px) {
+  html,
+  body {
+    overflow-x: hidden;
+  }
+}
+.auth-message {
+  background-color: #eeeeee;
+  padding: 20px 0px;
+  width: 100%;
+  position: fixed;
+  top: -100%;
+  left: 0px;
+  z-index: 1070;
+  transition: top 300ms ease;
+}
+.auth-message.show {
+  top: 0px;
+  bottom: auto;
+}
+.auth-message p {
+  padding: 5px 0px;
+  color: #222222;
+}
+@media screen and (max-width: 991px) {
+  .auth-message {
+    text-align: center;
+  }
+  .auth-message .btn {
+    padding: 10px 16px;
+    font-size: 18px;
+  }
+}
+.alerts-snackbar {
+  position: fixed;
+  top: -100%;
+  width: 100%;
+  z-index: 1060;
+  text-align: center;
+  font-size: 18px;
+  transition: top 300ms ease;
+  pointer-events: none;
+}
+.alerts-snackbar.in {
+  top: 0px;
+  transition: top 200ms ease;
+}
+.alerts-snackbar p {
+  display: inline-block;
+  border-radius: 0px 0px 4px 4px;
+  margin: 0px;
+  pointer-events: all;
+}
+.loader {
+  width: 100%;
+  height: 49px;
+  text-align: center;
+}
+.loader.loader-spaced {
+  margin: 40px 0px;
+}
+.loader-spinning-wheel {
+  width: 49px;
+  height: 49px;
+  margin: 0 auto;
+  border: 3px solid #777777;
+  border-radius: 50%;
+  border-left-color: transparent;
+  border-right-color: transparent;
+  animation: cssload-spin 575ms infinite linear;
+  -o-animation: cssload-spin 575ms infinite linear;
+  -ms-animation: cssload-spin 575ms infinite linear;
+  -webkit-animation: cssload-spin 575ms infinite linear;
+  -moz-animation: cssload-spin 575ms infinite linear;
+}
+@keyframes cssload-spin {
+  100% {
+    transform: rotate(360deg);
+  }
+}
+@-o-keyframes cssload-spin {
+  100% {
+    -o-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@-ms-keyframes cssload-spin {
+  100% {
+    -ms-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@-webkit-keyframes cssload-spin {
+  100% {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@-moz-keyframes cssload-spin {
+  100% {
+    -moz-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+.navbar {
+  margin-bottom: 0px;
+}
+.navbar .navbar-full .navbar-brand > * {
+  display: inline-block;
+}
+.navbar .navbar-full .navbar-brand img {
+  height: 16px;
+}
+.navbar .navbar-full .nav-guest,
+.navbar .navbar-full .nav-user {
+  float: right;
+}
+.navbar .navbar-full .nav-guest .navbar-btn,
+.navbar .navbar-full .nav-user .navbar-btn {
+  margin-left: 15px;
+}
+.navbar .navbar-full .nav-user .dropdown-toggle {
+  padding: 8px;
+}
+.navbar .navbar-full .nav-user .dropdown-toggle img {
+  width: 34px;
+  height: 34px;
+}
+.navbar ul.navbar-compact-nav {
+  margin: 0px;
+  display: table;
+  width: 100%;
+}
+.navbar ul.navbar-compact-nav > li {
+  display: table-cell;
+}
+.navbar ul.navbar-compact-nav > li > a,
+.navbar ul.navbar-compact-nav > li > button {
+  background: none;
+  border: none;
+  padding-top: 13px;
+  padding-bottom: 13px;
+  display: block;
+  width: 100%;
+  color: #777;
+  text-align: center;
+}
+.navbar ul.navbar-compact-nav > li > a:hover,
+.navbar ul.navbar-compact-nav > li > button:hover,
+.navbar ul.navbar-compact-nav > li > a:focus,
+.navbar ul.navbar-compact-nav > li > button:focus {
+  color: #333;
+  background-color: transparent;
+}
+.navbar ul.navbar-compact-nav > li > a > img,
+.navbar ul.navbar-compact-nav > li > button > img {
+  width: 24px;
+  height: 24px;
+}
+.navbar ul.navbar-compact-nav > li > button {
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+.navbar ul.navbar-compact-nav > li > a > .material-icon {
+  font-size: 24px;
+  line-height: 24px;
+}
+@media (max-width: 767px) {
+  .navbar.navbar-misago {
+    min-height: auto;
+  }
+}
+.nav-side > a > .material-icon {
+  margin: -5px;
+  margin-right: 10px;
+  position: relative;
+  bottom: 2px;
+  width: 24px;
+  height: 24px;
+  font-size: 24px;
+  line-height: 24px;
+}
+@font-face {
+  font-family: 'Material Icons';
+  font-style: normal;
+  font-weight: 400;
+  src: url(../fonts/MaterialIcons-Regular.eot);
+  /* For IE6-8 */
+  src: local('Material Icons'), local('MaterialIcons-Regular'), url(../fonts/MaterialIcons-Regular.woff2) format('woff2'), url(../fonts/MaterialIcons-Regular.woff) format('woff'), url(../fonts/MaterialIcons-Regular.ttf) format('truetype');
+}
+.material-icon {
+  font-family: 'Material Icons';
+  font-weight: normal;
+  font-style: normal;
+  display: inline-block;
+  width: 1em;
+  height: 1em;
+  line-height: 1;
+  text-align: center;
+  text-transform: none;
+  letter-spacing: normal;
+  vertical-align: middle;
+  word-wrap: normal;
+  white-space: nowrap;
+  direction: ltr;
+  /* Support for all WebKit browsers. */
+  -webkit-font-smoothing: antialiased;
+  /* Support for Safari and Chrome. */
+  text-rendering: optimizeLegibility;
+  /* Support for Firefox. */
+  -moz-osx-font-smoothing: grayscale;
+  /* Support for IE. */
+  font-feature-settings: 'liga';
+}
+@media screen and (max-width: 991px) {
+  .modal-message {
+    text-align: center;
+  }
+  .modal-message .message-icon {
+    margin: 30px;
+  }
+  .modal-message .message-icon .material-icon {
+    font-size: 160px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .modal-message .modal-body {
+    padding-top: 20px;
+    padding-bottom: 30px;
+  }
+  .modal-message .message-icon {
+    float: left;
+    position: relative;
+    left: 7px;
+  }
+  .modal-message .message-icon .material-icon {
+    font-size: 50px;
+  }
+  .modal-message .message-body {
+    margin-left: 75px;
+    margin-top: 10px;
+  }
+  .modal-message .message-body p {
+    margin-top: 20px;
+  }
+  .modal-message .message-body .lead {
+    margin-top: 0px;
+    margin-bottom: 0px;
+  }
+}
+.modal-loader {
+  padding: 50px 0px;
+}
+.modal-loader .loader {
+  width: 100%;
+  height: 80px;
+  text-align: center;
+}
+.modal-loader .loader-spinning-wheel {
+  width: 80px;
+  height: 80px;
+}
+.modal-body .form-group {
+  min-height: 34px;
+}
+@media screen and (min-width: 992px) {
+  .modal-body .form-group .control-label {
+    position: relative;
+    top: 7px;
+  }
+}
+.modal-register .modal-footer a {
+  float: left;
+  margin-top: 6.66666667px;
+}
+@media screen and (max-width: 991px) {
+  .modal-register .modal-footer {
+    text-align: center;
+  }
+  .modal-register .modal-footer a {
+    display: block;
+  }
+  .modal-register .modal-footer .btn {
+    display: block;
+    float: none;
+    margin-top: 10px;
+    width: 100%;
+  }
+}
+.list-item-errors {
+  margin-bottom: 20px;
+}
+.list-errored-items li:last-child .list-item-errors {
+  margin-bottom: 0px;
+}
+.has-feedback .material-icon.form-control-feedback {
+  top: 6px;
+  right: 24px;
+  font-size: 1.42857143;
+  line-height: 1.42857143;
+}
+.well.well-form.well-done {
+  font-size: 18px;
+  text-align: center;
+}
+.well.well-form.well-done .message-icon {
+  margin-bottom: 10px;
+  font-size: 90px;
+  line-height: 90px;
+}
+.well.well-form.well-done .message-body {
+  margin-bottom: 6.66666667px;
+}
+.well.well-form.well-noscript {
+  font-size: 18px;
+  text-align: center;
+}
+.well.well-form.well-noscript .message-icon {
+  margin-bottom: 10px;
+  font-size: 90px;
+  line-height: 90px;
+}
+.btn.btn-yes-no,
+.btn.btn-select {
+  background: transparent;
+  border: 1px solid #eeeeee;
+}
+.btn.btn-yes-no .material-icon,
+.btn.btn-select .material-icon {
+  margin: -4px 0px;
+  margin-right: 8px;
+  position: relative;
+  bottom: 1px;
+  width: 20px;
+  height: 20px;
+  font-size: 20px;
+  line-height: 20px;
+}
+input.hidden-file-upload {
+  position: absolute;
+  top: -9999px;
+  left: -9999px;
+}
+.form-search {
+  position: relative;
+}
+.form-search .form-control {
+  padding-right: 30px;
+}
+.form-search .material-icon {
+  position: absolute;
+  top: 5px;
+  right: 5px;
+  color: #777777;
+  font-size: 24px;
+  line-height: 24px;
+  pointer-events: none;
+}
+.btn.btn-loading,
+.btn.btn-loading:link,
+.btn.btn-loading:active,
+.btn.btn-loading:visited,
+.btn.btn-loading:hover,
+.btn.btn-loading:focus {
+  color: transparent;
+}
+.btn.btn-loading .loader,
+.btn.btn-loading:link .loader,
+.btn.btn-loading:active .loader,
+.btn.btn-loading:visited .loader,
+.btn.btn-loading:hover .loader,
+.btn.btn-loading:focus .loader {
+  height: 20px;
+  margin-top: -20px;
+}
+.btn.btn-loading .loader > div,
+.btn.btn-loading:link .loader > div,
+.btn.btn-loading:active .loader > div,
+.btn.btn-loading:visited .loader > div,
+.btn.btn-loading:hover .loader > div,
+.btn.btn-loading:focus .loader > div {
+  width: 20px;
+  height: 20px;
+}
+.btn.btn-loading.btn-default .loader > div {
+  border-top-color: #333;
+  border-bottom-color: #333;
+}
+.btn.btn-loading.btn-primary .loader > div {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+.btn.btn-loading.btn-success .loader > div {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+.btn.btn-loading.btn-info .loader > div {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+.btn.btn-loading.btn-warning .loader > div {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+.btn.btn-loading.btn-danger .loader > div {
+  border-top-color: #fff;
+  border-bottom-color: #fff;
+}
+.btn .material-icon {
+  margin-right: 3px;
+  position: relative;
+  bottom: 1px;
+}
+.btn-icon .material-icon {
+  margin: -1px -4px;
+  width: 20px;
+  height: 20px;
+  font-size: 20px;
+  line-height: 20px;
+}
+.dropdown-menu > li > a,
+.dropdown-menu > li > .btn-link,
+.modal-menu > li > a,
+.modal-menu > li > .btn-link {
+  display: block;
+  border: none;
+  clear: both;
+  float: none;
+  padding: 4px 20px;
+  width: 100%;
+  color: #333333;
+  font-weight: normal;
+  line-height: 1.42857143;
+  text-align: left;
+  white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > .btn-link:hover,
+.modal-menu > li > a:hover,
+.modal-menu > li > .btn-link:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-menu > li > .btn-link:focus,
+.modal-menu > li > a:focus,
+.modal-menu > li > .btn-link:focus {
+  background-color: #f5f5f5;
+  color: #262626;
+  text-decoration: none;
+}
+.dropdown-menu > li > a .material-icon,
+.dropdown-menu > li > .btn-link .material-icon,
+.modal-menu > li > a .material-icon,
+.modal-menu > li > .btn-link .material-icon {
+  margin: -2px 0px;
+  margin-right: 7px;
+  position: relative;
+  bottom: 1px;
+  font-size: 18px;
+}
+.dropdown-menu > li > a .badge,
+.dropdown-menu > li > .btn-link .badge,
+.modal-menu > li > a .badge,
+.modal-menu > li > .btn-link .badge {
+  float: right;
+}
+.modal-menu {
+  margin: 20px 0px;
+  padding: 0px;
+}
+.modal-menu > li {
+  margin: 6.66666667px 0px;
+  padding: 0px;
+  list-style: none;
+}
+.dropdown-menu {
+  width: 210px;
+}
+.dropdown-menu .dropdown-footer {
+  padding: 6px 20px;
+}
+.dropdown-menu .dropdown-buttons {
+  padding: 2px 20px;
+}
+.dropdown-menu .dropdown-buttons .btn {
+  margin: 4px 0px;
+}
+.mobile-dropdown,
+.compact-nav {
+  position: static;
+  margin: 0px;
+  overflow: auto;
+}
+.mobile-dropdown.open,
+.compact-nav.open {
+  margin-bottom: 20px;
+}
+.compact-nav.open {
+  margin-top: -20px;
+}
+.mobile-dropdown.open > .dropdown-menu,
+.compact-nav.open > .dropdown-menu {
+  border: none;
+  border-radius: 0;
+  -webkit-box-shadow: none;
+  box-shadow: none;
+  display: block;
+  margin: 0px;
+  width: 100%;
+  position: static;
+}
+.user-dropdown .guest-preview {
+  text-align: center;
+}
+.user-dropdown .guest-preview .row {
+  margin: 0px;
+}
+.navbar .user-dropdown {
+  width: 240px;
+}
+.user-dropdown .dropdown-header {
+  padding: 6px 20px;
+  font-size: 18px;
+}
+.user-dropdown .dropdown-header strong {
+  font-weight: normal;
+}
+@media screen and (min-width: 992px) {
+  .category-picker .dropdown-menu {
+    width: 300px;
+  }
+}
+.category-picker .dropdown-menu > li > .btn-link {
+  white-space: normal;
+  word-wrap: break-word;
+}
+.page-header {
+  margin: 0px;
+  margin-bottom: 20px;
+}
+.page-header .btn-aligned {
+  float: right;
+  margin-top: 23px;
+  margin-left: 8px;
+}
+.page-header .btn-aligned.pull-left {
+  margin-left: 0px;
+  margin-right: 8px;
+}
+@media screen and (max-width: 991px) {
+  .container h1 {
+    font-size: 22.5px;
+  }
+  .container .btn-aligned {
+    float: right;
+    margin-top: 13px;
+  }
+  .container .btn-icon .material-icon {
+    width: 24px;
+    height: 24px;
+    font-size: 24px;
+    line-height: 24px;
+  }
+}
+.page-breadcrumbs .breadcrumb {
+  background: none;
+  padding-left: 0px;
+  padding-right: 0px;
+  margin-bottom: -20px;
+}
+.header-stats .list-inline li {
+  margin-right: 8px;
+}
+.header-stats .list-inline li .status-icon {
+  width: 18px;
+  height: 18px;
+  margin-right: 4px;
+  position: relative;
+  bottom: 1px;
+  font-size: 18px;
+  line-height: 18px;
+}
+@media screen and (max-width: 991px) {
+  .header-stats .list-inline {
+    margin-top: 10px;
+    margin-bottom: 0px;
+    font-size: 12px;
+  }
+}
+.page-header .page-tabs .nav > li {
+  margin: 0px;
+}
+.page-header .page-tabs .nav > li > a {
+  border-radius: 0px;
+}
+@media screen and (max-width: 991px) {
+  .page-header .page-tabs {
+    margin-top: 9px;
+    margin-bottom: -9px;
+  }
+  .page-header .page-tabs .container {
+    padding: 0px;
+    width: 100%;
+  }
+  .page-header .page-tabs .container .nav-pills li {
+    display: block;
+    float: inherit;
+    width: auto;
+  }
+}
+@media screen and (min-width: 992px) {
+  .page-header.tabbed {
+    padding-bottom: 0px;
+  }
+}
+@media screen and (max-width: 991px) {
+  .panel-message-body {
+    text-align: center;
+  }
+  .panel-message-body .message-icon {
+    margin: 30px;
+  }
+  .panel-message-body .message-icon .material-icon {
+    font-size: 160px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .panel-message-body {
+    padding: 20px;
+    padding-bottom: 30px;
+  }
+  .panel-message-body .message-icon {
+    float: left;
+  }
+  .panel-message-body .message-icon .material-icon {
+    font-size: 50px;
+  }
+  .panel-message-body .message-body {
+    margin-left: 75px;
+    margin-top: 10px;
+  }
+  .panel-message-body .message-body .lead {
+    margin-bottom: 0px;
+  }
+  .panel-message-body .message-body .help-block {
+    margin-top: 13.2px;
+  }
+}
+.panel-body-loading {
+  padding: 0px;
+  text-align: center;
+}
+.misago-footer {
+  margin-top: 30px;
+  margin-bottom: 50px;
+}
+.misago-footer .footer-content {
+  border-top: 1px solid #eeeeee;
+  padding-top: 30px;
+}
+.misago-footer .noscript-message .material-icon {
+  position: relative;
+  bottom: 1px;
+  font-size: 18px;
+}
+.ui-preview {
+  color: #eeeeee;
+  -webkit-animation: ui-preview-animation 1s linear infinite;
+  -o-animation: ui-preview-animation 1s linear infinite;
+  animation: ui-preview-animation 1s linear infinite;
+}
+@keyframes ui-preview-animation {
+  0% {
+    opacity: 1;
+    filter: alpha(opacity=100);
+  }
+  50% {
+    opacity: 0.1;
+    filter: alpha(opacity=10);
+  }
+  100% {
+    opacity: 1;
+    filter: alpha(opacity=100);
+  }
+}
+.ui-preview-text {
+  background: #eeeeee;
+  border-radius: 100px;
+  display: inline-block;
+  height: 14px;
+  position: relative;
+  top: 3px;
+}
+.ui-preview-paragraph .ui-preview-text {
+  margin-right: 6px;
+}
+.ui-preview-paragraph .ui-preview-text:last-child {
+  margin-right: 0px;
+}
+.ui-preview-img {
+  background: #eeeeee;
+  border-radius: 5px;
+}
+.pager-undercontent {
+  margin-top: -20px;
+}
+.pager-progress-bar {
+  list-style: none;
+  margin: 0px;
+  margin-top: -46px;
+  padding: 0px;
+  overflow: auto;
+  text-align: center;
+}
+.pager-progress-bar li {
+  display: inline-block;
+}
+.pager-progress-bar li a {
+  padding: 0px 6px;
+}
+.pager-progress-bar li.active a {
+  font-weight: bold;
+}
+.pager-more {
+  text-align: center;
+}
+@media screen and (min-width: 992px) {
+  .pager-more .btn {
+    padding-left: 20px;
+    padding-right: 20px;
+  }
+}
+.misago-pagination {
+  overflow: auto;
+}
+.misago-pagination .pagination {
+  float: left;
+  margin: 0px;
+  margin-right: 10px;
+}
+.misago-pagination .pagination a {
+  padding: 2px;
+}
+.misago-pagination .pagination .material-icon {
+  width: 28px;
+  height: 28px;
+  font-size: 28px;
+  line-height: 28px;
+}
+.misago-pagination p {
+  float: left;
+  margin: 0px;
+  padding: 7px;
+}
+.user-status.user-banned .status-icon {
+  color: #d9534f;
+}
+.user-status.user-online .status-icon {
+  color: #5cb85c;
+}
+.user-status.user-offline .status-icon {
+  color: #777777;
+}
+.user-card {
+  background: #fff;
+  border: 1px solid #eeeeee;
+  border-radius: 6px;
+  margin-bottom: 20px;
+  overflow: hidden;
+}
+.user-card-bg-image .bg-image {
+  display: none;
+}
+.user-card .user-details {
+  padding: 6px 12px;
+  overflow: auto;
+}
+.user-card .user-details .user-avatar {
+  float: left;
+}
+.user-card .user-details .user-avatar img {
+  width: 60px;
+  height: 60px;
+}
+@media screen and (max-width: 991px) {
+  .user-card .user-details .user-avatar img {
+    width: 46px;
+    height: 46px;
+  }
+}
+.user-card .user-name {
+  margin-left: 76px;
+}
+.user-card .user-name .item-title {
+  font-size: 18px;
+}
+@media screen and (max-width: 991px) {
+  .user-card .user-name {
+    margin-left: 58px;
+    margin-top: 5px;
+    margin-bottom: 6px;
+  }
+}
+.user-card .user-subscript {
+  margin-left: 76px;
+  margin-bottom: 0px;
+  overflow: auto;
+  color: #777777;
+  font-size: 9.24px;
+}
+.user-card .user-subscript > * {
+  display: block;
+  float: left;
+  height: auto;
+  padding: 0px;
+  margin: 0px;
+  margin-right: 8px;
+}
+@media screen and (max-width: 991px) {
+  .user-card .user-subscript {
+    margin-left: 58px;
+  }
+}
+.user-card .user-subscript .ui-preview-text {
+  position: relative;
+  top: auto;
+  height: 9.24px;
+  font-size: 9.24px;
+  line-height: 9.24px;
+}
+.user-card .user-status .status-icon {
+  margin-right: 2px;
+  position: relative;
+  bottom: 1px;
+  width: 11px;
+  height: 11px;
+  font-size: 11px;
+  line-height: 11px;
+}
+.user-card .user-status .status-icon.ui-preview-text {
+  margin-right: 3px;
+  position: relative;
+  bottom: 0px;
+  width: 12px;
+  height: 12px;
+  font-size: 12px;
+  line-height: 12px;
+}
+.user-card .user-card-stats {
+  border-top: 1px solid #eeeeee;
+  display: table;
+  table-layout: fixed;
+  width: 100%;
+}
+.user-card .user-card-stats ul {
+  display: table-row;
+}
+.user-card .user-card-stats ul li {
+  display: table-cell;
+  overflow: auto;
+  padding: 6px 12px;
+  font-size: 12px;
+  font-weight: bold;
+  text-align: center;
+}
+.user-card .user-card-stats .ui-preview-text {
+  position: static;
+  height: 12px;
+  font-size: 12px;
+  line-height: 12px;
+}
+.toolbar {
+  display: block;
+  min-height: 34px;
+  margin-bottom: 10px;
+}
+.toolbar.toolbar-bottom {
+  margin-top: 10px;
+  margin-bottom: 20px;
+}
+.toolbar > h3 {
+  font-size: 18px;
+}
+.toolbar > p {
+  padding: 6px 0px;
+  text-align: center;
+}
+@media screen and (min-width: 992px) {
+  .toolbar .toolbar-left {
+    float: left;
+    margin-right: 16px;
+  }
+  .toolbar .toolbar-right {
+    float: right;
+    margin-left: 16px;
+  }
+  .toolbar .toolbar-control,
+  .toolbar .toolbar-bottom > .form-control {
+    margin: 0px;
+    width: auto;
+  }
+  .toolbar > p,
+  .toolbar > h3 {
+    min-height: 34px;
+    margin: 0px;
+    padding-top: 6px;
+    text-align: left;
+  }
+  .toolbar > p {
+    padding-top: 7px;
+  }
+}
+.item-title {
+  color: #333333;
+  font-weight: bold;
+  text-decoration: none;
+}
+a.item-title:link,
+a.item-title:active,
+a.item-title:visited,
+a.item-title:hover {
+  color: #333333;
+  font-weight: bold;
+}
+a.item-title:hover {
+  text-decoration: underline;
+}
+.message-line {
+  text-align: center;
+}
+.message-line .material-icon {
+  margin-right: 6.66666667px;
+  font-size: 20px;
+  line-height: 20px;
+  height: 20px;
+  width: 20px;
+}
+.modal-change-avatar .modal-avatar-index .avatar-preview {
+  border-radius: 6px;
+  margin: 0px auto;
+  overflow: hidden;
+  position: relative;
+  width: 200px;
+  height: 200px;
+}
+.modal-change-avatar .modal-avatar-index .avatar-preview .loader {
+  display: none;
+  position: absolute;
+  top: 50px;
+  height: 100px;
+}
+.modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {
+  border-width: 10px;
+  border-color: #fff;
+  border-left-color: transparent;
+  border-right-color: transparent;
+  width: 100px;
+  height: 100px;
+}
+.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading img {
+  opacity: 0.33;
+  filter: alpha(opacity=33);
+}
+.modal-change-avatar .modal-avatar-index .avatar-preview.preview-loading .loader {
+  display: block;
+}
+@media (max-width: 767px) {
+  .modal-change-avatar .modal-avatar-index .avatar-preview {
+    margin-bottom: 20px;
+    width: 150px;
+    height: 150px;
+  }
+  .modal-change-avatar .modal-avatar-index .avatar-preview img {
+    width: 150px;
+    height: 150px;
+  }
+  .modal-change-avatar .modal-avatar-index .avatar-preview .loader {
+    top: 25px;
+    height: 100px;
+  }
+  .modal-change-avatar .modal-avatar-index .avatar-preview .loader .loader-spinning-wheel {
+    width: 100px;
+    height: 100px;
+  }
+}
+.modal-change-avatar .modal-avatar-index .btn {
+  text-align: left;
+}
+.modal-change-avatar .modal-avatar-upload {
+  text-align: center;
+}
+.modal-change-avatar .modal-avatar-upload .btn-pick-file {
+  background: transparent;
+  border: 2px solid #eeeeee;
+  border-radius: 6px;
+  padding: 10px 24px;
+  -webkit-box-shadow: none;
+  box-shadow: none;
+  color: #777777;
+  font-size: 18px;
+  text-align: center;
+}
+.modal-change-avatar .modal-avatar-upload .btn-pick-file > .material-icon {
+  display: block;
+  margin: 0px auto;
+  margin-bottom: 13.2px;
+  font-size: 50px;
+  width: 50px;
+  height: 50px;
+}
+.modal-change-avatar .modal-avatar-upload .btn-pick-file:hover,
+.modal-change-avatar .modal-avatar-upload .btn-pick-file:active {
+  border-color: #777777;
+}
+.modal-change-avatar .modal-avatar-upload .text-muted {
+  margin-top: 13.2px;
+}
+.modal-change-avatar .modal-avatar-upload .upload-progress img {
+  border-radius: 4px;
+  margin-bottom: 20px;
+  max-height: 80px;
+  width: auto;
+}
+.modal-change-avatar .modal-avatar-upload .upload-progress .progress {
+  width: 70%;
+  margin: 0px auto;
+}
+.modal-avatar-crop .crop-form {
+  margin: 0px auto;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input {
+  margin-top: 10px;
+  -webkit-appearance: none;
+  border: 1px solid white;
+  width: 100%;
+  /*hide the outline behind the border*/
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-runnable-track {
+  width: 100%;
+  height: 8px;
+  background: #eeeeee;
+  border: none;
+  border-radius: 3px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-webkit-slider-thumb {
+  -webkit-appearance: none;
+  border: none;
+  height: 20px;
+  width: 20px;
+  border-radius: 50%;
+  background: #777777;
+  margin-top: -6px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus {
+  outline: none;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-webkit-slider-runnable-track {
+  background: #eeeeee;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-track {
+  width: 100%;
+  height: 8px;
+  background: #eeeeee;
+  border: none;
+  border-radius: 4px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-moz-range-thumb {
+  border: none;
+  height: 20px;
+  width: 20px;
+  border-radius: 50%;
+  background: #777777;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input:-moz-focusring {
+  outline: 1px solid white;
+  outline-offset: -1px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-track {
+  width: 100%;
+  height: 8px;
+  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
+  background: transparent;
+  /*leave room for the larger thumb to overflow with a transparent border */
+  border-color: transparent;
+  border-width: 8px 0;
+  /*remove default tick marks*/
+  color: transparent;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-lower {
+  background: #eeeeee;
+  border-radius: 16px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-fill-upper {
+  background: #eeeeee;
+  border-radius: 16px;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input::-ms-thumb {
+  border: none;
+  height: 20px;
+  width: 20px;
+  border-radius: 50%;
+  background: #777777;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-lower {
+  background: #eeeeee;
+}
+.modal-avatar-crop .crop-form .cropit-image-zoom-input:focus::-ms-fill-upper {
+  background: #eeeeee;
+}
+.modal-change-avatar .modal-avatar-gallery {
+  padding-bottom: 0px;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery {
+  margin-bottom: 20px;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery h3 {
+  margin-top: 0px;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .row {
+  margin-bottom: 10px;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn {
+  border-radius: 6px;
+  border: 2px solid #eeeeee;
+  background: none;
+  padding: 2px;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:hover,
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:focus {
+  border-color: #777777;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn.avatar-selected,
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn:active {
+  border-color: #337ab7;
+}
+.modal-change-avatar .modal-avatar-gallery .avatars-gallery-images .btn img {
+  border-radius: 4px;
+  width: 100%;
+}
+.list-inline.subcategories-list {
+  overflow: auto;
+  margin-top: -10px;
+}
+.list-inline.subcategories-list li {
+  display: block;
+  float: left;
+}
+.list-inline.subcategories-list li a,
+.list-inline.subcategories-list li a:link,
+.list-inline.subcategories-list li a:visited,
+.list-inline.subcategories-list li a:active,
+.list-inline.subcategories-list li a:hover,
+.list-inline.subcategories-list li a:focus {
+  background-color: #eeeeee;
+  border: 1px solid #e2e2e2;
+  border-radius: 4px;
+  display: inline-block;
+  margin-top: 10px;
+  padding: 6px 12px;
+  color: #555555;
+}
+.list-inline.subcategories-list li:focus,
+.list-inline.subcategories-list li a:hover,
+.list-inline.subcategories-list li a:active {
+  background-color: #e2e2e2;
+  color: #333333;
+  text-decoration: none;
+}
+.panel-category .panel-heading.heading-alone {
+  border-radius: 4px;
+  border-bottom: none;
+}
+.panel-category .panel-title,
+.panel-category h4 {
+  overflow: auto;
+  margin: 0px;
+  padding: 0px;
+  font-size: 18px;
+}
+.panel-category .panel-title a,
+.panel-category h4 a {
+  display: block;
+  float: left;
+  margin-top: 1px;
+}
+.panel-category .panel-title .read-status,
+.panel-category h4 .read-status {
+  float: left;
+  cursor: help;
+}
+.panel-category .panel-title .read-status .material-icon,
+.panel-category h4 .read-status .material-icon {
+  margin: 0px;
+  margin-right: 4px;
+  width: 26px;
+  position: relative;
+  bottom: 1px;
+  color: #777777;
+  font-size: 24px;
+  line-height: 24px;
+  text-align: center;
+}
+.panel-category .panel-title .read-status.item-new .material-icon,
+.panel-category h4 .read-status.item-new .material-icon {
+  color: #5cb85c;
+}
+.panel-category .category-description p:last-child,
+.panel-category .subcategory-description p:last-child {
+  margin-bottom: 0px;
+}
+.panel-category .subcategory-description {
+  margin-top: 10px;
+  font-size: 12px;
+}
+.panel-category .category-subcategories .subcategories-list {
+  margin-top: 0px;
+}
+.panel-category .category-subcategories .subcategories-list a,
+.panel-category .category-subcategories .subcategories-list a:link,
+.panel-category .category-subcategories .subcategories-list a:visited,
+.panel-category .category-subcategories .subcategories-list a:active,
+.panel-category .category-subcategories .subcategories-list a:hover,
+.panel-category .category-subcategories .subcategories-list a:focus {
+  margin-top: 10px;
+  padding: 5px 10px;
+  font-size: 12px;
+}
+.category-last-post {
+  margin-top: 6px;
+  margin-bottom: 0px;
+}
+.category-thread-message {
+  overflow: auto;
+  margin-top: 6px;
+  margin-bottom: 0px;
+}
+.category-thread-message .material-icon {
+  display: block;
+  float: left;
+  margin-right: 4px;
+  position: relative;
+  top: 1px;
+  font-size: 18px;
+  line-height: 18px;
+}
+@media screen and (max-width: 991px) {
+  .panel-category .panel-title,
+  .panel-category h4 {
+    margin-top: 3px;
+  }
+  .panel-category .category-stats {
+    display: none;
+  }
+  .panel-category .category-last-activity {
+    margin-bottom: 0px;
+  }
+  .panel-category .category-last-activity .thread-title {
+    float: none;
+    clear: both;
+    overflow: hidden;
+    margin-top: 10px;
+    margin-bottom: 4px;
+    padding-right: 0px;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+  }
+  .panel-category .category-last-activity .poster-name,
+  .panel-category .category-last-activity .thread-date {
+    font-size: 12px;
+  }
+  .panel-category .category-last-activity .thread-date {
+    position: relative;
+    top: 1px;
+  }
+  .panel-category .thread-message {
+    padding-top: 4px;
+    font-size: small;
+  }
+  .panel-category .thread-message .material-icon {
+    position: relative;
+    top: -1px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .panel-category .category-stats {
+    float: right;
+    margin: 0px;
+    margin-top: -23px;
+    overflow: auto;
+  }
+  .panel-category .category-stats li {
+    display: block;
+    float: left;
+  }
+  .panel-category .category-last-activity {
+    margin-top: 4px;
+    margin-bottom: 0px;
+  }
+}
+@media screen and (max-width: 991px) {
+  .page-message .message-panel,
+  .page-error .message-panel {
+    text-align: center;
+  }
+  .page-message .message-icon,
+  .page-error .message-icon {
+    margin: 30px;
+  }
+  .page-message .message-icon .material-icon,
+  .page-error .message-icon .material-icon {
+    font-size: 160px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .page-message .message-panel,
+  .page-error .message-panel {
+    margin: 60px auto;
+    max-width: 779.35px;
+    overflow: auto;
+  }
+  .page-message .message-icon,
+  .page-error .message-icon {
+    float: left;
+  }
+  .page-message .message-icon .material-icon,
+  .page-error .message-icon .material-icon {
+    font-size: 80px;
+  }
+  .page-message .message-body,
+  .page-error .message-body {
+    margin-top: 4px;
+    margin-left: 100px;
+  }
+}
+.threads-list {
+  margin-bottom: 20px;
+}
+.threads-list .thread-new,
+.threads-list .thread-read,
+.threads-list .thread-preview {
+  padding-left: 0px;
+  padding-right: 0px;
+}
+.threads-list .thread-icon {
+  float: left;
+  width: 46px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-icon {
+    width: 46px;
+  }
+}
+.thread-ops-one .thread-options {
+  float: right;
+  width: 46px;
+}
+@media screen and (max-width: 991px) {
+  .thread-ops-one .thread-options {
+    width: 8px;
+  }
+}
+.thread-ops-two .thread-options {
+  float: right;
+  width: 100px;
+}
+@media screen and (max-width: 991px) {
+  .thread-ops-two .thread-options {
+    width: 8px;
+  }
+}
+.thread-main {
+  margin-left: 46px;
+}
+@media screen and (max-width: 991px) {
+  .thread-main {
+    margin-left: 46px;
+    padding-top: 2px;
+  }
+}
+.thread-main {
+  margin-right: 10px;
+}
+.thread-ops-one .thread-main {
+  margin-right: 46px;
+}
+@media screen and (max-width: 991px) {
+  .thread-ops-one .thread-main {
+    margin-right: 8px;
+  }
+}
+.thread-ops-two .thread-main {
+  margin-right: 100px;
+}
+@media screen and (max-width: 991px) {
+  .thread-ops-two .thread-main {
+    margin-right: 8px;
+  }
+}
+.threads-list .thread-icon {
+  padding-top: 2px;
+  text-align: center;
+}
+.threads-list .read-status .material-icon {
+  width: 24px;
+  height: 24px;
+  color: #777777;
+  font-size: 24px;
+  line-height: 24px;
+}
+.threads-list .thread-new .read-status .material-icon {
+  color: #5cb85c;
+}
+.threads-list .thread-preview .read-status .material-icon {
+  color: #eeeeee;
+}
+.threads-list .thread-icon .loader {
+  height: 24px;
+}
+.threads-list .thread-icon .loader-spinning-wheel {
+  width: 24px;
+  height: 24px;
+  border-color: #b7b7b7 transparent;
+}
+.threads-list .thread-flags {
+  display: none;
+  margin-left: auto;
+  margin-right: auto;
+  position: relative;
+  bottom: 4px;
+  color: #777777;
+  pointer-events: none;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-flags {
+    display: block;
+    margin: 0px;
+    padding: 0px;
+  }
+}
+.threads-list .thread-flags li {
+  margin: 0px 2px;
+}
+.threads-list .thread-flags .material-icon {
+  font-size: 10px;
+  line-height: 10px;
+}
+.threads-list .thread-title,
+.threads-list .thread-title:link,
+.threads-list .thread-title:active,
+.threads-list .thread-title:visited,
+.threads-list .thread-title:hover,
+.threads-list .thread-title:focus {
+  color: #777777;
+  font-size: 18px;
+  font-weight: normal;
+  word-wrap: break-word;
+}
+.threads-list .thread-title .ui-preview-text,
+.threads-list .thread-title:link .ui-preview-text,
+.threads-list .thread-title:active .ui-preview-text,
+.threads-list .thread-title:visited .ui-preview-text,
+.threads-list .thread-title:hover .ui-preview-text,
+.threads-list .thread-title:focus .ui-preview-text {
+  height: 18px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-title,
+  .threads-list .thread-title:link,
+  .threads-list .thread-title:active,
+  .threads-list .thread-title:visited,
+  .threads-list .thread-title:hover,
+  .threads-list .thread-title:focus {
+    font-size: 14px;
+    font-weight: bold;
+  }
+  .threads-list .thread-title .ui-preview-text,
+  .threads-list .thread-title:link .ui-preview-text,
+  .threads-list .thread-title:active .ui-preview-text,
+  .threads-list .thread-title:visited .ui-preview-text,
+  .threads-list .thread-title:hover .ui-preview-text,
+  .threads-list .thread-title:focus .ui-preview-text {
+    height: 14px;
+  }
+}
+.threads-list .thread-new .thread-title,
+.threads-list .thread-new .thread-title:link,
+.threads-list .thread-new .thread-title:active,
+.threads-list .thread-new .thread-title:visited,
+.threads-list .thread-new .thread-title:hover,
+.threads-list .thread-new .thread-title:focus {
+  color: #333333;
+}
+.threads-list .thread-details-full {
+  display: block;
+  float: none;
+  margin: 0px;
+  margin-top: 5px;
+  padding: 0px;
+  overflow: auto;
+  font-size: 12px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-details-full {
+    display: none;
+  }
+}
+.threads-list .thread-details-full > li {
+  display: block;
+  float: left;
+  margin: 0px;
+  margin-right: 6px;
+  padding: 0px;
+  overflow: auto;
+}
+.threads-list .thread-details-full > li .material-icon {
+  position: relative;
+  top: 1px;
+  float: left;
+  margin-right: 2px;
+  font-size: 14px;
+  line-height: 14px;
+}
+.threads-list .thread-details-full > li .icon-legend {
+  float: left;
+}
+.threads-list .thread-details-full > li .ui-preview-text {
+  height: 12px;
+}
+.threads-list .thread-details-full > li.thread-path a {
+  float: left;
+}
+.threads-list .thread-details-compact {
+  display: none;
+  float: none;
+  margin: 0px;
+  margin-top: 5px;
+  padding: 0px;
+  overflow: auto;
+  color: #777777;
+  font-size: 9.24px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-details-compact {
+    display: block;
+  }
+}
+.threads-list .thread-details-compact > li {
+  display: block;
+  float: left;
+  margin: 0px;
+  margin-right: 6px;
+  padding: 0px;
+}
+.threads-list .thread-details-compact > li .material-icon {
+  position: relative;
+  top: -1px;
+  margin-right: 2px;
+  font-size: 10.24px;
+  line-height: 10.24px;
+}
+.threads-list .thread-details-compact > li .ui-preview-text {
+  height: 9.24px;
+}
+.threads-list .thread-path .material-icon {
+  margin: 0px 2px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-options {
+    overflow: visible;
+    position: relative;
+    width: 100px;
+  }
+}
+.threads-list .thread-options > ul {
+  margin: 0px;
+  padding: 0px;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-options > ul {
+    position: absolute;
+    top: -3px;
+    right: 2px;
+  }
+}
+.threads-list .thread-options > ul > li {
+  float: right;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-options > ul > li {
+    overflow: hidden;
+  }
+}
+.threads-list .thread-options .btn-default {
+  padding: 4px;
+  color: #777777;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-options .btn-default {
+    background: transparent;
+    opacity: .33;
+  }
+}
+.threads-list .thread-options .btn-default:hover,
+.threads-list .thread-options .btn-default:active {
+  color: #555555;
+}
+@media screen and (max-width: 991px) {
+  .threads-list .thread-options .btn-default:hover,
+  .threads-list .thread-options .btn-default:active {
+    background: #fff;
+    opacity: 1;
+  }
+}
+.threads-list .thread-options .btn-default .material-icon {
+  margin: 0px;
+  position: relative;
+  top: 0px;
+  width: 20px;
+  height: 20px;
+  font-size: 20px;
+  line-height: 20px;
+}
+.threads-list .thread-options .btn-default .icon-legend {
+  display: none;
+}
+.threads-diff-message {
+  padding: 0px;
+}
+.threads-diff-message .btn {
+  border: none;
+  border-bottom-left-radius: 0px;
+  border-bottom-right-radius: 0px;
+  padding: 10px 16px;
+  width: 100%;
+  overflow: none;
+  text-align: left;
+}
+.threads-diff-message .btn .material-icon {
+  margin-right: 4px;
+  width: 24px;
+  font-size: 24px;
+  height: 24px;
+}
+@media screen and (max-width: 991px) {
+  .threads-diff-message .btn {
+    text-align: center;
+    white-space: normal;
+    word-wrap: break-word;
+  }
+  .threads-diff-message .btn .material-icon {
+    display: none;
+  }
+}
+.threads-list .thread-busy .thread-flags,
+.threads-list .thread-busy .thread-main,
+.threads-list .thread-busy .thread-options {
+  -webkit-animation: thread-busy-animation 600ms linear infinite;
+  -o-animation: thread-busy-animation 600ms linear infinite;
+  animation: thread-busy-animation 600ms linear infinite;
+}
+@keyframes thread-busy-animation {
+  0% {
+    opacity: 0.2;
+    filter: alpha(opacity=20);
+  }
+  50% {
+    opacity: 0.5;
+    filter: alpha(opacity=50);
+  }
+  100% {
+    opacity: 0.2;
+    filter: alpha(opacity=20);
+  }
+}
+.active-posters li {
+  display: block;
+  overflow: auto;
+}
+.active-posters .rank-user-avatar {
+  float: left;
+}
+@media screen and (max-width: 991px) {
+  .active-posters .rank-user-avatar {
+    height: 42px;
+  }
+  .active-posters .rank-user-avatar img {
+    width: 36px;
+    height: 36px;
+    position: relative;
+    top: 3px;
+  }
+}
+.active-posters .rank-user {
+  float: left;
+  margin-top: 3px;
+}
+@media screen and (max-width: 991px) {
+  .active-posters .rank-user {
+    margin-left: 13.2px;
+    width: 40%;
+  }
+}
+@media screen and (min-width: 992px) {
+  .active-posters .rank-user {
+    margin-left: 16px;
+    width: 25%;
+  }
+  .active-posters .rank-user .user-name {
+    font-size: 18px;
+  }
+}
+.active-posters .user-details {
+  overflow: auto;
+}
+.active-posters .user-details .user-status,
+.active-posters .user-details .rank-name,
+.active-posters .user-details .user-title {
+  display: block;
+  float: left;
+  margin-right: 3px;
+  font-size: 10.5px;
+}
+@media screen and (min-width: 992px) {
+  .active-posters .user-details .user-status,
+  .active-posters .user-details .rank-name,
+  .active-posters .user-details .user-title {
+    margin-right: 8px;
+    font-size: 12px;
+  }
+}
+.active-posters .user-status {
+  overflow: auto;
+  position: relative;
+  top: 1px;
+}
+.active-posters .user-status span {
+  display: block;
+  float: left;
+}
+@media screen and (min-width: 992px) {
+  .active-posters .user-status {
+    height: 14px;
+  }
+}
+.active-posters .user-status .status-icon {
+  position: relative;
+}
+@media screen and (max-width: 991px) {
+  .active-posters .user-status .status-icon {
+    top: 0px;
+    width: 12px;
+    height: 12px;
+    font-size: 12px;
+    line-height: 12px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .active-posters .user-status .status-icon {
+    top: 1px;
+    margin-right: 3px;
+    width: 13px;
+    height: 13px;
+    font-size: 13px;
+    line-height: 13px;
+  }
+}
+.active-posters .status-label.ui-preview-text,
+.active-posters .rank-name .ui-preview-text,
+.active-posters .user-title .ui-preview-text {
+  height: 11px;
+  position: relative;
+  top: 2px;
+  font-size: 11px;
+  line-height: 11px;
+}
+.active-posters .rank-name .ui-preview-text,
+.active-posters .user-title .ui-preview-text {
+  position: static;
+}
+.active-posters .rank-position strong,
+.active-posters .rank-posts-counted strong,
+.active-posters .rank-posts-total strong,
+.active-posters .rank-position small,
+.active-posters .rank-posts-counted small,
+.active-posters .rank-posts-total small {
+  display: block;
+}
+@media screen and (max-width: 991px) {
+  .active-posters .rank-position,
+  .active-posters .rank-posts-counted,
+  .active-posters .rank-posts-total {
+    overflow: auto;
+  }
+  .active-posters .rank-position strong,
+  .active-posters .rank-posts-counted strong,
+  .active-posters .rank-posts-total strong,
+  .active-posters .rank-position small,
+  .active-posters .rank-posts-counted small,
+  .active-posters .rank-posts-total small {
+    float: left;
+    font-size: 10.5px;
+  }
+  .active-posters .rank-position strong,
+  .active-posters .rank-posts-counted strong,
+  .active-posters .rank-posts-total strong {
+    min-width: 30px;
+    margin-right: 3px;
+    text-align: right;
+  }
+  .active-posters .rank-position .ui-preview-text,
+  .active-posters .rank-posts-counted .ui-preview-text,
+  .active-posters .rank-posts-total .ui-preview-text {
+    height: 8px;
+    position: relative;
+    top: -1px;
+    font-size: 8px;
+    line-height: 8px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .active-posters .rank-position,
+  .active-posters .rank-posts-counted,
+  .active-posters .rank-posts-total {
+    float: left;
+    margin-top: 3px;
+    width: 23%;
+    font-size: 18px;
+    text-align: center;
+  }
+  .active-posters .rank-position small,
+  .active-posters .rank-posts-counted small,
+  .active-posters .rank-posts-total small {
+    font-size: 12px;
+    font-weight: normal;
+  }
+}
+@media screen and (max-width: 991px) {
+  .active-posters .rank-position {
+    margin-top: 6px;
+  }
+  .active-posters .rank-posts-total {
+    display: none;
+  }
+}
+@media screen and (max-width: 991px) {
+  .page-user-profile .page-header h1 img {
+    width: 40px;
+    height: 40px;
+  }
+  .page-user-profile .page-header h1.pull-left img {
+    margin-right: 6px;
+  }
+  .page-user-profile .page-header h1 .user-name {
+    position: relative;
+    top: 2px;
+  }
+  .page-user-profile .page-header .btn-aligned {
+    position: relative;
+    top: 8px;
+  }
+  .page-user-profile .page-header .header-stats ul {
+    text-align: center;
+  }
+  .page-user-profile .page-header .header-stats ul li {
+    display: inline-block;
+    white-space: nowrap;
+  }
+  .page-user-profile .profile-side-avatar {
+    display: none;
+  }
+}
+@media screen and (min-width: 992px) {
+  .page-user-profile .page-header h1 img {
+    display: none;
+  }
+  .header-stats ul li {
+    display: block;
+    float: left;
+  }
+  .page-user-profile .profile-side-avatar img {
+    width: 100%;
+    height: auto;
+    margin-top: -110px;
+    margin-bottom: 20px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .username-history li {
+    display: block;
+    overflow: auto;
+  }
+}
+.username-history .change-avatar {
+  float: left;
+}
+.username-history .change-avatar a,
+.username-history .change-avatar span {
+  margin-right: 10px;
+}
+.username-history .change-avatar a img,
+.username-history .change-avatar span img {
+  width: 42px;
+  height: 42px;
+}
+@media screen and (min-width: 992px) {
+  .username-history .change-avatar a img,
+  .username-history .change-avatar span img {
+    width: 18px;
+    height: 18px;
+    position: relative;
+    bottom: 1px;
+  }
+}
+@media screen and (min-width: 992px) {
+  .username-history .change-author {
+    float: left;
+    width: 30%;
+  }
+}
+.username-history .change {
+  min-height: 20px;
+  overflow: auto;
+}
+.username-history .change span {
+  display: block;
+  float: left;
+}
+.username-history .change .material-icon {
+  margin: 0px 7px;
+  position: relative;
+  top: 4px;
+}
+@media screen and (min-width: 992px) {
+  .username-history .change {
+    float: left;
+    width: 40%;
+  }
+}
+@media screen and (min-width: 992px) {
+  .username-history .change-date {
+    float: left;
+    width: 20%;
+  }
+}

BIN
misago/static/misago/img/site-icon.png


BIN
misago/static/misago/img/site-logo.png


+ 11 - 0
misago/templates/misago/thread/breadcrumbs.html

@@ -0,0 +1,11 @@
+<div class="page-breadcrumbs">
+  <div class="container">
+    <ol class="breadcrumb">
+      {% for node in breadcrumbs %}
+        <li>
+          <a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
+        </li>
+      {% endfor %}
+    </ol>
+  </div>
+</div>

+ 89 - 0
misago/templates/misago/thread/stats.html

@@ -0,0 +1,89 @@
+{% load i18n misago_capture %}
+<div class="header-stats">
+  <div class="container">
+    <ul class="list-inline">
+      {% if thread.weight == 2 %}
+      <li class="thread-pinned-globally">
+        <span class="material-icon">
+          bookmark
+        </span>
+        <span class="icon-legend">
+          {% trans "Pinned globally" %}
+        </span>
+      </li>
+      {% elif thread.weight %}
+      <li class="thread-pinned-locally">
+        <span class="material-icon">
+          bookmark_border
+        </span>
+        <span class="icon-legend">
+          {% trans "Pinned locally" %}
+        </span>
+      </li>
+      {% endif %}
+      {% if thread.is_unapproved %}
+      <li class="thread-unapproved">
+        <span class="material-icon">
+          remove_circle
+        </span>
+        <span class="icon-legend">
+          {% trans "Unapproved" %}
+        </span>
+      </li>
+      {% elif thread.has_unapproved_posts %}
+      <li class="thread-unapproved-posts">
+        <span class="material-icon">
+          remove_circle_outline
+        </span>
+        <span class="icon-legend">
+          {% trans "Unapproved posts" %}
+        </span>
+      </span>
+      {% endif %}
+      {% if thread.is_hidden %}
+      <li class="thread-hidden">
+        <span class="material-icon">
+          visibility_off
+        </span>
+        <span class="icon-legend">
+          {% trans "Hidden" %}
+        </span>
+      </li>
+      {% endif %}
+      {% if thread.is_closed %}
+      <li class="thread-closed">
+        <span class="material-icon">
+          lock_outline
+        </span>
+        <span class="icon-legend">
+          {% trans "Closed" %}
+        </span>
+      </li>
+      {% endif %}
+      <li class="thread-replies">
+        <span class="material-icon">
+          forum
+        </span>
+        <span class="icon-legend">
+          {% blocktrans trimmed count replies=thread.replies %}
+            {{ replies }} reply
+          {% plural %}
+            {{ replies }} replies
+          {% endblocktrans %}
+        </span>
+      </li>
+      <li class="thread-last-reply">
+        {% capture trimmed as last_poster %}
+          {% if thread.last_poster_id %}
+            <a href="{% url 'misago:user' slug=thread.last_poster_slug pk=thread.last_poster_id %}" class="poster-title">{{ thread.last_poster_name }}</a>
+          {% else %}
+            <span class="poster-title">{{ thread.last_poster_name }}</span>
+          {% endif %}
+        {% endcapture %}
+        {% blocktrans trimmed with user=last_poster|safe date=thread.last_post_on|date %}
+          last reply by {{ user }} {{ date }}
+        {% endblocktrans %}
+      </li>
+    </ul>
+  </div>
+</div>

+ 6 - 1
misago/templates/misago/thread/thread.html

@@ -13,10 +13,15 @@
 
 {% block content %}
 <div class="page page-thread {% if category.css_class %}page-thread-{{ category.css_class }}{% endif %}">
-  <div class="page-header">
+  <div class="page-header with-stats with-breadcrumbs">
+    {% include "misago/thread/breadcrumbs.html" %}
+
     <div class="container">
       <h1>{{ thread.title }}</h1>
     </div>
+
+    {% include "misago/thread/stats.html" %}
+
   </div>
 
   <div class="container">

+ 11 - 9
misago/threads/api/threadendpoints/merge.py

@@ -8,10 +8,10 @@ from misago.acl import add_acl
 from misago.categories.models import CATEGORIES_TREE_ID, Category
 from misago.categories.permissions import can_see_category, can_browse_category
 
+from misago.threads.events import record_event
 from misago.threads.models import Thread
 from misago.threads.permissions import can_see_thread
-from misago.threads.serializers import (
-    ThreadListSerializer, MergeThreadsSerializer)
+from misago.threads.serializers import ThreadListSerializer, MergeThreadsSerializer
 from misago.threads.utils import add_categories_to_threads
 
 
@@ -45,8 +45,7 @@ def threads_merge_endpoint(request):
 
     serializer = MergeThreadsSerializer(context=request.user, data=request.data)
     if serializer.is_valid():
-        new_thread = merge_threads(
-            request.user, serializer.validated_data, threads)
+        new_thread = merge_threads(request, serializer.validated_data, threads)
         return Response(ThreadListSerializer(new_thread).data)
     else:
         return Response(serializer.errors, status=400)
@@ -85,7 +84,7 @@ def clean_threads_for_merge(request):
 
 
 @transaction.atomic
-def merge_threads(user, validated_data, threads):
+def merge_threads(request, validated_data, threads):
     new_thread = Thread(
         category=validated_data['category'],
         weight=validated_data.get('weight', 0),
@@ -103,6 +102,10 @@ def merge_threads(user, validated_data, threads):
         new_thread.merge(thread)
         thread.delete()
 
+        record_event(request, new_thread, 'merged', {
+            'merged_thread': thread.title,
+        }, commit=False)
+
     new_thread.synchronize()
     new_thread.save()
 
@@ -120,14 +123,13 @@ def merge_threads(user, validated_data, threads):
     # add top category to thread
     if validated_data.get('top_category'):
         categories = list(Category.objects.all_categories().filter(
-            id__in=user.acl['visible_categories']
+            id__in=request.user.acl['visible_categories']
         ))
-        add_categories_to_threads(
-            validated_data['top_category'], categories, [new_thread])
+        add_categories_to_threads(validated_data['top_category'], categories, [new_thread])
     else:
         new_thread.top_category = None
 
     new_thread.save()
 
-    add_acl(user, new_thread)
+    add_acl(request.user, new_thread)
     return new_thread

+ 10 - 10
misago/threads/api/threadendpoints/patch.py

@@ -26,14 +26,14 @@ def patch_weight(request, thread, value):
 
     if value == 2:
         if thread.acl.get('can_pin') == 2:
-            moderation.pin_thread_globally(request.user, thread)
+            moderation.pin_thread_globally(request, thread)
         else:
             raise PermissionDenied(
                 _("You don't have permission to pin this thread globally."))
     elif value == 1:
-        moderation.pin_thread_locally(request.user, thread)
+        moderation.pin_thread_locally(request, thread)
     elif value == 0:
-        moderation.unpin_thread(request.user, thread)
+        moderation.unpin_thread(request, thread)
 
     return {'weight': thread.weight}
 thread_patch_endpoint.replace('weight', patch_weight)
@@ -52,7 +52,7 @@ def patch_move(request, thread, value):
         allow_browse_category(request.user, new_category)
         allow_start_thread(request.user, new_category)
 
-        moderation.move_thread(request.user, thread, new_category)
+        moderation.move_thread(request, thread, new_category)
 
         return {'category': CategorySerializer(new_category).data}
     else:
@@ -95,7 +95,7 @@ def patch_is_unapproved(request, thread, value):
         if value:
             raise PermissionDenied(_("Content approval can't be reversed."))
 
-        moderation.approve_thread(request.user, thread)
+        moderation.approve_thread(request, thread)
 
         return {
             'is_unapproved': thread.is_unapproved,
@@ -110,9 +110,9 @@ thread_patch_endpoint.replace('is-unapproved', patch_is_unapproved)
 def patch_is_closed(request, thread, value):
     if thread.acl.get('can_close'):
         if value:
-            moderation.close_thread(request.user, thread)
+            moderation.close_thread(request, thread)
         else:
-            moderation.open_thread(request.user, thread)
+            moderation.open_thread(request, thread)
 
         return {'is_closed': thread.is_closed}
     else:
@@ -128,9 +128,9 @@ thread_patch_endpoint.replace('is-closed', patch_is_closed)
 def patch_is_hidden(request, thread, value):
     if thread.acl.get('can_hide'):
         if value:
-            moderation.hide_thread(request.user, thread)
+            moderation.hide_thread(request, thread)
         else:
-            moderation.unhide_thread(request.user, thread)
+            moderation.unhide_thread(request, thread)
 
         return {'is_hidden': thread.is_hidden}
     else:
@@ -162,4 +162,4 @@ def patch_subscribtion(request, thread, value):
         return {'subscription': True}
     else:
         return {'subscription': None}
-thread_patch_endpoint.replace('subscription', patch_subscribtion)
+thread_patch_endpoint.replace('subscription', patch_subscribtion)

+ 0 - 30
misago/threads/checksums.py

@@ -14,33 +14,3 @@ def make_post_checksum(post):
 def update_post_checksum(post):
     post.checksum = make_post_checksum(post)
     return post.checksum
-
-
-def is_report_valid(report):
-    valid_checksum = make_report_checksum(report)
-    return report.checksum == valid_checksum
-
-
-def make_report_checksum(report):
-    report_seeds = [unicode(v) for v in (report.id, report.reported_by_ip)]
-    return checksums.make_checksum(report.message, report_seeds)
-
-
-def update_report_checksum(report):
-    report.checksum = make_report_checksum(report)
-    return report.checksum
-
-
-def is_event_valid(event):
-    valid_checksum = make_event_checksum(event)
-    return event.checksum == valid_checksum
-
-
-def make_event_checksum(event):
-    event_seeds = [unicode(v) for v in (event.id, event.occured_on)]
-    return checksums.make_checksum(event.message, event_seeds)
-
-
-def update_event_checksum(event):
-    event.checksum = make_event_checksum(event)
-    return event.checksum

+ 27 - 81
misago/threads/events.py

@@ -1,86 +1,32 @@
-from cgi import escape
+from django.utils import timezone
+from misago.threads.models import Post
 
-from misago.acl import add_acl
 
-from misago.threads.checksums import update_event_checksum
-from misago.threads.models import Event
+def record_event(request, thread, event, context=None, commit=True):
+    time_now = timezone.now()
 
-
-__all__ = ['record_event', 'add_events_to_posts']
-
-
-LINK_TEMPLATE = '<a href="%s" class="event-%s">%s</a>'
-NAME_TEMPLATE = '<strong class="event-%s">%s</strong>'
-
-
-def format_message(message, links):
-    if links:
-        formats = {}
-        for name, value in links.items():
-            if isinstance(value, basestring):
-                formats[name] = NAME_TEMPLATE % (escape(name), escape(value))
-            else:
-                try:
-                    replaces = (
-                        escape(value.get_absolute_url()),
-                        escape(name),
-                        escape(unicode(value))
-                    )
-                except AttributeError:
-                    replaces = (
-                        escape(value[1]),
-                        escape(name),
-                        escape(value[0])
-                    )
-
-                formats[name] = LINK_TEMPLATE % replaces
-        return message % formats
-    else:
-        return message
-
-
-def record_event(user, thread, icon, message, links=None):
-    event = Event.objects.create(
+    event_post = Post.objects.create(
         category=thread.category,
         thread=thread,
-        author=user,
-        author_name=user.username,
-        author_slug=user.slug,
-        icon=icon,
-        message=format_message(message, links))
-
-    update_event_checksum(event)
-    event.save(update_fields=['checksum'])
-
-    thread.has_events = True
-    return event
-
-
-def add_events_to_posts(user, thread, posts, delimeter=None):
-    if thread.has_events:
-        real_add_events_to_posts(user, thread, posts, delimeter)
-    else:
-        for post in posts:
-            post.events = []
-
-
-def real_add_events_to_posts(user, thread, posts, delimeter=None):
-    start_date = posts[0].posted_on
-    events_queryset = thread.event_set.filter(occured_on__gte=start_date)
-    if delimeter:
-        events_queryset = events_queryset.filter(occured_on__lt=delimeter)
-    events_queryset = events_queryset.order_by('id')
-
-    acl = user.acl['categories'].get(thread.category_id, {})
-    if not acl.get('can_hide_events'):
-        events_queryset = events_queryset.filter(is_hidden=False)
-
-    events = [e for e in events_queryset[:50]]
-    add_acl(user, events)
-
-    for i, post in enumerate(posts[:-1]):
-        post.events = []
-        while events and events[0].occured_on < posts[i + 1].posted_on:
-            post.events.append(events.pop(0))
-
-    posts[-1].events = events
+        poster=request.user,
+        poster_name=request.user.username,
+        poster_ip=request.user_ip,
+        original='-',
+        parsed='-',
+        posted_on=time_now,
+        updated_on=time_now,
+        is_event=True,
+        event_type=event,
+        event_context=context,
+    )
+
+    thread.set_last_post(event_post)
+    if commit:
+        thread.save()
+
+    if not (thread.is_hidden and thread.is_unapproved):
+        thread.category.set_last_thread(thread)
+        if commit:
+            thread.category.save()
+
+    return event_post

+ 5 - 22
misago/threads/migrations/0001_initial.py

@@ -2,6 +2,7 @@
 from __future__ import unicode_literals
 
 from django.conf import settings
+from django.contrib.postgres.fields import JSONField
 from django.db import models, migrations
 import django.db.models.deletion
 import django.utils.timezone
@@ -10,7 +11,6 @@ from misago.core.pgutils import CreatePartialIndex, CreatePartialCompositeIndex
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
         ('misago_categories', '0001_initial'),
         migrations.swappable_dependency(settings.AUTH_USER_MODEL),
@@ -27,7 +27,7 @@ class Migration(migrations.Migration):
                 ('parsed', models.TextField()),
                 ('checksum', models.CharField(max_length=64, default='-')),
                 ('has_attachments', models.BooleanField(default=False)),
-                ('pickled_attachments', models.TextField(null=True, blank=True)),
+                ('attachments_cache', JSONField(null=True, blank=True)),
                 ('posted_on', models.DateTimeField()),
                 ('updated_on', models.DateTimeField()),
                 ('edits', models.PositiveIntegerField(default=0)),
@@ -46,6 +46,9 @@ class Migration(migrations.Migration):
                 ('last_editor', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
                 ('mentions', models.ManyToManyField(related_name='mention_set', to=settings.AUTH_USER_MODEL)),
                 ('poster', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
+                ('is_event', models.BooleanField(default=False)),
+                ('event_type', models.CharField(max_length=255, null=True, blank=True)),
+                ('event_context', JSONField(null=True, blank=True)),
             ],
             options={
             },
@@ -72,7 +75,6 @@ class Migration(migrations.Migration):
                 ('has_open_reports', models.BooleanField(default=False)),
                 ('has_unapproved_posts', models.BooleanField(default=False)),
                 ('has_hidden_posts', models.BooleanField(default=False)),
-                ('has_events', models.BooleanField(default=False)),
                 ('started_on', models.DateTimeField(db_index=True)),
                 ('starter_name', models.CharField(max_length=255)),
                 ('starter_slug', models.CharField(max_length=255)),
@@ -117,25 +119,6 @@ class Migration(migrations.Migration):
             field=models.ManyToManyField(related_name='private_thread_set', through='misago_threads.ThreadParticipant', through_fields=('thread', 'user'), to=settings.AUTH_USER_MODEL),
             preserve_default=True,
         ),
-        migrations.CreateModel(
-            name='Event',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('author_name', models.CharField(max_length=255)),
-                ('author_slug', models.CharField(max_length=255)),
-                ('icon', models.CharField(max_length=255)),
-                ('occured_on', models.DateTimeField(default=django.utils.timezone.now, db_index=True)),
-                ('message', models.CharField(max_length=255)),
-                ('checksum', models.CharField(max_length=64, default='-')),
-                ('is_hidden', models.BooleanField(default=False)),
-                ('author', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
-                ('category', models.ForeignKey(to='misago_categories.Category')),
-                ('thread', models.ForeignKey(to='misago_threads.Thread')),
-            ],
-            options={
-            },
-            bases=(models.Model,),
-        ),
         CreatePartialIndex(
             field='Thread.has_reported_posts',
             index_name='misago_thread_has_reported_posts_partial',

+ 0 - 1
misago/threads/models/__init__.py

@@ -2,5 +2,4 @@
 from misago.threads.models.post import Post
 from misago.threads.models.thread import *
 from misago.threads.models.threadparticipant import ThreadParticipant
-from misago.threads.models.event import Event
 from misago.threads.models.subscription import Subscription

+ 0 - 37
misago/threads/models/event.py

@@ -1,37 +0,0 @@
-from django.db import models
-from django.utils import timezone
-
-from misago.conf import settings
-
-from misago.threads import threadtypes
-from misago.threads.checksums import is_event_valid
-
-
-class Event(models.Model):
-    category = models.ForeignKey('misago_categories.Category')
-    thread = models.ForeignKey('Thread')
-    author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True,
-                               on_delete=models.SET_NULL)
-    author_name = models.CharField(max_length=255)
-    author_slug = models.CharField(max_length=255)
-    icon = models.CharField(max_length=255)
-    occured_on = models.DateTimeField(default=timezone.now, db_index=True)
-    message = models.CharField(max_length=255)
-    checksum = models.CharField(max_length=64, default='-')
-    is_hidden = models.BooleanField(default=False)
-
-    @property
-    def is_valid(self):
-        return is_event_valid(self)
-
-    def set_author(self, user):
-        self.author = user
-        self.author_name = user.username
-        self.author_slug = user.slug
-
-    @property
-    def thread_type(self):
-        return self.category.thread_type
-
-    def get_edit_url(self):
-        return self.thread_type.get_event_edit_url(self)

+ 6 - 1
misago/threads/models/post.py

@@ -1,3 +1,4 @@
+from django.contrib.postgres.fields import JSONField
 from django.core.urlresolvers import reverse
 from django.db import models
 from django.dispatch import receiver
@@ -26,7 +27,7 @@ class Post(models.Model):
     mentions = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name="mention_set")
 
     has_attachments = models.BooleanField(default=False)
-    pickled_attachments = models.TextField(null=True, blank=True)
+    attachments_cache = JSONField(null=True, blank=True)
 
     posted_on = models.DateTimeField()
     updated_on = models.DateTimeField()
@@ -59,6 +60,10 @@ class Post(models.Model):
     is_hidden = models.BooleanField(default=False)
     is_protected = models.BooleanField(default=False)
 
+    is_event = models.BooleanField(default=False)
+    event_type = models.CharField(max_length=255, null=True, blank=True)
+    event_context = JSONField(null=True, blank=True)
+
     def __unicode__(self):
         return '%s...' % self.original[10:].strip()
 

+ 2 - 9
misago/threads/models/thread.py

@@ -35,9 +35,8 @@ class Thread(models.Model):
     has_open_reports = models.BooleanField(default=False)
     has_unapproved_posts = models.BooleanField(default=False)
     has_hidden_posts = models.BooleanField(default=False)
-    has_events = models.BooleanField(default=False)
-    started_on = models.DateTimeField(db_index=True)
 
+    started_on = models.DateTimeField(db_index=True)
     first_post = models.ForeignKey(
         'misago_threads.Post',
         related_name='+',
@@ -45,18 +44,16 @@ class Thread(models.Model):
         blank=True,
         on_delete=models.SET_NULL
     )
-
     starter = models.ForeignKey(
         settings.AUTH_USER_MODEL,
         null=True,
         blank=True,
         on_delete=models.SET_NULL
     )
-
     starter_name = models.CharField(max_length=255)
     starter_slug = models.CharField(max_length=255)
-    last_post_on = models.DateTimeField(db_index=True)
 
+    last_post_on = models.DateTimeField(db_index=True)
     last_post = models.ForeignKey(
         'misago_threads.Post',
         related_name='+',
@@ -64,7 +61,6 @@ class Thread(models.Model):
         blank=True,
         on_delete=models.SET_NULL
     )
-
     last_poster = models.ForeignKey(
         settings.AUTH_USER_MODEL,
         related_name='last_poster_set',
@@ -72,7 +68,6 @@ class Thread(models.Model):
         blank=True,
         on_delete=models.SET_NULL
     )
-
     last_poster_name = models.CharField(max_length=255, null=True, blank=True)
     last_poster_slug = models.CharField(max_length=255, null=True, blank=True)
 
@@ -142,8 +137,6 @@ class Thread(models.Model):
         hidden_post_qs = self.post_set.filter(is_hidden=True)[:1]
         self.has_hidden_posts = hidden_post_qs.exists()
 
-        self.has_events = self.event_set.exists()
-
         first_post = self.post_set.order_by('id')[:1][0]
         self.set_first_post(first_post)
 

+ 38 - 64
misago/threads/moderation/threads.py

@@ -6,142 +6,116 @@ from misago.threads.events import record_event
 
 
 @atomic
-def pin_thread_globally(user, thread):
+def pin_thread_globally(request, thread):
     if thread.weight != 2:
-        message = _("%(user)s pinned thread globally.")
-        record_event(user, thread, "bookmark", message, {'user': user})
-
         thread.weight = 2
-        thread.save(update_fields=['has_events', 'weight'])
+        record_event(request, thread, 'pinned_globally')
         return True
     else:
         return False
 
 
 @atomic
-def pin_thread_locally(user, thread):
+def pin_thread_locally(request, thread):
     if thread.weight != 1:
-        message = _("%(user)s pinned thread locally.")
-        record_event(user, thread, "bookmark", message, {'user': user})
-
         thread.weight = 1
-        thread.save(update_fields=['has_events', 'weight'])
+        record_event(request, thread, 'pinned_locally')
         return True
     else:
         return False
 
 
 @atomic
-def unpin_thread(user, thread):
+def unpin_thread(request, thread):
     if thread.weight:
-        message = _("%(user)s unpinned thread.")
-        record_event(user, thread, "circle", message, {'user': user})
-
         thread.weight = 0
-        thread.save(update_fields=['has_events', 'weight'])
+        record_event(request, thread, 'unpinned')
         return True
     else:
         return False
 
 
 @atomic
-def move_thread(user, thread, new_category):
+def move_thread(request, thread, new_category):
     if thread.category_id != new_category.pk:
-        message = _("%(user)s moved thread from %(category)s.")
-        record_event(user, thread, "arrow-right", message, {
-            'user': user,
-            'category': thread.category
-        })
-
+        from_category = thread.category
         thread.move(new_category)
-        thread.save(update_fields=['has_events', 'category'])
+
+        record_event(request, thread, 'moved', {
+            'from_category': {
+                'name': from_category.name,
+                'url': from_category.get_absolute_url(),
+            }
+        })
         return True
     else:
         return False
 
 
 @atomic
-def merge_thread(user, thread, other_thread):
-    message = _("%(user)s merged in %(thread)s.")
-    record_event(user, thread, "arrow-right", message, {
-        'user': user,
-        'thread': other_thread.title
-    })
-
+def merge_thread(request, thread, other_thread):
     thread.merge(other_thread)
     other_thread.delete()
+
+    record_event(request, thread, 'merged', {
+        'merged_thread': other_thread.title,
+    })
     return True
 
 
 @atomic
-def approve_thread(user, thread):
+def approve_thread(request, thread):
     if thread.is_unapproved:
-        message = _("%(user)s approved thread.")
-        record_event(user, thread, "check", message, {'user': user})
-
-        thread.is_closed = False
+        thread.is_unapproved = False
         thread.first_post.is_unapproved = False
         thread.first_post.save(update_fields=['is_unapproved'])
-        thread.synchronize()
-        thread.save(update_fields=['has_events', 'is_unapproved'])
+
+        record_event(request, thread, 'approved')
         return True
     else:
         return False
 
 
 @atomic
-def open_thread(user, thread):
+def open_thread(request, thread):
     if thread.is_closed:
-        message = _("%(user)s opened thread.")
-        record_event(user, thread, "unlock-alt", message, {'user': user})
-
         thread.is_closed = False
-        thread.save(update_fields=['has_events', 'is_closed'])
+        record_event(request, thread, 'opened')
         return True
     else:
         return False
 
 
 @atomic
-def close_thread(user, thread):
+def close_thread(request, thread):
     if not thread.is_closed:
-        message = _("%(user)s closed thread.")
-        record_event(user, thread, "lock", message, {'user': user})
-
         thread.is_closed = True
-        thread.save(update_fields=['has_events', 'is_closed'])
+        record_event(request, thread, 'closed')
         return True
     else:
         return False
 
 
 @atomic
-def unhide_thread(user, thread):
+def unhide_thread(request, thread):
     if thread.is_hidden:
-        message = _("%(user)s made thread visible.")
-        record_event(user, thread, "eye", message, {'user': user})
-
         thread.first_post.is_hidden = False
         thread.first_post.save(update_fields=['is_hidden'])
         thread.is_hidden = False
-        thread.save(update_fields=['has_events', 'is_hidden'])
-        thread.synchronize()
-        thread.save()
+
+        record_event(request, thread, 'unhid')
         return True
     else:
         return False
 
 
 @atomic
-def hide_thread(user, thread):
+def hide_thread(request, thread):
     if not thread.is_hidden:
-        message = _("%(user)s hidden thread.")
-        record_event(user, thread, "eye-slash", message, {'user': user})
-
         thread.first_post.is_hidden = True
-        thread.first_post.hidden_by = user
-        thread.first_post.hidden_by_name = user.username
-        thread.first_post.hidden_by_slug = user.slug
+        thread.first_post.hidden_by = request.user
+        thread.first_post.hidden_by_name = request.user.username
+        thread.first_post.hidden_by_slug = request.user.slug
         thread.first_post.hidden_on = timezone.now()
         thread.first_post.save(update_fields=[
             'is_hidden',
@@ -150,15 +124,15 @@ def hide_thread(user, thread):
             'hidden_by_slug',
             'hidden_on',
         ])
-
         thread.is_hidden = True
-        thread.save(update_fields=['has_events', 'is_hidden'])
+
+        record_event(request, thread, 'hid')
         return True
     else:
         return False
 
 
 @atomic
-def delete_thread(user, thread):
+def delete_thread(request, thread):
     thread.delete()
     return True

+ 18 - 9
misago/threads/permissions/threads.py

@@ -11,7 +11,7 @@ from misago.categories.models import Category, RoleCategoryACL, CategoryRole
 from misago.categories.permissions import get_categories_roles
 from misago.core import forms
 
-from misago.threads.models import Thread, Post, Event
+from misago.threads.models import Thread, Post
 
 
 __all__ = [
@@ -383,7 +383,18 @@ def add_acl_to_thread(user, thread):
         thread.acl['can_merge'] = category_acl.get('can_merge_threads', False)
 
 
-def add_acl_to_post(user, post):
+def add_acl_to_event(user, event):
+    category_acl = user.acl['categories'].get(event.category_id, {})
+    can_hide_events = category_acl.get('can_hide_events', 0)
+
+    event.acl.update({
+        'can_see_hidden': can_hide_events,
+        'can_hide': can_hide_events > 0,
+        'can_delete': can_hide_events == 2,
+    })
+
+
+def add_acl_to_reply(user, post):
     category_acl = user.acl['categories'].get(post.category_id, {})
 
     post.acl.update({
@@ -406,19 +417,17 @@ def add_acl_to_post(user, post):
             post.acl['can_see_hidden'] = post.id == post.thread.first_post_id
 
 
-def add_acl_to_event(user, event):
-    category_acl = user.acl['categories'].get(event.category_id, {})
-    can_hide_events = category_acl.get('can_hide_events', 0)
-
-    event.acl['can_hide'] = can_hide_events > 0
-    event.acl['can_delete'] = can_hide_events == 2
+def add_acl_to_post(user, post):
+    if post.is_event:
+        add_acl_to_event(user, post)
+    else:
+        add_acl_to_reply(user, post)
 
 
 def register_with(registry):
     registry.acl_annotator(Category, add_acl_to_category)
     registry.acl_annotator(Thread, add_acl_to_thread)
     registry.acl_annotator(Post, add_acl_to_post)
-    registry.acl_annotator(Event, add_acl_to_event)
 
 
 """

+ 1 - 9
misago/threads/signals.py

@@ -4,7 +4,7 @@ from django.dispatch import receiver, Signal
 from misago.categories.models import Category
 from misago.core.pgutils import batch_update, batch_delete
 
-from misago.threads.models import Thread, Post, Event
+from misago.threads.models import Thread, Post
 
 
 delete_post = Signal()
@@ -28,14 +28,12 @@ def merge_threads_posts(sender, **kwargs):
 @receiver(move_thread)
 def move_thread_content(sender, **kwargs):
     sender.post_set.update(category=sender.category)
-    sender.event_set.update(category=sender.category)
 
 
 from misago.categories.signals import (delete_category_content,
                                        move_category_content)
 @receiver(delete_category_content)
 def delete_category_threads(sender, **kwargs):
-    sender.event_set.all().delete()
     sender.thread_set.all().delete()
     sender.post_set.all().delete()
 
@@ -46,7 +44,6 @@ def move_category_threads(sender, **kwargs):
 
     Thread.objects.filter(category=sender).update(category=new_category)
     Post.objects.filter(category=sender).update(category=new_category)
-    Event.objects.filter(category=sender).update(category=new_category)
 
 
 from misago.users.signals import delete_user_content, username_changed
@@ -97,11 +94,6 @@ def update_usernames(sender, **kwargs):
         last_editor_slug=sender.slug
     )
 
-    Event.objects.filter(author=sender).update(
-        author_name=sender.username,
-        author_slug=sender.slug
-    )
-
 
 from django.contrib.auth import get_user_model
 from django.db.models.signals import pre_delete

+ 0 - 51
misago/threads/tests/test_event_model.py

@@ -1,51 +0,0 @@
-from django.contrib.auth import get_user_model
-from django.test import TestCase
-from django.utils import timezone
-
-from misago.categories.models import Category
-
-from misago.threads.checksums import is_event_valid, update_event_checksum
-from misago.threads.models import Thread, Event
-
-
-class EventModelTests(TestCase):
-    def setUp(self):
-        User = get_user_model()
-        self.user = User.objects.create_user("Bob", "bob@bob.com", "Pass.123")
-
-        datetime = timezone.now()
-
-        self.category = Category.objects.all_categories()[:1][0]
-        self.thread = Thread(
-            category=self.category,
-            started_on=datetime,
-            starter_name='Tester',
-            starter_slug='tester',
-            last_post_on=datetime,
-            last_poster_name='Tester',
-            last_poster_slug='tester'
-        )
-
-        self.thread.set_title("Test thread")
-        self.thread.save()
-
-    def test_is_event_valid(self):
-        """event is_valid flag returns valid value"""
-        event = Event.objects.create(
-            category=self.category,
-            thread=self.thread,
-            author=self.user,
-            message="Lorem ipsum",
-            author_name=self.user.username,
-            author_slug=self.user.slug
-        )
-
-        update_event_checksum(event)
-
-        self.assertTrue(is_event_valid(event))
-        self.assertTrue(event.is_valid)
-
-        event.message = "Ipsum lorem"
-
-        self.assertFalse(is_event_valid(event))
-        self.assertFalse(event.is_valid)

+ 23 - 28
misago/threads/tests/test_events.py

@@ -1,4 +1,6 @@
 #-*- coding: utf-8 -*-
+import random
+
 from django.contrib.auth import get_user_model
 from django.test import TestCase
 from django.utils import timezone
@@ -6,11 +8,17 @@ from django.utils import timezone
 from misago.acl import add_acl
 from misago.categories.models import Category
 
-from misago.threads.events import record_event, add_events_to_posts
-from misago.threads.models import Thread, Event
+from misago.threads.events import record_event
+from misago.threads.models import Thread, Post
 from misago.threads.testutils import reply_thread
 
 
+class MockRequest(object):
+    def __init__(self, user):
+        self.user = user
+        self.user_ip = '123.14.15.222'
+
+
 class EventsAPITests(TestCase):
     def setUp(self):
         User = get_user_model()
@@ -35,32 +43,19 @@ class EventsAPITests(TestCase):
         add_acl(self.user, self.category)
         add_acl(self.user, self.thread)
 
-    def test_record_event(self):
-        """record_event registers event in thread"""
-        message = "%(user)s has changed this thread to announcement."
-        event = record_event(self.user, self.thread, "announcement", message, {
-            'user': (u"Łob", self.user.get_absolute_url())
-        })
-
-        self.assertTrue(event.is_valid)
-        self.assertTrue(event.message.endswith(message[8:]))
-        self.assertTrue(self.thread.has_events)
-
-    def test_add_events_to_posts(self):
-        """add_events_to_posts makes posts event-aware"""
-        message = "Test event was recorded."
+    def test_record_event_with_context(self):
+        """record_event registers event with context in thread"""
+        request = MockRequest(self.user)
+        context = {'user': 'Lorem ipsum'}
+        event = record_event(request, self.thread, 'announcement', context)
 
-        for p in xrange(2):
-            reply_thread(self.thread, posted_on=timezone.now())
-        event = record_event(self.user, self.thread, "check", message)
-        for p in xrange(2):
-            reply_thread(self.thread, posted_on=timezone.now())
+        event_post = self.thread.post_set.order_by('-id')[:1][0]
+        self.assertTrue(self.thread.last_post, event_post)
 
-        posts = [p for p in self.thread.post_set.all().order_by('id')]
-        add_events_to_posts(self.user, self.thread, posts)
+        self.assertEqual(event.pk, event_post.pk)
+        self.assertTrue(event_post.is_event)
+        self.assertEqual(event_post.event_type, 'announcement')
+        self.assertEqual(event_post.event_context, context)
+        self.assertEqual(event_post.poster_id, request.user.pk)
+        self.assertEqual(event_post.poster_ip, request.user_ip)
 
-        for i, post in enumerate(posts):
-            if i == 1:
-                self.assertEqual(post.events[0].message, message)
-            else:
-                self.assertEqual(post.events, [])

+ 1 - 24
misago/threads/tests/test_thread_model.py

@@ -6,7 +6,7 @@ from django.utils import timezone
 
 from misago.categories.models import Category
 
-from misago.threads.models import Thread, ThreadParticipant, Post, Event
+from misago.threads.models import Thread, ThreadParticipant, Post
 
 
 class ThreadModelTests(TestCase):
@@ -75,7 +75,6 @@ class ThreadModelTests(TestCase):
         self.assertFalse(self.thread.has_reported_posts)
         self.assertFalse(self.thread.has_unapproved_posts)
         self.assertFalse(self.thread.has_hidden_posts)
-        self.assertFalse(self.thread.has_events)
         self.assertEqual(self.thread.replies, 1)
 
         # add unapproved post
@@ -102,7 +101,6 @@ class ThreadModelTests(TestCase):
         self.assertFalse(self.thread.has_reported_posts)
         self.assertTrue(self.thread.has_unapproved_posts)
         self.assertFalse(self.thread.has_hidden_posts)
-        self.assertFalse(self.thread.has_events)
         self.assertEqual(self.thread.replies, 1)
 
         # add hidden post
@@ -129,7 +127,6 @@ class ThreadModelTests(TestCase):
         self.assertFalse(self.thread.has_reported_posts)
         self.assertTrue(self.thread.has_unapproved_posts)
         self.assertTrue(self.thread.has_hidden_posts)
-        self.assertFalse(self.thread.has_events)
         self.assertEqual(self.thread.replies, 2)
 
         # unhide post
@@ -146,7 +143,6 @@ class ThreadModelTests(TestCase):
         self.assertFalse(self.thread.has_reported_posts)
         self.assertTrue(self.thread.has_unapproved_posts)
         self.assertFalse(self.thread.has_hidden_posts)
-        self.assertFalse(self.thread.has_events)
         self.assertEqual(self.thread.replies, 2)
 
         # unmoderate post
@@ -163,27 +159,8 @@ class ThreadModelTests(TestCase):
         self.assertFalse(self.thread.has_reported_posts)
         self.assertFalse(self.thread.has_unapproved_posts)
         self.assertFalse(self.thread.has_hidden_posts)
-        self.assertFalse(self.thread.has_events)
         self.assertEqual(self.thread.replies, 3)
 
-        # add event
-        event = Event.objects.create(
-            category=self.category,
-            thread=self.thread,
-            author_name=user.username,
-            author_slug=user.slug,
-            message="How bout nope?"
-        )
-
-        # sync set has_events flag
-        self.thread.synchronize()
-        self.assertTrue(self.thread.has_events)
-
-        # sync unsetset has_events flag after only event was deleted
-        event.delete()
-        self.thread.synchronize()
-        self.assertFalse(self.thread.has_events)
-
     def test_set_first_post(self):
         """set_first_post sets first post and poster data on thread"""
         User = get_user_model()

+ 2 - 3
misago/threads/tests/test_threads_merge_api.py

@@ -26,8 +26,7 @@ class ThreadsMergeApiTests(ThreadsApiTestCase):
 
     def test_merge_no_threads(self):
         """api validates if we are trying to merge no threads"""
-        response = self.client.post(
-            self.api_link, content_type="application/json")
+        response = self.client.post(self.api_link, content_type="application/json")
         self.assertEqual(response.status_code, 403)
 
         response_json = json.loads(response.content)
@@ -484,4 +483,4 @@ class ThreadsMergeApiTests(ThreadsApiTestCase):
             self.assertEqual(post.thread_id, new_thread.id)
 
         # are old threads gone?
-        self.assertEqual([t.pk for t in Thread.objects.all()], [new_thread.pk])
+        self.assertEqual([t.pk for t in Thread.objects.all()], [new_thread.pk])

+ 73 - 71
misago/threads/tests/test_threads_moderation.py

@@ -2,13 +2,20 @@ from misago.categories.models import Category
 from misago.users.testutils import AuthenticatedUserTestCase
 
 from misago.threads import moderation, testutils
-from misago.threads.models import Thread, Post, Event
+from misago.threads.models import Thread, Post
+
+
+class MockRequest(object):
+    def __init__(self, user):
+        self.user = user
+        self.user_ip = '123.14.15.222'
 
 
 class ThreadsModerationTests(AuthenticatedUserTestCase):
     def setUp(self):
         super(ThreadsModerationTests, self).setUp()
 
+        self.request = MockRequest(self.user)
         self.category = Category.objects.all_categories()[:1][0]
         self.thread = testutils.post_thread(self.category)
 
@@ -21,16 +28,15 @@ class ThreadsModerationTests(AuthenticatedUserTestCase):
     def test_pin_globally_thread(self):
         """pin_thread_globally makes thread pinned globally"""
         self.assertEqual(self.thread.weight, 0)
-        self.assertTrue(moderation.pin_thread_globally(self.user, self.thread))
+        self.assertTrue(moderation.pin_thread_globally(self.request, self.thread))
 
         self.reload_thread()
         self.assertEqual(self.thread.weight, 2)
 
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
+        event = self.thread.last_post
 
-        self.assertEqual(event.icon, "bookmark")
-        self.assertIn("pinned thread globally.", event.message)
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'pinned_globally')
 
     def test_pin_globally_invalid_thread(self):
         """
@@ -38,22 +44,21 @@ class ThreadsModerationTests(AuthenticatedUserTestCase):
         """
         self.thread.weight = 2
 
-        self.assertFalse(moderation.pin_thread_globally(self.user, self.thread))
+        self.assertFalse(moderation.pin_thread_globally(self.request, self.thread))
         self.assertEqual(self.thread.weight, 2)
 
     def test_pin_thread_locally(self):
         """pin_thread_locally makes thread pinned locally"""
         self.assertEqual(self.thread.weight, 0)
-        self.assertTrue(moderation.pin_thread_locally(self.user, self.thread))
+        self.assertTrue(moderation.pin_thread_locally(self.request, self.thread))
 
         self.reload_thread()
         self.assertEqual(self.thread.weight, 1)
 
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
+        event = self.thread.last_post
 
-        self.assertEqual(event.icon, "bookmark")
-        self.assertIn("pinned thread locally.", event.message)
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'pinned_locally')
 
     def test_pin_invalid_thread(self):
         """
@@ -61,62 +66,60 @@ class ThreadsModerationTests(AuthenticatedUserTestCase):
         """
         self.thread.weight = 1
 
-        self.assertFalse(moderation.pin_thread_locally(self.user, self.thread))
+        self.assertFalse(moderation.pin_thread_locally(self.request, self.thread))
         self.assertEqual(self.thread.weight, 1)
 
     def test_unpin_globally_pinned_thread(self):
         """unpin_thread unpins globally pinned thread"""
-        moderation.pin_thread_globally(self.user, self.thread)
+        moderation.pin_thread_globally(self.request, self.thread)
 
         self.assertEqual(self.thread.weight, 2)
-        self.assertTrue(moderation.unpin_thread(self.user, self.thread))
+        self.assertTrue(moderation.unpin_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertEqual(self.thread.weight, 0)
 
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
+        event = self.thread.last_post
 
-        self.assertIn("unpinned thread.", event.message)
-        self.assertEqual(event.icon, "circle")
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'unpinned')
 
     def test_unpin_locally_pinned_thread(self):
         """unpin_thread unpins locally pinned thread"""
-        moderation.pin_thread_locally(self.user, self.thread)
+        moderation.pin_thread_locally(self.request, self.thread)
 
         self.assertEqual(self.thread.weight, 1)
-        self.assertTrue(moderation.unpin_thread(self.user, self.thread))
+        self.assertTrue(moderation.unpin_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertEqual(self.thread.weight, 0)
 
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
+        event = self.thread.last_post
 
-        self.assertIn("unpinned thread.", event.message)
-        self.assertEqual(event.icon, "circle")
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'unpinned')
 
     def test_unpin_weightless_thread(self):
         """unpin_thread returns false for already weightless thread"""
-        self.assertFalse(moderation.unpin_thread(self.user, self.thread))
+        self.assertFalse(moderation.unpin_thread(self.request, self.thread))
         self.assertEqual(self.thread.weight, 0)
 
     def test_approve_thread(self):
         """approve_thread approves unapproved thread"""
-        thread = testutils.post_thread(self.category, is_unapproved=True)
+        self.thread = testutils.post_thread(self.category, is_unapproved=True)
 
-        self.assertTrue(thread.is_unapproved)
-        self.assertTrue(thread.first_post.is_unapproved)
-        self.assertTrue(moderation.approve_thread(self.user, thread))
+        self.assertTrue(self.thread.is_unapproved)
+        self.assertTrue(self.thread.first_post.is_unapproved)
+        self.assertTrue(moderation.approve_thread(self.request, self.thread))
 
         self.reload_thread()
-        self.assertFalse(thread.is_unapproved)
-        self.assertFalse(thread.first_post.is_unapproved)
-        self.assertTrue(thread.has_events)
-        event = thread.event_set.last()
+        self.assertFalse(self.thread.is_unapproved)
+        self.assertFalse(self.thread.first_post.is_unapproved)
 
-        self.assertIn("approved thread.", event.message)
-        self.assertEqual(event.icon, "check")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'approved')
 
     def test_move_thread(self):
         """moves_thread moves unapproved thread to other category"""
@@ -129,108 +132,107 @@ class ThreadsModerationTests(AuthenticatedUserTestCase):
 
         self.assertEqual(self.thread.category, self.category)
         self.assertTrue(
-            moderation.move_thread(self.user, self.thread, new_category))
+            moderation.move_thread(self.request, self.thread, new_category))
 
         self.reload_thread()
         self.assertEqual(self.thread.category, new_category)
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
 
-        self.assertIn("moved thread", event.message)
-        self.assertEqual(event.icon, "arrow-right")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'moved')
 
     def test_move_thread_to_same_category(self):
         """moves_thread does not move thread to same category it is in"""
         self.assertEqual(self.thread.category, self.category)
         self.assertFalse(
-            moderation.move_thread(self.user, self.thread, self.category))
+            moderation.move_thread(self.request, self.thread, self.category))
 
         self.reload_thread()
         self.assertEqual(self.thread.category, self.category)
-        self.assertFalse(self.thread.has_events)
 
     def test_close_thread(self):
         """close_thread closes thread"""
         self.assertFalse(self.thread.is_closed)
-        self.assertTrue(moderation.close_thread(self.user, self.thread))
+        self.assertTrue(moderation.close_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertTrue(self.thread.is_closed)
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
 
-        self.assertIn("closed thread.", event.message)
-        self.assertEqual(event.icon, "lock")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'closed')
 
     def test_close_invalid_thread(self):
         """close_thread fails gracefully for opened thread"""
-        moderation.close_thread(self.user, self.thread)
+        moderation.close_thread(self.request, self.thread)
         self.reload_thread()
 
         self.assertTrue(self.thread.is_closed)
-        self.assertFalse(moderation.close_thread(self.user, self.thread))
+        self.assertFalse(moderation.close_thread(self.request, self.thread))
 
     def test_open_thread(self):
         """open_thread closes thread"""
-        moderation.close_thread(self.user, self.thread)
+        moderation.close_thread(self.request, self.thread)
         self.reload_thread()
 
         self.assertTrue(self.thread.is_closed)
-        self.assertTrue(moderation.open_thread(self.user, self.thread))
+        self.assertTrue(moderation.open_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertFalse(self.thread.is_closed)
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
 
-        self.assertIn("opened thread.", event.message)
-        self.assertEqual(event.icon, "unlock-alt")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'opened')
 
     def test_open_invalid_thread(self):
         """open_thread fails gracefully for opened thread"""
         self.assertFalse(self.thread.is_closed)
-        self.assertFalse(moderation.open_thread(self.user, self.thread))
+        self.assertFalse(moderation.open_thread(self.request, self.thread))
 
     def test_hide_thread(self):
         """hide_thread hides thread"""
         self.assertFalse(self.thread.is_hidden)
-        self.assertTrue(moderation.hide_thread(self.user, self.thread))
+        self.assertTrue(moderation.hide_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertTrue(self.thread.is_hidden)
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
 
-        self.assertIn("hidden thread.", event.message)
-        self.assertEqual(event.icon, "eye-slash")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'hid')
 
     def test_hide_hidden_thread(self):
         """hide_thread fails gracefully for hidden thread"""
         self.thread.is_hidden = True
-        self.assertFalse(moderation.hide_thread(self.user, self.thread))
+        self.assertFalse(moderation.hide_thread(self.request, self.thread))
 
     def test_unhide_thread(self):
         """unhide_thread unhides thread"""
-        moderation.hide_thread(self.user, self.thread)
+        moderation.hide_thread(self.request, self.thread)
         self.reload_thread()
 
         self.assertTrue(self.thread.is_hidden)
-        self.assertTrue(moderation.unhide_thread(self.user, self.thread))
+        self.assertTrue(moderation.unhide_thread(self.request, self.thread))
 
         self.reload_thread()
         self.assertFalse(self.thread.is_hidden)
-        self.assertTrue(self.thread.has_events)
-        event = self.thread.event_set.last()
 
-        self.assertIn("made thread visible.", event.message)
-        self.assertEqual(event.icon, "eye")
+        event = self.thread.last_post
+
+        self.assertTrue(event.is_event)
+        self.assertEqual(event.event_type, 'unhid')
 
     def test_unhide_visible_thread(self):
         """unhide_thread fails gracefully for visible thread"""
-        self.assertFalse(moderation.unhide_thread(self.user, self.thread))
+        self.assertFalse(moderation.unhide_thread(self.request, self.thread))
 
     def test_delete_thread(self):
         """delete_thread deletes thread"""
-        self.assertTrue(moderation.delete_thread(self.user, self.thread))
+        self.assertTrue(moderation.delete_thread(self.request, self.thread))
         with self.assertRaises(Thread.DoesNotExist):
             self.reload_thread()

+ 2 - 1
misago/threads/testutils.py

@@ -46,7 +46,8 @@ def post_thread(category, title='Test thread', poster='Tester',
         })
 
     thread = Thread.objects.create(**kwargs)
-    reply_thread(thread,
+    reply_thread(
+        thread,
         poster=poster,
         posted_on=thread.last_post_on,
         is_hidden=is_hidden,

+ 29 - 2
misago/threads/viewmodels/thread.py

@@ -1,4 +1,5 @@
 from django.shortcuts import get_object_or_404
+from django.utils.translation import gettext as _
 
 from misago.acl import add_acl
 from misago.categories.models import Category
@@ -19,6 +20,8 @@ class ViewModel(object):
     def __init__(self, request, slug, pk):
         thread = self.get_thread(request, pk, slug)
 
+        thread.path = self.get_thread_path(thread.category)
+
         add_acl(request.user, thread.category)
         add_acl(request.user, thread)
 
@@ -27,9 +30,29 @@ class ViewModel(object):
 
         self.thread = thread
         self.category = thread.category
+        self.path = thread.path
 
     def get_thread(self, request, pk, slug=None):
-        raise NotImplementedError('Thread view model has to implement get_Thread(request, pk, slug=None)')
+        raise NotImplementedError('Thread view model has to implement get_thread(request, pk, slug=None)')
+
+    def get_thread_path(self, category):
+        thread_path = []
+
+        if category.level:
+            categories = Category.objects.filter(
+                tree_id=category.tree_id,
+                lft__lte=category.lft,
+                rght__gte=category.rght
+            ).order_by('level')
+            thread_path = list(categories)
+        else:
+            thread_path = [category]
+
+        thread_path[0].name = self.get_root_name()
+        return thread_path
+
+    def get_root_name(self):
+        raise NotImplementedError('Thread view model has to implement get_root_name()')
 
     def get_frontend_context(self):
         return {
@@ -39,7 +62,8 @@ class ViewModel(object):
     def get_template_context(self):
         return {
             'thread': self.thread,
-            'category': self.category
+            'category': self.category,
+            'breadcrumbs': self.path
         }
 
 
@@ -55,3 +79,6 @@ class ForumThread(ViewModel):
         if slug:
             validate_slug(thread, slug)
         return thread
+
+    def get_root_name(self):
+        return _("Threads")

+ 3 - 3
misago/users/api/users.py

@@ -199,12 +199,12 @@ class UserViewSet(viewsets.GenericViewSet):
                 else:
                     categories_to_sync = set()
 
-                    threads = profile.thread_set.select_related('first_post')
+                    threads = profile.thread_set.select_related('category', 'first_post')
                     for thread in threads.filter(is_hidden=False).iterator():
                         categories_to_sync.add(thread.category_id)
-                        hide_thread(request.user, thread)
+                        hide_thread(request, thread)
 
-                    posts = profile.post_set.select_related('thread')
+                    posts = profile.post_set.select_related('category', 'thread', 'thread__category')
                     for post in posts.filter(is_hidden=False).iterator():
                         categories_to_sync.add(post.category_id)
                         hide_post(request.user, post)

+ 1 - 1
misago/users/tests/test_users_api.py

@@ -501,4 +501,4 @@ class UserDeleteTests(AuthenticatedUserTestCase):
             User.objects.get(pk=self.other_user.pk)
 
         self.assertEqual(Thread.objects.count(), self.threads + 1)
-        self.assertEqual(Post.objects.count(), self.posts + 1)
+        self.assertEqual(Post.objects.count(), self.posts + 2)