用C写一个web服务器(一) 基础功能

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.45;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:none}.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-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{float:none;display:table-cell}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:rgba(232,76,61,0.1)}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:rgba(229,55,38,0.1)}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:rgba(255,209,0,0.12)}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:rgba(230,188,0,0.12)}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.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}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;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}select[multiple],select[size]{height:auto}select optgroup{font-size:inherit;font-style:inherit;font-family:inherit}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}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:15px;line-height:1.45;color:#2c3f51;vertical-align:middle}.form-control{display:block;width:100%;height:42px;padding:6px 12px;font-size:15px;line-height:1.45;color:#2c3f51;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #dee6ed;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;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:focus{border-color:#dee6ed;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px rgba(102, 128, 153, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px rgba(102, 128, 153, 0.6)}.form-control:focus{border-color:rgba(25,128,230,0.5);outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px #1980e6;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px #1980e6}.form-control:-moz-placeholder{color:#d5dfe9}.form-control::-moz-placeholder{color:#d5dfe9;opacity:1}.form-control:-ms-input-placeholder{color:#d5dfe9}.form-control::-webkit-input-placeholder{color:#d5dfe9}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:none}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:21px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.radio label,.checkbox label{display:inline;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"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{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],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}select.input-sm{height:31px;line-height:31px}textarea.input-sm{height:auto}.input-lg{height:48px;padding:10px 16px;font-size:19px;line-height:1.33;border-radius:6px}select.input-lg{height:48px;line-height:48px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#b89600}.has-warning .form-control{border-color:#b89600;-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:#856d00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffd61f;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffd61f}.has-warning .input-group-addon{color:#b89600;border-color:#b89600;background-color:rgba(255,209,0,0.12)}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#d82a1a}.has-error .form-control{border-color:#d82a1a;-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:#ab2114;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ed766b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ed766b}.has-error .input-group-addon{color:#d82a1a;border-color:#d82a1a;background-color:rgba(232,76,61,0.1)}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{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}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#587ea4}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.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:28px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:15px;line-height:1.45;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#425e7b;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=65);filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#425e7b;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#425e7b;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.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:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-default .badge{color:rgba(0,0,0,0);background-color:#fff}.btn-primary{color:#425e7b;background-color:#e4ebf1;border-color:rgba(0,128,255,0.05)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#425e7b;background-color:#cad6e2;border-color:rgba(0,97,194,0.05)}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.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:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#e4ebf1;border-color:rgba(0,128,255,0.05)}.btn-primary .badge{color:#e4ebf1;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.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:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.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:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#364d63;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#364d63;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.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:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-success .badge{color:rgba(0,0,0,0);background-color:#fff}.btn-info{color:rgba(102,128,153,0.35);background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:rgba(102,128,153,0.35);background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.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:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn-info .badge{color:rgba(0,0,0,0);background-color:#fff}.btn-link{color:#1980e6;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.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:#0f4d8a;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:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:19px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.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 .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.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:15px;background-color:#fff;border:1px solid #ccc;border:1px solid #dee6ed;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:9.5px 0;overflow:hidden;background-color:#dee6ed}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.45;color:#2c3f51;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#2d4053;background-color:rgba(102,128,153,0.04)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#d5dfe9}.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-header{display:block;padding:3px 20px;font-size:13px;line-height:1.45;color:rgba(129,158,187,0.6)}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-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:focus,.btn-group-vertical>.btn:focus{outline:none}.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:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-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>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-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-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:19px;line-height:1.33;border-radius:6px}.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:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-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%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:48px;padding:10px 16px;font-size:19px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:48px;line-height:48px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:31px;padding:5px 10px;font-size:13px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:31px;line-height:31px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:15px;font-weight:normal;line-height:1;color:#2c3f51;text-align:center;background-color:none;border:1px solid #dee6ed;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:19px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:rgba(102,128,153,0.04)}.nav>li.disabled>a{color:#d5dfe9}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#d5dfe9;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:rgba(102,128,153,0.04);border-color:#1980e6}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid rgba(0,0,0,0)}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.45;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:none;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:none}}.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:#428bca}.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:none}}.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:21px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container>.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:14.5px 15px;font-size:19px;line-height:21px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .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 .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.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@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:21px}.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:14.5px;padding-bottom:14.5px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.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:4px;margin-bottom:4px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media (min-width:768px){.navbar-form .col-sm-1{width:8.33333333% !important}.navbar-form .col-sm-2{width:16.66666667% !important}.navbar-form .col-sm-3{width:25% !important}.navbar-form .col-sm-4{width:33.33333333% !important}.navbar-form .col-sm-5{width:41.66666667% !important}.navbar-form .col-sm-6{width:50% !important}.navbar-form .col-sm-7{width:58.33333333% !important}.navbar-form .col-sm-8{width:66.66666667% !important}.navbar-form .col-sm-9{width:75% !important}.navbar-form .col-sm-10{width:83.33333333% !important}.navbar-form .col-sm-11{width:91.66666667% !important}.navbar-form .col-sm-12{width:100% !important}}.navbar-form *{float:none}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@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-form.navbar-right:last-child{margin-right:-15px}}.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{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar-btn{margin-top:4px;margin-bottom:4px}.navbar-btn.btn-sm{margin-top:9.5px;margin-bottom:9.5px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:14.5px;margin-bottom:14.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#e4ebf1;border-color:#cfdae5}.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:#cfdae5}.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:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#cfdae5}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#cfdae5;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:#cfdae5}.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-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.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:#999}.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:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:21px;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:#999}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.45;text-decoration:none;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{background-color:none}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;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:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:19px}.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:13px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:21px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:none}.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:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#ebc000}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#b89600}.label-danger{background-color:#e63b2b}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c62717}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#1980e6;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:23px;font-weight:200;line-height:2.175;color:inherit;background-color:none}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:67.5px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.45;background-color:none;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#1980e6}.thumbnail .caption{padding:9px;color:#2c3f51}.alert{padding:15px;margin-bottom:21px;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{padding-right:35px}.alert-dismissable .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:rgba(255,209,0,0.12);border-color:rgba(255,209,0,0.24);color:#b89600}.alert-warning hr{border-top-color:rgba(230,188,0,0.24)}.alert-warning .alert-link{color:#856d00}.alert-danger{background-color:rgba(232,76,61,0.1);border-color:rgba(232,76,61,0.15);color:#d82a1a}.alert-danger hr{border-top-color:rgba(229,55,38,0.15)}.alert-danger .alert-link{color:#ab2114}@-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:21px;margin-bottom:21px;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:13px;line-height:21px;color:#fff;text-align:center;background-color:#428bca;-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 .6s ease;transition:width .6s ease}.progress-striped .progress-bar{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: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{-webkit-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: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: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: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: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,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#f6f7f9;border:1px solid rgba(0,0,0,0)}.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}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#eee}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#4b5666}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#2d4053;background-color:#e4ebf1;border-color:rgba(0,128,255,0.05)}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#fff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody: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:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.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,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.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{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.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:17px;color:inherit}.panel-title>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-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.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-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.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-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:rgba(255,209,0,0.24)}.panel-warning>.panel-heading{color:#b89600;background-color:rgba(255,209,0,0.12);border-color:rgba(255,209,0,0.24)}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:rgba(255,209,0,0.24)}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:rgba(255,209,0,0.24)}.panel-danger{border-color:rgba(232,76,61,0.15)}.panel-danger>.panel-heading{color:#d82a1a;background-color:rgba(232,76,61,0.1);border-color:rgba(232,76,61,0.15)}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:rgba(232,76,61,0.15)}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:rgba(232,76,61,0.15)}.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-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.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:22.5px;font-weight:bold;line-height:1;color:#2c3f51;text-shadow:0 1px 0 #fff;opacity:.2;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=20);filter:alpha(opacity=20)}.close:hover,.close:focus{color:#2c3f51;text-decoration:none;cursor:pointer;opacity:.5;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-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);transform:translate(0, 0)}.modal-dialog{position:relative;width:auto;margin:10px;z-index:1050}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid #dee6ed;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:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#73808c}.modal-backdrop.fade{opacity:0;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #ebf0f4;min-height:16.45px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.45}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #ebf0f4}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (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)}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:13px;line-height:1.4;opacity:0;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);filter:alpha(opacity=0)}.tooltip.in{opacity:.9;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=90);filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:250px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#475160;background-clip:padding-box;border:1px solid #ccc;border:1px solid #dee6ed;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:15px;font-weight:normal;line-height:18px;background-color:rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,0);border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:#dee6ed;bottom:-11px}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#475160}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:#dee6ed}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#475160}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:#dee6ed;top:-11px}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#475160}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:#dee6ed}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#475160;bottom:-10px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@font-face{font-family:'fontello';src:url('../font/fontello.eot?70892477');src:url('../font/fontello.eot?70892477#iefix') format('embedded-opentype'),url('../font/fontello.woff?70892477') format('woff'),url('../font/fontello.ttf?70892477') format('truetype'),url('../font/fontello.svg?70892477#fontello') format('svg');font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-glass:before{content:'\e800'}.icon-resize-full-1:before{content:'\e801'}.icon-search:before{content:'\e802'}.icon-mail:before{content:'\e803'}.icon-mail-alt:before{content:'\e804'}.icon-heart:before{content:'\e805'}.icon-heart-empty:before{content:'\e806'}.icon-star:before{content:'\e807'}.icon-star-empty:before{content:'\e808'}.icon-star-half:before{content:'\e809'}.icon-star-half-alt:before{content:'\e80a'}.icon-user:before{content:'\e80b'}.icon-users:before{content:'\e80c'}.icon-male:before{content:'\e80d'}.icon-female:before{content:'\e80e'}.icon-video:before{content:'\e80f'}.icon-videocam:before{content:'\e810'}.icon-picture:before{content:'\e811'}.icon-camera:before{content:'\e812'}.icon-camera-alt:before{content:'\e813'}.icon-th-large:before{content:'\e814'}.icon-th:before{content:'\e815'}.icon-th-list:before{content:'\e816'}.icon-ok:before{content:'\e817'}.icon-ok-circled:before{content:'\e818'}.icon-ok-circled2:before{content:'\e819'}.icon-ok-squared:before{content:'\e81a'}.icon-cancel:before{content:'\e81b'}.icon-cancel-circled:before{content:'\e81c'}.icon-cancel-circled2:before{content:'\e81d'}.icon-plus:before{content:'\e81e'}.icon-plus-circled:before{content:'\e81f'}.icon-plus-squared:before{content:'\e820'}.icon-plus-squared-small:before{content:'\e821'}.icon-minus:before{content:'\e822'}.icon-minus-circled:before{content:'\e823'}.icon-minus-squared:before{content:'\e824'}.icon-minus-squared-alt:before{content:'\e825'}.icon-minus-squared-small:before{content:'\e826'}.icon-help:before{content:'\e827'}.icon-help-circled:before{content:'\e828'}.icon-info-circled:before{content:'\e829'}.icon-info:before{content:'\e82a'}.icon-home:before{content:'\e82b'}.icon-link:before{content:'\e82c'}.icon-unlink:before{content:'\e82d'}.icon-link-ext:before{content:'\e82e'}.icon-link-ext-alt:before{content:'\e82f'}.icon-attach:before{content:'\e830'}.icon-lock:before{content:'\e831'}.icon-lock-open:before{content:'\e832'}.icon-lock-open-alt:before{content:'\e833'}.icon-pin:before{content:'\e834'}.icon-eye:before{content:'\e835'}.icon-eye-off:before{content:'\e836'}.icon-tag:before{content:'\e837'}.icon-tags:before{content:'\e838'}.icon-bookmark:before{content:'\e839'}.icon-bookmark-empty:before{content:'\e83a'}.icon-flag:before{content:'\e83b'}.icon-flag-empty:before{content:'\e83c'}.icon-flag-checkered:before{content:'\e83d'}.icon-thumbs-up:before{content:'\e83e'}.icon-thumbs-down:before{content:'\e83f'}.icon-thumbs-up-alt:before{content:'\e840'}.icon-thumbs-down-alt:before{content:'\e841'}.icon-download:before{content:'\e842'}.icon-upload:before{content:'\e843'}.icon-download-cloud:before{content:'\e844'}.icon-upload-cloud:before{content:'\e845'}.icon-reply:before{content:'\e846'}.icon-reply-all:before{content:'\e847'}.icon-forward:before{content:'\e848'}.icon-quote-left:before{content:'\e849'}.icon-quote-right:before{content:'\e84a'}.icon-export-alt:before{content:'\e84b'}.icon-pencil:before{content:'\e84c'}.icon-pencil-squared:before{content:'\e84d'}.icon-edit:before{content:'\e84e'}.icon-print:before{content:'\e84f'}.icon-retweet:before{content:'\e850'}.icon-keyboard:before{content:'\e851'}.icon-gamepad:before{content:'\e852'}.icon-comment:before{content:'\e853'}.icon-chat:before{content:'\e854'}.icon-comment-empty:before{content:'\e855'}.icon-chat-empty:before{content:'\e856'}.icon-bell:before{content:'\e857'}.icon-bell-alt:before{content:'\e858'}.icon-attention-alt:before{content:'\e859'}.icon-attention:before{content:'\e85a'}.icon-attention-circled:before{content:'\e85b'}.icon-location:before{content:'\e85c'}.icon-direction:before{content:'\e85d'}.icon-compass:before{content:'\e85e'}.icon-doc:before{content:'\e85f'}.icon-docs:before{content:'\e860'}.icon-doc-text:before{content:'\e861'}.icon-file:before{content:'\e862'}.icon-doc-text-inv:before{content:'\e863'}.icon-folder-empty:before{content:'\e864'}.icon-folder-open-empty:before{content:'\e865'}.icon-box:before{content:'\e866'}.icon-rss:before{content:'\e867'}.icon-rss-squared:before{content:'\e868'}.icon-phone:before{content:'\e869'}.icon-phone-squared:before{content:'\e86a'}.icon-menu:before{content:'\e86b'}.icon-cog:before{content:'\e86c'}.icon-cog-alt:before{content:'\e86d'}.icon-wrench:before{content:'\e86e'}.icon-basket:before{content:'\e86f'}.icon-calendar:before{content:'\e870'}.icon-calendar-empty:before{content:'\e871'}.icon-login:before{content:'\e872'}.icon-logout:before{content:'\e873'}.icon-mic:before{content:'\e874'}.icon-mute:before{content:'\e875'}.icon-volume-off:before{content:'\e876'}.icon-volume-down:before{content:'\e877'}.icon-volume-up:before{content:'\e878'}.icon-headphones:before{content:'\e879'}.icon-clock:before{content:'\e87a'}.icon-lightbulb:before{content:'\e87b'}.icon-block:before{content:'\e87c'}.icon-resize-full-alt:before{content:'\e87d'}.icon-resize-small:before{content:'\e87e'}.icon-resize-vertical:before{content:'\e87f'}.icon-resize-horizontal:before{content:'\e880'}.icon-move:before{content:'\e881'}.icon-zoom-in:before{content:'\e882'}.icon-zoom-out:before{content:'\e883'}.icon-down-circled2:before{content:'\e884'}.icon-up-circled2:before{content:'\e885'}.icon-down-dir:before{content:'\e886'}.icon-up-dir:before{content:'\e887'}.icon-left-dir:before{content:'\e888'}.icon-right-dir:before{content:'\e889'}.icon-down-open:before{content:'\e88a'}.icon-left-open:before{content:'\e88b'}.icon-right-open:before{content:'\e88c'}.icon-up-open:before{content:'\e88d'}.icon-angle-left:before{content:'\e88e'}.icon-angle-right:before{content:'\e88f'}.icon-angle-up:before{content:'\e890'}.icon-angle-down:before{content:'\e891'}.icon-angle-circled-left:before{content:'\e892'}.icon-angle-circled-right:before{content:'\e893'}.icon-angle-circled-up:before{content:'\e894'}.icon-angle-circled-down:before{content:'\e895'}.icon-angle-double-left:before{content:'\e896'}.icon-angle-double-right:before{content:'\e897'}.icon-angle-double-up:before{content:'\e898'}.icon-angle-double-down:before{content:'\e899'}.icon-down:before{content:'\e89a'}.icon-left:before{content:'\e89b'}.icon-right:before{content:'\e89c'}.icon-up:before{content:'\e89d'}.icon-down-big:before{content:'\e89e'}.icon-music:before{content:'\e89f'}.icon-archive:before{content:'\e8a0'}.icon-up-big:before{content:'\e8a1'}.icon-right-hand:before{content:'\e8a2'}.icon-resize-small-1:before{content:'\e8a3'}.icon-cancel-squared:before{content:'\e8a4'}.icon-down-hand:before{content:'\e8a5'}.icon-left-circled:before{content:'\e8a6'}.icon-right-circled:before{content:'\e8a7'}.icon-up-circled:before{content:'\e8a8'}.icon-down-circled:before{content:'\e8a9'}.icon-cw:before{content:'\e8aa'}.icon-ccw:before{content:'\e8ab'}.icon-refresh:before{content:'\e8ac'}.icon-level-up:before{content:'\e8ad'}.icon-level-down:before{content:'\e8ae'}.icon-shuffle:before{content:'\e8af'}.icon-exchange:before{content:'\e8b0'}.icon-collapse:before{content:'\e8b1'}.icon-collapse-top:before{content:'\e8b2'}.icon-expand:before{content:'\e8b3'}.icon-play:before{content:'\e8b4'}.icon-play-circled:before{content:'\e8b5'}.icon-play-circled2:before{content:'\e8b6'}.icon-stop:before{content:'\e8b7'}.icon-pause:before{content:'\e8b8'}.icon-to-end:before{content:'\e8b9'}.icon-to-end-alt:before{content:'\e8ba'}.icon-to-start:before{content:'\e8bb'}.icon-to-start-alt:before{content:'\e8bc'}.icon-fast-fw:before{content:'\e8bd'}.icon-fast-bw:before{content:'\e8be'}.icon-eject:before{content:'\e8bf'}.icon-signal:before{content:'\e8c0'}.icon-award:before{content:'\e8c1'}.icon-desktop:before{content:'\e8c2'}.icon-laptop:before{content:'\e8c3'}.icon-tablet:before{content:'\e8c4'}.icon-mobile:before{content:'\e8c5'}.icon-inbox:before{content:'\e8c6'}.icon-globe:before{content:'\e8c7'}.icon-sun:before{content:'\e8c8'}.icon-cloud:before{content:'\e8c9'}.icon-flash:before{content:'\e8ca'}.icon-moon:before{content:'\e8cb'}.icon-umbrella:before{content:'\e8cc'}.icon-flight:before{content:'\e8cd'}.icon-fighter-jet:before{content:'\e8ce'}.icon-leaf:before{content:'\e8cf'}.icon-font:before{content:'\e8d0'}.icon-bold:before{content:'\e8d1'}.icon-italic:before{content:'\e8d2'}.icon-text-height:before{content:'\e8d3'}.icon-text-width:before{content:'\e8d4'}.icon-align-left:before{content:'\e8d5'}.icon-align-center:before{content:'\e8d6'}.icon-align-right:before{content:'\e8d7'}.icon-align-justify:before{content:'\e8d8'}.icon-list:before{content:'\e8d9'}.icon-indent-left:before{content:'\e8da'}.icon-indent-right:before{content:'\e8db'}.icon-list-bullet:before{content:'\e8dc'}.icon-list-numbered:before{content:'\e8dd'}.icon-strike:before{content:'\e8de'}.icon-underline:before{content:'\e8df'}.icon-superscript:before{content:'\e8e0'}.icon-subscript:before{content:'\e8e1'}.icon-table:before{content:'\e8e2'}.icon-columns:before{content:'\e8e3'}.icon-crop:before{content:'\e8e4'}.icon-scissors:before{content:'\e8e5'}.icon-paste:before{content:'\e8e6'}.icon-briefcase:before{content:'\e8e7'}.icon-suitcase:before{content:'\e8e8'}.icon-ellipsis:before{content:'\e8e9'}.icon-ellipsis-vert:before{content:'\e8ea'}.icon-off:before{content:'\e8eb'}.icon-road:before{content:'\e8ec'}.icon-list-alt:before{content:'\e8ed'}.icon-qrcode:before{content:'\e8ee'}.icon-barcode:before{content:'\e8ef'}.icon-book:before{content:'\e8f0'}.icon-ajust:before{content:'\e8f1'}.icon-tint:before{content:'\e8f2'}.icon-check:before{content:'\e8f3'}.icon-check-empty:before{content:'\e8f4'}.icon-circle:before{content:'\e8f5'}.icon-circle-empty:before{content:'\e8f6'}.icon-asterisk:before{content:'\e8f7'}.icon-gift:before{content:'\e8f8'}.icon-fire:before{content:'\e8f9'}.icon-magnet:before{content:'\e8fa'}.icon-ticket:before{content:'\e8fb'}.icon-credit-card:before{content:'\e8fc'}.icon-floppy:before{content:'\e8fd'}.icon-megaphone:before{content:'\e8fe'}.icon-key:before{content:'\e8ff'}.icon-fork:before{content:'\e900'}.icon-rocket:before{content:'\e901'}.icon-bug:before{content:'\e902'}.icon-certificate:before{content:'\e903'}.icon-tasks:before{content:'\e904'}.icon-filter:before{content:'\e905'}.icon-beaker:before{content:'\e906'}.icon-magic:before{content:'\e907'}.icon-truck:before{content:'\e908'}.icon-money:before{content:'\e909'}.icon-euro:before{content:'\e90a'}.icon-pound:before{content:'\e90b'}.icon-dollar:before{content:'\e90c'}.icon-rupee:before{content:'\e90d'}.icon-yen:before{content:'\e90e'}.icon-renminbi:before{content:'\e90f'}.icon-won:before{content:'\e910'}.icon-bitcoin:before{content:'\e911'}.icon-sort:before{content:'\e912'}.icon-sort-down:before{content:'\e913'}.icon-sort-up:before{content:'\e914'}.icon-sort-alt-up:before{content:'\e915'}.icon-sort-alt-down:before{content:'\e916'}.icon-sort-name-up:before{content:'\e917'}.icon-sort-name-down:before{content:'\e918'}.icon-sort-number-up:before{content:'\e919'}.icon-sort-number-down:before{content:'\e91a'}.icon-hammer:before{content:'\e91b'}.icon-gauge:before{content:'\e91c'}.icon-sitemap:before{content:'\e91d'}.icon-spinner:before{content:'\e91e'}.icon-coffee:before{content:'\e91f'}.icon-food:before{content:'\e920'}.icon-beer:before{content:'\e921'}.icon-user-md:before{content:'\e922'}.icon-stethoscope:before{content:'\e923'}.icon-ambulance:before{content:'\e924'}.icon-medkit:before{content:'\e925'}.icon-h-sigh:before{content:'\e926'}.icon-hospital:before{content:'\e927'}.icon-building:before{content:'\e928'}.icon-smile:before{content:'\e929'}.icon-frown:before{content:'\e92a'}.icon-meh:before{content:'\e92b'}.icon-anchor:before{content:'\e92c'}.icon-terminal:before{content:'\e92d'}.icon-eraser:before{content:'\e92e'}.icon-puzzle:before{content:'\e92f'}.icon-shield:before{content:'\e930'}.icon-extinguisher:before{content:'\e931'}.icon-bullseye:before{content:'\e932'}.icon-resize-full:before{content:'\e933'}.icon-target:before{content:'\e934'}.icon-layers:before{content:'\e935'}.icon-chart-bar:before{content:'\e936'}.icon-share:before{content:'\e937'}.icon-hdd:before{content:'\e938'}.icon-trash:before{content:'\e939'}.icon-folder:before{content:'\e93a'}.icon-code:before{content:'\e93b'}.icon-folder-open:before{content:'\e93c'}.icon-left-big:before{content:'\e93d'}.icon-evernote:before{content:'\e93e'}.icon-right-big:before{content:'\e93f'}.icon-spin3:before{content:'\e940'}.icon-spin4:before{content:'\e941'}.icon-spin6:before{content:'\e942'}.icon-arrows-cw:before{content:'\e943'}.icon-resize-normal:before{content:'\e944'}.icon-left-hand:before{content:'\e945'}.icon-evernote-1:before{content:'\e946'}.icon-up-hand:before{content:'\e947'}.icon-file-pdf:before{content:'\e948'}.icon-doc-text-1:before{content:'\e949'}.icon-file-word:before{content:'\e94a'}.icon-file-excel:before{content:'\e94b'}.icon-file-powerpoint:before{content:'\e94c'}.icon-file-image:before{content:'\e94d'}.icon-file-archive:before{content:'\e94e'}.icon-file-audio:before{content:'\e94f'}.icon-file-video:before{content:'\e950'}.icon-file-code:before{content:'\e951'}.icon-doc-1:before{content:'\e952'}.icon-share-1:before{content:'\e953'}.icon-users-1:before{content:'\e954'}/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}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:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}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}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;font-size:15px;line-height:1.45;color:#2c3f51;background-color:none}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#1980e6;text-decoration:none}a:hover,a:focus{color:#0f4d8a;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}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.45;background-color:none;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid rgba(102,128,153,0.1)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:300;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:#999}h1,h2,h3{margin-top:21px;margin-bottom:10.5px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#b89600}.text-warning:hover{color:#856d00}.text-danger{color:#d82a1a}.text-danger:hover{color:#ab2114}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid none}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.45}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}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;border-left:5px solid rgba(102,128,153,0.075)}blockquote p{font-size:18.75px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.45;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid rgba(102,128,153,0.075);border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:21px;font-style:normal;line-height:1.45}code,kbd,pre,samp{font-family:"Source Code Pro",monospace}code{padding:2px 4px;font-size:90%;color:#2c3f51;background-color:rgba(102,128,153,0.075);white-space:nowrap;border-radius:4px}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.45;word-break:break-all;word-wrap:break-word;color:#333;background-color:rgba(102,128,153,0.05);border:1px solid rgba(102,128,153,0.075);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}.pln{color:#000}.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:#f00}pre.prettyprint{padding:0;border:0}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}@font-face{font-family:'fontello';src:url('../font/fontello.svg?1482341078908#fontello') format('svg'),url('../font/fontello.woff?1482341078908') format('woff');font-weight:normal;font-style:normal}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;src:local('Source Sans Pro Light'),local('SourceSansPro-Light'),url("../font/SourceSansPro-Light-webfont.woff") format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:local('Source Sans Pro'),local('SourceSansPro'),url("../font/SourceSansPro-Regular-webfont.woff") format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;src:local('Source Sans Pro Bold'),local('SourceSansPro-Bold'),url("../font/SourceSansPro-Bold-webfont.woff") format('woff')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:300;src:local('Source Sans Pro Light Italic'),local('SourceSansProLight-Italic'),url("../font/SourceSansPro-LightItalic-webfont.woff") format('woff')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:400;src:local('Source Sans Pro Italic'),local('SourceSansPro-Italic'),url("../font/SourceSansPro-Italic-webfont.woff") format('woff')}@font-face{font-family:'Source Sans Pro';font-style:italic;font-weight:700;src:local('Source Sans Pro Bold Italic'),local('SourceSansPro-BoldItalic'),url("../font/SourceSansPro-BoldItalic-webfont.woff") format('woff')}@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:400;src:local('Source Code Pro'),local('SourceCodePro-Regular'),url("../font/SourceCodePro-Regular-webfont.woff") format('woff')}@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:700;src:local('Source Code Pro Bold'),local('SourceCodePro-Bold'),url("../font/SourceCodePro-Bold-webfont.woff") format('woff')}.container{margin-bottom:180px;text-align:justify}a code{color:inherit}h1{font-size:2.6em}h2{font-size:2.15em}h3{font-size:1.7em}h4{font-size:1.25em}h5{font-size:1em}h6{font-size:.85em}h1,h2,h3,h4,h5,h6{margin:1.8em 0;text-align:start}pre{word-break:break-word}p,pre,pre.prettyprint,blockquote{margin:0 0 1.1em}hr{margin:2em 0}img{max-width:100%}.sequence-diagram,.flow-chart{text-align:center;margin-bottom:1.1em}.sequence-diagram text,.flow-chart text{font-size:15px !important;font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif !important}.sequence-diagram [stroke="#000000"],.flow-chart [stroke="#000000"]{stroke:#2c3f51}.sequence-diagram text[stroke="#000000"],.flow-chart text[stroke="#000000"]{stroke:none}.sequence-diagram [fill="#000"],.flow-chart [fill="#000"],.sequence-diagram [fill="#000000"],.flow-chart [fill="#000000"],.sequence-diagram [fill="black"],.flow-chart [fill="black"]{fill:#2c3f51}code,pre{font-family:"Source Code Pro",monospace;font-size:.9em}code{white-space:normal}pre,pre.prettyprint{text-align:start;border:0;border-radius:5px;word-break:break-all}pre code,pre.prettyprint code{padding:1.3em 2em !important}pre.prettyprint.with-line-number{position:relative}pre.prettyprint.with-line-number code{padding-left:3.3em !important}pre.prettyprint.with-line-number .hljs-comment.line-number{min-width:2.2em;display:inline-block;text-align:right;opacity:.8;position:absolute;left:.3em}.hljs-comment.line-number{display:none}dt,dd{margin-top:5px;margin-bottom:5px}dd{margin-left:40px}table{margin-bottom:20px}table th,table td{padding:8px;line-height:20px;vertical-align:top;border-top:1px solid #ddd}table th{font-weight:bold}table thead th{vertical-align:bottom}table caption+thead tr:first-child th,table caption+thead tr:first-child td,table colgroup+thead tr:first-child th,table colgroup+thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}table tbody+tbody{border-top:2px solid #ddd}blockquote{border-left-width:10px;background-color:rgba(102,128,153,0.05);border-top-right-radius:5px;border-bottom-right-radius:5px;padding:15px 20px}blockquote p{margin-bottom:1.1em;font-size:1em;line-height:1.45}blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}ul,ol{margin-bottom:1.1em}ul ul,ol ul,ul ol,ol ol{margin-bottom:1.1em}kbd{padding:.1em .6em;border:1px solid rgba(44,63,81,0.25);-webkit-box-shadow:0 1px 0 rgba(44,63,81,0.25);box-shadow:0 1px 0 rgba(44,63,81,0.25);font-size:.7em;font-family:sans-serif;background-color:#fff;color:#333;border-radius:3px;display:inline-block;margin:0 .1em;white-space:nowrap}.toc ul{list-style-type:none;margin-bottom:15px}.footnote{vertical-align:top;position:relative;top:-0.5em;font-size:.8em}li.checklist-item{list-style:none;margin-left:-1.2em}.checklist{margin-bottom:1.1em}.checklist-item>.checklist{margin-left:1.4em}li>p:last-child{margin-bottom:0}[class^="icon-"],[class*=" icon-"]{display:inline-block;line-height:1.35em;vertical-align:middle;background-repeat:no-repeat}.icon-code{font-size:83%;line-height:1.65em}.icon-code:before{margin-left:.1em;margin-right:.6em}.icon-trash{line-height:1.5em}.icon-folder-open{font-size:80%}.icon-folder-open:before{margin-right:.6em}.icon-chart-bar{font-size:95%}.icon-chart-bar:before{margin-left:.3em;margin-right:.3em}.icon-comment-alt,.icon-chat{font-size:92%}.icon-comment-alt:before,.icon-chat:before{margin-left:.1em;margin-right:.4em}.icon-file{font-size:104%;margin-left:0;margin-right:0}.icon-link{font-size:104%}[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons.png");width:18px;height:16px;margin-top:-2px;margin-left:2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}.icon-provider-stackedit{background-position:0 0}.icon-provider-gdrive,.icon-provider-gdrivesec,.icon-provider-gdriveter{background-position:-18px 0}.icon-provider-dropbox{background-position:-37px 0}.icon-provider-github,.icon-provider-gist{background-position:-54px 0}.icon-provider-blogger,.icon-provider-bloggerpage{background-position:-72px 0}.icon-provider-tumblr{background-position:-90px 0}.icon-provider-wordpress{background-position:-108px 0}.icon-provider-ssh{background-position:-126px 0}.icon-provider-gplus{background-position:-144px 0}.icon-provider-couchdb{background-position:-162px 0}body.rtl #wmd-input,body.rtl #preview-contents,body.rtl .input-file-title,body.rtl .search-bar input,body.rtl .modal-document-manager input,body.rtl .comments-popover,body.rtl .container{direction:rtl}.MathJax_SVG_Display{text-align:center;margin:1em 0;position:relative;display:block !important;text-indent:0;max-width:none;max-height:none;min-width:0;min-height:0;width:100%}.MathJax_SVG{display:inline;font-style:normal;font-weight:normal;line-height:normal;font-size:100%;font-size-adjust:none;text-indent:0;text-align:left;text-transform:none;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;direction:ltr;max-width:none;max-height:none;min-width:0;min-height:0;border:0;padding:0;margin:0;vertical-align:middle}.hljs-light .hljs{display:block;padding:.5em;background-color:#f0f0f0}.hljs-light .hljs,.hljs-light .hljs-subst,.hljs-light .hljs-tag .hljs-title,.hljs-light .lisp .hljs-title,.hljs-light .clojure .hljs-built_in,.hljs-light .nginx .hljs-title{color:#000}.hljs-light .hljs-string,.hljs-light .hljs-title,.hljs-light .hljs-constant,.hljs-light .hljs-parent,.hljs-light .hljs-tag .hljs-value,.hljs-light .hljs-rules .hljs-value,.hljs-light .hljs-rules .hljs-value .hljs-number,.hljs-light .hljs-preprocessor,.hljs-light .hljs-pragma,.hljs-light .haml .hljs-symbol,.hljs-light .ruby .hljs-symbol,.hljs-light .ruby .hljs-symbol .hljs-string,.hljs-light .hljs-aggregate,.hljs-light .hljs-template_tag,.hljs-light .django .hljs-variable,.hljs-light .smalltalk .hljs-class,.hljs-light .hljs-addition,.hljs-light .hljs-flow,.hljs-light .hljs-stream,.hljs-light .bash .hljs-variable,.hljs-light .apache .hljs-tag,.hljs-light .apache .hljs-cbracket,.hljs-light .tex .hljs-command,.hljs-light .tex .hljs-special,.hljs-light .erlang_repl .hljs-function_or_atom,.hljs-light .asciidoc .hljs-header,.hljs-light .markdown .hljs-header,.hljs-light .coffeescript .hljs-attribute{color:#800}.hljs-light .smartquote,.hljs-light .hljs-comment,.hljs-light .hljs-annotation,.hljs-light .hljs-template_comment,.hljs-light .diff .hljs-header,.hljs-light .hljs-chunk,.hljs-light .asciidoc .hljs-blockquote,.hljs-light .markdown .hljs-blockquote{color:#888}.hljs-light .hljs-number,.hljs-light .hljs-date,.hljs-light .hljs-regexp,.hljs-light .hljs-literal,.hljs-light .hljs-hexcolor,.hljs-light .smalltalk .hljs-symbol,.hljs-light .smalltalk .hljs-char,.hljs-light .go .hljs-constant,.hljs-light .hljs-change,.hljs-light .lasso .hljs-variable,.hljs-light .makefile .hljs-variable,.hljs-light .asciidoc .hljs-bullet,.hljs-light .markdown .hljs-bullet,.hljs-light .asciidoc .hljs-link_url,.hljs-light .markdown .hljs-link_url{color:#080}.hljs-light .hljs-label,.hljs-light .hljs-javadoc,.hljs-light .ruby .hljs-string,.hljs-light .hljs-decorator,.hljs-light .hljs-filter .hljs-argument,.hljs-light .hljs-localvars,.hljs-light .hljs-array,.hljs-light .hljs-attr_selector,.hljs-light .hljs-important,.hljs-light .hljs-pseudo,.hljs-light .hljs-pi,.hljs-light .haml .hljs-bullet,.hljs-light .hljs-doctype,.hljs-light .hljs-deletion,.hljs-light .hljs-envvar,.hljs-light .hljs-shebang,.hljs-light .apache .hljs-sqbracket,.hljs-light .nginx .hljs-built_in,.hljs-light .tex .hljs-formula,.hljs-light .erlang_repl .hljs-reserved,.hljs-light .hljs-prompt,.hljs-light .asciidoc .hljs-link_label,.hljs-light .markdown .hljs-link_label,.hljs-light .vhdl .hljs-attribute,.hljs-light .clojure .hljs-attribute,.hljs-light .asciidoc .hljs-attribute,.hljs-light .lasso .hljs-attribute,.hljs-light .coffeescript .hljs-property,.hljs-light .hljs-phony{color:#88f}.hljs-light .hljs-keyword,.hljs-light .hljs-id,.hljs-light .hljs-title,.hljs-light .hljs-built_in,.hljs-light .hljs-aggregate,.hljs-light .css .hljs-tag,.hljs-light .hljs-javadoctag,.hljs-light .hljs-phpdoc,.hljs-light .hljs-yardoctag,.hljs-light .smalltalk .hljs-class,.hljs-light .hljs-winutils,.hljs-light .bash .hljs-variable,.hljs-light .apache .hljs-tag,.hljs-light .go .hljs-typename,.hljs-light .tex .hljs-command,.hljs-light .asciidoc .hljs-strong,.hljs-light .markdown .hljs-strong,.hljs-light .hljs-request,.hljs-light .hljs-status{font-weight:bold}.hljs-light .asciidoc .hljs-emphasis,.hljs-light .markdown .hljs-emphasis{font-style:italic}.hljs-light .nginx .hljs-built_in{font-weight:normal}.hljs-light .coffeescript .javascript,.hljs-light .javascript .xml,.hljs-light .lasso .markup,.hljs-light .tex .hljs-formula,.hljs-light .xml .javascript,.hljs-light .xml .vbscript,.hljs-light .xml .css,.hljs-light .xml .hljs-cdata{opacity:.5}.hljs-dark{background:#f6f6f6}.hljs-dark .hljs{display:block;padding:.5em;background:#23241f}.hljs-dark .hljs,.hljs-dark .hljs-tag,.hljs-dark .css .hljs-rules,.hljs-dark .css .hljs-value,.hljs-dark .css .hljs-function .hljs-preprocessor,.hljs-dark .hljs-pragma{color:#f8f8f2}.hljs-dark .hljs-strongemphasis,.hljs-dark .hljs-strong,.hljs-dark .hljs-emphasis{color:#a8a8a2}.hljs-dark .hljs-bullet,.hljs-dark .hljs-blockquote,.hljs-dark .hljs-horizontal_rule,.hljs-dark .hljs-number,.hljs-dark .hljs-regexp,.hljs-dark .alias .hljs-keyword,.hljs-dark .hljs-literal,.hljs-dark .hljs-hexcolor{color:#ae81ff}.hljs-dark .hljs-tag .hljs-value,.hljs-dark .hljs-code,.hljs-dark .hljs-title,.hljs-dark .css .hljs-class,.hljs-dark .hljs-class .hljs-title:last-child{color:#a6e22e}.hljs-dark .hljs-link_url{font-size:80%}.hljs-dark .hljs-strong,.hljs-dark .hljs-strongemphasis{font-weight:bold}.hljs-dark .hljs-emphasis,.hljs-dark .hljs-strongemphasis,.hljs-dark .hljs-class .hljs-title:last-child{font-style:italic}.hljs-dark .hljs-keyword,.hljs-dark .hljs-function,.hljs-dark .hljs-change,.hljs-dark .hljs-winutils,.hljs-dark .hljs-flow,.hljs-dark .lisp .hljs-title,.hljs-dark .clojure .hljs-built_in,.hljs-dark .nginx .hljs-title,.hljs-dark .tex .hljs-special,.hljs-dark .hljs-header,.hljs-dark .hljs-attribute,.hljs-dark .hljs-symbol,.hljs-dark .hljs-symbol .hljs-string,.hljs-dark .hljs-tag .hljs-title,.hljs-dark .hljs-value,.hljs-dark .alias .hljs-keyword:first-child,.hljs-dark .css .hljs-tag,.hljs-dark .css .unit,.hljs-dark .css .hljs-important{color:#f92672}.hljs-dark .hljs-function .hljs-keyword,.hljs-dark .hljs-class .hljs-keyword:first-child,.hljs-dark .hljs-constant,.hljs-dark .css .hljs-attribute{color:#66d9ef}.hljs-dark .hljs-variable,.hljs-dark .hljs-params,.hljs-dark .hljs-class .hljs-title{color:#f8f8f2}.hljs-dark .hljs-string,.hljs-dark .css .hljs-id,.hljs-dark .hljs-subst,.hljs-dark .haskell .hljs-type,.hljs-dark .ruby .hljs-class .hljs-parent,.hljs-dark .hljs-built_in,.hljs-dark .sql .hljs-aggregate,.hljs-dark .django .hljs-template_tag,.hljs-dark .django .hljs-variable,.hljs-dark .smalltalk .hljs-class,.hljs-dark .django .hljs-filter .hljs-argument,.hljs-dark .smalltalk .hljs-localvars,.hljs-dark .smalltalk .hljs-array,.hljs-dark .hljs-attr_selector,.hljs-dark .hljs-pseudo,.hljs-dark .hljs-addition,.hljs-dark .hljs-stream,.hljs-dark .hljs-envvar,.hljs-dark .apache .hljs-tag,.hljs-dark .apache .hljs-cbracket,.hljs-dark .tex .hljs-command,.hljs-dark .hljs-prompt,.hljs-dark .hljs-link_label,.hljs-dark .hljs-link_url{color:#e6db74}.hljs-dark .hljs-comment,.hljs-dark .hljs-javadoc,.hljs-dark .java .hljs-annotation,.hljs-dark .python .hljs-decorator,.hljs-dark .hljs-template_comment,.hljs-dark .hljs-pi,.hljs-dark .hljs-doctype,.hljs-dark .hljs-deletion,.hljs-dark .hljs-shebang,.hljs-dark .apache .hljs-sqbracket,.hljs-dark .tex .hljs-formula{color:#75715e}.hljs-dark .coffeescript .javascript,.hljs-dark .javascript .xml,.hljs-dark .tex .hljs-formula,.hljs-dark .xml .javascript,.hljs-dark .xml .vbscript,.hljs-dark .xml .css,.hljs-dark .xml .hljs-cdata,.hljs-dark .xml .php,.hljs-dark .php .xml{opacity:.5}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}h1,h2,h3,h4,h5,h6{font-weight:bold;margin:1.2em 0 .6em 0}blockquote h1,blockquote h2,blockquote h3,blockquote h4,blockquote h5,blockquote h6{font-weight:bold;margin:.6em 0}.note-tags{color:rgba(44,63,81,0.3)}.note-tags code{color:rgba(44,63,81,0.5);background:rgba(102,128,153,0.075);border-radius:0;padding:2px 5px}.note-tags code:empty{display:none}.note-tags .notebook{background:rgba(44,63,81,0.3);color:#fff;margin-right:6px}table th,table td,table thead:first-child tr:first-child th{padding:.5em;border:1px solid #ddd;line-height:1.5}.note-content{line-height:1.5;color:#2c3f51}.note-content div,.note-content dl,.note-content dt,.note-content em,.note-content font,.note-content h3,.note-content h4,.note-content h5,.note-content h6,.note-content hr,.note-content i,.note-content ins,.note-content kbd,.note-content li,.note-content map,.note-content ol,.note-content p,.note-content pre,.note-content q,.note-content s,.note-content samp,.note-content small,.note-content span,.note-content strike,.note-content strong,.note-content sub,.note-content sup,.note-content table,.note-content tbody,.note-content td,.note-content tfoot,.note-content th,.note-content thead,.note-content tr,.note-content tt,.note-content u,.note-content ul{line-height:1.6}.image-broken-replacement{text-align:center;font-style:italic;padding:8px;border-radius:5px;color:rgba(102,128,153,0.6);background-color:rgba(102,128,153,0.075)}th[align='center']{text-align:center}th[align='right']{text-align:right}.image-caption{font-size:.86em;margin-top:.6em;margin-bottom:0}.alertify,.alertify-show,.alertify-log{-webkit-transition:all 500ms cubic-bezier(.175, .885, .32, 1.275);-moz-transition:all 500ms cubic-bezier(.175, .885, .32, 1.275);-ms-transition:all 500ms cubic-bezier(.175, .885, .32, 1.275);-o-transition:all 500ms cubic-bezier(.175, .885, .32, 1.275);transition:all 500ms cubic-bezier(.175, .885, .32, 1.275)}.alertify-hide{-webkit-transition:all 250ms cubic-bezier(.6, -0.28, .735, .045);-moz-transition:all 250ms cubic-bezier(.6, -0.28, .735, .045);-ms-transition:all 250ms cubic-bezier(.6, -0.28, .735, .045);-o-transition:all 250ms cubic-bezier(.6, -0.28, .735, .045);transition:all 250ms cubic-bezier(.6, -0.28, .735, .045)}.alertify-log-hide{-webkit-transition:all 500ms cubic-bezier(.6, -0.28, .735, .045);-moz-transition:all 500ms cubic-bezier(.6, -0.28, .735, .045);-ms-transition:all 500ms cubic-bezier(.6, -0.28, .735, .045);-o-transition:all 500ms cubic-bezier(.6, -0.28, .735, .045);transition:all 500ms cubic-bezier(.6, -0.28, .735, .045)}.alertify-cover{position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;background-color:#fff;filter:alpha(opacity=0);opacity:0}.alertify-cover-hidden{display:none}.alertify{position:fixed;z-index:99999;top:50px;left:50%;width:550px;margin-left:-275px;opacity:1}.alertify-hidden{opacity:0;display:none}:root *>.alertify-hidden{display:block;visibility:hidden}.alertify-logs{position:fixed;z-index:5000;bottom:10px;right:10px;width:300px}.alertify-logs-hidden{display:none}.alertify-log{display:block;margin-top:10px;position:relative;right:-300px;opacity:0}.alertify-log-show{right:0;opacity:1}.alertify-log-hide{-webkit-transform:translate(300px, 0);-moz-transform:translate(300px, 0);-ms-transform:translate(300px, 0);-o-transform:translate(300px, 0);transform:translate(300px, 0);opacity:0}.alertify-dialog{padding:25px}.alertify-resetFocus{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.alertify-inner{text-align:center}.alertify-text{margin-bottom:15px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:100%}.alertify-isHidden{display:none}@media only screen and (max-width:680px){.alertify,.alertify-logs{width:90%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.alertify{left:5%;margin:0}}.alertify,.alertify-log{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif}.alertify{background:#fff;border:1px solid #dee6ed;border-radius:6px;width:398px;margin-left:-200px;-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box}.alertify-dialog{padding:0}.alertify-inner{text-align:left}.alertify-message{padding:15px;margin:0}.alertify-text-wrapper{padding:0 15px}.alertify-text{display:block;width:100%;height:42px;padding:6px 12px;font-size:15px;line-height:1.45;color:#2c3f51;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #dee6ed;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025);-webkit-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}.alertify-text:focus: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)}.alertify-text:focus:focus{border-color:#dee6ed;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px rgba(102, 128, 153, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px rgba(102, 128, 153, 0.6)}.alertify-text:focus:focus{border-color:rgba(25,128,230,0.5);outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px #1980e6;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 12px -1px #1980e6}.alertify-buttons{padding:14px 15px 15px;background:#f6f7f9;border-top:1px solid #ebf0f4;text-align:right;border-radius:0 0 6px 6px}.alertify-button{margin-left:10px}.alertify-button-cancel,.alertify-button-ok{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:15px;line-height:1.45;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.alertify-button-cancel:focus,.alertify-button-ok:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.alertify-button-cancel:hover,.alertify-button-ok:hover,.alertify-button-cancel:focus,.alertify-button-ok:focus{color:#425e7b;text-decoration:none}.alertify-button-cancel:active,.alertify-button-ok:active,.alertify-button-cancel.active,.alertify-button-ok.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)}.alertify-button-cancel{color:#425e7b;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.alertify-button-cancel:hover,.alertify-button-cancel:focus,.alertify-button-cancel:active,.alertify-button-cancel.active,.open .dropdown-toggle.alertify-button-cancel{color:#425e7b;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.alertify-button-cancel:active,.alertify-button-cancel.active,.open .dropdown-toggle.alertify-button-cancel{background-image:none}.alertify-button-cancel.disabled,.alertify-button-cancel[disabled],fieldset[disabled] .alertify-button-cancel,.alertify-button-cancel.disabled:hover,.alertify-button-cancel[disabled]:hover,fieldset[disabled] .alertify-button-cancel:hover,.alertify-button-cancel.disabled:focus,.alertify-button-cancel[disabled]:focus,fieldset[disabled] .alertify-button-cancel:focus,.alertify-button-cancel.disabled:active,.alertify-button-cancel[disabled]:active,fieldset[disabled] .alertify-button-cancel:active,.alertify-button-cancel.disabled.active,.alertify-button-cancel[disabled].active,fieldset[disabled] .alertify-button-cancel.active{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.alertify-button-cancel .badge{color:rgba(0,0,0,0);background-color:#fff}.alertify-button-ok{color:#425e7b;background-color:#e4ebf1;border-color:rgba(0,128,255,0.05)}.alertify-button-ok:hover,.alertify-button-ok:focus,.alertify-button-ok:active,.alertify-button-ok.active,.open .dropdown-toggle.alertify-button-ok{color:#425e7b;background-color:#cad6e2;border-color:rgba(0,97,194,0.05)}.alertify-button-ok:active,.alertify-button-ok.active,.open .dropdown-toggle.alertify-button-ok{background-image:none}.alertify-button-ok.disabled,.alertify-button-ok[disabled],fieldset[disabled] .alertify-button-ok,.alertify-button-ok.disabled:hover,.alertify-button-ok[disabled]:hover,fieldset[disabled] .alertify-button-ok:hover,.alertify-button-ok.disabled:focus,.alertify-button-ok[disabled]:focus,fieldset[disabled] .alertify-button-ok:focus,.alertify-button-ok.disabled:active,.alertify-button-ok[disabled]:active,fieldset[disabled] .alertify-button-ok:active,.alertify-button-ok.disabled.active,.alertify-button-ok[disabled].active,fieldset[disabled] .alertify-button-ok.active{background-color:#e4ebf1;border-color:rgba(0,128,255,0.05)}.alertify-button-ok .badge{color:#e4ebf1;background-color:#fff}.alertify-log{background:#d9edf7;padding:8px 14px;border-radius:4px;color:#3a8abf;text-shadow:0 1px 0 rgba(255,255,255,0.5);border:1px solid #bce8f1}.alertify-log-error{color:#b94a48;background:#f2dede;border:1px solid #eed3d7}.alertify-log-success{color:#468847;background:#dff0d8;border:1px solid #d6e9c6}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000;opacity:.8}.tour-step-backdrop{position:relative;z-index:1031;background:inherit}.tour-step-background{position:absolute;z-index:1030;background:inherit;border-radius:6px}.popover[class*="tour-"]{z-index:1030}.popover[class*="tour-"] .popover-navigation{padding:9px 14px}.popover[class*="tour-"] .popover-navigation *[data-role=end]{float:right}.popover[class*="tour-"] .popover-navigation *[data-role=prev],.popover[class*="tour-"] .popover-navigation *[data-role=next],.popover[class*="tour-"] .popover-navigation *[data-role=end]{cursor:pointer}.popover[class*="tour-"] .popover-navigation *[data-role=prev].disabled,.popover[class*="tour-"] .popover-navigation *[data-role=next].disabled,.popover[class*="tour-"] .popover-navigation *[data-role=end].disabled{cursor:default}.popover[class*="tour-"].orphan{position:fixed;margin-top:0}.popover[class*="tour-"].orphan .arrow{display:none}div.jGrowl{z-index:9999;color:#fff;font-size:12px}div.jGrowl{position:absolute}body>div.jGrowl{position:fixed}div.jGrowl.top-left{left:0;top:0}div.jGrowl.top-right{right:0;top:0}div.jGrowl.bottom-left{left:0;bottom:0}div.jGrowl.bottom-right{right:0;bottom:0}div.jGrowl.center{top:0;width:50%;left:25%}div.center div.jGrowl-notification,div.center div.jGrowl-closer{margin-left:auto;margin-right:auto}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{background-color:#000;zoom:1;width:235px;padding:10px;margin-top:5px;margin-bottom:5px;font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:1em;text-align:left;display:none;-moz-border-radius:5px;-webkit-border-radius:5px}div.jGrowl div.jGrowl-notification{min-height:40px}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{margin:10px}div.jGrowl div.jGrowl-notification div.jGrowl-header{font-weight:bold;font-size:.85em}div.jGrowl div.jGrowl-notification div.jGrowl-close{z-index:99;float:right;font-weight:bold;font-size:1em;cursor:pointer}div.jGrowl div.jGrowl-closer{padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:bold;text-align:center}@media print{div.jGrowl{display:none}}.animate-spin{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;display:inline-block}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-ms-keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-moz-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(359deg);-o-transform:rotate(359deg);-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.toast-title{font-weight:bold}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-size:20px;font-weight:bold;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:30px;bottom:10px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin:auto}.toast{margin:0 0 6px;padding:8px;padding-left:50px;min-width:200px;box-shadow:none;border-radius:15px}.toast{background-image:none !important}.toast:before{position:fixed;font-family:fontello;font-size:24px;line-height:22px;float:left;padding-right:.5em;margin:auto .5em auto -1.5em}.toast-warning:before{content:"\e858"}.toast-error:before{content:"\e81a"}.toast-info:before{content:"\e828"}.toast-success:before{content:"\e816"}.toast-wait:before{content:"\e879"}.toast{border:2px solid #000;color:#030303;background-color:rgba(120,120,120,0.9)}.toast-success{border:2px solid #499249;color:#51a351;background-color:rgba(234,245,234,0.9)}.toast-error{border:2px solid #a9302a;color:#bd362f;background-color:rgba(247,225,223,0.9)}.toast-info{border:2px solid #2a85a0;color:#2f96b4;background-color:rgba(217,239,245,0.9)}.toast-warning{border:2px solid #b9751d;color:#cf8321;background-color:rgba(250,239,224,0.9)}.toast-wait{border:none;padding:3px 16px;color:#fff;font-size:12px;background:none;margin:0;width:auto;min-width:initial;min-width:auto;position:relative}.toast-wait .toast-message{position:relative}.toast-wait:before{content:'';background:#ed1d70;display:block;position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;-webkit-animation:2s loadingBefore infinite ease-in-out;-ms-animation:2s loadingBefore infinite ease-in-out;-moz-animation:2s loadingBefore infinite ease-in-out}@-webkit-keyframes loadingBefore{0%{-webkit-transform:translateX(-14px)}50%{-webkit-transform:translateX(14px);opacity:.6}100%{-webkit-transform:translateX(-14px)}}@-moz-keyframes loadingBefore{0%{-moz-transform:translateX(-14px)}50%{-moz-transform:translateX(14px);opacity:.6}100%{-moz-transform:translateX(-14px)}}@-ms-keyframes loadingBefore{0%{-ms-transform:translateX(-14px)}50%{-ms-transform:translateX(14px);opacity:.6}100%{-ms-transform:translateX(-14px)}}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}body{tab-size:4;text-align:start}*{outline:none !important}.working{cursor:progress}.dragging{cursor:move !important}.btn,.dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.dropdown-menu,.modal-content,.panel-content,.search-bar,.popover,.find-replace,.alertify{-webkit-box-shadow:0 4px 16px rgba(0,0,0,0.225);box-shadow:0 4px 16px rgba(0,0,0,0.225)}.dropdown-menu>li>a{padding:5px 20px;border-top:1px solid transparent;border-bottom:1px solid transparent}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{border-color:#475160}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{border-color:transparent}.collapsed>.icon-up-dir:before{content:'\e94d'}.modal.fade .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-content{background-color:#f6f7f9}.modal-body{background-color:#fff;padding-bottom:30px}.modal-footer{margin-top:0}.modal-iframe{display:block;margin:30px auto 0;z-index:1040;border-radius:0}a{-webkit-transition:background-color ease-in-out .15s, color ease-in-out .15s, border-color ease-in-out .15s;transition:background-color ease-in-out .15s, color ease-in-out .15s, border-color ease-in-out .15s}.nav-pills>li>a{border:1px solid rgba(0,0,0,0)}.nav-pills>li>a:hover,.nav-pills>li>a:focus{color:#036;border-color:#475160}.nav-pills>li.open>a .caret,.nav-pills>li>a:hover .caret,.nav-pills>li>a:focus .caret{border-top-color:#036;border-bottom-color:#036}.nav-pills>li.disabled>a:hover,.nav-pills>li.disabled>a:focus{border-color:rgba(0,0,0,0)}.nav-pills>li.open>a,.nav-pills>li.open>a:hover,.nav-pills>li.open>a:focus{color:#036;border-color:#475160}.list-group-item{padding:10px 15px;border-left-width:0;border-right-width:0;margin-bottom:0}.list-group .list-group-item{border-radius:0}a.list-group-item:hover,a.list-group-item:focus{color:#036;border-color:#475160}.list-group-item .checkbox{float:right;margin:0;padding:0;cursor:pointer}.list-group-item .checkbox input{cursor:pointer;margin:0 16px;height:38px}.form-group{margin-bottom:1px;padding:5px}.text-danger:hover{color:#d82a1a}.bring-to-front{z-index:1050 !important}.dialog-header-message{position:absolute;top:12px;right:55px;font-weight:bold}.btn{padding:8px 11px;-webkit-transition:background-color ease-in-out .15s, color ease-in-out .15s, border-color ease-in-out .15s;transition:background-color ease-in-out .15s, color ease-in-out .15s, border-color ease-in-out .15s}.btn-default:hover,.alertify-button-cancel:hover,.btn-default:focus,.alertify-button-cancel:focus,.btn-default:active,.alertify-button-cancel:active,.open .btn-default.dropdown-toggle,.open .alertify-button-cancel.dropdown-toggle{color:#036;border-color:rgba(0,128,255,0.1);background-color:rgba(102,128,153,0.04) !important}.btn-primary:hover,.alertify-button-ok:hover,.btn-primary:focus,.alertify-button-ok:focus,.btn-primary:active,.alertify-button-ok:active,.open .btn-primary.dropdown-toggle,.open .alertify-button-ok.dropdown-toggle{color:#036;border-color:rgba(0,128,255,0.1);background-color:#dae3eb !important}.btn-success:hover,.btn-success:focus,.btn-success:active,.open .btn-success.dropdown-toggle{color:#036 !important;border-color:rgba(0,128,255,0.1);background-color:rgba(89,128,166,0.05) !important}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.info-tooltip,.info-tooltip .btn-info,.open .btn-info.dropdown-toggle{color:#036;border-color:rgba(0,128,255,0.08);background-color:#f0f2f5 !important}.btn-link:hover{text-decoration:none}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:0}.btn-group>.btn+.dropdown-toggle{padding-right:11px;padding-left:11px}.form-control{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025)}@media (min-width:768px){.form-inline .col-sm-1{width:8.33333333% !important}.form-inline .col-sm-2{width:16.66666667% !important}.form-inline .col-sm-3{width:25% !important}.form-inline .col-sm-4{width:33.33333333% !important}.form-inline .col-sm-5{width:41.66666667% !important}.form-inline .col-sm-6{width:50% !important}.form-inline .col-sm-7{width:58.33333333% !important}.form-inline .col-sm-8{width:66.66666667% !important}.form-inline .col-sm-9{width:75% !important}.form-inline .col-sm-10{width:83.33333333% !important}.form-inline .col-sm-11{width:91.66666667% !important}.form-inline .col-sm-12{width:100% !important}}.form-inline *{float:none}.form-control.error{border-color:#e84c3d;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 8px #e84c3d;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025), 0 0 8px #e84c3d}.help-block{font-size:12px}.input-group-addon{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.025)}a.input-group-addon{color:#1980e6}.input-group-btn .btn i{font-size:110%}.input-group-btn:first-child .btn{margin-right:6px}.input-group-btn:last-child .btn{margin-left:6px}.navbar{position:absolute;top:0;left:0;width:100%;padding:0;border:0;border-top:1px solid rgba(0,128,255,0.1);border-bottom:1px solid rgba(0,128,255,0.1);border-radius:0;z-index:20}.navbar .left-space,.navbar .right-space{width:25px;height:38px}.navbar .nav{float:left;margin:5px 9px;height:38px}.navbar .nav>li{display:inline-block}.navbar .nav.pull-right{float:right}.navbar .nav.pull-right>li>.dropdown-menu{right:0;left:auto}.navbar .nav.pull-right>li>.dropdown-menu .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0}.navbar .btn{height:38px;padding:6px 8px}.navbar .btn-group>.btn.disabled *,.navbar .btn-group>.btn.blocked *,.navbar .btn-group>.btn[disabled] *{color:rgba(54,77,99,0.3)}.navbar .button-open-discussion.some{color:#e0b800 !important}.navbar .button-open-discussion.replied{color:#e74434 !important}.navbar .file-title-navbar{display:inline-block;vertical-align:middle;padding:1px 15px;font-size:1.5em;line-height:1.45em;font-weight:200;overflow:hidden;white-space:nowrap}.navbar .file-title-navbar a i{-webkit-transition:all ease-in-out .15s;transition:all ease-in-out .15s}.navbar .file-title-navbar a .icon-link-ext-alt{color:transparent;position:relative;font-size:12px;top:-12px;right:6px;width:0}.navbar .file-title-navbar a:hover [class^="icon-provider-"],.navbar .file-title-navbar a:hover [class*=" icon-provider-"]{opacity:.5;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);filter:alpha(opacity=50)}.navbar .file-title-navbar a:hover .icon-link-ext-alt{color:#036}.navbar .input-file-title-container{display:inline-block;vertical-align:middle}.navbar .input-file-title-container .input-file-title{width:400px;font-size:16px;height:38px}.navbar .working-indicator{display:inline-block;vertical-align:middle;overflow:hidden;height:38px;width:60px;padding-top:8px}.navbar .working-indicator .bar{display:inline-block;width:14px;height:6px;border-radius:1px;margin:0 2px;opacity:.25;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=25);filter:alpha(opacity=25);background-color:rgba(54,77,99,0.75)}.navbar .offline-status>div{display:inline-block;vertical-align:middle;height:38px;padding:9px 10px}.navbar .buttons-dropdown>.nav{margin-left:0;margin-right:0}.navbar div.dropdown-menu{top:initial;padding:5px;margin:10px}.menu-panel,.document-panel{height:100%;z-index:30;overflow:initial}.menu-panel .toggle-button,.document-panel .toggle-button{background-color:#fff;height:38px;border-radius:8px;position:absolute;margin-top:6px;-webkit-transition:border-width ease-in-out .15s, left ease-in-out 0.15s, right ease-in-out 0.15s, background-color ease-in-out 0.15s;transition:border-width ease-in-out .15s, left ease-in-out 0.15s, right ease-in-out 0.15s, background-color ease-in-out 0.15s;-webkit-box-shadow:0 0 1px rgba(0,0,0,.5);box-shadow:0 0 1px rgba(0,0,0,.5)}.menu-panel .toggle-button:active,.document-panel .toggle-button:active{-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 1px rgba(0,0,0,.5);box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 1px rgba(0,0,0,.5)}.menu-panel .toggle-button i,.document-panel .toggle-button i{color:#737373;font-size:14px}.menu-panel .toggle-button:hover,.document-panel .toggle-button:hover,.menu-panel.panel-open>.toggle-button,.document-panel.panel-open>.toggle-button{border-width:1px}.menu-panel .panel-content,.document-panel .panel-content{overflow:auto;padding-bottom:30px;height:100%}.menu-panel .panel-content a>i,.document-panel .panel-content a>i{color:inherit}.menu-panel{position:absolute;top:0;right:0;width:320px}.menu-panel i{margin-right:8px}.menu-panel small{color:rgba(129,158,187,0.6);padding-left:30px}.menu-panel .nav{margin:10px 0 20px}.menu-panel .nav>li>a:hover,.menu-panel .nav>li>a:focus{background-color:rgba(0,0,0,0)}.menu-panel .alert{padding:10px;margin-left:-10px;margin-right:-10px}.menu-panel .toggle-button{border-top:4px solid rgba(255,230,0,0.9);border-right:5px solid rgba(117,183,253,0.9);border-bottom:4px solid rgba(255,138,0,0.9);right:-37px;z-index:-1;padding:0 10px 0 50px}.menu-panel .toggle-button:hover,.menu-panel.panel-open>.toggle-button{right:-45px}.menu-panel .panel-content{background-color:#f6f7f9;padding-top:6px;border-right:1px solid #ebf0f4}.document-panel{position:absolute;top:0;left:0;width:380px}.document-panel .toggle-button{border-top:4px solid rgba(255,230,0,0.9);border-left:5px solid rgba(187,213,0,0.9);border-bottom:4px solid rgba(255,138,0,0.9);left:-37px;padding:0 50px 0 3px;z-index:-1}.document-panel .toggle-button i.icon-folder-open{font-size:19px;padding-bottom:1px}.document-panel .toggle-button:hover,.document-panel.panel-open>.toggle-button{left:-45px}.document-panel .panel-content{background-color:#f6f7f9;padding-top:210px;border-left:1px solid #ebf0f4}.viewer .document-panel .panel-content{padding-top:75px}.document-panel .panel-content .icon-layers{font-size:135%}.document-panel .search-bar{position:absolute;background-color:#475160;margin:-10px 25px 0;padding:15px 20px;z-index:3;border:1px solid #dee6ed;border-radius:6px}.document-panel .search-bar .nav{margin-bottom:10px}.document-panel .search-bar .nav>li>a{padding:8px 15px}.document-panel .search-bar .nav>li>a:hover,.document-panel .search-bar .nav>li>a:focus{background-color:rgba(0,0,0,0)}.document-panel .list-group-item{margin:0}.document-panel .folder{font-weight:bold;color:#425e7b;border-top-color:#f2f5f8}.document-panel .list-group{margin:0}.document-panel .list-group .nav{border:0;margin:0}.document-panel .list-group .nav .file{padding-left:30px;padding-right:30px}.dropdown-file-selector{top:6px;right:45px;left:auto;margin:0;min-width:280px;max-width:400px;overflow-x:hidden;max-height:400px;overflow-y:auto}.modal-document-manager{margin-bottom:0}.modal-document-manager .nav-pills{margin-bottom:15px}.modal-document-manager .list-group .nav{margin-bottom:30px;border:0;margin:0}.modal-document-manager .list-group .nav .file{padding-left:20px}.modal-document-manager .file-list .list-group-item{background-color:rgba(0,0,0,0);padding:0 3px}.modal-document-manager .input-rename{width:220px;height:38px}.modal .list-group .list-group-item{border-radius:4px}.modal .list-group-item{padding:3px;margin:0;border-left-width:1px;border-right-width:1px}.modal .list-group-item i{margin-right:3px}.modal .list-group-item .btn{float:right;margin-right:3px}.modal .list-group-item .btn i{margin:0;font-size:105%}.modal .list-group-item .btn i.icon-pencil{font-size:115%}.modal .folder,.modal .document{font-weight:bold;color:#425e7b;font-size:15px;background-color:rgba(0,0,0,0)}.modal .name,.modal .date,.modal .file-count{padding:9px 20px 9px 15px}.modal .name i.icon-file,.modal .name i.icon-folder{margin-right:8px;font-size:20px;line-height:15px;margin-top:-2px}.modal .date{font-weight:normal}.extension-buttons>.btn-group>.btn,.extension-preview-buttons>.btn-group>.btn,.extension-buttons>.btn-group>.btn,.extension-preview-buttons>.btn-group>.btn{border-radius:0}.extension-buttons>.btn-group:first-child>.btn,.extension-preview-buttons>.btn-group:first-child>.btn,.extension-buttons>.btn-group:first-child>.btn,.extension-preview-buttons>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.extension-buttons>.btn-group:last-child>.btn,.extension-preview-buttons>.btn-group:last-child>.btn,.extension-buttons>.btn-group:last-child>.btn,.extension-preview-buttons>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.extension-preview-buttons{position:absolute;right:0;bottom:0;z-index:40;background-color:#e4ebf1;border:1px solid #cfdae5;border-radius:4px;cursor:move}.extension-preview-buttons.animate{-webkit-transition:350ms ease-in-out all;transition:350ms ease-in-out all}.extension-preview-buttons .btn-group .btn{position:initial;border:0}.extension-preview-buttons .dropdown-menu{margin-top:6px;margin-bottom:6px;padding-bottom:20px}.extension-preview-buttons hr{margin:0}.extension-preview-buttons .markdown-syntax,.extension-preview-buttons .table-of-contents{overflow-y:auto;overflow-x:hidden;padding-right:20px;margin-right:-20px;width:330px}.extension-preview-buttons .markdown-syntax{white-space:normal}.extension-preview-buttons .table-of-contents{padding:20px 0 15px;margin-left:-10px}.extension-preview-buttons .table-of-contents ul{margin-left:10px;padding-left:10px}.extension-preview-buttons .stat-button .value{vertical-align:text-top}.extension-preview-buttons .drag-me{color:#364d63}.extension-preview-buttons .drag-me i:before{width:5px}.modal-settings .modal-header{padding-bottom:0}.modal-settings textarea{max-width:100%;min-height:100px}.modal-settings .panel{border:0;border-radius:inherit;background:#fff;border-bottom:1px solid #f2f5f8;-webkit-box-shadow:none;box-shadow:none}.modal-settings .accordion-heading{padding:12px 15px}.modal-settings .accordion-heading .checkbox{margin-top:0;margin-bottom:0}.modal-settings .accordion-inner{border:0;padding:10px 40px 20px}.modal-settings .accordion-inner .form-horizontal .control-label{text-align:left}.modal-settings .accordion-inner .form-horizontal .form-inline .label-text{margin-left:15px}.modal-settings .tab-pane-button-container{width:220px;margin:10px auto 20px}.modal-settings .tab-pane-button-container .btn{text-align:start;padding-left:15px}.modal-settings .nav-tabs{margin:15px 0 0}.modal-settings .nav-tabs>li>a:hover,.modal-settings .nav-tabs>li>a:focus{color:#036;border-color:rgba(0,128,255,0.1);background-color:rgba(102,128,153,0.04);border-bottom-color:rgba(0,0,0,0)}.modal-settings .nav-tabs>li.active>a,.modal-settings .nav-tabs>li.active>a:hover,.modal-settings .nav-tabs>li.active>a:focus{color:#2c3f51;background-color:#fff;border-color:#ebf0f4;border-bottom-color:rgba(0,0,0,0);margin-bottom:-1px;padding:10px 15px 11px}.modal-manage-sync .sync-list,.modal-manage-publish .publish-list,.modal-manage-sharing .share-editor-list,.modal-manage-sharing .share-viewer-list{margin-bottom:20px}.modal-manage-sync .sync-list .entry,.modal-manage-publish .publish-list .entry,.modal-manage-sharing .share-editor-list .entry,.modal-manage-sharing .share-viewer-list .entry{margin-bottom:10px}.publish-custom-template-collapse{margin-bottom:0}.publish-custom-template-collapse textarea{max-width:100%;min-height:100px}.layout-wrapper-l1,.layout-wrapper-l2,.layout-wrapper-l3{position:absolute;top:0;left:0;overflow:hidden}.layout-animate{-webkit-transition:-webkit-transform 350ms ease-in-out;-moz-transition:-moz-transform 350ms ease-in-out;-o-transition:-o-transform 350ms ease-in-out;transition:transform 350ms ease-in-out}.layout-resizer{position:absolute;top:0;left:0;width:32px;height:32px}.layout-resizer.open{cursor:e-resize}.layout-vertical .layout-resizer.open{cursor:s-resize}.layout-toggler{position:absolute;top:0;left:0;padding:0;margin:0;width:32px;height:32px}.layout-toggler i{font-size:22px}.layout-toggler.layout-toggler-preview{line-height:55px}.layout-animate .layout-toggler.layout-toggler-preview{-webkit-transition:-webkit-transform 350ms ease-in-out;-moz-transition:-moz-transform 350ms ease-in-out;-o-transition:-o-transform 350ms ease-in-out;transition:transform 350ms ease-in-out}.layout-toggler.layout-toggler-preview i:before{content:'\e87d'}.layout-toggler.layout-toggler-preview.open>i:before{content:'\e87e'}.layout-vertical .layout-toggler.layout-toggler-preview{line-height:1.45}.layout-vertical .layout-toggler.layout-toggler-preview i:before{content:'\e87f'}.layout-vertical .layout-toggler.layout-toggler-preview.open>i:before{content:'\e880'}.layout-toggler.layout-toggler-navbar{line-height:0}.layout-toggler.layout-toggler-navbar i{font-size:16px;height:12px;overflow:hidden}@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;src:local('PT Sans'),local('PTSans'),url("../font/PTSans-Regular-webfont.woff") format('woff')}@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;src:local('PT Sans Bold'),local('PTSans-Bold'),url("../font/PTSans-Bold-webfont.woff") format('woff')}@font-face{font-family:'PT Sans';font-style:italic;font-weight:400;src:local('PT Sans Italic'),local('PTSans-Italic'),url("../font/PTSans-Italic-webfont.woff") format('woff')}@font-face{font-family:'PT Sans';font-style:italic;font-weight:700;src:local('PT Sans Bold Italic'),local('PTSans-BoldItalic'),url("../font/PTSans-BoldItalic-webfont.woff") format('woff')}#wmd-input{position:absolute;top:0;left:0;font-family:"PT Sans",sans-serif;line-height:1.65;letter-spacing:normal;border-radius:0;-webkit-box-shadow:none;box-shadow:none;resize:none;border:none;padding:0;overflow:auto;white-space:pre-wrap;word-wrap:break-word;word-break:normal}#wmd-input>.editor-content{padding-bottom:230px}#wmd-input>.editor-margin{position:absolute;top:0;left:0}#wmd-input>.editor-margin .discussion{font-size:17px;position:absolute;cursor:pointer}#wmd-input>.editor-margin .discussion.new{display:none}#wmd-input>.editor-margin .discussion.new:hover,#wmd-input>.editor-margin .discussion.new.active,#wmd-input>.editor-margin .discussion.new.active:hover{display:inline-block;color:rgba(102,128,153,0.35) !important}#wmd-input>.editor-margin .discussion.added{color:rgba(235,192,0,0.7)}#wmd-input>.editor-margin .discussion.added:hover,#wmd-input>.editor-margin .discussion.added.active,#wmd-input>.editor-margin .discussion.added.active:hover{color:#ebc000 !important}#wmd-input>.editor-margin .discussion.replied{color:rgba(230,59,43,0.7)}#wmd-input>.editor-margin .discussion.replied:hover,#wmd-input>.editor-margin .discussion.replied.active,#wmd-input>.editor-margin .discussion.replied.active:hover{color:rgba(230,59,43,0.8) !important}#wmd-input>.editor-margin .discussion.icon-split{font-size:22px}#wmd-input>.editor-margin .discussion.icon-split:before{margin-right:0}#wmd-input>.editor-margin .discussion:hover,#wmd-input>.editor-margin .discussion.active{text-decoration:none}#wmd-input.has-selection>.editor-margin .discussion.new{display:inline-block;color:rgba(102,128,153,0.25)}#wmd-input.font-monospaced *{font-family:"Source Code Pro",monospace !important;line-height:1.65 !important;font-size:1em !important}#wmd-input.ace_editor{font-family:"Source Code Pro",monospace !important}#wmd-input .comment-highlight,#wmd-input .find-replace-highlight{background-color:rgba(255,230,0,0.5)}#wmd-input .find-replace-select{background-color:#b5d5ff}#wmd-input .conflict{font-weight:bold;color:#e63b2b}#wmd-input .ace_print-margin{margin-left:-20px;background:none !important}.editor .md,.editor .hr{color:rgba(102,128,153,0.6);font-style:normal;font-weight:normal}.editor .code,.editor .pre{color:#29333d;font:normal .9em "Source Code Pro",monospace}.editor .tag{color:#29333d;font:bold .9em "Source Code Pro",monospace}.editor .tag .punctuation,.editor .tag .attr-value,.editor .tag .attr-name{font-weight:normal}.editor .latex,.editor .math{color:#668099}.editor .entity{font:italic .9em "Source Code Pro",monospace;color:#668099}.editor .table{font:normal .9em "Source Code Pro",monospace}.editor .table *{font-size:1em}.editor .comment{font-size:.9em;color:rgba(102,128,153,0.6)}.editor .keyword{color:#47596b;font-weight:bold}.editor .code,.editor .img,.editor .imgref,.editor .md-toc{background-color:rgba(102,128,153,0.075);border-radius:4px;padding:.15em 0}.editor .md-toc{font-size:2.5em;padding:.2em}.editor .md-underlined-text{color:inherit}.editor .blockquote{color:#668099}.editor .h1,.editor .h2,.editor .h3,.editor .h4,.editor .h5,.editor .h6{font-weight:600}.editor .h1 .md-hash,.editor .h2 .md-hash,.editor .h3 .md-hash,.editor .h4 .md-hash,.editor .h5 .md-hash,.editor .h6 .md-hash{color:rgba(102,128,153,0.4)}.editor .h1,.editor .h11{font-size:1.7em}.editor .h2,.editor .h22{font-size:1.4em}.editor .h3{font-size:1.2em}.editor .h4{font-size:1.1em}.editor .h5{font-size:1em}.editor .h6{font-size:.9em}.editor .em,.editor .em .md{font-style:italic}.editor .strong,.editor .strong .md{font-weight:bold}.editor .md-strike-text{text-decoration:line-through}.editor .url,.editor .email,.editor .md-underlined-text{text-decoration:underline}.editor .linkdef .url{color:rgba(102,128,153,0.6)}.editor .img,.editor .imgref{padding:.2em .4em;padding-right:0}.editor .md-bang,.editor .md-alt,.editor .md-title{color:#587ea4}.editor .md-checkbox{display:inline-block;font-size:0}.editor .md-checkbox:before{content:"\2610";font-size:26px;vertical-align:-1px;line-height:0;cursor:pointer}.editor .md-checkbox.checked:before{content:"\2611"}.editor .md-checkbox.checked+.md-checkbox-content{text-decoration:line-through}.ace_dark .md,.ace_dark .hr{color:rgba(139,158,177,0.8)}.ace_dark .code,.ace_dark .img,.ace_dark .imgref,.ace_dark .md-toc{background-color:rgba(0,0,0,0.33)}.ace_dark .tag{color:#868686}.ace_dark .code,.ace_dark .pre{color:#868686}.find-replace{position:absolute;bottom:0;width:410px;background-color:#f6f7f9;padding:15px 20px;border-top:1px solid #dee6ed;border-right:1px solid #dee6ed;border-top-right-radius:6px}.find-replace .form-group{width:180px;padding:0 5px}.find-replace .close{position:absolute;right:20px;top:10px}.preview-panel{position:absolute;top:0;left:0;overflow:hidden;-webkit-box-shadow:inset 1px 0 rgba(0,128,255,0.06);box-shadow:inset 1px 0 rgba(0,128,255,0.06);z-index:9}.layout-animate .preview-panel{-webkit-transition:350ms ease-in-out all;transition:350ms ease-in-out all}.layout-vertical .preview-panel{-webkit-box-shadow:inset 0 1px rgba(0,128,255,0.06);box-shadow:inset 0 1px rgba(0,128,255,0.06)}.preview-container{position:absolute;overflow:auto}.wmd-prompt-background{display:none}div.dropdown-menu{padding:5px 20px;background-color:#475160}div.dropdown-menu p,div.dropdown-menu blockquote{margin:10px 0}div.dropdown-menu .stat{margin:20px 0 10px}div.dropdown-menu i{margin-right:0}div.dropdown-menu textarea{width:250px;height:150px;resize:none}div.dropdown-menu a:hover,div.dropdown-menu a:focus{color:#0f4d8a}div.dropdown-menu h1,div.dropdown-menu h2,div.dropdown-menu h3{margin:1em 0}.title-icon-category{display:inline-block;opacity:.15;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=15);filter:alpha(opacity=15);margin-top:-2px;margin-left:-2px;margin-right:3px;font-size:1em;vertical-align:top}.file-title-navbar .title-icon-category{font-size:16px}.picker-dialog{z-index:1050 !important}.picker-dialog-bg{z-index:1040 !important}.tooltip-inner{text-align:left}.tooltip li{line-height:1.4}input[type="file"]{line-height:inherit;height:inherit;border:none !important}.drop-zone{border:2px dashed #bbb;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;padding:40px;text-align:center;font-size:24px;color:#bbb}.modal-import-harddrive-html textarea{width:530px;max-width:530px;height:120px}.label.comment{white-space:inherit}.sharing-tweet{float:left;margin:5px 10px 0 0}.popover{max-width:350px;padding:15px}.popover .popover-title{font-weight:300;font-size:24px;padding:10px 15px}.popover .disabled{display:none}.popover iframe{position:absolute}.comments-popover .popover{max-width:230px;padding:10px 20px 0}.comments-popover .popover .popover-title{padding:5px 0 15px;border-bottom:1px solid rgba(102,128,153,0.1);line-height:1.1;overflow:hidden}.comments-popover .popover .popover-title .action-remove-discussion{font-size:16px;line-height:22px}.comments-popover .popover .popover-content{margin:0;padding:0}.comments-popover .popover .popover-content .scrollport{overflow:auto;max-height:230px;padding:10px 20px 0;margin:0 -20px}.comments-popover .popover .popover-content .btn{padding:6px 11px}.comments-popover .popover .popover-content .comment-block{margin-bottom:5px}.comments-popover .popover .popover-content .form-group,.comments-popover .popover .popover-content blockquote{margin-bottom:10px;padding:0}.comments-popover .popover .popover-content .comment-author{font-weight:bold;color:#2c3f51}.comments-popover .popover .popover-content .icon-comment{font-size:15px;color:rgba(235,192,0,0.6)}.comments-popover .popover .popover-content .reply .icon-comment{color:rgba(230,59,43,0.7)}.comments-popover .popover .popover-content .new-comment-block .icon-comment{color:rgba(102,128,153,0.35)}.comments-popover .popover .popover-content .input-comment-author{border:none;background:none;-webkit-box-shadow:none;box-shadow:none;font-weight:bold;height:28px;padding:0 0 5px;width:140px;display:inline-block}.comments-popover .popover .popover-content hr{margin:0 0 10px}.comments-popover .popover.top .arrow,.comments-popover .popover.bottom .arrow{margin-right:1px;border-right-width:0}.comments-popover .popover.top .arrow:after,.comments-popover .popover.bottom .arrow:after{margin-left:-11px;border-right-width:0}.comments-popover .popover.top .arrow:after{bottom:2px}.comments-popover .popover.bottom .arrow:after{top:2px}div.jGrowl{z-index:1040;font-size:14px}div.jGrowl.bottom-right{right:35px}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{background-color:rgba(115,128,140,0.9);width:240px;margin:6px 0;padding:10px 12px;-ms-filter:none;filter:none;border-radius:4px;font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif}div.jGrowl div.jGrowl-notification{min-height:65px}.viewer .document-panel .search-bar{padding:20px 20px 10px}.viewer .document-panel .search-bar .input-group-btn{display:none}.viewer .navbar .file-title-navbar{cursor:initial;-webkit-box-shadow:none;box-shadow:none}@media print{html,body{background:transparent !important;overflow:visible !important}.layout-wrapper-l1>*,.layout-wrapper-l2>*,.layout-wrapper-l3>*,.preview-panel>*,#titlebar,#ime-focus-saver{display:none !important}.layout-wrapper-l2:before{visibility:hidden}.layout-wrapper-l1,.layout-wrapper-l2,.layout-wrapper-l3,.preview-panel,.preview-container{background:transparent !important;display:block !important;position:static !important;overflow:visible !important;width:auto !important;height:auto !important;-webkit-transform:translate(0, 0) !important;-ms-transform:translate(0, 0) !important;transform:translate(0, 0) !important;-webkit-box-shadow:none !important;box-shadow:none !important}#preview-contents{padding:0 50px !important}#images_area{display:none}#toast-container{display:none}thead{display:table-header-group}tr,img,svg,pre,blockquote,p{page-break-inside:avoid}img{max-width:100% !important}h2,h3{page-break-after:avoid}select{background:#fff !important}}.layout-toggler{display:none}.editor-navbar{-webkit-transition:none;transition:none;position:absolute;z-index:10;right:50%;background:none !important;margin-top:6px;margin-right:20px}.editor-navbar .editor-navbar-bg{width:100%;height:100%;position:absolute;left:0;top:0;opacity:.8;pointer-events:none;border-radius:4px}.editor-navbar .btn{color:inherit;opacity:.5}.editor-navbar .btn:hover{opacity:.9}.editor-navbar .btn:active,.editor-navbar .btn:focus{color:inherit !important}.editor-navbar .btn-success:hover,.editor-navbar .btn-success:focus,.editor-navbar .btn-success:active,.editor-navbar .btn-success.active,.editor-navbar .open .dropdown-toggle.btn-success{color:inherit !important}.preview-buttons-container .btn{color:rgba(102,128,153,0.35)}.preview-buttons-container .btn:hover,.preview-buttons-container .btn:active,.preview-buttons-container .btn:focus{color:#036}.preview-buttons-container .btn,.editor-navbar-buttons .btn{font-size:16px}.editor-navbar-buttons>.btn-group{display:inline-block}.wmd-buttons-group{display:inline-block}.wmd-buttons-group .wmd-button-group1{opacity:0;-webkit-transition:all ease-in-out .2s;transition:all ease-in-out .2s;-webkit-transition-delay:.6s;transition-delay:.6s}.wmd-buttons-group .wmd-button-group1 li{display:none}.wmd-buttons-group:hover .wmd-button-group1{opacity:1;visibility:visible}.wmd-buttons-group:hover .wmd-button-group1 li{display:block}.shrink-editor-btn{display:none}.file-status-lock{display:none}.resize-editor-btn{position:fixed;right:50%;bottom:10px;margin-right:20px}.open-folder-btn{background:none;border:2px solid;border-radius:0 10px 10px 0;padding:1px 4px;left:-5px;top:6px;position:absolute;border-color:inherit;border-color:currentColor;opacity:.5;z-index:10;color:inherit}.open-folder-btn:hover{color:inherit;opacity:.9}.profile-btn{top:10px;background:none;box-shadow:none;padding:3px;border:2px solid rgba(102,128,153,0.35);border-radius:40px;border-color:currentColor;margin-left:10px}.profile-btn:hover{border-color:currentColor}.preview-buttons-container{position:absolute;z-index:100;margin-top:6px;right:20px}.ui-layout-resizer-south-closed .preview-buttons-container{display:none !important}.preview-buttons-container .btn-group .btn{position:initial}.preview-buttons-container .dropdown-menu{padding-bottom:20px}.preview-buttons-container .markdown-syntax,.preview-buttons-container .table-of-contents{overflow-y:auto;overflow-x:hidden;padding-right:20px;margin-right:-20px;width:330px}.preview-buttons-container .markdown-syntax{white-space:normal;max-height:350px}.preview-buttons-container .table-of-contents{margin-left:-10px;max-height:400px}.preview-buttons-container .table-of-contents ul{margin-left:10px;padding-left:10px}#theme-list{max-height:500px;overflow-x:hidden;overflow-y:scroll}.editor-hosted-buttons{display:inline-block}#app_wrap.no-preview .preview-buttons{display:inline-block}.preview-buttons{padding-right:10px}.full-editor-btn.open .icon-resize-full{display:inline-block}.full-editor-btn.open .icon-resize-small-1{display:none}.full-editor-btn .icon-resize-full{display:none}.full-editor-btn .icon-resize-small-1{display:inline-block}#app_wrap.no-preview .editor-navbar{-webkit-transition:all ease-in-out .2s;transition:all ease-in-out .2s;right:20px;margin-right:0}.dropdown-menu{background-color:#546072;border-color:#3e4755}.dropdown-menu>li>a{color:#eee;padding:5px 20px;border-top:1px solid transparent;border-bottom:1px solid transparent}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#eee;background-color:#4b5666;border-color:#475160}.dropdown-menu>li>a.selected{background:#74b936 !important;color:#fff !important}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{border-color:transparent}.menu-panel .panel-content,.document-panel .panel-content{background-color:#546072}.modal-content,.panel-content{-webkit-box-shadow:0 1px 4px 2px rgba(0,0,0,0.3);box-shadow:0 1px 4px 2px rgba(0,0,0,0.3)}.document-panel .panel-content{border-left:none}.menu-panel .panel-content{border-right:none}.list-group .nav{border-left:10px solid #e4ebf1;margin-left:15px}.list-group .nav>li>a{border-top:1px solid rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,0)}.list-group .nav>li>a:hover,.list-group .nav>li>a:focus{border-top-color:#475160;border-bottom-color:#475160}.list-group .nav>li>a.active{border-top-color:rgba(0,128,255,0.05);border-bottom-color:rgba(0,128,255,0.05)}.list-group .nav>li:focus{outline:none}.list-group .nav>li.active>a{background:#4b5666;border-top-color:rgba(0,128,255,0.05);border-bottom-color:rgba(0,128,255,0.05)}.nav-pills>li>a{border:1px solid rgba(0,0,0,0)}.nav-pills>li>a:hover,.nav-pills>li>a:focus{border-color:#475160}.nav-pills>li.disabled>a:hover,.nav-pills>li.disabled>a:focus{border-color:rgba(0,0,0,0)}.nav-pills>li.open>a,.nav-pills>li.open>a:hover,.nav-pills>li.open>a:focus{border-color:#475160}.list-group-item{padding:10px 15px;margin-bottom:0}.list-group .list-group-item{border-radius:0;background:#546072}.list-group-item:hover{border-top-color:#475160;border-bottom-color:#475160;background:#4b5666 !important}.list-group-item:focus,.active>.list-group-item{border-top-color:#475160;border-bottom-color:#475160;background:#3a424f !important}a.list-group-item{-webkit-transition:none;transition:none}a.list-group-item:hover,a.list-group-item:focus{color:#eee}.username{padding:10px 20px;background:#454f5d;color:#fff;margin-top:-6px}.vip-status{float:right;background:#74b936;color:#fff;border-radius:20px;padding:2px;-webkit-transition:all ease-in-out 0.35s;transition:all ease-in-out 0.35s;cursor:pointer}.vip-status .renew{padding:0 6px;display:none}.vip-status:hover .renew{display:inline}.vip-status.expired{background:#ccc}.vip-status .icon{margin-right:0}.menu-panel i{margin-right:2px}.menu-panel .sub-menu,.document-panel .sub-menu{background:#4b5666;box-shadow:#000 0 0 7px -4px inset}.menu-panel .sub-menu a,.document-panel .sub-menu a{color:#eee}.menu-panel .sub-menu .nav,.document-panel .sub-menu .nav{margin-left:0;border-left:none;margin:0}.menu-panel .sub-menu .nav li:hover,.document-panel .sub-menu .nav li:hover{background:#454f5d}.document-panel.panel-open{width:385px}.document-panel .panel-content{background-color:#546072;padding-top:60px}.document-panel .panel-content .icon-layers{font-size:135%}.document-panel .search-bar{position:absolute;background-color:#475160;margin:-10px 25px 0;padding:20px 5px 10px 15px;z-index:3;border:1px solid #3e4755;border-top:0;border-radius:6px;width:100%;margin:0;border-radius:0;box-shadow:none;padding:10px 10px}.document-panel .search-bar .input-group-addon{color:#eee;background-color:#546072;border-color:#3e4755;border-left:1px solid #3e4755}.document-panel .search-bar input[type='text']{border-color:#3e4755}.document-panel .dropdown-header{padding-top:10px}#search-and-sync input{width:calc(100% - 30px)}#search-and-sync .input-group-addon,#search-and-sync input{border-radius:4px;border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:4px;border-top-left-radius:4px}.file-action{float:right;display:none}.file-action i{padding-top:2px}.folder-wrapper .icon-folder-open-empty{display:none}.folder-wrapper.active .icon-folder-open-empty{display:inline-block}.folder-wrapper.active .icon-folder-empty{display:none}.folder-wrapper.active a.collapsed .icon-folder-open-empty{display:none}.folder-wrapper.active a.collapsed .icon-folder-empty{display:inline-block}.folder-wrapper .file-notebook{display:none !important}.folder-wrapper.active>.list-group-item{border-top-color:#3a424f;border-bottom-color:#3a424f}.folder-wrapper>.list-group-item .shared-icon{float:right}.file-item:hover .file-action,li.active>.file-item .file-action{display:block}.file-item:hover .file-notebook,li.active>.file-item .file-notebook{display:none}.file-item .file-notebook{float:right;opacity:.8}.file-item .file-notebook .label{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.file-item .file-notebook .icon-star-empty{color:rgba(255,255,255,0.66)}.file-item .file-notebook .label{padding:.4em .6em}.file-item.synced{color:#bbb}.file-status-label{color:#aaa}.archive-splitter:last-child{display:none}.document-list{height:100%;overflow:auto;position:relative}.document-list .sub-menu .file-item{background:none}.document-list .sub-menu .file-item:hover,.document-list .sub-menu .file-item:focus{background:none !important}.document-list ul>li.active .file-item,.document-list .file-wrapper.active .file-item{background:#74b936 !important;color:#fff}.document-list ul>li.active .file-status-label,.document-list .file-wrapper.active .file-status-label{color:#fff}.document-list ul>li.active .label-success,.document-list .file-wrapper.active .label-success{background:#2a4313}.folder-top{position:absolute;display:none;z-index:10000;width:100%}.footer-left-btn{float:left;position:relative}.extension-preview-buttons{background-color:#546072;border-color:#3e4755}.extension-preview-buttons .drag-me{color:#eee}.extension-preview-buttons .btn-success{color:#eee}.extension-preview-buttons .btn-success:hover,.extension-preview-buttons .btn-success:active{color:#eee !important;background-color:#454f5d !important}.extension-preview-buttons .open .btn-success{color:#eee !important;background-color:#454f5d !important}.extension-preview-buttons .dropdown-menu{background-color:#fff;border-color:#dee6ed}.extension-preview-buttons.closed{opacity:.25;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=25);filter:alpha(opacity=25)}.extension-preview-buttons.closed.info-tooltip-container{opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100)}.atwho-view-ul{max-height:300px;overflow:scroll;position:relative}.atwho-view-ul li[shared="1"]:before{content:'\e954';margin-right:.4em;margin-left:0}#app_wrap.readonly .editor-navbar-buttons,#app_wrap.readonly .save-file{display:none}#app_wrap.readonly .file-status-lock{display:inline-block}.markdown-syntax pre{margin:0;background:none;font-size:12px}.markdown-syntax table td{border:2px solid #fff}.markdown-syntax table tr td:first-child{background:#91b82d;color:#fff;font-weight:bold}.markdown-syntax table tr td{background:#eee}.markdown-syntax table tr td i{font-size:12px;color:#aaa;font-style:initial}.markdown-syntax table tr td:last-child{background:#fff}.markdown-syntax kbd{padding:.1em .6em;border:1px solid #ccc;font-size:11px;background-color:#f7f7f7;color:#333;-moz-box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;border-radius:3px;display:inline-block;margin:0 .2em;text-shadow:0 1px 0 #fff;line-height:1.4;white-space:nowrap}.modal-help .modal-dialog{width:870px}.modal-help .modal-dialog .markdown-table{float:left}.modal-help .modal-dialog .key-table{width:260px;float:right}.modal-changelog .modal-dialog .modal-body{text-align:left}#toggle-preview{display:none}.full-preview{overflow-x:hidden;overflow-y:scroll;padding:0;background:#fff}.full-preview .layout-wrapper-l3{overflow-x:hidden;overflow-y:scroll}.full-preview #wmd-input,.full-preview #ace-input,.full-preview .extension-preview-buttons,.full-preview .editor-navbar,.full-preview .modal-backdrop,.full-preview .preview-buttons,.full-preview .open-folder-btn{display:none}.full-preview .preview-container{width:auto !important;position:relative;height:auto !important;overflow-y:hidden}.full-preview .preview-panel{position:relative;max-width:960px;margin:auto;left:0;width:auto !important;height:auto !important;transform:none !important;-webkit-transform:none !important;-ms-transform:none !important;overflow:visible;display:block !important;min-height:100%;-webkit-transition:all ease-in-out .4s;transition:all ease-in-out .4s;-webkit-box-shadow:none;box-shadow:none}.full-preview .preview-panel:before{background:inherit;content:' ';position:absolute;width:100%;height:100%;top:0;left:-100%}.full-preview .preview-panel:after{background:inherit;content:' ';position:absolute;width:100%;height:100%;top:0;right:-100%}.full-preview #toggle-preview{display:block;font-size:24px;position:absolute;right:10px;top:10px;color:#aaa;cursor:pointer;color:rgba(102,128,153,0.35);z-index:10}.full-preview #toggle-preview:hover,.full-preview #toggle-preview:active,.full-preview #toggle-preview:focus{color:#036}#readme,#images_area{display:none}#titlebar{height:20px;line-height:18px;z-index:1000000}#titlebar~.layout-wrapper-l1{top:20px}#titlebar~.layout-wrapper-l1 .open-folder-btn{top:22px}#titlebar [class^='icon']:before{margin:0 .1em}#titlebar i{opacity:.8;cursor:pointer}#titlebar i:hover{opacity:.9}#titlebar .window-file{position:absolute;left:1px}#titlebar-bg{position:absolute;width:100%;height:100%;-webkit-filter:contrast(112%)}#dragbar{height:100%;-webkit-app-region:drag;overflow:hidden;margin:0 20px}#dragbar.disabled{-webkit-app-region:no-drag}.window_resizer{float:right;margin-top:1px}.editor-hosted-buttons{display:inline-block}.window-fullscreen{position:absolute;right:4px;top:-1px}body.app{overflow:hidden}body.app .open-folder-btn{display:none}body.app .for-mac{display:none}body.app.mac .window_resizer{display:none}body.app.mac .window_resizer.for-mac{float:left;display:flex;margin-left:4px;margin-top:0}body.app.mac #titlebar .window-file{position:static;order:4;margin-left:15px}body.app.mac #titlebar i{margin:1px}body.app.mac .window-close{order:1}body.app.mac .window-min{order:2}body.app.mac .window-max{order:3}body.app img[src^='http']{animation:img_load .1s;-webkit-animation:img_load .1s}body.app .preview-container{user-select:auto;-webkit-user-select:auto}@-webkit-keyframes img_load{0%{opacity:.9}100%{opacity:1}}#settings .col-lg-4{float:left;text-align:right;width:33.33333333%}#settings .col-lg-7{float:left;width:58.33333333%}#settings .form-inline .col-lg-7{width:58.33333333%}#settings .form-inline .form-control{display:inline-block}#settings .form-inline *{float:none}#settings .help-block{font-size:12px}#settings .form-control{height:34px}#settings textarea.form-control{width:100%}.toast-warning:before{content:"\e859"}.toast-error:before{content:"\e81b"}.toast-info:before{content:"\e829"}.toast-success:before{content:"\e817"}.modal.slim .modal-dialog{width:400px}.modal.slim .modal-title{text-align:inherit}.modal.slim .modal-content{background:#fff;text-align:center}.modal.slim .modal-content p{color:#777}.modal.slim .modal-body{padding-top:0;padding-bottom:0}.modal.slim .modal-footer{border:none;text-align:center}.modal.slim .modal-header{border:none;color:#546072}.modal.slim .btn-primary{background:#74b936;color:#fff}.modal.slim .btn-primary:hover,.modal.slim .btn-primary:active,.modal.slim .btn-primary:focus{background:#68a530 !important}.modal-dialog.slim .modal-header{padding:10px 15px}.modal-dialog.slim .modal-body{padding:10px 20px}.modal-dialog.slim .modal-footer{padding:10px;background-color:#fff}.modal.error .modal-header{color:#b90b0b}#ace-input{display:none}.layout-wrapper-l2:before{position:absolute;content:'';width:100%;height:100%;background:#f9fafb}#preview-contents{margin-top:30px;padding-left:10px;padding-right:10px}.ace_dark .ace_gutter{color:#aaa !important;background:rgba(0,0,0,0.2) !important}.ace_gutter-cell{padding-left:0 !important}.attachment-wrapper{overflow:hidden}.attachment-placeholder{float:left;display:block}.attachment-placeholder:hover{text-decoration:none}.attachment-placeholder i{font-size:3em;float:left}.attachment-placeholder .file-name{vertical-align:-0.6em;font-weight:bold;line-height:1.8em}.attachment-placeholder .file-size{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;opacity:.6;font-size:80%;white-space:nowrap}.attachment-placeholder img{display:none}#edit-conflict-container{left:50%;bottom:6px;right:1em;margin-left:1em;position:fixed;z-index:11111111;display:none}#edit-conflict-container .toast{margin-bottom:0}#edit-conflict-container .message-content{background-color:#f9f0e3;color:#cf8321;padding:4px 4px;border-radius:4px;float:left;padding-right:10px}.no-preview #edit-conflict-container{left:0}@media (max-width:450px){.full-editor-btn{display:none}}#loading{position:fixed;top:0;left:0;bottom:0;right:0;z-index:10000000;background:#fff;color:#74b936;text-align:center}#loading .loading-container{position:absolute;margin:auto;left:0;right:0;top:30%;bottom:0}#loading b{color:#fff;background:#74b936;font-weight:normal;padding:5px 5px;margin:10px;font-size:50px}#loading h1,#loading h2,#loading h3,#loading h4{font-family:"Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,sans-serif;text-align:center}#loading .reverse{color:#fff !important;background:#74b936 !important;padding:4px;border-radius:4px}#loading #loading-app-name{text-align:center;font-size:54px;margin-top:0;margin-bottom:.8em}#loading #loading-slogan{font-weight:normal}#loading #loading-text{margin:80px auto;text-align:center;margin-bottom:40px}#loading #loading-view-doc{font-size:16px;margin:10px auto}#loading #loading-view-doc a{padding:10px;border-radius:6px;border:1px solid #74b936}#loading #loading-view-doc a:link,#loading #loading-view-doc a:hover,#loading #loading-view-doc a:active,#loading #loading-view-doc a:visited{color:#74b936;text-decoration:none}.slim-scroll ::-webkit-scrollbar{height:10px;width:7px;background:transparent}.slim-scroll ::-webkit-scrollbar:hover{background:rgba(128,128,128,0.1)}.slim-scroll ::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.3);-webkit-border-radius:6px}.slim-scroll ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.6)}.slim-scroll ::-webkit-scrollbar-corner{background:#000}.slim-scroll .ace_dark .ace_scrollbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.3);-webkit-border-radius:6px}.slim-scroll .ace_dark .ace_scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.6)}.slim-scroll .ace_scroller{right:4px !important}.slim-scroll .ace_scrollbar-v{right:4px !important}.slim-scroll #preview{right:2px}.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:#fff;color:#000;border:1px solid #ddd;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,0.1);min-width:120px;z-index:11110 !important}.atwho-view .cur{background:#36f;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36f}.atwho-view .cur strong{color:#fff;font:bold}.atwho-view ul{list-style:none;padding:0;margin:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #ddd;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:normal}
-->
code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}

.token.punctuation {
color: #999;
}

.namespace {
opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}

.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}

.token.function {
color: #DD4A68;
}

.token.regex,
.token.important,
.token.variable {
color: #e90;
}

.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}

.token.entity {
cursor: help;
}
-->

前言

C 语言是一门很基础的语言,程序员们对它推崇备至,虽然它是我的入门语言,但大学的 C 语言知道早已经还给了老师,C 的使用可以说是从头学起。

之前一直在读书,看了《C Primer Plus》、《APUE》、《UNP》,第一本看完之后虽然对 C 的语法有了大概的了解,可是要说应用,还差得很远;后两本算是咬着牙翻完的,应用更不敢说,只是对概念有了基本的认识。

我们都知道,学一门语言,只看不写,很容易出现眼高手低,写代码无处下手的情况,于是终于在下班和周末挤出时间,准备写一个小项目。正好最近在看 nginx 服务器与 php sapi 相关的知识,于是考虑以 nginx 的思想,写一个类似的简化版 web 服务器。

项目最终的成果不敢保证,像上次写的 PHP 框架,在原理通透,技术要点掌握之后只剩下功能完善和代码堆叠,也就没有继续下去的欲望了,于是太监了。。。 但是跟着学习和理解一遍一定会有很大收获,这点是能保证的。 另外一直写同一系列的东西会让我有一种负担感,而且偏底层的东西也需要很多时间去学习,这一系列可能会间隔更新,欢迎关注。

最后附上项目 GitHub 地址:请点我


服务器架构

目标架构

以 nginx 的思想来考虑本服务器架构,初步考虑如下图:

用C写一个web服务器(一) 基础功能

当然 php 进程也可以替换为其他的脚本语言,可以更改源码中的 command 变量实现。

服务器有一个 master 进程,其有多个子进程为 worker 进程,master 进程受理客户端的请求,然后分发给 worker 进程,worker 进程处理 http 头信息后将参数传递给 php 进程处理后,将结果返回到上层,再响应给客户端。

也考虑过使用 php-fpm 的 worker 进程池方式,那样的话 php-fpm 进程也要仿写了,目前还不熟悉其内部构造,如果可以简单化,自然向其靠拢。目前对 PHP 的 SAPI 接口不熟,了解一下再考虑。

当前状态

当前状态的服务器还极其简单,总结下来有以下地方待优化:

  • 当前还是单进程,需要改成多进程,最终为 worker 进程池方式;
  • 优化 socket IO 模型,考虑 epoll、事件驱动方式;
  • 只支持 HTTP GET 请求方法,未进行太多的异常处理来定义 http 状态码;
  • 与 php 进程的交互方式,考虑如 nginx 使用 unix domain socket 方式。
  • 协议目前只考虑了 http,后续会考虑一些基于 TCP 的协议;

虽然简单,但服务器已经有基本的功能了:

它监听本地地址的 8080 端口,将接收到的 http 头中的 path 信息提出出来交给 php 进程,php 进程将参数信息处理后返回给服务器,服务器拼装 http 响应信息再将结果返回给客户端。

下面介绍各个功能的实现:


功能实现

socket系列方法

在介绍函数之间先用一张图来介绍一次 http 请求中客户端与服务器之间的交互:

用C写一个web服务器(一) 基础功能

如图:服务器创建要进行:

  1. 调用 socket() 创建一个连接;int socket(int domain, int type, int protocol);
  2. 调用 bind() 给套接字命名,绑定端口;int bind( int socket, const struct sockaddr *address, size_t address_len);
  3. 调用 listen() 监听此套接字;int listen(int socket, int backlog);
  4. 调用 accept() 接受客户端的连接;int accept(int socket, struct sockaddr *address, size_t *address_len);
  5. 调用 recv() 接收客户端的信息;int recv(int s, void *buf, int len, unsigned int flags);
  6. 调用 send() 将响应信息发送给客户端;int send(int s, const void * msg, int len, unsigned int falgs);

socket 间的接收和发送信息在 C 中有几个系列:write() / read() 、send() / recv() 、sendto() / recvfrom()、 sendmsg() / recvmsg(),可以自行选用。

另外函数参数释义和要点,都被我注释在代码中了,感兴趣的可以拉下来看一下,这些在网上也多有介绍,这里不再赘述。

服务器与 PHP cli 交互

然后是 C 进程和 php 进程的交互,考虑到简单易用,目前在 C 进程中直接执行 php 脚本:

一开始使用 system() 函数: int system(const char *command);

system 函数会 fork 一个子进程,在子进程中以 cli 方式执行 php 脚本,并将错误码或返回值返回。由于其结果类型不可控,编译时会报一个 warning。而且它将结果返回给父进程时,还会在标准输出中打印结果,在服务器执行时会抛出异常。

于是找到了另一个方法 popen, FILE * popen(const char * command, const char * type);

popen 同样会 fork 一个子进程来执行 command ,然后建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文件指针。随后进程便可利用此文件指针来读取子进程的输出设备或是写入到子进程的标准输入设备中。

其 type 参数便是控制连接到子进程的标准输入还是标准输出。我们想要子进程的标准输出,于是传入 type参数为 字符 “r” (read)。同理,如果想写入子进程标准输入的话,可以传值 “w”(write)。

另外在接收缓冲区内容的时候也出现了一点小意外:由于使用的 fgets() 方法会以换行符\n为一段的结尾,在接收 php 进程输出时遇到换行会结束,这里使用了一个中间字符串数组line来接收每一行的信息,将每一行的信息拼装到结果中。

代码如下:

char * execPHP(char *args){
// 这里不能用变长数组,需要给command留下足够长的空间,以存储args参数,不然拼接参数时会栈溢出
char command[BUFF_SIZE] = "php /Users/mfhj-dz-001-441/CLionProjects/cproject/tinyServer/index.php ";
FILE *fp;
static char buff[BUFF_SIZE]; // 声明静态变量以返回变量指针地址
char line[BUFF_SIZE];
strcat(command, args);
memset(buff, 0, BUFF_SIZE); // 静态变量会一直保留,这里初始化一下
if((fp = popen(command, "r")) == NULL){
strcpy(buff, "服务器内部错误");
}else{
// fgets会在获取到换行时停止,这里将每一行拼接起来
while (fgets(line, BUFF_SIZE, fp) != NULL){
strcat(buff, line);
};
} return buff;
}

报文数据处理

socket 处于应用层和传输层之间的虚拟层,由于设置服务器 socket 协议类型为 TCP,那么 TCP 的握手挥手、数据读取等步骤对于我们都是透明的。我们拿到的数据即 HTTP 报文,关于 HTTP 报文结构和其字段解释的文章非常多,这里也不再多提。

首先使用 C 的 strtok() 方法,获取到 HTTP 头的第一行,获取到其 http 方法和 path 信息,将这些信息处理后,再使用 sprintf() 方法拼合 HTTP 响应报文,主要替换了 响应内容长度和响应内容。


小结

对 C 的用法还不太熟悉,没用指针、结构等华丽操作,光简单的实现就花了我好久。可能代码路子也会有点野,希望有路过的大神能随手提点一二;

服务器相关的知识很深,每一个优化点需要扎实的基础知识来巩固,可能我学到的也只是皮毛,文章难免有错漏处,如果发现,烦请指出。

如果您觉得本文对您有帮助,可以点击下面的 推荐 支持一下我。博客一直在更新,欢迎 关注

上一篇:AliRedis单机180w QPS, 8台服务器构建1000w QPS Cache集群


下一篇:php-fpm配置参数.md