Last active
August 29, 2015 14:24
-
-
Save Jessime/c06397986a6939b98f0e to your computer and use it in GitHub Desktop.
Python Lecture Slides
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8" /> | |
<meta http-equiv="X-UA-Compatible" content="chrome=1" /> | |
<meta name="apple-mobile-web-app-capable" content="yes" /> | |
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> | |
<title>From_Zero_to_Hero slides</title> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> | |
<!-- General and theme style sheets --> | |
<link rel="stylesheet" href="reveal.js/css/reveal.css"> | |
<link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme"> | |
<!-- If the query includes 'print-pdf', include the PDF print sheet --> | |
<script> | |
if( window.location.search.match( /print-pdf/gi ) ) { | |
var link = document.createElement( 'link' ); | |
link.rel = 'stylesheet'; | |
link.type = 'text/css'; | |
link.href = 'reveal.js/css/print/pdf.css'; | |
document.getElementsByTagName( 'head' )[0].appendChild( link ); | |
} | |
</script> | |
<!--[if lt IE 9]> | |
<script src="reveal.js/lib/js/html5shiv.js"></script> | |
<![endif]--> | |
<!-- Get Font-awesome from cdn --> | |
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css"> | |
<style type="text/css"> | |
/*! | |
* | |
* Twitter Bootstrap | |
* | |
*//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../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-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:1.42857143;color:#000;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:all .2s ease-in-out;-o-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:18px;margin-bottom:18px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:18px;margin-bottom:9px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:9px;margin-bottom:9px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:33px}h2,.h2{font-size:27px}h3,.h3{font-size:23px}h4,.h4{font-size:17px}h5,.h5{font-size:13px}h6,.h6{font-size:12px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}small,.small{font-size:92%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:9px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:541px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:inherit;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:18px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:2px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:1px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:2px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}@media (min-width:768px){.container{width:768px}}@media (min-width:992px){.container{width:940px}}@media (min-width:1200px){.container{width:1140px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:0;padding-right:0}.row{margin-left:0;margin-right:0}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:0;padding-right:0}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:18px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:13px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:32px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:32px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg{line-height:45px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:18px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.33;border-radius:3px}select.input-lg,select.form-group-lg .form-control{height:45px;line-height:45px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:32px;height:32px;line-height:32px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:45px;height:45px;line-height:45px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:23px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#404040}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:25px}.form-horizontal .form-group{margin-left:0;margin-right:0}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:0}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.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.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:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.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.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:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.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.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:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.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.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:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;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.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.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;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.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-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:17px;line-height:1.33;border-radius:3px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:1px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px 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:13px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:2px;-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:8px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:541px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.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>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:2px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:17px;line-height:1.33;border-radius:3px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].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:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].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:13px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:2px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:1px}.input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>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:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.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:2px}.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:2px 2px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:2px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:2px}.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:2px 2px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:30px;margin-bottom:18px;border:1px solid transparent}@media (min-width:541px){.navbar{border-radius:2px}}@media (min-width:541px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:0;padding-left:0;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:541px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:540px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}@media (min-width:541px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:541px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:541px){.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:6px 0;font-size:17px;line-height:18px;height:30px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:541px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:0}}.navbar-toggle{position:relative;float:right;margin-right:0;padding:9px 10px;margin-top:-2px;margin-bottom:-2px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:2px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:541px){.navbar-toggle{display:none}}.navbar-nav{margin:3px 0}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:540px){.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:18px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:541px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}}.navbar-form{margin-left:0;margin-right:0;padding:10px 0;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:-1px;margin-bottom:-1px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:540px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:541px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:2px;border-top-left-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm{margin-top:0;margin-bottom:0}.navbar-btn.btn-xs{margin-top:4px;margin-bottom:4px}.navbar-text{margin-top:6px;margin-bottom:6px}@media (min-width:541px){.navbar-text{float:left;margin-left:0;margin-right:0}}@media (min-width:541px){.navbar-left{float:left !important;float:left}.navbar-right{float:right !important;float:right;margin-right:0}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:540px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:540px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:18px;list-style:none;background-color:#f5f5f5;border-radius:2px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#5e5e5e}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:2px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:2px;border-top-left-radius:2px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:1px;border-top-left-radius:1px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:1px;border-top-right-radius:1px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.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:#777;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}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:58.5px}}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:2px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#000}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:2px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:18px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:1px;border-top-left-radius:1px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:1px;border-top-left-radius:1px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:1px;border-top-left-radius:1px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:1px;border-top-right-radius:1px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:1px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:1px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:1px;border-bottom-left-radius:1px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:1px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:1px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:2px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:2px;-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:3px}.well-sm{padding:9px;border-radius:1px}.close{float:right;font-size:19.5px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:3px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:2px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1.42857143;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:3px;-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:13px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:2px 2px 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:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{transition:transform .6s ease-in-out;backface-visibility:hidden;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after,.item_buttons:before,.item_buttons:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after,.item_buttons: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}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}/*! | |
* | |
* Font Awesome | |
* | |
*//*! | |
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome | |
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | |
*/@font-face{font-family:'FontAwesome';src:url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}/*! | |
* | |
* IPython base | |
* | |
*/.modal.fade .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}code{color:#000}pre{font-size:inherit;line-height:inherit}label{font-weight:normal}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.corner-all{border-radius:2px}.no-padding{padding:0}.hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none}.hbox.reverse,.vbox.reverse,.reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;flex-direction:row-reverse}.hbox.box-flex0,.vbox.box-flex0,.box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;flex:none;width:auto}.hbox.box-flex1,.vbox.box-flex1,.box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex,.vbox.box-flex,.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.hbox.box-flex2,.vbox.box-flex2,.box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2}.box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1}.box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2}.hbox.start,.vbox.start,.start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;justify-content:flex-start}.hbox.end,.vbox.end,.end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}.hbox.center,.vbox.center,.center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;justify-content:center}.hbox.baseline,.vbox.baseline,.baseline{-webkit-box-pack:baseline;-moz-box-pack:baseline;box-pack:baseline;justify-content:baseline}.hbox.stretch,.vbox.stretch,.stretch{-webkit-box-pack:stretch;-moz-box-pack:stretch;box-pack:stretch;justify-content:stretch}.hbox.align-start,.vbox.align-start,.align-start{-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.hbox.align-end,.vbox.align-end,.align-end{-webkit-box-align:end;-moz-box-align:end;box-align:end;align-items:flex-end}.hbox.align-center,.vbox.align-center,.align-center{-webkit-box-align:center;-moz-box-align:center;box-align:center;align-items:center}.hbox.align-baseline,.vbox.align-baseline,.align-baseline{-webkit-box-align:baseline;-moz-box-align:baseline;box-align:baseline;align-items:baseline}.hbox.align-stretch,.vbox.align-stretch,.align-stretch{-webkit-box-align:stretch;-moz-box-align:stretch;box-align:stretch;align-items:stretch}div.error{margin:2em;text-align:center}div.error>h1{font-size:500%;line-height:normal}div.error>p{font-size:200%;line-height:normal}div.traceback-wrapper{text-align:left;max-width:800px;margin:auto}body{background-color:#fff;position:absolute;left:0;right:0;top:0;bottom:0;overflow:visible}#header{display:none;background-color:#fff;position:relative;z-index:100}#header #header-container{padding-bottom:5px;padding-top:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#header .header-bar{width:100%;height:1px;background:#e7e7e7;margin-bottom:-1px}@media print{#header{display:none !important}}#header-spacer{width:100%;visibility:hidden}@media print{#header-spacer{display:none}}#ipython_notebook{padding-left:0;padding-top:1px;padding-bottom:1px}@media (max-width:991px){#ipython_notebook{margin-left:10px}}#noscript{width:auto;padding-top:16px;padding-bottom:16px;text-align:center;font-size:22px;color:red;font-weight:bold}#ipython_notebook img{height:28px}#site{width:100%;display:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;overflow:auto}@media print{#site{height:auto !important}}.ui-button .ui-button-text{padding:.2em .8em;font-size:77%}input.ui-button{padding:.3em .9em}span#login_widget{float:right}span#login_widget>.button,#logout{color:#333;background-color:#fff;border-color:#ccc}span#login_widget>.button:hover,#logout:hover,span#login_widget>.button:focus,#logout:focus,span#login_widget>.button.focus,#logout.focus,span#login_widget>.button:active,#logout:active,span#login_widget>.button.active,#logout.active,.open>.dropdown-togglespan#login_widget>.button,.open>.dropdown-toggle#logout{color:#333;background-color:#e6e6e6;border-color:#adadad}span#login_widget>.button:active,#logout:active,span#login_widget>.button.active,#logout.active,.open>.dropdown-togglespan#login_widget>.button,.open>.dropdown-toggle#logout{background-image:none}span#login_widget>.button.disabled,#logout.disabled,span#login_widget>.button[disabled],#logout[disabled],fieldset[disabled] span#login_widget>.button,fieldset[disabled] #logout,span#login_widget>.button.disabled:hover,#logout.disabled:hover,span#login_widget>.button[disabled]:hover,#logout[disabled]:hover,fieldset[disabled] span#login_widget>.button:hover,fieldset[disabled] #logout:hover,span#login_widget>.button.disabled:focus,#logout.disabled:focus,span#login_widget>.button[disabled]:focus,#logout[disabled]:focus,fieldset[disabled] span#login_widget>.button:focus,fieldset[disabled] #logout:focus,span#login_widget>.button.disabled.focus,#logout.disabled.focus,span#login_widget>.button[disabled].focus,#logout[disabled].focus,fieldset[disabled] span#login_widget>.button.focus,fieldset[disabled] #logout.focus,span#login_widget>.button.disabled:active,#logout.disabled:active,span#login_widget>.button[disabled]:active,#logout[disabled]:active,fieldset[disabled] span#login_widget>.button:active,fieldset[disabled] #logout:active,span#login_widget>.button.disabled.active,#logout.disabled.active,span#login_widget>.button[disabled].active,#logout[disabled].active,fieldset[disabled] span#login_widget>.button.active,fieldset[disabled] #logout.active{background-color:#fff;border-color:#ccc}span#login_widget>.button .badge,#logout .badge{color:#fff;background-color:#333}.nav-header{text-transform:none}#header>span{margin-top:10px}.modal_stretch .modal-dialog{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;min-height:80%}.modal_stretch .modal-dialog .modal-body{max-height:none;flex:1}@media (min-width:768px){.modal .modal-dialog{width:700px}}@media (min-width:768px){select.form-control{margin-left:12px;margin-right:12px}}/*! | |
* | |
* IPython auth | |
* | |
*/.center-nav{display:inline-block;margin-bottom:-4px}/*! | |
* | |
* IPython tree view | |
* | |
*/.alternate_upload{background-color:none;display:inline}.alternate_upload.form{padding:0;margin:0}.alternate_upload input.fileinput{display:inline;opacity:0;z-index:2;width:12ex;margin-right:-12ex}.alternate_upload .input-overlay{display:inline-block;font-weight:bold;line-height:1em}ul#tabs{margin-bottom:4px}ul#tabs a{padding-top:6px;padding-bottom:4px}ul.breadcrumb a:focus,ul.breadcrumb a:hover{text-decoration:none}ul.breadcrumb i.icon-home{font-size:16px;margin-right:4px}ul.breadcrumb span{color:#5e5e5e}.list_toolbar{padding:4px 0 4px 0;vertical-align:middle}.list_toolbar .tree-buttons{padding-top:1px}.dynamic-buttons{display:inline-block}.list_toolbar [class*="span"]{min-height:24px}.list_header{font-weight:bold;background-color:#eee}.list_placeholder{font-weight:bold;padding-top:4px;padding-bottom:4px;padding-left:7px;padding-right:7px}.list_container{margin-top:4px;margin-bottom:20px;border:1px solid #ddd;border-radius:2px}.list_container>div{border-bottom:1px solid #ddd}.list_container>div:hover .list-item{background-color:red}.list_container>div:last-child{border:none}.list_item:hover .list_item{background-color:#ddd}.list_item a{text-decoration:none}.list_item:hover{background-color:#fafafa}.action_col{text-align:right}.list_header>div,.list_item>div{padding-top:4px;padding-bottom:4px;padding-left:7px;padding-right:7px;line-height:22px}.list_header>div input,.list_item>div input{margin-right:7px;margin-left:14px;vertical-align:baseline;line-height:22px;position:relative;top:-1px}.list_header>div .item_link,.list_item>div .item_link{margin-left:-1px;vertical-align:baseline;line-height:22px}.new-file input[type=checkbox]{visibility:hidden}.item_name{line-height:22px;height:24px}.item_icon{font-size:14px;color:#5e5e5e;margin-right:7px;margin-left:7px;line-height:22px;vertical-align:baseline}.item_buttons{padding-top:4px;line-height:1em;margin-left:-5px}.item_buttons .btn-group,.item_buttons .input-group{float:left}.item_buttons>.btn,.item_buttons>.btn-group,.item_buttons>.input-group{margin-left:5px}.item_buttons .btn{min-width:13ex}.item_buttons .running-indicator{color:#5cb85c}.toolbar_info{height:24px;line-height:24px}input.nbname_input,input.engine_num_input{padding-top:3px;padding-bottom:3px;height:22px;line-height:14px;margin:0}input.engine_num_input{width:60px}.highlight_text{color:blue}#project_name{display:inline-block;padding-left:7px;margin-left:-2px}#project_name>.breadcrumb{padding:0;margin-bottom:0;background-color:transparent;font-weight:bold}#tree-selector{display:inline-block;padding-right:0}#tree-selector input[type=checkbox]{margin-left:7px;vertical-align:baseline}.tab-content .row{margin-left:0;margin-right:0}.folder_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f114"}.folder_icon:before.pull-left{margin-right:.3em}.folder_icon:before.pull-right{margin-left:.3em}.notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f02d";position:relative;top:-1px}.notebook_icon:before.pull-left{margin-right:.3em}.notebook_icon:before.pull-right{margin-left:.3em}.running_notebook_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f02d";position:relative;top:-1px;color:#5cb85c}.running_notebook_icon:before.pull-left{margin-right:.3em}.running_notebook_icon:before.pull-right{margin-left:.3em}.file_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f016";position:relative;top:-2px}.file_icon:before.pull-left{margin-right:.3em}.file_icon:before.pull-right{margin-left:.3em}#notebook_toolbar .pull-right{padding-top:0;margin-right:-1px}ul#new-menu{left:auto;right:0}.kernel-menu-icon{padding-right:12px;width:24px;content:"\f096"}.kernel-menu-icon:before{content:"\f096"}.kernel-menu-icon-current:before{content:"\f00c"}#tab_content{padding-top:20px}#running .panel-group .panel{margin-top:3px;margin-bottom:1em}#running .panel-group .panel .panel-heading{background-color:#eee;padding-top:4px;padding-bottom:4px;padding-left:7px;padding-right:7px;line-height:22px}#running .panel-group .panel .panel-heading a:focus,#running .panel-group .panel .panel-heading a:hover{text-decoration:none}#running .panel-group .panel .panel-body{padding:0}#running .panel-group .panel .panel-body .list_container{margin-top:0;margin-bottom:0;border:0;border-radius:0}#running .panel-group .panel .panel-body .list_container .list_item{border-bottom:1px solid #ddd}#running .panel-group .panel .panel-body .list_container .list_item:last-child{border-bottom:0}.delete-button{display:none}.duplicate-button{display:none}.rename-button{display:none}.shutdown-button{display:none}/*! | |
* | |
* IPython text editor webapp | |
* | |
*/.selected-keymap i.fa{padding:0 5px}.selected-keymap i.fa:before{content:"\f00c"}#mode-menu{overflow:auto;max-height:20em}.edit_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2)}.edit_app #menubar .navbar{margin-bottom:-1px}.dirty-indicator{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);width:20px}.dirty-indicator.pull-left{margin-right:.3em}.dirty-indicator.pull-right{margin-left:.3em}.dirty-indicator-dirty{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);width:20px}.dirty-indicator-dirty.pull-left{margin-right:.3em}.dirty-indicator-dirty.pull-right{margin-left:.3em}.dirty-indicator-clean{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);width:20px}.dirty-indicator-clean.pull-left{margin-right:.3em}.dirty-indicator-clean.pull-right{margin-left:.3em}.dirty-indicator-clean:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f00c"}.dirty-indicator-clean:before.pull-left{margin-right:.3em}.dirty-indicator-clean:before.pull-right{margin-left:.3em}#filename{font-size:16pt;display:table;padding:0 5px}#current-mode{padding-left:5px;padding-right:5px}#texteditor-backdrop{padding-top:20px;padding-bottom:20px}@media not print{#texteditor-backdrop{background-color:#eee}}@media print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}}@media not print{#texteditor-backdrop #texteditor-container .CodeMirror-gutter,#texteditor-backdrop #texteditor-container .CodeMirror-gutters{background-color:#fff}}@media not print{#texteditor-backdrop #texteditor-container{padding:0;background-color:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2)}}/*! | |
* | |
* IPython notebook | |
* | |
*/.ansibold{font-weight:bold}.ansiblack{color:black}.ansired{color:darkred}.ansigreen{color:darkgreen}.ansiyellow{color:#c4a000}.ansiblue{color:darkblue}.ansipurple{color:darkviolet}.ansicyan{color:steelblue}.ansigray{color:gray}.ansibgblack{background-color:black}.ansibgred{background-color:red}.ansibggreen{background-color:green}.ansibgyellow{background-color:yellow}.ansibgblue{background-color:blue}.ansibgpurple{background-color:magenta}.ansibgcyan{background-color:cyan}.ansibggray{background-color:gray}div.cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;border-radius:2px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-width:thin;border-style:solid;width:100%;padding:5px;margin:0;outline:none}div.cell.selected{border-color:#ababab}@media print{div.cell.selected{border-color:transparent}}.edit_mode div.cell.selected{border-color:green}@media print{.edit_mode div.cell.selected{border-color:transparent}}.prompt{min-width:14ex;padding:.4em;margin:0;font-family:monospace;text-align:right;line-height:1.21429em}@media (max-width:540px){.prompt{text-align:left}}div.inner_cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}@-moz-document url-prefix(){div.inner_cell{overflow-x:hidden}}div.input_area{border:1px solid #cfcfcf;border-radius:2px;background:#f7f7f7;line-height:1.21429em}div.prompt:empty{padding-top:0;padding-bottom:0}div.unrecognized_cell{padding:5px 5px 5px 0;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.unrecognized_cell .inner_cell{border-radius:2px;padding:5px;font-weight:bold;color:red;border:1px solid #cfcfcf;background:#eaeaea}div.unrecognized_cell .inner_cell a{color:inherit;text-decoration:none}div.unrecognized_cell .inner_cell a:hover{color:inherit;text-decoration:none}@media (max-width:540px){div.unrecognized_cell>div.prompt{display:none}}@media print{div.code_cell{page-break-inside:avoid}}div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.input{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.input_prompt{color:navy;border-top:1px solid transparent}div.input_area>div.highlight{margin:.4em;border:none;padding:0;background-color:transparent}div.input_area>div.highlight>pre{margin:0;border:none;padding:0;background-color:transparent}.CodeMirror{line-height:1.21429em;font-size:14px;height:auto;background:none}.CodeMirror-scroll{overflow-y:hidden;overflow-x:auto}.CodeMirror-lines{padding:.4em}.CodeMirror-linenumber{padding:0 8px 0 4px}.CodeMirror-gutters{border-bottom-left-radius:2px;border-top-left-radius:2px}.CodeMirror pre{padding:0;border:0;border-radius:0}.highlight-base{color:#000}.highlight-variable{color:#000}.highlight-variable-2{color:#1a1a1a}.highlight-variable-3{color:#333}.highlight-string{color:#ba2121}.highlight-comment{color:#408080;font-style:italic}.highlight-number{color:#080}.highlight-atom{color:#88f}.highlight-keyword{color:#008000;font-weight:bold}.highlight-builtin{color:#008000}.highlight-error{color:#f00}.highlight-operator{color:#a2f;font-weight:bold}.highlight-meta{color:#a2f}.highlight-def{color:#00f}.highlight-string-2{color:#f50}.highlight-qualifier{color:#555}.highlight-bracket{color:#997}.highlight-tag{color:#170}.highlight-attribute{color:#00c}.highlight-header{color:blue}.highlight-quote{color:#090}.highlight-link{color:#00c}.cm-s-ipython span.cm-keyword{color:#008000;font-weight:bold}.cm-s-ipython span.cm-atom{color:#88f}.cm-s-ipython span.cm-number{color:#080}.cm-s-ipython span.cm-def{color:#00f}.cm-s-ipython span.cm-variable{color:#000}.cm-s-ipython span.cm-operator{color:#a2f;font-weight:bold}.cm-s-ipython span.cm-variable-2{color:#1a1a1a}.cm-s-ipython span.cm-variable-3{color:#333}.cm-s-ipython span.cm-comment{color:#408080;font-style:italic}.cm-s-ipython span.cm-string{color:#ba2121}.cm-s-ipython span.cm-string-2{color:#f50}.cm-s-ipython span.cm-meta{color:#a2f}.cm-s-ipython span.cm-qualifier{color:#555}.cm-s-ipython span.cm-builtin{color:#008000}.cm-s-ipython span.cm-bracket{color:#997}.cm-s-ipython span.cm-tag{color:#170}.cm-s-ipython span.cm-attribute{color:#00c}.cm-s-ipython span.cm-header{color:blue}.cm-s-ipython span.cm-quote{color:#090}.cm-s-ipython span.cm-link{color:#00c}.cm-s-ipython span.cm-error{color:#f00}.cm-s-ipython span.cm-tab{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);background-position:right;background-repeat:no-repeat}div.output_wrapper{position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:2px;-webkit-box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);box-shadow:inset 0 2px 8px rgba(0,0,0,0.8);display:block}div.output_collapsed{margin:0;padding:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}div.out_prompt_overlay{height:100%;padding:0 .4em;position:absolute;border-radius:2px}div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000;box-shadow:inset 0 0 1px #000;background:rgba(240,240,240,0.5)}div.output_prompt{color:darkred}div.output_area{padding:0;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}div.output_area .MathJax_Display{text-align:left !important}div.output_area .rendered_html table{margin-left:0;margin-right:0}div.output_area .rendered_html img{margin-left:0;margin-right:0}.output{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}@media (max-width:540px){div.output_area{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}}div.output_area pre{margin:0;padding:0;border:0;vertical-align:baseline;color:black;background-color:transparent;border-radius:0}div.output_subarea{padding:.4em;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}div.output_text{text-align:left;color:#000;line-height:1.21429em}div.output_stderr{background:#fdd}div.output_latex{text-align:left}div.output_javascript:empty{padding:0}.js-error{color:darkred}div.raw_input_container{font-family:monospace;padding-top:5px}input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;vertical-align:baseline;padding:0 .25em;margin:0 .25em}input.raw_input:focus{box-shadow:none}p.p-space{margin-bottom:10px}div.output_unrecognized{padding:5px;font-weight:bold;color:red}div.output_unrecognized a{color:inherit;text-decoration:none}div.output_unrecognized a:hover{color:inherit;text-decoration:none}.rendered_html{color:#000}.rendered_html em{font-style:italic}.rendered_html strong{font-weight:bold}.rendered_html u{text-decoration:underline}.rendered_html :link{text-decoration:underline}.rendered_html :visited{text-decoration:underline}.rendered_html h1{font-size:185.7%;margin:1.08em 0 0 0;font-weight:bold;line-height:1}.rendered_html h2{font-size:157.1%;margin:1.27em 0 0 0;font-weight:bold;line-height:1}.rendered_html h3{font-size:128.6%;margin:1.55em 0 0 0;font-weight:bold;line-height:1}.rendered_html h4{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1}.rendered_html h5{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1;font-style:italic}.rendered_html h6{font-size:100%;margin:2em 0 0 0;font-weight:bold;line-height:1;font-style:italic}.rendered_html h1:first-child{margin-top:.538em}.rendered_html h2:first-child{margin-top:.636em}.rendered_html h3:first-child{margin-top:.777em}.rendered_html h4:first-child{margin-top:1em}.rendered_html h5:first-child{margin-top:1em}.rendered_html h6:first-child{margin-top:1em}.rendered_html ul{list-style:disc;margin:0 2em;padding-left:0}.rendered_html ul ul{list-style:square;margin:0 2em}.rendered_html ul ul ul{list-style:circle;margin:0 2em}.rendered_html ol{list-style:decimal;margin:0 2em;padding-left:0}.rendered_html ol ol{list-style:upper-alpha;margin:0 2em}.rendered_html ol ol ol{list-style:lower-alpha;margin:0 2em}.rendered_html ol ol ol ol{list-style:lower-roman;margin:0 2em}.rendered_html ol ol ol ol ol{list-style:decimal;margin:0 2em}.rendered_html *+ul{margin-top:1em}.rendered_html *+ol{margin-top:1em}.rendered_html hr{color:black;background-color:black}.rendered_html pre{margin:1em 2em}.rendered_html pre,.rendered_html code{border:0;background-color:#fff;color:#000;font-size:100%;padding:0}.rendered_html blockquote{margin:1em 2em}.rendered_html table{margin-left:auto;margin-right:auto;border:1px solid black;border-collapse:collapse}.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em}.rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px}.rendered_html th{font-weight:bold}.rendered_html *+table{margin-top:1em}.rendered_html p{text-align:left}.rendered_html *+p{margin-top:1em}.rendered_html img{display:block;margin-left:auto;margin-right:auto}.rendered_html *+img{margin-top:1em}div.text_cell{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}@media (max-width:540px){div.text_cell>div.prompt{display:none}}div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:.5em .5em .5em .4em;color:#000;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}a.anchor-link:link{text-decoration:none;padding:0 20px;visibility:hidden}h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible}.text_cell.rendered .input_area{display:none}.text_cell.unrendered .text_cell_render{display:none}.cm-header-1,.cm-header-2,.cm-header-3,.cm-header-4,.cm-header-5,.cm-header-6{font-weight:bold;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.cm-header-1{font-size:185.7%}.cm-header-2{font-size:157.1%}.cm-header-3{font-size:128.6%}.cm-header-4{font-size:110%}.cm-header-5{font-size:100%;font-style:italic}.cm-header-6{font-size:100%;font-style:italic}.widget-interact>div,.widget-interact>input{padding:2.5px}.widget-area{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-area .widget-subarea{padding:.44em .4em .4em 1px;margin-left:6px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;flex:2;-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.widget-area.connection-problems .prompt:after{content:"\f127";font-family:'FontAwesome';color:#d9534f;font-size:14px;top:3px;padding:3px}.slide-track{border:1px solid #ccc;background:#fff;border-radius:2px}.widget-hslider{padding-left:8px;padding-right:2px;overflow:visible;width:350px;height:5px;max-height:5px;margin-top:13px;margin-bottom:10px;border:1px solid #ccc;background:#fff;border-radius:2px;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-hslider .ui-slider{border:0;background:none;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.widget-hslider .ui-slider .ui-slider-handle{width:12px;height:28px;margin-top:-8px;border-radius:2px}.widget-hslider .ui-slider .ui-slider-range{height:12px;margin-top:-4px;background:#eee}.widget-vslider{padding-bottom:5px;overflow:visible;width:5px;max-width:5px;height:250px;margin-left:12px;border:1px solid #ccc;background:#fff;border-radius:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.widget-vslider .ui-slider{border:0;background:none;margin-left:-4px;margin-top:5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}.widget-vslider .ui-slider .ui-slider-handle{width:28px;height:12px;margin-left:-9px;border-radius:2px}.widget-vslider .ui-slider .ui-slider-range{width:12px;margin-left:-1px;background:#eee}.widget-text{width:350px;margin:0}.widget-listbox{width:350px;margin-bottom:0}.widget-numeric-text{width:150px;margin:0}.widget-progress{margin-top:6px;min-width:350px}.widget-progress .progress-bar{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.widget-combo-btn{min-width:125px}.widget_item .dropdown-menu li a{color:inherit}.widget-hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.widget-hbox input[type="checkbox"]{margin-top:9px;margin-bottom:10px}.widget-hbox .widget-label{min-width:10ex;padding-right:8px;padding-top:5px;text-align:right;vertical-align:text-top}.widget-hbox .widget-readout{padding-left:8px;padding-top:5px;text-align:left;vertical-align:text-top}.widget-vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch}.widget-vbox .widget-label{padding-bottom:5px;text-align:center;vertical-align:text-bottom}.widget-vbox .widget-readout{padding-top:5px;text-align:center;vertical-align:text-top}.widget-box{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-box-align:start;-moz-box-align:start;box-align:start;align-items:flex-start}.widget-radio-box{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding-top:4px}.widget-radio-box label{margin-top:0}.widget-radio{margin-left:20px}/*! | |
* | |
* IPython notebook webapp | |
* | |
*/@media (max-width:767px){.notebook_app{padding-left:0;padding-right:0}}#ipython-main-app{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}div#notebook_panel{margin:0;padding:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;height:100%}#notebook{font-size:14px;line-height:20px;overflow-y:hidden;overflow-x:auto;width:100%;padding-top:20px;margin:0;outline:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;min-height:100%}@media not print{#notebook-container{padding:15px;background-color:#fff;min-height:0;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2)}}div.ui-widget-content{border:1px solid #ababab;outline:none}pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:2px;padding:.4em;padding-left:2em}p.dialog{padding:.2em}pre,code,kbd,samp{white-space:pre-wrap}#fonttest{font-family:monospace}p{margin-bottom:0}.end_space{min-height:100px;transition:height .2s ease}.notebook_app #header{-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2)}@media not print{.notebook_app{background-color:#eee}}.celltoolbar{border:thin solid #cfcfcf;border-bottom:none;background:#eee;border-radius:2px 2px 0 0;width:100%;height:29px;padding-right:4px;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch;-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;justify-content:flex-end}@media print{.celltoolbar{display:none}}.ctb_hideshow{display:none;vertical-align:bottom}.ctb_global_show .ctb_show.ctb_hideshow{display:block}.ctb_global_show .ctb_show+.input_area,.ctb_global_show .ctb_show+div.text_cell_input,.ctb_global_show .ctb_show~div.text_cell_render{border-top-right-radius:0;border-top-left-radius:0}.ctb_global_show .ctb_show~div.text_cell_render{border:1px solid #cfcfcf}.celltoolbar{font-size:87%;padding-top:3px}.celltoolbar select{display:block;width:100%;height:32px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:1px;width:inherit;font-size:inherit;height:22px;padding:0;display:inline-block}.celltoolbar select: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)}.celltoolbar select::-moz-placeholder{color:#999;opacity:1}.celltoolbar select:-ms-input-placeholder{color:#999}.celltoolbar select::-webkit-input-placeholder{color:#999}.celltoolbar select[disabled],.celltoolbar select[readonly],fieldset[disabled] .celltoolbar select{cursor:not-allowed;background-color:#eee;opacity:1}textarea.celltoolbar select{height:auto}select.celltoolbar select{height:30px;line-height:30px}textarea.celltoolbar select,select[multiple].celltoolbar select{height:auto}.celltoolbar label{margin-left:5px;margin-right:5px}.completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;border-radius:2px;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad}.completions select{background:white;outline:none;border:none;padding:0;margin:0;overflow:auto;font-family:monospace;font-size:110%;color:#000;width:auto}.completions select option.context{color:#286090}#kernel_logo_widget{float:right !important;float:right}#kernel_logo_widget .current_kernel_logo{display:none;margin-top:-1px;margin-bottom:-1px;width:32px;height:32px}#menubar{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-top:1px}#menubar .navbar{border-top:1px;border-radius:0 0 2px 2px;margin-bottom:0}#menubar .navbar-toggle{float:left;padding-top:7px;padding-bottom:7px;border:none}#menubar .navbar-collapse{clear:left}.nav-wrapper{border-bottom:1px solid #e7e7e7}i.menu-icon{padding-top:4px}ul#help_menu li a{overflow:hidden;padding-right:2.2em}ul#help_menu li a i{margin-right:-1.2em}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);display:block;content:"\f0da";float:right;color:#333;margin-top:2px;margin-right:-10px}.dropdown-submenu>a:after.pull-left{margin-right:.3em}.dropdown-submenu>a:after.pull-right{margin-left:.3em}.dropdown-submenu:hover>a:after{color:#262626}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}#notification_area{float:right !important;float:right;z-index:10}.indicator_area{float:right !important;float:right;color:#777;margin-left:5px;margin-right:5px;width:11px;z-index:10;text-align:center;width:auto}#kernel_indicator{float:right !important;float:right;color:#777;margin-left:5px;margin-right:5px;width:11px;z-index:10;text-align:center;width:auto;border-left:1px solid}#kernel_indicator .kernel_indicator_name{padding-left:5px;padding-right:5px}#modal_indicator{float:right !important;float:right;color:#777;margin-left:5px;margin-right:5px;width:11px;z-index:10;text-align:center;width:auto}#readonly-indicator{float:right !important;float:right;color:#777;margin-left:5px;margin-right:5px;width:11px;z-index:10;text-align:center;width:auto;margin-top:2px;margin-bottom:0;margin-left:0;margin-right:0;display:none}.modal_indicator:before{width:1.28571429em;text-align:center}.edit_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f040"}.edit_mode .modal_indicator:before.pull-left{margin-right:.3em}.edit_mode .modal_indicator:before.pull-right{margin-left:.3em}.command_mode .modal_indicator:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:' '}.command_mode .modal_indicator:before.pull-left{margin-right:.3em}.command_mode .modal_indicator:before.pull-right{margin-left:.3em}.kernel_idle_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f10c"}.kernel_idle_icon:before.pull-left{margin-right:.3em}.kernel_idle_icon:before.pull-right{margin-left:.3em}.kernel_busy_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f111"}.kernel_busy_icon:before.pull-left{margin-right:.3em}.kernel_busy_icon:before.pull-right{margin-left:.3em}.kernel_dead_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f1e2"}.kernel_dead_icon:before.pull-left{margin-right:.3em}.kernel_dead_icon:before.pull-right{margin-left:.3em}.kernel_disconnected_icon:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"\f127"}.kernel_disconnected_icon:before.pull-left{margin-right:.3em}.kernel_disconnected_icon:before.pull-right{margin-left:.3em}.notification_widget{color:#777;z-index:10;background:rgba(240,240,240,0.5);color:#333;background-color:#fff;border-color:#ccc}.notification_widget:hover,.notification_widget:focus,.notification_widget.focus,.notification_widget:active,.notification_widget.active,.open>.dropdown-toggle.notification_widget{color:#333;background-color:#e6e6e6;border-color:#adadad}.notification_widget:active,.notification_widget.active,.open>.dropdown-toggle.notification_widget{background-image:none}.notification_widget.disabled,.notification_widget[disabled],fieldset[disabled] .notification_widget,.notification_widget.disabled:hover,.notification_widget[disabled]:hover,fieldset[disabled] .notification_widget:hover,.notification_widget.disabled:focus,.notification_widget[disabled]:focus,fieldset[disabled] .notification_widget:focus,.notification_widget.disabled.focus,.notification_widget[disabled].focus,fieldset[disabled] .notification_widget.focus,.notification_widget.disabled:active,.notification_widget[disabled]:active,fieldset[disabled] .notification_widget:active,.notification_widget.disabled.active,.notification_widget[disabled].active,fieldset[disabled] .notification_widget.active{background-color:#fff;border-color:#ccc}.notification_widget .badge{color:#fff;background-color:#333}.notification_widget.warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning:hover,.notification_widget.warning:focus,.notification_widget.warning.focus,.notification_widget.warning:active,.notification_widget.warning.active,.open>.dropdown-toggle.notification_widget.warning{color:#fff;background-color:#ec971f;border-color:#d58512}.notification_widget.warning:active,.notification_widget.warning.active,.open>.dropdown-toggle.notification_widget.warning{background-image:none}.notification_widget.warning.disabled,.notification_widget.warning[disabled],fieldset[disabled] .notification_widget.warning,.notification_widget.warning.disabled:hover,.notification_widget.warning[disabled]:hover,fieldset[disabled] .notification_widget.warning:hover,.notification_widget.warning.disabled:focus,.notification_widget.warning[disabled]:focus,fieldset[disabled] .notification_widget.warning:focus,.notification_widget.warning.disabled.focus,.notification_widget.warning[disabled].focus,fieldset[disabled] .notification_widget.warning.focus,.notification_widget.warning.disabled:active,.notification_widget.warning[disabled]:active,fieldset[disabled] .notification_widget.warning:active,.notification_widget.warning.disabled.active,.notification_widget.warning[disabled].active,fieldset[disabled] .notification_widget.warning.active{background-color:#f0ad4e;border-color:#eea236}.notification_widget.warning .badge{color:#f0ad4e;background-color:#fff}.notification_widget.success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success:hover,.notification_widget.success:focus,.notification_widget.success.focus,.notification_widget.success:active,.notification_widget.success.active,.open>.dropdown-toggle.notification_widget.success{color:#fff;background-color:#449d44;border-color:#398439}.notification_widget.success:active,.notification_widget.success.active,.open>.dropdown-toggle.notification_widget.success{background-image:none}.notification_widget.success.disabled,.notification_widget.success[disabled],fieldset[disabled] .notification_widget.success,.notification_widget.success.disabled:hover,.notification_widget.success[disabled]:hover,fieldset[disabled] .notification_widget.success:hover,.notification_widget.success.disabled:focus,.notification_widget.success[disabled]:focus,fieldset[disabled] .notification_widget.success:focus,.notification_widget.success.disabled.focus,.notification_widget.success[disabled].focus,fieldset[disabled] .notification_widget.success.focus,.notification_widget.success.disabled:active,.notification_widget.success[disabled]:active,fieldset[disabled] .notification_widget.success:active,.notification_widget.success.disabled.active,.notification_widget.success[disabled].active,fieldset[disabled] .notification_widget.success.active{background-color:#5cb85c;border-color:#4cae4c}.notification_widget.success .badge{color:#5cb85c;background-color:#fff}.notification_widget.info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.notification_widget.info:hover,.notification_widget.info:focus,.notification_widget.info.focus,.notification_widget.info:active,.notification_widget.info.active,.open>.dropdown-toggle.notification_widget.info{color:#fff;background-color:#31b0d5;border-color:#269abc}.notification_widget.info:active,.notification_widget.info.active,.open>.dropdown-toggle.notification_widget.info{background-image:none}.notification_widget.info.disabled,.notification_widget.info[disabled],fieldset[disabled] .notification_widget.info,.notification_widget.info.disabled:hover,.notification_widget.info[disabled]:hover,fieldset[disabled] .notification_widget.info:hover,.notification_widget.info.disabled:focus,.notification_widget.info[disabled]:focus,fieldset[disabled] .notification_widget.info:focus,.notification_widget.info.disabled.focus,.notification_widget.info[disabled].focus,fieldset[disabled] .notification_widget.info.focus,.notification_widget.info.disabled:active,.notification_widget.info[disabled]:active,fieldset[disabled] .notification_widget.info:active,.notification_widget.info.disabled.active,.notification_widget.info[disabled].active,fieldset[disabled] .notification_widget.info.active{background-color:#5bc0de;border-color:#46b8da}.notification_widget.info .badge{color:#5bc0de;background-color:#fff}.notification_widget.danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger:hover,.notification_widget.danger:focus,.notification_widget.danger.focus,.notification_widget.danger:active,.notification_widget.danger.active,.open>.dropdown-toggle.notification_widget.danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.notification_widget.danger:active,.notification_widget.danger.active,.open>.dropdown-toggle.notification_widget.danger{background-image:none}.notification_widget.danger.disabled,.notification_widget.danger[disabled],fieldset[disabled] .notification_widget.danger,.notification_widget.danger.disabled:hover,.notification_widget.danger[disabled]:hover,fieldset[disabled] .notification_widget.danger:hover,.notification_widget.danger.disabled:focus,.notification_widget.danger[disabled]:focus,fieldset[disabled] .notification_widget.danger:focus,.notification_widget.danger.disabled.focus,.notification_widget.danger[disabled].focus,fieldset[disabled] .notification_widget.danger.focus,.notification_widget.danger.disabled:active,.notification_widget.danger[disabled]:active,fieldset[disabled] .notification_widget.danger:active,.notification_widget.danger.disabled.active,.notification_widget.danger[disabled].active,fieldset[disabled] .notification_widget.danger.active{background-color:#d9534f;border-color:#d43f3a}.notification_widget.danger .badge{color:#d9534f;background-color:#fff}div#pager{background-color:#fff;font-size:14px;line-height:20px;overflow:hidden;display:none;position:fixed;bottom:0;width:100%;max-height:50%;padding-top:8px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2);z-index:100;top:auto !important}div#pager pre{line-height:1.21429em;color:#000;background-color:#f7f7f7;padding:.4em}div#pager #pager-button-area{position:absolute;top:8px;right:20px}div#pager #pager-contents{position:relative;overflow:auto;width:100%;height:100%}div#pager #pager-contents #pager-container{position:relative;padding:15px 0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#pager .ui-resizable-handle{top:0;height:8px;background:#f7f7f7;border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}div#pager .ui-resizable-handle::after{content:'';top:2px;left:50%;height:3px;width:30px;margin-left:-15px;position:absolute;border-top:1px solid #cfcfcf}.quickhelp{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;display:flex;flex-direction:row;align-items:stretch}.shortcut_key{display:inline-block;width:20ex;text-align:right;font-family:monospace}.shortcut_descr{display:inline-block;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;flex:1}span.save_widget{margin-top:6px}span.save_widget span.filename{height:1em;line-height:1em;padding:3px;margin-left:16px;border:none;font-size:146.5%;border-radius:2px}span.save_widget span.filename:hover{background-color:#e6e6e6}span.checkpoint_status,span.autosave_status{font-size:small}@media (max-width:767px){span.save_widget{font-size:small}span.checkpoint_status,span.autosave_status{display:none}}@media (min-width:768px) and (max-width:991px){span.checkpoint_status{display:none}span.autosave_status{font-size:x-small}}.toolbar{padding:0;margin-left:-5px;margin-top:2px;margin-bottom:5px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.toolbar select,.toolbar label{width:auto;vertical-align:middle;margin-right:2px;margin-bottom:0;display:inline;font-size:92%;margin-left:.3em;margin-right:.3em;padding:0;padding-top:3px}.toolbar .btn{padding:2px 8px}.toolbar .btn-group{margin-top:0;margin-left:5px}#maintoolbar{margin-bottom:-3px;margin-top:-8px;border:0;min-height:27px;margin-left:0;padding-top:11px;padding-bottom:3px}#maintoolbar .navbar-text{float:none;vertical-align:middle;text-align:right;margin-left:5px;margin-right:0;margin-top:0}.select-xs{height:24px}@-moz-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms}.smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px}.tooltipbuttons{position:absolute;padding-right:15px;top:0;right:0}.tooltiptext{padding-right:30px}.ipython_tooltip{max-width:700px;-webkit-animation:fadeOut 400ms;-moz-animation:fadeOut 400ms;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:#ababab 1px solid;outline:none;padding:3px;margin:0;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0 6px 10px -1px #adadad;-webkit-box-shadow:0 6px 10px -1px #adadad;box-shadow:0 6px 10px -1px #adadad;border-radius:2px;position:absolute;z-index:1000}.ipython_tooltip a{float:right}.ipython_tooltip .tooltiptext pre{border:0;border-radius:0;font-size:100%;background-color:#f7f7f7}.pretooltiparrow{left:0;margin:0;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute}.pretooltiparrow:before{background-color:#f7f7f7;border:1px #ababab solid;z-index:11;content:"";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}.terminal-app{background:#eee}.terminal-app #header{background:#fff;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.2);box-shadow:0 0 12px 1px rgba(87,87,87,0.2)}.terminal-app .terminal{float:left;font-family:monospace;color:white;background:black;padding:.4em;border-radius:2px;-webkit-box-shadow:0 0 12px 1px rgba(87,87,87,0.4);box-shadow:0 0 12px 1px rgba(87,87,87,0.4)}.terminal-app .terminal,.terminal-app .terminal dummy-screen{line-height:1em;font-size:14px}.terminal-app .terminal-cursor{color:black;background:white}.terminal-app #terminado-container{margin-top:20px}/*# sourceMappingURL=style.min.css.map */ | |
</style> | |
<style type="text/css"> | |
.highlight .hll { background-color: #ffffcc } | |
.highlight { background: #f8f8f8; } | |
.highlight .c { color: #408080; font-style: italic } /* Comment */ | |
.highlight .err { border: 1px solid #FF0000 } /* Error */ | |
.highlight .k { color: #008000; font-weight: bold } /* Keyword */ | |
.highlight .o { color: #666666 } /* Operator */ | |
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ | |
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ | |
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ | |
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ | |
.highlight .gd { color: #A00000 } /* Generic.Deleted */ | |
.highlight .ge { font-style: italic } /* Generic.Emph */ | |
.highlight .gr { color: #FF0000 } /* Generic.Error */ | |
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | |
.highlight .gi { color: #00A000 } /* Generic.Inserted */ | |
.highlight .go { color: #888888 } /* Generic.Output */ | |
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | |
.highlight .gs { font-weight: bold } /* Generic.Strong */ | |
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | |
.highlight .gt { color: #0044DD } /* Generic.Traceback */ | |
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | |
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | |
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | |
.highlight .kp { color: #008000 } /* Keyword.Pseudo */ | |
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | |
.highlight .kt { color: #B00040 } /* Keyword.Type */ | |
.highlight .m { color: #666666 } /* Literal.Number */ | |
.highlight .s { color: #BA2121 } /* Literal.String */ | |
.highlight .na { color: #7D9029 } /* Name.Attribute */ | |
.highlight .nb { color: #008000 } /* Name.Builtin */ | |
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | |
.highlight .no { color: #880000 } /* Name.Constant */ | |
.highlight .nd { color: #AA22FF } /* Name.Decorator */ | |
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ | |
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ | |
.highlight .nf { color: #0000FF } /* Name.Function */ | |
.highlight .nl { color: #A0A000 } /* Name.Label */ | |
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | |
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ | |
.highlight .nv { color: #19177C } /* Name.Variable */ | |
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | |
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ | |
.highlight .mb { color: #666666 } /* Literal.Number.Bin */ | |
.highlight .mf { color: #666666 } /* Literal.Number.Float */ | |
.highlight .mh { color: #666666 } /* Literal.Number.Hex */ | |
.highlight .mi { color: #666666 } /* Literal.Number.Integer */ | |
.highlight .mo { color: #666666 } /* Literal.Number.Oct */ | |
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ | |
.highlight .sc { color: #BA2121 } /* Literal.String.Char */ | |
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | |
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ | |
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ | |
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ | |
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ | |
.highlight .sx { color: #008000 } /* Literal.String.Other */ | |
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ | |
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ | |
.highlight .ss { color: #19177C } /* Literal.String.Symbol */ | |
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ | |
.highlight .vc { color: #19177C } /* Name.Variable.Class */ | |
.highlight .vg { color: #19177C } /* Name.Variable.Global */ | |
.highlight .vi { color: #19177C } /* Name.Variable.Instance */ | |
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ | |
</style> | |
<style type="text/css"> | |
/* Overrides of notebook CSS for static HTML export */ | |
html { | |
overflow-y: auto; | |
} | |
.reveal { | |
font-size: 160%; | |
} | |
.reveal pre { | |
width: inherit; | |
padding: 0.4em; | |
margin: 0px; | |
font-family: monospace, sans-serif; | |
font-size: 80%; | |
box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); | |
} | |
.reveal pre code { | |
padding: 0px; | |
} | |
.reveal section img { | |
border: 0px solid black; | |
box-shadow: 0 0 10px rgba(0, 0, 0, 0); | |
} | |
.reveal i { | |
font-style: normal; | |
font-family: FontAwesome; | |
font-size: 2em; | |
} | |
.reveal .slides { | |
text-align: left; | |
} | |
.reveal.fade { | |
opacity: 1; | |
} | |
.reveal .progress { | |
position: static; | |
} | |
div.input_area { | |
padding: 0.06em; | |
} | |
div.code_cell { | |
background-color: transparent; | |
} | |
div.prompt { | |
width: 11ex; | |
padding: 0.4em; | |
margin: 0px; | |
font-family: monospace, sans-serif; | |
font-size: 80%; | |
text-align: right; | |
} | |
div.output_area pre { | |
font-family: monospace, sans-serif; | |
font-size: 80%; | |
} | |
div.output_prompt { | |
/* 5px right shift to account for margin in parent container */ | |
margin: 5px 5px 0 0; | |
} | |
.rendered_html p { | |
text-align: inherit; | |
} | |
</style> | |
<!-- Custom stylesheet, it must be in the same directory as the html file --> | |
<link rel="stylesheet" href="custom.css"> | |
</head> | |
<body> | |
<div class="reveal"> | |
<div class="slides"> | |
<section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="How-to-approach-a-real-world-problem-from-the-beginning">How to approach a real world problem from the beginning<a class="anchor-link" href="#How-to-approach-a-real-world-problem-from-the-beginning">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Things to mention about this talk:</p> | |
<ol> | |
<li>We are going to integrate a lot of the pieces we've been talking about.</li> | |
<li>Input problem, output functional script</li> | |
<li>The script is going to be written in Python, but don't worry about syntax. It doesn't matter.</li> | |
<li>Don't bother taking notes. Just think.</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="The-Problem">The Problem<a class="anchor-link" href="#The-Problem">¶</a></h1> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="3"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Here's what your boss tells you:</p> | |
<p>"I need to know the genomic spans of all the transcripts in this file. More specifically, I want only canonical transcripts, which are designated in the transcript name by ending in 01. Also, the graph the spans sorted by length.</p> | |
<p>The file is attached."</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>It sounds like a reasonable and fairly straightforward task, but how do you actually go about tackling the problem?</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Opening the file's a good start:</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="6"> | |
##gff-version 3 | |
#description: evidence-based annotation of the mouse genome (GRCm38), version 5 (Ensembl 80) - long non-coding RNAs | |
#provider: GENCODE | |
#contact: [email protected] | |
#format: gff3 | |
#date: 2015-05-13 | |
##sequence-region chr1 1 195471971 | |
chr1 HAVANA gene 3073253 3074322 . + . ID=ENSMUSG00000102693.1;gene_id=ENSMUSG00000102693.1;gene_type=TEC;gene_status=KNOWN;gene_name=4933401J01Rik;level=2;havana_gene=OTTMUSG00000049935.1 | |
chr1 HAVANA transcript 3073253 3074322 . + . ID=ENSMUST00000193812.1;Parent=ENSMUSG00000102693.1;gene_id=ENSMUSG00000102693.1;transcript_id=ENSMUST00000193812.1;gene_type=TEC;gene_status=KNOWN;gene_name=4933401J01Rik;transcript_type=TEC;transcript_status=KNOWN;transcript_name=4933401J01Rik-001;level=2;tag=basic;havana_gene=OTTMUSG00000049935.1;havana_transcript=OTTMUST00000127109.1 | |
chr1 HAVANA exon 3073253 3074322 . + . ID=exon:ENSMUST00000193812.1:1;Parent=ENSMUST00000193812.1;gene_id=ENSMUSG00000102693.1;transcript_id=ENSMUST00000193812.1;gene_type=TEC;gene_status=KNOWN;gene_name=4933401J01Rik;transcript_type=TEC;transcript_status=KNOWN;transcript_name=4933401J01Rik-001;exon_number=1;exon_id=ENSMUSE00001343744.1;level=2;havana_gene=OTTMUSG00000049935.1;havana_transcript=OTTMUST00000127109.1;tag=basic | |
</div><div class="fragment" data-fragment-index="7"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>It's pretty ugly, right? It's a bit nicer if you open is in something like excel, but there are still 126,218 lines to go through.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>The first place to start is by breaking up the task into bite size chucks, and turning those chunks into pseduocode.</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="9"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>What specific steps, and in what order, are we going to need to complete for this task?</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<ol> | |
<li>Read this file to get information about the transcripts</li> | |
<li>Filter transcripts for 01 endings</li> | |
<li>Find the span of each transcript</li> | |
<li>Plot the spans by length</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Warning: Moving forward, we aren't focusing on optimization or doing things the way a professional developer would. The point of this exercise is to get the job done with the tools we have, and do it in a timely fashion (i.e. don't spend forever researching how to do each step).</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="Read-this-file-to-get-information-about-the-transcripts">Read this file to get information about the transcripts<a class="anchor-link" href="#Read-this-file-to-get-information-about-the-transcripts">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Each of these high level ideas should be further broken down into low level pseudocode. Write these ideas out before you touch the keyboard, and then again as comments as you're going through the script.</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<ol> | |
<li>Open the file</li> | |
<li>Ignore the header lines</li> | |
<li>Loop through the rest of the lines</li> | |
<li>Check to see if the 3rd column is a transcript</li> | |
<li>If it is, save that line</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Where are we going to save that line?</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="16"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>If you wanted, you could write it to a new file, and check to make sure everything looks good there. We want to keep the program running though, so we need to have a place to store the lines we want to keep ready to go. Let's add that to our to-do list.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<ol> | |
<li>Open the file</li> | |
<li>Ignore the header lines</li> | |
<li>Place to store transcript lines</li> | |
<li>Loop through the rest of the lines</li> | |
<li>Check to see if the 3rd column is a transcript</li> | |
<li>If it is, save that line</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [9]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Open the file</span> | |
<span class="n">folder</span> <span class="o">=</span> <span class="s">"C:/Users/Jessime/Research/"</span> | |
<span class="n">file_path</span> <span class="o">=</span> <span class="n">folder</span><span class="o">+</span><span class="s">"gencode.v22.long_noncoding_RNAs.gff3"</span> | |
<span class="n">gff3</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="19"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>That's pretty straightforward, just open the file designated by the path. Don't get tripped up by the string concatenation. That's just a preference of mine to make things more readable.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [10]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Ignore the header lines</span> | |
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">7</span><span class="p">):</span> | |
<span class="k">print</span> <span class="n">gff3</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>##gff-version 3 | |
#description: evidence-based annotation of the human genome (GRCh38), version 22 (Ensembl 79) - long non-coding RNAs | |
#provider: GENCODE | |
#contact: [email protected] | |
#format: gff3 | |
#date: 2015-03-06 | |
##sequence-region chr1 1 248956422 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="21"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>You don't have to print them, but it lets you know that you've moved past all of the header lines and you're where you want to be.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [11]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Place to store transcript lines</span> | |
<span class="n">transcripts</span> <span class="o">=</span> <span class="p">[]</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="23"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>A simple list of the lines we want to keep will do the trick</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Here's where things start to become a little more complicated. The next 3 comments are going to be executed in a for loop.</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [12]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Loop through the rest of the lines</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">gff3</span><span class="p">:</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="c">#Google 'get column of text python'</span> | |
<span class="n">line_type</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> | |
<span class="c">#Check to see if the 3rd column is a transcript</span> | |
<span class="k">if</span> <span class="n">line_type</span> <span class="o">==</span> <span class="s">"transcript"</span><span class="p">:</span> | |
<span class="c">#If it is, save that line</span> | |
<span class="n">transcripts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Let's make sure our list has been populated.</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="27"> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [13]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="nb">len</span><span class="p">(</span><span class="n">transcripts</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt output_prompt">Out[13]:</div> | |
<div class="output_text output_subarea output_execute_result"> | |
<pre>27670</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Great, now we have our transcripts. What was the next step again?</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="Filter-transcripts-for-01-endings">Filter transcripts for 01 endings<a class="anchor-link" href="#Filter-transcripts-for-01-endings">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Again, we need to break this down into simpler steps. My initial thought is, "This shouldn't be too hard, just:"</p> | |
<ol> | |
<li>Loop through each transcript</li> | |
<li>Check if the name ends in 01</li> | |
<li>If it does, save that line</li> | |
</ol> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="31"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>This structure looks really familiar. Let's go ahead and just add in our container.</p> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="32"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<ol> | |
<li>Place to store 01 transcript lines</li> | |
<li>Loop through each transcript</li> | |
<li>Check if the name ends in 01</li> | |
<li>If it does, save that line</li> | |
</ol> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>But wait, how do you go about checking if the name ends in 01? Let's print a couple lines to check what they look like again.</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="34"> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [14]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="k">print</span> <span class="n">transcripts</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">transcripts</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>chr1 HAVANA transcript 29554 31097 . + . ID=ENST00000473358.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000473358.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-001;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence,basic;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002840.1 | |
chr1 HAVANA transcript 30267 31109 . + . ID=ENST00000469289.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000469289.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-002;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002841.2 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>It looks like transcript_name is the section we're after, but how do we "get to it"?</p> | |
<p>WARNING: I probably don't have to say this, but I'm going to anyway: in real life, don't just guess about what you're processing. You'll eventually get it wrong and potentially waste a lot of time. Save yourself the trouble and ask someone if "transcript_name" is the field you need to process.</p> | |
<p>Grabbing the index of those values isn't going to work because you have no way of knowing that they're going to stay the same for other lines. The best way to go about this is whittle away pieces until you have only the part you want. Let's give it a shot:</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [15]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">practice_line</span> <span class="o">=</span> <span class="n">transcripts</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">practice_line</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>chr1 HAVANA transcript 29554 31097 . + . ID=ENST00000473358.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000473358.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-001;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence,basic;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002840.1 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [34]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">p_columns</span> <span class="o">=</span> <span class="n">practice_line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="k">print</span> <span class="n">p_columns</span> | |
<span class="k">print</span> <span class="s">""</span> | |
<span class="k">print</span> <span class="nb">len</span><span class="p">(</span><span class="n">p_columns</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>['chr1', 'HAVANA', 'transcript', '29554', '31097', '.', '+', '.', 'ID=ENST00000473358.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000473358.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-001;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence,basic;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002840.1'] | |
9 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="38"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>For whatever reason, this last pieces of information is seperated by semi-colons, and didn't get split up properly. We can grab that for further processing.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [17]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">info_column</span> <span class="o">=</span> <span class="n">p_columns</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">info_column</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>ID=ENST00000473358.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000473358.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-001;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence,basic;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002840.1 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [18]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">semi_columns</span> <span class="o">=</span> <span class="n">info_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">";"</span><span class="p">)</span> | |
<span class="k">print</span> <span class="n">semi_columns</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>['ID=ENST00000473358.1', 'Parent=ENSG00000243485.3', 'gene_id=ENSG00000243485.3', 'transcript_id=ENST00000473358.1', 'gene_type=lincRNA', 'gene_status=NOVEL', 'gene_name=RP11-34P13.3', 'transcript_type=lincRNA', 'transcript_status=KNOWN', 'transcript_name=RP11-34P13.3-001', 'level=2', 'transcript_support_level=5', 'tag=not_best_in_genome_evidence,basic', 'havana_gene=OTTHUMG00000000959.2', 'havana_transcript=OTTHUMT00000002840.1'] | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="41"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>We're making progress...</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [19]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">transcript_name_column</span> <span class="o">=</span> <span class="n">semi_columns</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">transcript_name_column</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>transcript_name=RP11-34P13.3-001 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="43"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>We're almost done now...</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [20]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">name_split</span> <span class="o">=</span> <span class="n">transcript_name_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">)</span> | |
<span class="k">print</span> <span class="n">name_split</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>['transcript_name', 'RP11-34P13.3-001'] | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [21]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="n">name</span> <span class="o">=</span> <span class="n">name_split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">name</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>RP11-34P13.3-001 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="46"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>So what does all of that look like together?</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [35]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="k">def</span> <span class="nf">get_name</span><span class="p">(</span><span class="n">line</span><span class="p">):</span> | |
<span class="sd">"""returns the transcript name of an RNA from a line of a GFF3 file"""</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">info_column</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> | |
<span class="n">semi_columns</span> <span class="o">=</span> <span class="n">info_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">";"</span><span class="p">)</span> | |
<span class="n">transcript_name_column</span> <span class="o">=</span> <span class="n">semi_columns</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> | |
<span class="n">name_split</span> <span class="o">=</span> <span class="n">transcript_name_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">)</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">name_split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> | |
<span class="k">return</span> <span class="n">name</span> | |
<span class="k">print</span> <span class="n">practice_line</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">get_name</span><span class="p">(</span><span class="n">practice_line</span><span class="p">)</span> | |
<span class="k">print</span> <span class="n">name</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>chr1 HAVANA transcript 29554 31097 . + . ID=ENST00000473358.1;Parent=ENSG00000243485.3;gene_id=ENSG00000243485.3;transcript_id=ENST00000473358.1;gene_type=lincRNA;gene_status=NOVEL;gene_name=RP11-34P13.3;transcript_type=lincRNA;transcript_status=KNOWN;transcript_name=RP11-34P13.3-001;level=2;transcript_support_level=5;tag=not_best_in_genome_evidence,basic;havana_gene=OTTHUMG00000000959.2;havana_transcript=OTTHUMT00000002840.1 | |
RP11-34P13.3-001 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>We finally have the name, what do we want to do with it again? We can integrate these steps into our original pseudocode.</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<ol> | |
<li>Place to store 01 transcript lines</li> | |
<li>Loop through each transcript</li> | |
<li>Extract the name from the line<ol> | |
<li>Split the line into a list</li> | |
<li>Keep the last element/column</li> | |
<li>Split that column up by semi-colons</li> | |
<li>Keep the nineth element/column, that has the transcript name</li> | |
<li>Split that column by the equal sign</li> | |
<li>Keep the name on the right side of the equal sign</li> | |
</ol> | |
</li> | |
<li>Check if the name ends in 01</li> | |
<li>If it does, save that line</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [23]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Place to store 01 transcript lines</span> | |
<span class="n">transcripts01</span> <span class="o">=</span> <span class="p">[]</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [24]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Loop through each transcript</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">transcripts</span><span class="p">:</span> | |
<span class="c">#Extract the name from the line</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">info_column</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> | |
<span class="n">semi_columns</span> <span class="o">=</span> <span class="n">info_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">";"</span><span class="p">)</span> | |
<span class="n">transcript_name_column</span> <span class="o">=</span> <span class="n">semi_columns</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> | |
<span class="n">name_split</span> <span class="o">=</span> <span class="n">transcript_name_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">)</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">name_split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> | |
<span class="c">#Check if name ends in 01</span> | |
<span class="k">if</span> <span class="n">name</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:]</span> <span class="o">==</span> <span class="s">"01"</span><span class="p">:</span> | |
<span class="c">#If it does, save that line</span> | |
<span class="n">transcripts01</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [25]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="nb">len</span><span class="p">(</span><span class="n">transcripts01</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt output_prompt">Out[25]:</div> | |
<div class="output_text output_subarea output_execute_result"> | |
<pre>15954</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="53"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>We're making some significant progress, since we now have only the lines we care about. Now let's get those spans.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="Find-the-span-of-each-transcript">Find the span of each transcript<a class="anchor-link" href="#Find-the-span-of-each-transcript">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Knowing or getting the span of each transcript is a little vaugue. To clarify further, 'span' is just going to mean the end-start chromosome positions which are found in the 4th and 5th columns. We're going to want the information in two forms. First, it would be nice to be able to type the name of a given transcript and immediately know it's span. Next, we're going to need a sorted list of the spans that can be used for our plot. Given these clearer instructions, we can make some psuedocode.</p> | |
<ol> | |
<li>Make containers for the spans</li> | |
<li>Loop through all of the 01 transcripts</li> | |
<li>Find the span</li> | |
<li>Put the name&span in one container and just the span in the other</li> | |
</ol> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [26]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Make containers for the spans</span> | |
<span class="n">spans</span> <span class="o">=</span> <span class="p">[]</span> | |
<span class="n">span_lookup</span> <span class="o">=</span> <span class="p">{}</span> <span class="c">#A dictionary will be perfect for our purposes here</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [27]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Loop through all of the 01 transcripts</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">transcripts01</span><span class="p">:</span> | |
<span class="c">#Find the span</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">start</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> | |
<span class="n">end</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span> | |
<span class="n">span</span> <span class="o">=</span> <span class="n">end</span> <span class="o">-</span> <span class="n">start</span> | |
<span class="c">#Populate the dictionary</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">get_name</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
<span class="n">span_lookup</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">span</span> | |
<span class="c">#Populate the list</span> | |
<span class="n">spans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">span</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="58"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Let's double check to make sure our lookup table is working by inputting some of the transcript names</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [28]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="k">print</span> <span class="n">span_lookup</span><span class="p">[</span><span class="s">"RP11-72L22.1-001"</span><span class="p">]</span> | |
<span class="k">print</span> <span class="n">span_lookup</span><span class="p">[</span><span class="s">"XIST-001"</span><span class="p">]</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>170391 | |
32097 | |
</pre> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="60"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>We've just completed one of the two part's of the job. All that's left now to do is plot the spans.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="Plot-the-spans-by-length">Plot the spans by length<a class="anchor-link" href="#Plot-the-spans-by-length">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Python is a general purpose language used for everything from controlling microdevices to web development. A vast majority of it's users are never going to have to plot anything, ever. That's why libraries (or modules) exist. At this point, you're probably going to have to do a bit of Googling to see what plotting libraries Python as, and what fits your needs best</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="63"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Simply searching "scatter plot python" will give you:</p> | |
<p><a href="http://matplotlib.org/examples/shapes_and_collections/scatter_demo.html">http://matplotlib.org/examples/shapes_and_collections/scatter_demo.html</a></p> | |
<p>as the first link. This resource will tell you what you need to make a scatter plot.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>The first thing we have to do is import the library.</p> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="65"> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [29]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span> | |
<span class="c">#Ignore this line, it's just for the presentation</span> | |
<span class="o">%</span><span class="k">matplotlib</span> inline | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="66"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>If we look at the link I mentioned above, we'll see that we need a list of x coordinates and another list of y coordinates. Which makes sense for a scatter plot, right?</p> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="67"> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [30]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Coordinate lists for the scatter plot</span> | |
<span class="n">x</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">spans</span><span class="p">))</span> | |
<span class="n">y</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">spans</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [31]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="c">#Generate scatter plot</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_png output_subarea "> | |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZ0AAAEACAYAAABoJ6s/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz | |
AAALEgAACxIB0t1+/AAAGIdJREFUeJzt3X+sX3Wd5/HnqxSYOjCUy0yQHxVIrInduJFhA5voZGpU | |
Wv4BTFSYRG2UTGaH2cFdMcuPbABXY2SywMAfMH+IWshKIRJ/TJaR1h9NnD+goiI4yAC7sqFFqttS | |
0BWxpe/943yu/XK5Ld97e+/53u+9z0dycs/3fX58P9/T7z2ve875nNNUFZIk9WHZqBsgSVo6DB1J | |
Um8MHUlSbwwdSVJvDB1JUm8MHUlSb4YKnSSrknw3yb8k+UmSy1p9IsmWJE8k2Zxk5cAyVyV5Msnj | |
Sc4dqJ+V5NE27eaB+tFJ7m71B5KcNjBtQ3uPJ5J8ZKB+RpIH2zKbkhx5uBtEkjR/hj3S2Qv856r6 | |
N8C/B/4myVuBK4EtVfUW4NvtNUnWABcBa4D1wK1J0tZ1G3BJVa0GVidZ3+qXALta/Sbg+rauCeAa | |
4Ow2XJvkuLbM9cANbZnn2zokSQvUUKFTVc9V1cNt/NfAT4FTgPOBjW22jcCFbfwC4K6q2ltVTwNP | |
AeckOQk4tqq2tfnuGFhmcF33Au9u4+uAzVW1p6r2AFuA81qIvQv4yjTvL0lagGZ8TSfJ6cCZwIPA | |
iVW1s03aCZzYxk8Gtg8stp0upKbWd7Q67eczAFW1D3ghyQmHWNcEsKeq9k+zLknSAjSj0ElyDN1R | |
yMer6leD06p7nk5fz9Tx2T2SNIaWDztju0h/L3BnVX2tlXcmeWNVPddOnf2i1XcAqwYWP5XuCGVH | |
G59an1zmTcCzSZYDx1XVriQ7gLUDy6wCvgPsBlYmWdaOdk5t65jabgNKkmahqvL6c818pa87AKG7 | |
/nLTlPrfAVe08SuBz7XxNcDDwFHAGcD/AtKmPQic09Z5H7C+1S8FbmvjFwOb2vgE8L+BlcDxk+Nt | |
2j3ARW38H4D/ME3ba5jPuBQG4LpRt2GhDG4Lt4Xb4nW3Rc3Heoc90nkH8CHgkSQ/arWrgM8B9yS5 | |
BHga+GBr6WNJ7gEeA/YBl1b7FC1cvgSsAO6rqm+2+u3AnUmeBHa14KGqdif5NPD9Nt+nqutQAHAF | |
sCnJZ4AftnVIkhaooUKnqv6Zg1//ec9Blvks8Nlp6j8A3jZN/WVaaE0z7YvAF6ep/4zuqEmSNAZ8 | |
IsHSsnXUDVhAto66AQvI1lE3YAHZOuoGLHY5cNZrcUpSNR8XwyRpEZuvfadHOpKk3hg6kqTeGDqS | |
pN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTe | |
GDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6 | |
kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSNAtJ1iUnbO6GrBt1e8ZFqmrUbZhX | |
SaqqMup2SFo8upD5o6/CLSu6ymUvwYvvq6r7R9uyuTNf+86hjnSSfCHJziSPDtSuS7I9yY/acN7A | |
tKuSPJnk8STnDtTPSvJom3bzQP3oJHe3+gNJThuYtiHJE234yED9jCQPtmU2JTnycDaEJA1v4vIu | |
cDbQDbes6Gp6PcOeXvsisH5KrYAbq+rMNvwTQJI1wEXAmrbMrUkm0/I24JKqWg2sTjK5zkuAXa1+ | |
E3B9W9cEcA1wdhuuTXJcW+Z64Ia2zPNtHZKkBWyo0Kmq79Ht2Kea7tDrAuCuqtpbVU8DTwHnJDkJ | |
OLaqtrX57gAubOPnAxvb+L3Au9v4OmBzVe2pqj3AFuC8FmLvAr7S5ts4sC5Jmme7b+hOqW2kGy57 | |
qavp9RxuR4K/TfLjJLcnWdlqJwPbB+bZDpwyTX1Hq9N+PgNQVfuAF5KccIh1TQB7qmr/NOuSpHnV | |
Xbt58X3wiS3dsLiu58yn5Yex7G3Af2vjnwZuoJ9TXDPu+ZDkuoGXW6tq65y1RtKS1EJm0QRNkrXA | |
2vl+n1mHTlX9YnI8yeeBf2wvdwCrBmY9le4IZUcbn1qfXOZNwLNJlgPHVdWuJDt49UZYBXwH2A2s | |
TLKsHe2c2tZxsLZeN9PPJ0lLSftjfOvk6yTXzsf7zPr0WrtGM+l9wGTPtm8AFyc5KskZwGpgW1U9 | |
B7yY5Jx2TebDwNcHltnQxt8PfLuNbwbOTbIyyfHAe4H7q+vn/V3gA22+DcDXZvtZJEn9GOpIJ8ld | |
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 | |
" | |
> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<h1 id="Putting-all-the-pieces-together">Putting all the pieces together<a class="anchor-link" href="#Putting-all-the-pieces-together">¶</a></h1> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [32]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span> | |
<span class="c">#Ignore this line, it's just for the presentation</span> | |
<span class="o">%</span><span class="k">matplotlib</span> inline | |
<span class="k">def</span> <span class="nf">get_name</span><span class="p">(</span><span class="n">line</span><span class="p">):</span> | |
<span class="sd">"""returns the transcript name of an RNA from a line of a GFF3 file"""</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">info_column</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> | |
<span class="n">semi_columns</span> <span class="o">=</span> <span class="n">info_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">";"</span><span class="p">)</span> | |
<span class="n">transcript_name_column</span> <span class="o">=</span> <span class="n">semi_columns</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span> | |
<span class="n">name_split</span> <span class="o">=</span> <span class="n">transcript_name_column</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">)</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">name_split</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> | |
<span class="k">return</span> <span class="n">name</span> | |
<span class="c">#Open the file</span> | |
<span class="n">folder</span> <span class="o">=</span> <span class="s">"C:/Users/Jessime/Research/"</span> | |
<span class="n">file_path</span> <span class="o">=</span> <span class="n">folder</span><span class="o">+</span><span class="s">"gencode.v22.long_noncoding_RNAs.gff3"</span> | |
<span class="n">gff3</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span> | |
<span class="c">#Ignore the header lines</span> | |
<span class="k">print</span> <span class="s">"#"</span><span class="o">*</span><span class="mi">35</span><span class="o">+</span><span class="s">"Header"</span><span class="o">+</span><span class="s">"#"</span><span class="o">*</span><span class="mi">35</span> | |
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">7</span><span class="p">):</span> | |
<span class="k">print</span> <span class="n">gff3</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> | |
<span class="k">print</span> <span class="s">"#"</span><span class="o">*</span><span class="mi">35</span><span class="o">+</span><span class="s">"End Header"</span><span class="o">+</span><span class="s">"#"</span><span class="o">*</span><span class="mi">35</span><span class="o">+</span><span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="o">*</span><span class="mi">3</span> | |
<span class="c">#Place to store transcript lines</span> | |
<span class="n">transcripts</span> <span class="o">=</span> <span class="p">[]</span> | |
<span class="c">#Loop through the rest of the lines</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">gff3</span><span class="p">:</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="c">#Google 'get column of text python'</span> | |
<span class="n">line_type</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> | |
<span class="c">#Check to see if the 3rd column is a transcript</span> | |
<span class="k">if</span> <span class="n">line_type</span> <span class="o">==</span> <span class="s">"transcript"</span><span class="p">:</span> | |
<span class="c">#If it is, save that line</span> | |
<span class="n">transcripts</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
<span class="k">print</span> <span class="s">"Number of transcripts: "</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">transcripts</span><span class="p">)</span> | |
<span class="c">#Place to store 01 transcript lines</span> | |
<span class="n">transcripts01</span> <span class="o">=</span> <span class="p">[]</span> | |
<span class="c">#Loop through each transcript</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">transcripts</span><span class="p">:</span> | |
<span class="c">#Extract the name from the line</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">get_name</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
<span class="c">#Check if name ends in 01</span> | |
<span class="k">if</span> <span class="n">name</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:]</span> <span class="o">==</span> <span class="s">"01"</span><span class="p">:</span> | |
<span class="c">#If it does, save that line</span> | |
<span class="n">transcripts01</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
<span class="k">print</span> <span class="s">"Number of 01 transcripts: "</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">transcripts01</span><span class="p">),</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="o">*</span><span class="mi">3</span> | |
<span class="c">#Make containers for the spans</span> | |
<span class="n">spans</span> <span class="o">=</span> <span class="p">[]</span> | |
<span class="n">span_lookup</span> <span class="o">=</span> <span class="p">{}</span> <span class="c">#A dictionary will be perfect for our purposes here</span> | |
<span class="c">#Loop through all of the 01 transcripts</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">transcripts01</span><span class="p">:</span> | |
<span class="c">#Find the span</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">start</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> | |
<span class="n">end</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span> | |
<span class="n">span</span> <span class="o">=</span> <span class="n">end</span> <span class="o">-</span> <span class="n">start</span> | |
<span class="c">#Populate the dictionary</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">get_name</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> | |
<span class="n">span_lookup</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">span</span> | |
<span class="c">#Populate the list</span> | |
<span class="n">spans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">span</span><span class="p">)</span> | |
<span class="k">print</span> <span class="s">"Number of spans: "</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">spans</span><span class="p">)</span> | |
<span class="k">print</span> <span class="s">"The span of RP11-72L22.1-001 is: "</span><span class="p">,</span> <span class="n">span_lookup</span><span class="p">[</span><span class="s">"RP11-72L22.1-001"</span><span class="p">]</span> | |
<span class="k">print</span> <span class="s">"The span of XIST-001 is: "</span><span class="p">,</span> <span class="n">span_lookup</span><span class="p">[</span><span class="s">"XIST-001"</span><span class="p">],</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="o">*</span><span class="mi">3</span> | |
<span class="c">#Coordinate lists for the scatter plot</span> | |
<span class="n">x</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">spans</span><span class="p">))</span> | |
<span class="n">y</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">spans</span><span class="p">)</span> | |
<span class="c">#Generate scatter plot</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
<span class="n">gff3</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_subarea output_stream output_stdout output_text"> | |
<pre>###################################Header################################### | |
##gff-version 3 | |
#description: evidence-based annotation of the human genome (GRCh38), version 22 (Ensembl 79) - long non-coding RNAs | |
#provider: GENCODE | |
#contact: [email protected] | |
#format: gff3 | |
#date: 2015-03-06 | |
##sequence-region chr1 1 248956422 | |
###################################End Header################################### | |
Number of transcripts: 27670 | |
Number of 01 transcripts: 15954 | |
Number of spans: 15954 | |
The span of RP11-72L22.1-001 is: 170391 | |
The span of XIST-001 is: 32097 | |
</pre> | |
</div> | |
</div> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_png output_subarea "> | |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZ0AAAEACAYAAABoJ6s/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz | |
AAALEgAACxIB0t1+/AAAGIdJREFUeJzt3X+sX3Wd5/HnqxSYOjCUy0yQHxVIrInduJFhA5voZGpU | |
Wv4BTFSYRG2UTGaH2cFdMcuPbABXY2SywMAfMH+IWshKIRJ/TJaR1h9NnD+goiI4yAC7sqFFqttS | |
0BWxpe/943yu/XK5Ld97e+/53u+9z0dycs/3fX58P9/T7z2ve875nNNUFZIk9WHZqBsgSVo6DB1J | |
Um8MHUlSbwwdSVJvDB1JUm8MHUlSb4YKnSSrknw3yb8k+UmSy1p9IsmWJE8k2Zxk5cAyVyV5Msnj | |
Sc4dqJ+V5NE27eaB+tFJ7m71B5KcNjBtQ3uPJ5J8ZKB+RpIH2zKbkhx5uBtEkjR/hj3S2Qv856r6 | |
N8C/B/4myVuBK4EtVfUW4NvtNUnWABcBa4D1wK1J0tZ1G3BJVa0GVidZ3+qXALta/Sbg+rauCeAa | |
4Ow2XJvkuLbM9cANbZnn2zokSQvUUKFTVc9V1cNt/NfAT4FTgPOBjW22jcCFbfwC4K6q2ltVTwNP | |
AeckOQk4tqq2tfnuGFhmcF33Au9u4+uAzVW1p6r2AFuA81qIvQv4yjTvL0lagGZ8TSfJ6cCZwIPA | |
iVW1s03aCZzYxk8Gtg8stp0upKbWd7Q67eczAFW1D3ghyQmHWNcEsKeq9k+zLknSAjSj0ElyDN1R | |
yMer6leD06p7nk5fz9Tx2T2SNIaWDztju0h/L3BnVX2tlXcmeWNVPddOnf2i1XcAqwYWP5XuCGVH | |
G59an1zmTcCzSZYDx1XVriQ7gLUDy6wCvgPsBlYmWdaOdk5t65jabgNKkmahqvL6c818pa87AKG7 | |
/nLTlPrfAVe08SuBz7XxNcDDwFHAGcD/AtKmPQic09Z5H7C+1S8FbmvjFwOb2vgE8L+BlcDxk+Nt | |
2j3ARW38H4D/ME3ba5jPuBQG4LpRt2GhDG4Lt4Xb4nW3Rc3Heoc90nkH8CHgkSQ/arWrgM8B9yS5 | |
BHga+GBr6WNJ7gEeA/YBl1b7FC1cvgSsAO6rqm+2+u3AnUmeBHa14KGqdif5NPD9Nt+nqutQAHAF | |
sCnJZ4AftnVIkhaooUKnqv6Zg1//ec9Blvks8Nlp6j8A3jZN/WVaaE0z7YvAF6ep/4zuqEmSNAZ8 | |
IsHSsnXUDVhAto66AQvI1lE3YAHZOuoGLHY5cNZrcUpSNR8XwyRpEZuvfadHOpKk3hg6kqTeGDqS | |
pN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTe | |
GDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6 | |
kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSNAtJ1iUnbO6GrBt1e8ZFqmrUbZhX | |
SaqqMup2SFo8upD5o6/CLSu6ymUvwYvvq6r7R9uyuTNf+86hjnSSfCHJziSPDtSuS7I9yY/acN7A | |
tKuSPJnk8STnDtTPSvJom3bzQP3oJHe3+gNJThuYtiHJE234yED9jCQPtmU2JTnycDaEJA1v4vIu | |
cDbQDbes6Gp6PcOeXvsisH5KrYAbq+rMNvwTQJI1wEXAmrbMrUkm0/I24JKqWg2sTjK5zkuAXa1+ | |
E3B9W9cEcA1wdhuuTXJcW+Z64Ia2zPNtHZKkBWyo0Kmq79Ht2Kea7tDrAuCuqtpbVU8DTwHnJDkJ | |
OLaqtrX57gAubOPnAxvb+L3Au9v4OmBzVe2pqj3AFuC8FmLvAr7S5ts4sC5Jmme7b+hOqW2kGy57 | |
qavp9RxuR4K/TfLjJLcnWdlqJwPbB+bZDpwyTX1Hq9N+PgNQVfuAF5KccIh1TQB7qmr/NOuSpHnV | |
Xbt58X3wiS3dsLiu58yn5Yex7G3Af2vjnwZuoJ9TXDPu+ZDkuoGXW6tq65y1RtKS1EJm0QRNkrXA | |
2vl+n1mHTlX9YnI8yeeBf2wvdwCrBmY9le4IZUcbn1qfXOZNwLNJlgPHVdWuJDt49UZYBXwH2A2s | |
TLKsHe2c2tZxsLZeN9PPJ0lLSftjfOvk6yTXzsf7zPr0WrtGM+l9wGTPtm8AFyc5KskZwGpgW1U9 | |
B7yY5Jx2TebDwNcHltnQxt8PfLuNbwbOTbIyyfHAe4H7q+vn/V3gA22+DcDXZvtZJEn9GOpIJ8ld | |
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 | |
" | |
> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div><div class="fragment" data-fragment-index="71"> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>Congratulations! We have working code, that we created from scratch.</p> | |
<p>Now, if time allows, we can go back through and make edits. Edits should focus on keeping code well documents, easy to read, computationally efficient, and reasonably generalized.</p> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing text_cell rendered"> | |
<div class="prompt input_prompt"> | |
</div> | |
<div class="inner_cell"> | |
<div class="text_cell_render border-box-sizing rendered_html"> | |
<p>What improvements could we make to our scripts?</p> | |
</div> | |
</div> | |
</div></section> | |
</section><section> | |
<section> | |
<div class="cell border-box-sizing code_cell rendered"> | |
<div class="input"> | |
<div class="prompt input_prompt">In [33]:</div> | |
<div class="inner_cell"> | |
<div class="input_area"> | |
<div class=" highlight hl-ipython2"><pre><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span> | |
<span class="c">#Ignore this line, it's just for the presentation</span> | |
<span class="o">%</span><span class="k">matplotlib</span> inline | |
<span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">infile</span><span class="p">,</span> <span class="n">outfile</span><span class="p">):</span> | |
<span class="c">#Open the file</span> | |
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">infile</span><span class="p">)</span> <span class="k">as</span> <span class="n">gff3</span><span class="p">,</span> <span class="nb">open</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">outfile</span><span class="p">:</span> | |
<span class="c">#Ignore the header lines</span> | |
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">7</span><span class="p">):</span> | |
<span class="n">gff3</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> | |
<span class="c">#Make containers for the spans</span> | |
<span class="n">spans</span> <span class="o">=</span> <span class="p">[]</span> | |
<span class="n">span_lookup</span> <span class="o">=</span> <span class="p">{}</span> | |
<span class="c">#Loop through the rest of the lines</span> | |
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">gff3</span><span class="p">:</span> | |
<span class="n">columns</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> | |
<span class="n">line_type</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> | |
<span class="c">#Check to see if the 3rd column is a transcript</span> | |
<span class="k">if</span> <span class="n">line_type</span> <span class="o">==</span> <span class="s">"transcript"</span><span class="p">:</span> | |
<span class="c">#Extract the name from the line</span> | |
<span class="n">name</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">";"</span><span class="p">)[</span><span class="mi">9</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">"="</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> | |
<span class="c">#Check if name ends in 01</span> | |
<span class="k">if</span> <span class="n">name</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:]</span> <span class="o">==</span> <span class="s">"01"</span><span class="p">:</span> | |
<span class="c">#Populate the dictionary</span> | |
<span class="n">span</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span> <span class="o">-</span> <span class="nb">int</span><span class="p">(</span><span class="n">columns</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> | |
<span class="n">span_lookup</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">span</span> | |
<span class="c">#Populate the list</span> | |
<span class="n">spans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">span</span><span class="p">)</span> | |
<span class="c">#Save span lookup table</span> | |
<span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"{}"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">span_lookup</span><span class="p">))</span> | |
<span class="c">#Generate scatter plot</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">spans</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">spans</span><span class="p">))</span> | |
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span> | |
<span class="n">folder</span> <span class="o">=</span> <span class="s">"C:/Users/Jessime/Research/"</span> | |
<span class="n">file_path</span> <span class="o">=</span> <span class="n">folder</span><span class="o">+</span><span class="s">"gencode.v22.long_noncoding_RNAs.gff3"</span> | |
<span class="n">outfile</span> <span class="o">=</span> <span class="n">folder</span><span class="o">+</span><span class="s">"transcript_spans.txt"</span> | |
<span class="n">main</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span> | |
</pre></div> | |
</div> | |
</div> | |
</div> | |
<div class="output_wrapper"> | |
<div class="output"> | |
<div class="output_area"><div class="prompt"></div> | |
<div class="output_png output_subarea "> | |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZ0AAAEACAYAAABoJ6s/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz | |
AAALEgAACxIB0t1+/AAAGIdJREFUeJzt3X+sX3Wd5/HnqxSYOjCUy0yQHxVIrInduJFhA5voZGpU | |
Wv4BTFSYRG2UTGaH2cFdMcuPbABXY2SywMAfMH+IWshKIRJ/TJaR1h9NnD+goiI4yAC7sqFFqttS | |
0BWxpe/943yu/XK5Ld97e+/53u+9z0dycs/3fX58P9/T7z2ve875nNNUFZIk9WHZqBsgSVo6DB1J | |
Um8MHUlSbwwdSVJvDB1JUm8MHUlSb4YKnSSrknw3yb8k+UmSy1p9IsmWJE8k2Zxk5cAyVyV5Msnj | |
Sc4dqJ+V5NE27eaB+tFJ7m71B5KcNjBtQ3uPJ5J8ZKB+RpIH2zKbkhx5uBtEkjR/hj3S2Qv856r6 | |
N8C/B/4myVuBK4EtVfUW4NvtNUnWABcBa4D1wK1J0tZ1G3BJVa0GVidZ3+qXALta/Sbg+rauCeAa | |
4Ow2XJvkuLbM9cANbZnn2zokSQvUUKFTVc9V1cNt/NfAT4FTgPOBjW22jcCFbfwC4K6q2ltVTwNP | |
AeckOQk4tqq2tfnuGFhmcF33Au9u4+uAzVW1p6r2AFuA81qIvQv4yjTvL0lagGZ8TSfJ6cCZwIPA | |
iVW1s03aCZzYxk8Gtg8stp0upKbWd7Q67eczAFW1D3ghyQmHWNcEsKeq9k+zLknSAjSj0ElyDN1R | |
yMer6leD06p7nk5fz9Tx2T2SNIaWDztju0h/L3BnVX2tlXcmeWNVPddOnf2i1XcAqwYWP5XuCGVH | |
G59an1zmTcCzSZYDx1XVriQ7gLUDy6wCvgPsBlYmWdaOdk5t65jabgNKkmahqvL6c818pa87AKG7 | |
/nLTlPrfAVe08SuBz7XxNcDDwFHAGcD/AtKmPQic09Z5H7C+1S8FbmvjFwOb2vgE8L+BlcDxk+Nt | |
2j3ARW38H4D/ME3ba5jPuBQG4LpRt2GhDG4Lt4Xb4nW3Rc3Heoc90nkH8CHgkSQ/arWrgM8B9yS5 | |
BHga+GBr6WNJ7gEeA/YBl1b7FC1cvgSsAO6rqm+2+u3AnUmeBHa14KGqdif5NPD9Nt+nqutQAHAF | |
sCnJZ4AftnVIkhaooUKnqv6Zg1//ec9Blvks8Nlp6j8A3jZN/WVaaE0z7YvAF6ep/4zuqEmSNAZ8 | |
IsHSsnXUDVhAto66AQvI1lE3YAHZOuoGLHY5cNZrcUpSNR8XwyRpEZuvfadHOpKk3hg6kqTeGDqS | |
pN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTe | |
GDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6 | |
kqTeGDqSpN4YOpKk3hg6kqTeGDqSpN4YOpKk3hg6kqTeGDqSNAtJ1iUnbO6GrBt1e8ZFqmrUbZhX | |
SaqqMup2SFo8upD5o6/CLSu6ymUvwYvvq6r7R9uyuTNf+86hjnSSfCHJziSPDtSuS7I9yY/acN7A | |
tKuSPJnk8STnDtTPSvJom3bzQP3oJHe3+gNJThuYtiHJE234yED9jCQPtmU2JTnycDaEJA1v4vIu | |
cDbQDbes6Gp6PcOeXvsisH5KrYAbq+rMNvwTQJI1wEXAmrbMrUkm0/I24JKqWg2sTjK5zkuAXa1+ | |
E3B9W9cEcA1wdhuuTXJcW+Z64Ia2zPNtHZKkBWyo0Kmq79Ht2Kea7tDrAuCuqtpbVU8DTwHnJDkJ | |
OLaqtrX57gAubOPnAxvb+L3Au9v4OmBzVe2pqj3AFuC8FmLvAr7S5ts4sC5Jmme7b+hOqW2kGy57 | |
qavp9RxuR4K/TfLjJLcnWdlqJwPbB+bZDpwyTX1Hq9N+PgNQVfuAF5KccIh1TQB7qmr/NOuSpHnV | |
Xbt58X3wiS3dsLiu58yn5Yex7G3Af2vjnwZuoJ9TXDPu+ZDkuoGXW6tq65y1RtKS1EJm0QRNkrXA | |
2vl+n1mHTlX9YnI8yeeBf2wvdwCrBmY9le4IZUcbn1qfXOZNwLNJlgPHVdWuJDt49UZYBXwH2A2s | |
TLKsHe2c2tZxsLZeN9PPJ0lLSftjfOvk6yTXzsf7zPr0WrtGM+l9wGTPtm8AFyc5KskZwGpgW1U9 | |
B7yY5Jx2TebDwNcHltnQxt8PfLuNbwbOTbIyyfHAe4H7q+vn/V3gA22+DcDXZvtZJEn9GOpIJ8ld | |
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 | |
" | |
> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div></section> | |
</section> | |
</div> | |
</div> | |
<script src="reveal.js/lib/js/head.min.js"></script> | |
<script src="reveal.js/js/reveal.js"></script> | |
<script> | |
// Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration | |
Reveal.initialize({ | |
controls: true, | |
progress: true, | |
history: true, | |
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme | |
transition: Reveal.getQueryHash().transition || 'linear', // default/cube/page/concave/zoom/linear/none | |
// Optional libraries used to extend on reveal.js | |
dependencies: [ | |
{ src: "reveal.js/lib/js/classList.js", condition: function() { return !document.body.classList; } }, | |
{ src: "reveal.js/plugin/notes/notes.js", async: true, condition: function() { return !!document.body.classList; } } | |
] | |
}); | |
</script> | |
<!-- Loading mathjax macro --> | |
<!-- Load mathjax --> | |
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> | |
<!-- MathJax configuration --> | |
<script type="text/x-mathjax-config"> | |
MathJax.Hub.Config({ | |
tex2jax: { | |
inlineMath: [ ['$','$'], ["\\(","\\)"] ], | |
displayMath: [ ['$$','$$'], ["\\[","\\]"] ], | |
processEscapes: true, | |
processEnvironments: true | |
}, | |
// Center justify equations in code and markdown cells. Elsewhere | |
// we use CSS to left justify single line equations in code cells. | |
displayAlign: 'center', | |
"HTML-CSS": { | |
styles: {'.MathJax_Display': {"margin": 0}}, | |
linebreaks: { automatic: true } | |
} | |
}); | |
</script> | |
<!-- End of mathjax configuration --> | |
<script> | |
Reveal.addEventListener( 'slidechanged', function( event ) { | |
window.scrollTo(0,0); | |
MathJax.Hub.Rerender(event.currentSlide); | |
}); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment