机器学习回顾篇(12):集成学习之Bagging与随机森林
.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('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/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: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.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";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-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: 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 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 18px;
margin-bottom: 18px;
border: 0;
border-top: 1px solid #eeeeee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 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: #777777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 8px;
margin: 36px 0 18px;
border-bottom: 1px solid #eeeeee;
}
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 #777777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 9px 18px;
margin: 0 0 18px;
font-size: inherit;
border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
address {
margin-bottom: 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: #888;
background-color: transparent;
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: #333333;
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: 0px;
padding-right: 0px;
}
@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: 0px;
padding-right: 0px;
}
.row {
margin-left: 0px;
margin-right: 0px;
}
.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: 0px;
padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0%;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0%;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 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-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
overflow-x: auto;
min-height: 0.01%;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 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: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
}
.form-control {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
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::-ms-expand {
border: 0;
background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eeeeee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 32px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 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 {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-left: 0;
padding-right: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 30px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-lg {
height: 45px;
line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.form-group-lg select.form-control {
height: 45px;
line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 45px;
min-height: 35px;
padding: 11px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.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,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 45px;
height: 45px;
line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
border-color: #3c763d;
background-color: #dff0d8;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
border-color: #8a6d3b;
background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
border-color: #a94442;
background-color: #f2dede;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 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: 0px;
margin-right: 0px;
}
@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: 0px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 17px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 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: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
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 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 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: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
outline: 0;
background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: not-allowed;
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
left: auto;
right: 0;
}
.dropdown-menu-left {
left: 0;
right: auto;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 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,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
.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 .form-control:focus {
z-index: 3;
}
.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.3333333;
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: #555555;
text-align: center;
background-color: #eeeeee;
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 {
z-index: 2;
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: #eeeeee;
}
.nav > li.disabled > a {
color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777777;
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 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: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 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;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar {
position: relative;
min-height: 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: 0px;
padding-left: 0px;
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;
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: 0px;
margin-left: 0px;
}
@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 0px;
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: 0px;
}
}
.navbar-toggle {
position: relative;
float: right;
margin-right: 0px;
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 0px;
}
.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: 0px;
margin-right: 0px;
padding: 10px 0px;
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 {
margin-bottom: 0;
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: 0px;
margin-bottom: 0px;
}
.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: 0px;
margin-right: 0px;
}
}
@media (min-width: 541px) {
.navbar-left {
float: left !important;
float: left;
}
.navbar-right {
float: right !important;
float: right;
margin-right: 0px;
}
.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: #777777;
}
.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 {
z-index: 2;
color: #23527c;
background-color: #eeeeee;
border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
z-index: 3;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
color: #777777;
background-color: #fff;
border-color: #ddd;
cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.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;
line-height: 1.5;
}
.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: #eeeeee;
}
.pager .next > a,
.pager .next > span {
float: right;
}
.pager .previous > a,
.pager .previous > span {
float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: #777777;
background-color: #fff;
cursor: not-allowed;
}
.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: #777777;
}
.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: middle;
white-space: nowrap;
text-align: center;
background-color: #777777;
border-radius: 10px;
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0;
padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #337ab7;
background-color: #fff;
}
.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eeeeee;
}
.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;
padding-left: 0px;
padding-right: 0px;
}
.jumbotron .container {
max-width: 100%;
}
@media screen and (min-width: 768px) {
.jumbotron {
padding-top: 48px;
padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
padding-left: 60px;
padding-right: 60px;
}
.jumbotron h1,
.jumbotron .h1 {
font-size: 59px;
}
}
.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 0.2s ease-in-out;
-o-transition: border 0.2s ease-in-out;
transition: border 0.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 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
.media,
.media-body {
zoom: 1;
overflow: hidden;
}
.media-body {
width: 10000px;
}
.media-object {
display: block;
}
.media-object.img-thumbnail {
max-width: none;
}
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
.media-heading {
margin-top: 0;
margin-bottom: 5px;
}
.media-list {
padding-left: 0;
list-style: none;
}
.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,
button.list-group-item {
color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
text-decoration: none;
color: #555;
background-color: #f5f5f5;
}
button.list-group-item {
width: 100%;
text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-group-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-group-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-group-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.panel {
margin-bottom: 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,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 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 > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 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: #333333;
background-color: #f5f5f5;
border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
color: #f5f5f5;
background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ddd;
}
.panel-primary {
border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
}
.panel-success > .panel-heading {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
color: #dff0d8;
background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #d6e9c6;
}
.panel-info {
border-color: #bce8f1;
}
.panel-info > .panel-heading {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
color: #d9edf7;
background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #bce8f1;
}
.panel-warning {
border-color: #faebcc;
}
.panel-warning > .panel-heading {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
color: #fcf8e3;
background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #faebcc;
}
.panel-danger {
border-color: #ebccd1;
}
.panel-danger > .panel-heading {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
color: #f2dede;
background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ebccd1;
}
.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-16by9 {
padding-bottom: 56.25%;
}
.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: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.modal-open {
overflow: hidden;
}
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
}
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 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: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
opacity: 0;
filter: alpha(opacity=0);
}
.modal-backdrop.in {
opacity: 0.5;
filter: alpha(opacity=50);
}
.modal-header {
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
margin-top: -2px;
}
.modal-title {
margin: 0;
line-height: 1.42857143;
}
.modal-body {
position: relative;
padding: 15px;
}
.modal-footer {
padding: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
margin-left: 5px;
margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
margin-left: 0;
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
@media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.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;
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-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 13px;
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);
}
.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: #999999;
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: #999999;
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: #999999;
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: #999999;
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: 0.6s ease-in-out left;
-o-transition: 0.6s ease-in-out left;
transition: 0.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 {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
-moz-transition: -moz-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
left: 0;
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
left: 0;
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
-webkit-transform: translate3d(0, 0, 0);
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: 0.5;
filter: alpha(opacity=50);
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
background-color: rgba(0, 0, 0, 0);
}
.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: 0.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%;
margin-top: -10px;
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;
line-height: 1;
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: -10px;
font-size: 30px;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
margin-right: -10px;
}
.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-header:before,
.modal-header: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-header: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;
}
.affix {
position: fixed;
}
@-ms-viewport {
width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
display: none !important;
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
@media (max-width: 767px) {
.visible-xs-block {
display: block !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline {
display: inline !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline-block {
display: inline-block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm {
display: block !important;
}
table.visible-sm {
display: table !important;
}
tr.visible-sm {
display: table-row !important;
}
th.visible-sm,
td.visible-sm {
display: table-cell !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-block {
display: block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline {
display: inline !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline-block {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md {
display: block !important;
}
table.visible-md {
display: table !important;
}
tr.visible-md {
display: table-row !important;
}
th.visible-md,
td.visible-md {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
.visible-lg {
display: block !important;
}
table.visible-lg {
display: table !important;
}
tr.visible-lg {
display: table-row !important;
}
th.visible-lg,
td.visible-lg {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline-block {
display: inline-block !important;
}
}
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.hidden-sm {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
.hidden-lg {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: block !important;
}
table.visible-print {
display: table !important;
}
tr.visible-print {
display: table-row !important;
}
th.visible-print,
td.visible-print {
display: table-cell !important;
}
}
.visible-print-block {
display: none !important;
}
@media print {
.visible-print-block {
display: block !important;
}
}
.visible-print-inline {
display: none !important;
}
@media print {
.visible-print-inline {
display: inline !important;
}
}
.visible-print-inline-block {
display: none !important;
}
@media print {
.visible-print-inline-block {
display: inline-block !important;
}
}
@media print {
.hidden-print {
display: none !important;
}
}
/*!
*
* Font Awesome
*
*/
/*!
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0');
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.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;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.33333333em;
line-height: 0.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: 0.14285714em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.85714286em;
}
.fa-border {
padding: .2em .25em .15em;
border: solid 0.08em #eee;
border-radius: .1em;
}
.fa-pull-left {
float: left;
}
.fa-pull-right {
float: right;
}
.fa.fa-pull-left {
margin-right: .3em;
}
.fa.fa-pull-right {
margin-left: .3em;
}
/* Deprecated as of 4.4.0 */
.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 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
-ms-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 {
-ms-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;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.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-feed:before,
.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-pp: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-resistance: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-y-combinator-square:before,
.fa-yc-square:before,
.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-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-intersex:before,
.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-genderless:before {
content: "\f22d";
}
.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";
}
.fa-yc:before,
.fa-y-combinator:before {
content: "\f23b";
}
.fa-optin-monster:before {
content: "\f23c";
}
.fa-opencart:before {
content: "\f23d";
}
.fa-expeditedssl:before {
content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
content: "\f244";
}
.fa-mouse-pointer:before {
content: "\f245";
}
.fa-i-cursor:before {
content: "\f246";
}
.fa-object-group:before {
content: "\f247";
}
.fa-object-ungroup:before {
content: "\f248";
}
.fa-sticky-note:before {
content: "\f249";
}
.fa-sticky-note-o:before {
content: "\f24a";
}
.fa-cc-jcb:before {
content: "\f24b";
}
.fa-cc-diners-club:before {
content: "\f24c";
}
.fa-clone:before {
content: "\f24d";
}
.fa-balance-scale:before {
content: "\f24e";
}
.fa-hourglass-o:before {
content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
content: "\f253";
}
.fa-hourglass:before {
content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
content: "\f256";
}
.fa-hand-scissors-o:before {
content: "\f257";
}
.fa-hand-lizard-o:before {
content: "\f258";
}
.fa-hand-spock-o:before {
content: "\f259";
}
.fa-hand-pointer-o:before {
content: "\f25a";
}
.fa-hand-peace-o:before {
content: "\f25b";
}
.fa-trademark:before {
content: "\f25c";
}
.fa-registered:before {
content: "\f25d";
}
.fa-creative-commons:before {
content: "\f25e";
}
.fa-gg:before {
content: "\f260";
}
.fa-gg-circle:before {
content: "\f261";
}
.fa-tripadvisor:before {
content: "\f262";
}
.fa-odnoklassniki:before {
content: "\f263";
}
.fa-odnoklassniki-square:before {
content: "\f264";
}
.fa-get-pocket:before {
content: "\f265";
}
.fa-wikipedia-w:before {
content: "\f266";
}
.fa-safari:before {
content: "\f267";
}
.fa-chrome:before {
content: "\f268";
}
.fa-firefox:before {
content: "\f269";
}
.fa-opera:before {
content: "\f26a";
}
.fa-internet-explorer:before {
content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
content: "\f26c";
}
.fa-contao:before {
content: "\f26d";
}
.fa-500px:before {
content: "\f26e";
}
.fa-amazon:before {
content: "\f270";
}
.fa-calendar-plus-o:before {
content: "\f271";
}
.fa-calendar-minus-o:before {
content: "\f272";
}
.fa-calendar-times-o:before {
content: "\f273";
}
.fa-calendar-check-o:before {
content: "\f274";
}
.fa-industry:before {
content: "\f275";
}
.fa-map-pin:before {
content: "\f276";
}
.fa-map-signs:before {
content: "\f277";
}
.fa-map-o:before {
content: "\f278";
}
.fa-map:before {
content: "\f279";
}
.fa-commenting:before {
content: "\f27a";
}
.fa-commenting-o:before {
content: "\f27b";
}
.fa-houzz:before {
content: "\f27c";
}
.fa-vimeo:before {
content: "\f27d";
}
.fa-black-tie:before {
content: "\f27e";
}
.fa-fonticons:before {
content: "\f280";
}
.fa-reddit-alien:before {
content: "\f281";
}
.fa-edge:before {
content: "\f282";
}
.fa-credit-card-alt:before {
content: "\f283";
}
.fa-codiepie:before {
content: "\f284";
}
.fa-modx:before {
content: "\f285";
}
.fa-fort-awesome:before {
content: "\f286";
}
.fa-usb:before {
content: "\f287";
}
.fa-product-hunt:before {
content: "\f288";
}
.fa-mixcloud:before {
content: "\f289";
}
.fa-scribd:before {
content: "\f28a";
}
.fa-pause-circle:before {
content: "\f28b";
}
.fa-pause-circle-o:before {
content: "\f28c";
}
.fa-stop-circle:before {
content: "\f28d";
}
.fa-stop-circle-o:before {
content: "\f28e";
}
.fa-shopping-bag:before {
content: "\f290";
}
.fa-shopping-basket:before {
content: "\f291";
}
.fa-hashtag:before {
content: "\f292";
}
.fa-bluetooth:before {
content: "\f293";
}
.fa-bluetooth-b:before {
content: "\f294";
}
.fa-percent:before {
content: "\f295";
}
.fa-gitlab:before {
content: "\f296";
}
.fa-wpbeginner:before {
content: "\f297";
}
.fa-wpforms:before {
content: "\f298";
}
.fa-envira:before {
content: "\f299";
}
.fa-universal-access:before {
content: "\f29a";
}
.fa-wheelchair-alt:before {
content: "\f29b";
}
.fa-question-circle-o:before {
content: "\f29c";
}
.fa-blind:before {
content: "\f29d";
}
.fa-audio-description:before {
content: "\f29e";
}
.fa-volume-control-phone:before {
content: "\f2a0";
}
.fa-braille:before {
content: "\f2a1";
}
.fa-assistive-listening-systems:before {
content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
content: "\f2a4";
}
.fa-glide:before {
content: "\f2a5";
}
.fa-glide-g:before {
content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
content: "\f2a7";
}
.fa-low-vision:before {
content: "\f2a8";
}
.fa-viadeo:before {
content: "\f2a9";
}
.fa-viadeo-square:before {
content: "\f2aa";
}
.fa-snapchat:before {
content: "\f2ab";
}
.fa-snapchat-ghost:before {
content: "\f2ac";
}
.fa-snapchat-square:before {
content: "\f2ad";
}
.fa-pied-piper:before {
content: "\f2ae";
}
.fa-first-order:before {
content: "\f2b0";
}
.fa-yoast:before {
content: "\f2b1";
}
.fa-themeisle:before {
content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
content: "\f2b4";
}
.fa-handshake-o:before {
content: "\f2b5";
}
.fa-envelope-open:before {
content: "\f2b6";
}
.fa-envelope-open-o:before {
content: "\f2b7";
}
.fa-linode:before {
content: "\f2b8";
}
.fa-address-book:before {
content: "\f2b9";
}
.fa-address-book-o:before {
content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
content: "\f2bc";
}
.fa-user-circle:before {
content: "\f2bd";
}
.fa-user-circle-o:before {
content: "\f2be";
}
.fa-user-o:before {
content: "\f2c0";
}
.fa-id-badge:before {
content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
content: "\f2c3";
}
.fa-quora:before {
content: "\f2c4";
}
.fa-free-code-camp:before {
content: "\f2c5";
}
.fa-telegram:before {
content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
content: "\f2cb";
}
.fa-shower:before {
content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
content: "\f2cd";
}
.fa-podcast:before {
content: "\f2ce";
}
.fa-window-maximize:before {
content: "\f2d0";
}
.fa-window-minimize:before {
content: "\f2d1";
}
.fa-window-restore:before {
content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
content: "\f2d4";
}
.fa-bandcamp:before {
content: "\f2d5";
}
.fa-grav:before {
content: "\f2d6";
}
.fa-etsy:before {
content: "\f2d7";
}
.fa-imdb:before {
content: "\f2d8";
}
.fa-ravelry:before {
content: "\f2d9";
}
.fa-eercast:before {
content: "\f2da";
}
.fa-microchip:before {
content: "\f2db";
}
.fa-snowflake-o:before {
content: "\f2dc";
}
.fa-superpowers:before {
content: "\f2dd";
}
.fa-wpexplorer:before {
content: "\f2de";
}
.fa-meetup:before {
content: "\f2e0";
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
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;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
/*!
*
* 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;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.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: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer. It allows the usage of flexible box
model layouts accross multiple browsers, including older browsers. The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below). Browsers that are known to implement this
new spec completely include:
Firefox 28.0+
Chrome 29.0+
Internet Explorer 11+
Opera 17.0+
Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
.hbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.vbox {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
.vbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
/* Old browsers */
-webkit-box-direction: reverse;
-moz-box-direction: reverse;
box-direction: reverse;
/* Modern browsers */
flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
/* Old browsers */
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
/* Old browsers */
-webkit-box-flex: 2;
-moz-box-flex: 2;
box-flex: 2;
/* Modern browsers */
flex: 2;
}
.box-group1 {
/* Deprecated */
-webkit-box-flex-group: 1;
-moz-box-flex-group: 1;
box-flex-group: 1;
}
.box-group2 {
/* Deprecated */
-webkit-box-flex-group: 2;
-moz-box-flex-group: 2;
box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
/* Old browsers */
-webkit-box-pack: start;
-moz-box-pack: start;
box-pack: start;
/* Modern browsers */
justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
/* Old browsers */
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
/* Modern browsers */
justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
/* Old browsers */
-webkit-box-pack: baseline;
-moz-box-pack: baseline;
box-pack: baseline;
/* Modern browsers */
justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
/* Old browsers */
-webkit-box-pack: stretch;
-moz-box-pack: stretch;
box-pack: stretch;
/* Modern browsers */
justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
/* Old browsers */
-webkit-box-align: start;
-moz-box-align: start;
box-align: start;
/* Modern browsers */
align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
/* Old browsers */
-webkit-box-align: end;
-moz-box-align: end;
box-align: end;
/* Modern browsers */
align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
/* Old browsers */
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;
/* Modern browsers */
align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
/* Old browsers */
-webkit-box-align: baseline;
-moz-box-align: baseline;
box-align: baseline;
/* Modern browsers */
align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
/* Old browsers */
-webkit-box-align: stretch;
-moz-box-align: stretch;
box-align: stretch;
/* Modern browsers */
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;
}
div.traceback-wrapper pre.traceback {
max-height: 600px;
overflow: auto;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
body {
background-color: #fff;
/* This makes sure that the body covers the entire window and needs to
be in a different element than the display: box in wrapper below */
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
overflow: visible;
}
body > #header {
/* Initially hidden to prevent FLOUC */
display: none;
background-color: #fff;
/* Display over codemirror */
position: relative;
z-index: 100;
}
body > #header #header-container {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 5px;
padding-bottom: 5px;
padding-top: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
body > #header .header-bar {
width: 100%;
height: 1px;
background: #e7e7e7;
margin-bottom: -1px;
}
@media print {
body > #header {
display: none !important;
}
}
#header-spacer {
width: 100%;
visibility: hidden;
}
@media print {
#header-spacer {
display: none;
}
}
#ipython_notebook {
padding-left: 0px;
padding-top: 1px;
padding-bottom: 1px;
}
[dir="rtl"] #ipython_notebook {
margin-right: 10px;
margin-left: 0;
}
[dir="rtl"] #ipython_notebook.pull-left {
float: right !important;
float: right;
}
.flex-spacer {
flex: 1;
}
#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;
}
}
/* Smaller buttons */
.ui-button .ui-button-text {
padding: 0.2em 0.8em;
font-size: 77%;
}
input.ui-button {
padding: 0.3em 0.9em;
}
span#kernel_logo_widget {
margin: 0 10px;
}
span#login_widget {
float: right;
}
[dir="rtl"] span#login_widget {
float: left;
}
span#login_widget > .button,
#logout {
color: #333;
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
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 {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
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: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 {
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 {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
max-height: calc(100vh - 200px);
overflow: auto;
flex: 1;
}
.modal-header {
cursor: move;
}
@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;
}
[dir="rtl"] .center-nav form.pull-left {
float: right !important;
float: right;
}
[dir="rtl"] .center-nav .navbar-text {
float: right;
}
[dir="rtl"] .navbar-inner {
text-align: right;
}
[dir="rtl"] div.text-left {
text-align: right;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
background-color: none;
display: inline;
}
.alternate_upload.form {
padding: 0;
margin: 0;
}
.alternate_upload input.fileinput {
position: absolute;
display: block;
width: 100%;
height: 100%;
overflow: hidden;
cursor: pointer;
opacity: 0;
z-index: 2;
}
.alternate_upload .btn-xs > input.fileinput {
margin: -1px -5px;
}
.alternate_upload .btn-upload {
position: relative;
height: 22px;
}
::-webkit-file-upload-button {
cursor: pointer;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
ul#tabs {
margin-bottom: 4px;
}
ul#tabs a {
padding-top: 6px;
padding-bottom: 4px;
}
[dir="rtl"] ul#tabs.nav-tabs > li {
float: right;
}
[dir="rtl"] ul#tabs.nav.nav-tabs {
padding-right: 0;
}
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;
}
[dir="rtl"] .list_toolbar .tree-buttons .pull-right {
float: left !important;
float: left;
}
[dir="rtl"] .list_toolbar .col-sm-4,
[dir="rtl"] .list_toolbar .col-sm-8 {
float: right;
}
.dynamic-buttons {
padding-top: 3px;
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;
}
.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: text-bottom;
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;
}
[dir="rtl"] .list_item > div input {
margin-right: 0;
}
.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_modified {
margin-right: 7px;
margin-left: 7px;
}
[dir="rtl"] .item_modified.pull-right {
float: left !important;
float: left;
}
.item_buttons {
line-height: 1em;
margin-left: -5px;
}
.item_buttons .btn,
.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 {
padding-top: 4px;
color: #5cb85c;
}
.item_buttons .kernel-name {
padding-top: 4px;
color: #5bc0de;
margin-right: 7px;
float: left;
}
[dir="rtl"] .item_buttons.pull-right {
float: left !important;
float: left;
}
[dir="rtl"] .item_buttons .kernel-name {
margin-left: 7px;
float: right;
}
.toolbar_info {
height: 24px;
line-height: 24px;
}
.list_item input:not([type=checkbox]) {
padding-top: 3px;
padding-bottom: 3px;
height: 22px;
line-height: 14px;
margin: 0px;
}
.highlight_text {
color: blue;
}
#project_name {
display: inline-block;
padding-left: 7px;
margin-left: -2px;
}
#project_name > .breadcrumb {
padding: 0px;
margin-bottom: 0px;
background-color: transparent;
font-weight: bold;
}
.sort_button {
display: inline-block;
padding-left: 7px;
}
[dir="rtl"] .sort_button.pull-right {
float: left !important;
float: left;
}
#tree-selector {
padding-right: 0px;
}
#button-select-all {
min-width: 50px;
}
[dir="rtl"] #button-select-all.btn {
float: right ;
}
#select-all {
margin-left: 7px;
margin-right: 2px;
margin-top: 2px;
height: 16px;
}
[dir="rtl"] #select-all.pull-left {
float: right !important;
float: right;
}
.menu_icon {
margin-right: 2px;
}
.tab-content .row {
margin-left: 0px;
margin-right: 0px;
}
.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;
content: "\f114";
}
.folder_icon:before.fa-pull-left {
margin-right: .3em;
}
.folder_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f02d";
position: relative;
top: -1px;
}
.notebook_icon:before.fa-pull-left {
margin-right: .3em;
}
.notebook_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f02d";
position: relative;
top: -1px;
color: #5cb85c;
}
.running_notebook_icon:before.fa-pull-left {
margin-right: .3em;
}
.running_notebook_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f016";
position: relative;
top: -2px;
}
.file_icon:before.fa-pull-left {
margin-right: .3em;
}
.file_icon:before.fa-pull-right {
margin-left: .3em;
}
.file_icon:before.pull-left {
margin-right: .3em;
}
.file_icon:before.pull-right {
margin-left: .3em;
}
#notebook_toolbar .pull-right {
padding-top: 0px;
margin-right: -1px;
}
ul#new-menu {
left: auto;
right: 0;
}
#new-menu .dropdown-header {
font-size: 10px;
border-bottom: 1px solid #e5e5e5;
padding: 0 0 3px;
margin: -3px 20px 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: 0px;
}
#running .panel-group .panel .panel-body .list_container {
margin-top: 0px;
margin-bottom: 0px;
border: 0px;
border-radius: 0px;
}
#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: 0px;
}
.delete-button {
display: none;
}
.duplicate-button {
display: none;
}
.rename-button {
display: none;
}
.move-button {
display: none;
}
.download-button {
display: none;
}
.shutdown-button {
display: none;
}
.dynamic-instructions {
display: inline-block;
padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
padding: 0px 5px;
}
.selected-keymap i.fa:before {
content: "\f00c";
}
#mode-menu {
overflow: auto;
max-height: 20em;
}
.edit_app #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
/* Use a negative 1 bottom margin, so the border overlaps the border of the
header */
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;
width: 20px;
}
.dirty-indicator.fa-pull-left {
margin-right: .3em;
}
.dirty-indicator.fa-pull-right {
margin-left: .3em;
}
.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;
width: 20px;
}
.dirty-indicator-dirty.fa-pull-left {
margin-right: .3em;
}
.dirty-indicator-dirty.fa-pull-right {
margin-left: .3em;
}
.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;
width: 20px;
}
.dirty-indicator-clean.fa-pull-left {
margin-right: .3em;
}
.dirty-indicator-clean.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f00c";
}
.dirty-indicator-clean:before.fa-pull-left {
margin-right: .3em;
}
.dirty-indicator-clean:before.fa-pull-right {
margin-left: .3em;
}
.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: 0px 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: 0px;
background-color: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
.CodeMirror-dialog {
background-color: #fff;
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI escape sequences */
/* The color values are a mix of
http://www.xcolors.net/dl/baskerville-ivorylight and
http://www.xcolors.net/dl/euphrasia */
.ansi-black-fg {
color: #3E424D;
}
.ansi-black-bg {
background-color: #3E424D;
}
.ansi-black-intense-fg {
color: #282C36;
}
.ansi-black-intense-bg {
background-color: #282C36;
}
.ansi-red-fg {
color: #E75C58;
}
.ansi-red-bg {
background-color: #E75C58;
}
.ansi-red-intense-fg {
color: #B22B31;
}
.ansi-red-intense-bg {
background-color: #B22B31;
}
.ansi-green-fg {
color: #00A250;
}
.ansi-green-bg {
background-color: #00A250;
}
.ansi-green-intense-fg {
color: #007427;
}
.ansi-green-intense-bg {
background-color: #007427;
}
.ansi-yellow-fg {
color: #DDB62B;
}
.ansi-yellow-bg {
background-color: #DDB62B;
}
.ansi-yellow-intense-fg {
color: #B27D12;
}
.ansi-yellow-intense-bg {
background-color: #B27D12;
}
.ansi-blue-fg {
color: #208FFB;
}
.ansi-blue-bg {
background-color: #208FFB;
}
.ansi-blue-intense-fg {
color: #0065CA;
}
.ansi-blue-intense-bg {
background-color: #0065CA;
}
.ansi-magenta-fg {
color: #D160C4;
}
.ansi-magenta-bg {
background-color: #D160C4;
}
.ansi-magenta-intense-fg {
color: #A03196;
}
.ansi-magenta-intense-bg {
background-color: #A03196;
}
.ansi-cyan-fg {
color: #60C6C8;
}
.ansi-cyan-bg {
background-color: #60C6C8;
}
.ansi-cyan-intense-fg {
color: #258F8F;
}
.ansi-cyan-intense-bg {
background-color: #258F8F;
}
.ansi-white-fg {
color: #C5C1B4;
}
.ansi-white-bg {
background-color: #C5C1B4;
}
.ansi-white-intense-fg {
color: #A1A6B2;
}
.ansi-white-intense-bg {
background-color: #A1A6B2;
}
.ansi-default-inverse-fg {
color: #FFFFFF;
}
.ansi-default-inverse-bg {
background-color: #000000;
}
.ansi-bold {
font-weight: bold;
}
.ansi-underline {
text-decoration: underline;
}
/* The following styles are deprecated an will be removed in a future version */
.ansibold {
font-weight: bold;
}
.ansi-inverse {
outline: 0.5px dotted;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
color: black;
}
.ansired {
color: darkred;
}
.ansigreen {
color: darkgreen;
}
.ansiyellow {
color: #c4a000;
}
.ansiblue {
color: darkblue;
}
.ansipurple {
color: darkviolet;
}
.ansicyan {
color: steelblue;
}
.ansigray {
color: gray;
}
/* and light for background, for the same reason */
.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 {
/* Old browsers */
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;
/* Modern browsers */
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: 1px;
border-style: solid;
border-color: transparent;
width: 100%;
padding: 5px;
/* This acts as a spacer between cells, that is outside the border */
margin: 0px;
outline: none;
position: relative;
overflow: visible;
}
div.cell:before {
position: absolute;
display: block;
top: -1px;
left: -1px;
width: 5px;
height: calc(100% + 2px);
content: '';
background: transparent;
}
div.cell.jupyter-soft-selected {
border-left-color: #E3F2FD;
border-left-width: 1px;
padding-left: 5px;
border-right-color: #E3F2FD;
border-right-width: 1px;
background: #E3F2FD;
}
@media print {
div.cell.jupyter-soft-selected {
border-color: transparent;
}
}
div.cell.selected,
div.cell.selected.jupyter-soft-selected {
border-color: #ababab;
}
div.cell.selected:before,
div.cell.selected.jupyter-soft-selected:before {
position: absolute;
display: block;
top: -1px;
left: -1px;
width: 5px;
height: calc(100% + 2px);
content: '';
background: #42A5F5;
}
@media print {
div.cell.selected,
div.cell.selected.jupyter-soft-selected {
border-color: transparent;
}
}
.edit_mode div.cell.selected {
border-color: #66BB6A;
}
.edit_mode div.cell.selected:before {
position: absolute;
display: block;
top: -1px;
left: -1px;
width: 5px;
height: calc(100% + 2px);
content: '';
background: #66BB6A;
}
@media print {
.edit_mode div.cell.selected {
border-color: transparent;
}
}
.prompt {
/* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
min-width: 14ex;
/* This padding is tuned to match the padding on the CodeMirror editor. */
padding: 0.4em;
margin: 0px;
font-family: monospace;
text-align: right;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
/* Don't highlight prompt number selection */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Use default cursor */
cursor: default;
}
@media (max-width: 540px) {
.prompt {
text-align: left;
}
}
div.inner_cell {
min-width: 0;
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
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;
/* Modern browsers */
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;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
/* Note that this should set vertical padding only, since CodeMirror assumes
that horizontal padding will be set on CodeMirror pre */
padding: 0.4em 0;
}
.CodeMirror-linenumber {
padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.CodeMirror pre {
/* In CM3 this went to 4px from 0 in CM2. This sets horizontal padding only,
use .CodeMirror-lines for vertical */
padding: 0 0.4em;
border: 0;
border-radius: 0;
}
.CodeMirror-cursor {
border-left: 1.4px solid black;
}
@media screen and (min-width: 2138px) and (max-width: 4319px) {
.CodeMirror-cursor {
border-left: 2px solid black;
}
}
@media screen and (min-width: 4320px) {
.CodeMirror-cursor {
border-left: 4px solid black;
}
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev
Adapted from GitHub theme
*/
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.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: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.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;
}
/* apply the same style to codemirror */
.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: #AA22FF;
font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
color: #333333;
}
.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: #AA22FF;
}
.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 {
/* this position must be relative to enable descendents to be absolute within it */
position: relative;
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
/* ideally, this would be max-height, but FF barfs all over that */
height: 24em;
/* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
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;
}
/* output div while it is collapsed */
div.output_collapsed {
margin: 0px;
padding: 0px;
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
div.out_prompt_overlay {
height: 100%;
padding: 0px 0.4em;
position: absolute;
border-radius: 2px;
}
div.out_prompt_overlay:hover {
/* use inner shadow to get border that is computed the same on WebKit/FF */
-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: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
padding: 0px;
page-break-inside: avoid;
/* Old browsers */
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;
/* Modern browsers */
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;
}
div.output_area img,
div.output_area svg {
max-width: 100%;
height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
max-width: none;
}
div.output_area .mglyph > img {
max-width: none;
}
/* This is needed to protect the pre formating from global settings such
as that of bootstrap */
.output {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
@media (max-width: 540px) {
div.output_area {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
div.output_area pre {
margin: 0;
padding: 1px 0 1px 0;
border: 0;
vertical-align: baseline;
color: black;
background-color: transparent;
border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
the prompt div. */
div.output_subarea {
overflow-x: auto;
padding: 0.4em;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
output types */
/* all text output has this class: */
div.output_text {
text-align: left;
color: #000;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
background: #fdd;
/* very light red background for stderr */
}
div.output_latex {
text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
padding: 0;
}
.js-error {
color: darkred;
}
/* raw_input styles */
div.raw_input_container {
line-height: 1.21429em;
padding-top: 5px;
}
pre.raw_input_prompt {
/* nothing needed here. */
}
input.raw_input {
font-family: monospace;
font-size: inherit;
color: inherit;
width: auto;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0em 0.25em;
margin: 0em 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;
/* any extras will just be numbers: */
}
.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.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.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:not(.list-inline),
.rendered_html ol:not(.list-inline) {
padding-left: 2em;
}
.rendered_html ul {
list-style: disc;
}
.rendered_html ul ul {
list-style: square;
margin-top: 0;
}
.rendered_html ul ul ul {
list-style: circle;
}
.rendered_html ol {
list-style: decimal;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin-top: 0;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
}
.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;
padding: 0px;
background-color: #fff;
}
.rendered_html code {
background-color: #eff0f1;
}
.rendered_html p code {
padding: 1px 5px;
}
.rendered_html pre code {
background-color: #fff;
}
.rendered_html pre,
.rendered_html code {
border: 0;
color: #000;
font-size: 100%;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: none;
border-collapse: collapse;
border-spacing: 0;
color: black;
font-size: 12px;
table-layout: fixed;
}
.rendered_html thead {
border-bottom: 1px solid black;
vertical-align: bottom;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
text-align: right;
vertical-align: middle;
padding: 0.5em 0.5em;
line-height: normal;
white-space: normal;
max-width: none;
border: none;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html tbody tr:nth-child(odd) {
background: #f5f5f5;
}
.rendered_html tbody tr:hover {
background: rgba(66, 165, 245, 0.2);
}
.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;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
.rendered_html .alert {
margin-bottom: initial;
}
.rendered_html * + .alert {
margin-top: 1em;
}
[dir="rtl"] .rendered_html p {
text-align: right;
}
div.text_cell {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.text_cell > div.prompt {
display: none;
}
}
div.text_cell_render {
/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
outline: none;
resize: none;
width: inherit;
border-style: none;
padding: 0.5em 0.5em 0.5em 0.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: 0px 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.rendered .rendered_html {
overflow-x: auto;
overflow-y: hidden;
}
.text_cell.rendered .rendered_html tr,
.text_cell.rendered .rendered_html th,
.text_cell.rendered .rendered_html td {
max-width: none;
}
.text_cell.unrendered .text_cell_render {
display: none;
}
.text_cell .dropzone .input_area {
border: 2px dashed #bababa;
margin: -1px;
}
.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;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
.notebook_app {
padding-left: 0px;
padding-right: 0px;
}
}
#ipython-main-app {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook_panel {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook {
font-size: 14px;
line-height: 20px;
overflow-y: hidden;
overflow-x: auto;
width: 100%;
/* This spaces the page away from the edge of the notebook area */
padding-top: 20px;
margin: 0px;
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: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
@media print {
#notebook-container {
width: 100%;
}
}
div.ui-widget-content {
border: 1px solid #ababab;
outline: none;
}
pre.dialog {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 2px;
padding: 0.4em;
padding-left: 2em;
}
p.dialog {
padding: 0.2em;
}
/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
*/
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: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
.notebook_app {
background-color: #EEE;
}
}
kbd {
border-style: solid;
border-width: 1px;
box-shadow: none;
margin: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
.jupyter-keybindings {
padding: 1px;
line-height: 24px;
border-bottom: 1px solid gray;
}
.jupyter-keybindings input {
margin: 0;
padding: 0;
border: none;
}
.jupyter-keybindings i {
padding: 6px;
}
.well code {
background-color: #ffffff;
border-color: #ababab;
border-width: 1px;
border-style: solid;
padding: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
border: thin solid #CFCFCF;
border-bottom: none;
background: #EEE;
border-radius: 2px 2px 0px 0px;
width: 100%;
height: 29px;
padding-right: 4px;
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
display: -webkit-flex;
}
@media print {
.celltoolbar {
display: none;
}
}
.ctb_hideshow {
display: none;
vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.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: 0px;
border-top-left-radius: 0px;
}
.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: #555555;
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: 0px;
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::-ms-expand {
border: 0;
background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
background-color: #eeeeee;
opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
cursor: not-allowed;
}
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;
}
.tags_button_container {
width: 100%;
display: flex;
}
.tag-container {
display: flex;
flex-direction: row;
flex-grow: 1;
overflow: hidden;
position: relative;
}
.tag-container > * {
margin: 0 4px;
}
.remove-tag-btn {
margin-left: 4px;
}
.tags-input {
display: flex;
}
.cell-tag:last-child:after {
content: "";
position: absolute;
right: 0;
width: 40px;
height: 100%;
/* Fade to background color of cell toolbar */
background: linear-gradient(to right, rgba(0, 0, 0, 0), #EEE);
}
.tags-input > * {
margin-left: 4px;
}
.cell-tag,
.tags-input input,
.tags-input button {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
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;
box-shadow: none;
width: inherit;
font-size: inherit;
height: 22px;
line-height: 22px;
padding: 0px 4px;
display: inline-block;
}
.cell-tag:focus,
.tags-input input:focus,
.tags-input button: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);
}
.cell-tag::-moz-placeholder,
.tags-input input::-moz-placeholder,
.tags-input button::-moz-placeholder {
color: #999;
opacity: 1;
}
.cell-tag:-ms-input-placeholder,
.tags-input input:-ms-input-placeholder,
.tags-input button:-ms-input-placeholder {
color: #999;
}
.cell-tag::-webkit-input-placeholder,
.tags-input input::-webkit-input-placeholder,
.tags-input button::-webkit-input-placeholder {
color: #999;
}
.cell-tag::-ms-expand,
.tags-input input::-ms-expand,
.tags-input button::-ms-expand {
border: 0;
background-color: transparent;
}
.cell-tag[disabled],
.tags-input input[disabled],
.tags-input button[disabled],
.cell-tag[readonly],
.tags-input input[readonly],
.tags-input button[readonly],
fieldset[disabled] .cell-tag,
fieldset[disabled] .tags-input input,
fieldset[disabled] .tags-input button {
background-color: #eeeeee;
opacity: 1;
}
.cell-tag[disabled],
.tags-input input[disabled],
.tags-input button[disabled],
fieldset[disabled] .cell-tag,
fieldset[disabled] .tags-input input,
fieldset[disabled] .tags-input button {
cursor: not-allowed;
}
textarea.cell-tag,
textarea.tags-input input,
textarea.tags-input button {
height: auto;
}
select.cell-tag,
select.tags-input input,
select.tags-input button {
height: 30px;
line-height: 30px;
}
textarea.cell-tag,
textarea.tags-input input,
textarea.tags-input button,
select[multiple].cell-tag,
select[multiple].tags-input input,
select[multiple].tags-input button {
height: auto;
}
.cell-tag,
.tags-input button {
padding: 0px 4px;
}
.cell-tag {
background-color: #fff;
white-space: nowrap;
}
.tags-input input[type=text]:focus {
outline: none;
box-shadow: none;
border-color: #ccc;
}
.completions {
position: absolute;
z-index: 110;
overflow: hidden;
border: 1px solid #ababab;
border-radius: 2px;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
line-height: 1;
}
.completions select {
background: white;
outline: none;
border: none;
padding: 0px;
margin: 0px;
overflow: auto;
font-family: monospace;
font-size: 110%;
color: #000;
width: auto;
}
.completions select option.context {
color: #286090;
}
#kernel_logo_widget .current_kernel_logo {
display: none;
margin-top: -1px;
margin-bottom: -1px;
width: 32px;
height: 32px;
}
[dir="rtl"] #kernel_logo_widget {
float: left !important;
float: left;
}
.modal .modal-body .move-path {
display: flex;
flex-direction: row;
justify-content: space;
align-items: center;
}
.modal .modal-body .move-path .server-root {
padding-right: 20px;
}
.modal .modal-body .move-path .path-input {
flex: 1;
}
#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: 0px 0px 2px 2px;
margin-bottom: 0px;
}
#menubar .navbar-toggle {
float: left;
padding-top: 7px;
padding-bottom: 7px;
border: none;
}
#menubar .navbar-collapse {
clear: left;
}
[dir="rtl"] #menubar .navbar-toggle {
float: right;
}
[dir="rtl"] #menubar .navbar-collapse {
clear: right;
}
[dir="rtl"] #menubar .navbar-nav {
float: right;
}
[dir="rtl"] #menubar .nav {
padding-right: 0px;
}
[dir="rtl"] #menubar .navbar-nav > li {
float: right;
}
[dir="rtl"] #menubar .navbar-right {
float: left !important;
}
[dir="rtl"] ul.dropdown-menu {
text-align: right;
left: auto;
}
[dir="rtl"] ul#new-menu.dropdown-menu {
right: auto;
left: 0;
}
.nav-wrapper {
border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
padding-top: 4px;
}
[dir="rtl"] i.menu-icon.pull-right {
float: left !important;
float: left;
}
ul#help_menu li a {
overflow: hidden;
padding-right: 2.2em;
}
ul#help_menu li a i {
margin-right: -1.2em;
}
[dir="rtl"] ul#help_menu li a {
padding-left: 2.2em;
}
[dir="rtl"] ul#help_menu li a i {
margin-right: 0;
margin-left: -1.2em;
}
[dir="rtl"] ul#help_menu li a i.pull-right {
float: left !important;
float: left;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
}
[dir="rtl"] .dropdown-submenu > .dropdown-menu {
right: 100%;
margin-right: -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;
display: block;
content: "\f0da";
float: right;
color: #333333;
margin-top: 2px;
margin-right: -10px;
}
.dropdown-submenu > a:after.fa-pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.fa-pull-right {
margin-left: .3em;
}
.dropdown-submenu > a:after.pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
margin-left: .3em;
}
[dir="rtl"] .dropdown-submenu > a:after {
float: left;
content: "\f0d9";
margin-right: 0;
margin-left: -10px;
}
.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;
}
[dir="rtl"] #notification_area {
float: left !important;
float: left;
}
.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;
}
[dir="rtl"] .indicator_area {
float: left !important;
float: left;
}
#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;
}
[dir="rtl"] #kernel_indicator {
float: left !important;
float: left;
border-left: 0;
border-right: 1px solid;
}
#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;
}
[dir="rtl"] #modal_indicator {
float: left !important;
float: left;
}
#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: 0px;
margin-left: 0px;
margin-right: 0px;
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;
content: "\f040";
}
.edit_mode .modal_indicator:before.fa-pull-left {
margin-right: .3em;
}
.edit_mode .modal_indicator:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: ' ';
}
.command_mode .modal_indicator:before.fa-pull-left {
margin-right: .3em;
}
.command_mode .modal_indicator:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f10c";
}
.kernel_idle_icon:before.fa-pull-left {
margin-right: .3em;
}
.kernel_idle_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f111";
}
.kernel_busy_icon:before.fa-pull-left {
margin-right: .3em;
}
.kernel_busy_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f1e2";
}
.kernel_dead_icon:before.fa-pull-left {
margin-right: .3em;
}
.kernel_dead_icon:before.fa-pull-right {
margin-left: .3em;
}
.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;
content: "\f127";
}
.kernel_disconnected_icon:before.fa-pull-left {
margin-right: .3em;
}
.kernel_disconnected_icon:before.fa-pull-right {
margin-left: .3em;
}
.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);
margin-right: 4px;
color: #333;
background-color: #fff;
border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.notification_widget:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
background-image: none;
}
.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 {
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:focus,
.notification_widget.warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.notification_widget.warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.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:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
background-image: none;
}
.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 {
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:focus,
.notification_widget.success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.notification_widget.success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.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:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
background-image: none;
}
.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 {
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:focus,
.notification_widget.info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.notification_widget.info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.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:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
background-image: none;
}
.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 {
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:focus,
.notification_widget.danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.notification_widget.danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.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:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
background-image: none;
}
.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 {
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: 0px;
width: 100%;
max-height: 50%;
padding-top: 8px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
/* Display over codemirror */
z-index: 100;
/* Hack which prevents jquery ui resizable from changing top. */
top: auto !important;
}
div#pager pre {
line-height: 1.21429em;
color: #000;
background-color: #f7f7f7;
padding: 0.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 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
top: 0px;
height: 8px;
background: #f7f7f7;
border-top: 1px solid #cfcfcf;
border-bottom: 1px solid #cfcfcf;
/* This injects handle bars (a short, wide = symbol) for
the resize handle. */
}
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 {
/* Old browsers */
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;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
line-height: 1.8em;
}
.shortcut_key {
display: inline-block;
width: 21ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
height: 30px;
margin-top: 4px;
display: flex;
justify-content: flex-start;
align-items: baseline;
width: 50%;
flex: 1;
}
span.save_widget span.filename {
height: 100%;
line-height: 1em;
margin-left: 16px;
border: none;
font-size: 146.5%;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
border-radius: 2px;
}
span.save_widget span.filename:hover {
background-color: #e6e6e6;
}
[dir="rtl"] span.save_widget.pull-left {
float: right !important;
float: right;
}
[dir="rtl"] span.save_widget span.filename {
margin-left: 0;
margin-right: 16px;
}
span.checkpoint_status,
span.autosave_status {
font-size: small;
white-space: nowrap;
padding: 0 5px;
}
@media (max-width: 767px) {
span.save_widget {
font-size: small;
padding: 0 0 0 5px;
}
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: 0px;
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: 0px;
display: inline;
font-size: 92%;
margin-left: 0.3em;
margin-right: 0.3em;
padding: 0px;
padding-top: 3px;
}
.toolbar .btn {
padding: 2px 8px;
}
.toolbar .btn-group {
margin-top: 0px;
margin-left: 5px;
}
.toolbar-btn-label {
margin-left: 6px;
}
#maintoolbar {
margin-bottom: -3px;
margin-top: -8px;
border: 0px;
min-height: 27px;
margin-left: 0px;
padding-top: 11px;
padding-bottom: 3px;
}
#maintoolbar .navbar-text {
float: none;
vertical-align: middle;
text-align: right;
margin-left: 5px;
margin-right: 0px;
margin-top: 0px;
}
.select-xs {
height: 24px;
}
[dir="rtl"] .btn-group > .btn,
.btn-group-vertical > .btn {
float: right;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
background-color: #F37626;
color: white;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
* of chance of beeing generated from the ../less/[samename].less file, you can
* try to get back the less file by reverting somme commit in history
**/
/*
* We'll try to get something pretty, so we
* have some strange css to have the scroll bar on
* the left with fix button on the top right of the tooltip
*/
@-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;
}
}
/*properties of tooltip after "expand"*/
.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;
}
/*properties of tooltip before "expand"*/
.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: 0px;
right: 0px;
}
.tooltiptext {
/*avoid the button to overlap on some docstring*/
padding-right: 30px;
}
.ipython_tooltip {
max-width: 700px;
/*fade-in animation when inserted*/
-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: 0px;
padding-left: 7px;
font-family: monospace;
min-height: 50px;
-moz-box-shadow: 0px 6px 10px -1px #adadad;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 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: 0px;
margin: 0px;
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);
}
ul.typeahead-list i {
margin-left: -10px;
width: 18px;
}
[dir="rtl"] ul.typeahead-list i {
margin-left: 0;
margin-right: -10px;
}
ul.typeahead-list {
max-height: 80vh;
overflow: auto;
}
ul.typeahead-list > li > a {
/** Firefox bug **/
/* see https://github.com/jupyter/notebook/issues/559 */
white-space: normal;
}
ul.typeahead-list > li > a.pull-right {
float: left !important;
float: left;
}
[dir="rtl"] .typeahead-list {
text-align: right;
}
.cmd-palette .modal-body {
padding: 7px;
}
.cmd-palette form {
background: white;
}
.cmd-palette input {
outline: none;
}
.no-shortcut {
min-width: 20px;
color: transparent;
}
[dir="rtl"] .no-shortcut.pull-right {
float: left !important;
float: left;
}
[dir="rtl"] .command-shortcut.pull-right {
float: left !important;
float: left;
}
.command-shortcut:before {
content: "(command mode)";
padding-right: 3px;
color: #777777;
}
.edit-shortcut:before {
content: "(edit)";
padding-right: 3px;
color: #777777;
}
[dir="rtl"] .edit-shortcut.pull-right {
float: left !important;
float: left;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
background-color: #BBDEFB;
border-color: #90CAF9;
border-style: solid;
border-width: 1px;
border-radius: 0px;
}
[dir="ltr"] #find-and-replace .input-group-btn + .form-control {
border-left: none;
}
[dir="rtl"] #find-and-replace .input-group-btn + .form-control {
border-right: none;
}
#find-and-replace #replace-preview .replace .match {
background-color: #FFCDD2;
border-color: #EF9A9A;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
background-color: #C8E6C9;
border-color: #A5D6A7;
border-radius: 0px;
}
#find-and-replace #replace-preview {
max-height: 60vh;
overflow: auto;
}
#find-and-replace #replace-preview pre {
padding: 5px 10px;
}
.terminal-app {
background: #EEE;
}
.terminal-app #header {
background: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
width: 100%;
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 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 .xterm-rows {
padding: 10px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
-->
1 引言¶
集成学习算法是当下炙手可热的一类算法,在诸多机器学习大赛中都频繁出现它的身影。准确来说,集成学习算法并不是一个单独的机器学习算法,而是通过构建多个学习器,博采众家之长,共同求解问题的一种思想。古语有云:“三个臭皮匠顶个诸葛亮”。一个简单的学习器也许不能很好的拟合数据,但是结合多个不同的学习器去解决问题,往往就可能有更加不俗的表现。 本篇博文中,我们先来详细说说集成学习思想以及分类,然后对其中的Bagging算法展开介绍。
2 集成学习¶
引言中说过,所谓集成学习就是先产生一组单个的学习器,我们姑且将这些单个的学习器称为“个体学习器”,然后通过某种策略将这些个体学习器结合起来共同完成学习任务,如下图所示。那么,有两个问题需要解决:第一,如果获得个体学习器;第二,如何将各个体学习器的结果结合到一起。
aaarticlea/jpeg;base64,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" alt="image">
在回答第一个问题前,我们必须明确,对集成学习中单个学习器必须满足两个条件:
(1)学习器之间应该有差异性。如果使用的单个学习器将没有差异,那么集成起来的结果是没有变化的。
(2)每个学习器的精度必须大于0.5。在集成学习中,单个分类器不需要很强,因为越强的分类器训练过程就越复杂,甚至容易发生过拟合,只需要保证每个学习器准确率大于0.5,因为如果单个学习的的准确率小于0.5,随着集成规模的增加,分类精度不断下降,反之如果精度大于0.5,就算简单的学习器,通过足够数量的组合最终精度也会可以趋向于1。可以通过下图来理解这两个条件。
aaarticlea/png;base64,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" alt="image">
在这两个条件前提下,对于第一个问题,有两种解决思路。一种是使用不同类别的算法来构建个体学习器,例如对于同一个任务分别使用决策树算法、支持向量机、神经网络等不同算法来构建学习器。另一种思路是所有个体学习器都使用同一种算法进行构建,这种思路是目前集成学习算法的主流。在所有个体学习器都使用同种算法构建时,如何保证学习器之间的差异性呢?有两种方案:
- 每次训练个体学习器时,对原始数据集进行抽样获得不同数据集作为当前训练集,每一个训练样本在抽样训练集中可以多次或不出现,经过$T$次训练后,可得到$T$个不同的没有相互依赖的个体学习器学习器。Bagging、随机森林就是这种方案的代表。
- 通过更新权重的方式不断地使用一个弱学习器弥补前一个弱学习器的“不足”的过程,来串行地构造一个较强的学习器,这个强学习器能够使目标函数值足够小。这一方案的代表是Boosting系列的算法,包括Adaboost、GBDT、XGBOOST等
在本文中,我们先对第一种方案的两种算法——Bagging和随机森林进行介绍,在后续的博文中,再对Adaboost、GBDT等算法进行分析。
3 Bagging¶
Bagging是并行式集成学习方法的最典型代表,算法名称来源于Bootstrap aggregating的简写,又称装袋算法,这种算法直接采用自助采样法获得$T$个各不相同的数据集,分别使用这$T$个数据集进行训练可获得$T$个个体学习器,再将这些学习器组合起来共同完成分类或者回归任务。当完成分类任务时,采用简单投票法对$T$个体学习器结果进行组合后输出;当染成回归任务时,采用简单平均法对$T$个个体学习器学习结果进行组合输出。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqsAAACdCAYAAACTpzFoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADt6SURBVHhe7Z0H2BXF9f8VFEuwIEUQpUgRAcUgUkWDigULWEBj7CBi1EQTDVH4RRPsFRuKioLG2HvBiKKi0quohKKCSlBAQBABBc7//x1nwrzzzt4td8vsvefzPOe5O7Oze2dnp+3MmTNbEcMwDMMwDMM4CndWGYZhGIZhGGfhzirDMAzDMAzjLNxZZRiGYRiGYZyFO6sMwzAMwzCMs3BnlWEYhmEYhnEW7qwyDMMwDMMwzsKdVYZhGIZhGMZZuLNaorzwwgvUt29fatOmDe2+++70m9/8hrbaaquCgjAI27VrVzr//PPppZdekndjmPKByw7DMIxbcGe1xHjzzTfp0EMPpV69etGoUaNo5syZ9M0338iz/iDsxx9/TA888ACdcMIJ1KFDB3r//fflWYYpXbjsMAzDuAl3VkuICy64gLp3707r1q2TPsWzZMkSOvjgg+nCCy+UPgxTenDZYRiGcRfurJYA69evp1q1atH9998vfeJn2LBhVKNGDfFfDFMqcNkpzGuvvUYDBgygtm3bUr169f6nErH11ltTlSpVqGrVqkK22WYb2nbbbalatWpCtttuO9p+++1phx12ELLjjjvSr371K6pevbqQnXbaiXbeeWfaZZddhOy6664ijXbbbTchNWvWFO+ldu3aQurUqSPULOrWrSsEcdljjz2ofv36Qvbcc0/aa6+9qEGDBkIaNmxIjRo1osaNGwvZe++9qUmTJtS0aVMhzZo1o+bNm9M+++wjpEWLFrTvvvtSy5YthbRq1Ypat25N++23n5D9999fqIUccMABQn7961+LNDnwwAOFtGvXjg466CBq3769EIyqd+zYkTp16iSkc+fO1KVLF/HxAoG6yCGHHCJG8vv160enn346XXXVVaw+wjAecGe1BEAjsHDhQulKjnnz5omGIg9wI8uNbBC47NiZNGkSHX744dSjRw8aMWIETZs2jf773//Ks0SbN2+mTZs20caNG4X8/PPP9NNPP9GGDRuEoGOOUeoff/xRyNq1a+mHH36gNWvWCFm9ejV9//33tGrVKiErV66kFStW0HfffSdk+fLltGzZMlq6dKmQ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" alt="image">
3.1 自助采样法¶
自助采样法(Bootstrap sampling是一种从给定原始数据集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。对于给定包含$m$个样本的原始数据集$D$,进行自助采样获得$D'$,具体操作方式:每次采样时,从几何$D$中随机抽取一个样本拷贝一份到集合$D'$中,然后将样本放回集合$D$中,是的该羊被后续采样中仍有可能被采集到;重复这一步骤$m$次后,就可以获得同样包含$m$个样本的集合$D'$,集合$D'$就是自助采样的最终结果。可以想象,集合$D$中的样本有一部分会在集合$D'$中出现重复出现,而有些样本却一次都不出现。在$m$次抽样中,某个样本从未被抽到的概率为${(1 - \frac{1}{m})^m}$,当集合$D$样本足够多时有:
$$\mathop {\lim }\limits_{m \to \infty } {(1 - \frac{1}{m})^m} = \frac{1}{e} \approx 0.368$$
也就是说,原始集合$D$中有36.8%的样本不包含在通过自助采样法获得的集合$D'$中。在Bagging中,未被采集到的36.8%的样本可以用作测试集对个体学习器性能进行评估,当个体学习器使用决策树算法构建时,这部分用本可以用来辅助树剪枝;使用神经网络构建个体学习器时,可以用来防止过拟合。
3.2 结合策略¶
假设共有$T$个个体学习器,以$\{ {h_1},{h_2}, \cdots ,{h_T}\} $表示,其中样本$x$经$h_i$后的输出值为$h_i(x)$。对于结合$T$个个体学习器输出值,主要有一下几种策略:
(1)平均法
平均法常用于回归类任务的数值型输出,包括简单平均法、加权平均法等。
- 简单平均法
$$H(x) = \frac{1}{T}\sum\limits_{i = 1}^T {{h_i}(x)} $$ - 加权平均法
$$H(x) = \sum\limits_{i = 1}^T {{w_i}{h_i}(x)} $$
式中,$w_i$是个体学习器$h_i$的权重,通常要求${w_i} \geqslant 0$且$\sum\limits_{i = 1}^T {{w_i}} = 1$。至于$w_i$的具体值,可以根据$h_i$的具体表现来确定,$h_i$准确率越高,$w_i$越大。
对于两种平均法的选择上,当个体学习器性能相差较大时,选用加权平均法;当各个体学习器性能相近时,使用简单加权平均法。
(2)投票法
投票法更多用于作为分类任务的集成学习的结合策略。
- 相对多数投票法
也可以认为是多数决策法,即预测结果中票数最高的分类类别。如果不止一个类别获得最高票,则随机选择一个作为最终类别。 - 绝对多数投票法
不光要求获得票数最高,而且要求票数过半,否则决绝输出。 - 加权投票法
与加权平均法类似,每个个体学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。
(3)学习法
学习法是一种比平均法和投票法更为强大复杂的结合策略,学习法以所有个体学习器的输出作为一个数据集,额外使用一个学习器对该数据及进行学习,然后输出最终的结果。Stacking方法是学习法的一个经典代表,目前大多数应用中所说的学习法都是指Stacking方法。甚至因为Stacking方法的特殊性和复杂性,很多资料中将Stacking方法当做是与Bagging和Boosting一样的一类集成学习算法。
Stacking方法中将之前提到的所有个体学习器称为初级学习器,将用于结合的学习器称为次级学习器。Stacking方法先从原始数据集训练处初级学习器,然后“生成”一个新的数据集用于训练次级学习器。在新的数据集中,初级学习器的输出被当做样本输出特征,而初始样本的类别标签人被当做新数据及的类别标签。(注:关于Stacking可以参考这篇博客)
4 随机森林¶
4.1 算法介绍¶
随机森林(Random Forest,建成RF)也是一种十分流行的算法,原理与Bagging非常相似,甚至有很多资料认为随机森林是Bagging的一个分支,一个扩展变体。如果已经理解了Bagging算法,那么现在再来看随机森林将再将单不过。
从名称上可以推测,随机森林是以决策树为学习算法构建个体学习器并采用Bagging思想集成的一种算法。确实也是如此,但却不止如此,因为随机森林在构建决策时,不仅在样本选择上进行了随机采样,同时在特征属性的选择上也进行了随机选取。在之前介绍决策树算法的博客中说过,传统的决策树算法在选择最优特征属性时总是从当前数据集所有特征属性(假设共有$d$个特征属性)中选择一个最优的特征属性作为当前树节点对数据集进行划分;但在随机森林中,使用决策树算法构建个体学习器时,先从$d$个属性中随机选择$k$个组成新的训练集,选择最优分裂属性时,从这$k$个属性中进行择优选取。这就是随机森林中构建决策树与传统决策树的不同。
需要注意,有两个因素对随机森林性能影响很大:
- 森林中任意两棵树的相关性:相关性越大,错误率越大;
- 森林中每棵树的分类能力:每棵树的分类能力越强,整个森林的错误率越低
$k$控制了选择特征训练集的随机程度,无论是相关性还是分类能力,都与$k$值选取息息相关,减小特征选择个数$k$,树的相关性和分类能力也会相应的降低;增大$k$,两者也会随之增大。所以关键问题是如何选择最优的m(或者是范围),这也是随机森林唯一的一个参数。当$k=d$时,与传统的决策树算法就没有什么区别了,都是从原始完整的训练集中进行选择,当$k=1$时,则是随机选择一个特征属性进行训练;一般情况下,推荐$k = {\log _2}d$。
随机森林不仅在每个个体学习器训练样本选择上,延用了Bagging算法中的自助采样法,保证了每个个体学习器训练集的差异性,同时也通过特征属性的选择,进一步进行扰动,保证了个体信息器的多样性,这也是随机森林在众多集成算法中表现突出的原因。 最后总结一下随机森林的优缺点:
优点:
(1) 每棵树都选择部分样本及部分特征,一定程度避免过拟合;
(2) 每棵树随机选择样本并随机选择特征,使得具有很好的抗噪能力,性能稳定;
(3) 能处理很高维度的数据,并且不用做特征选择;
(4) 适合并行计算;
(5) 实现比较简单;
缺点:
(1)当随机森林中的决策树个数很多时,训练时需要的空间和时间会较大;
(2)随机森林模型还有许多不好解释的地方,有点算个黑盒模型。
4.2 代码实现¶
为了方便展示,还是使用自定义的二维数据集:
import numpy as np
import matplotlib.pyplot as plt
import copy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D a = np.random.normal(20,5,300)
b = np.random.normal(15,5,300)
c = np.random.normal(20,5,300)
cluster1 = np.array([[x, y, z, 1] for x, y, z in zip(a,b, c)]) a = np.random.normal(20,5,300)
b = np.random.normal(45,5,300)
c = np.random.normal(45,5,300)
cluster2 = np.array([[x, y, z, 2] for x, y, z in zip(a,b,c)]) a = np.random.normal(55,5,300)
b = np.random.normal(30,5,300)
c = np.random.normal(45,5,300)
cluster3 = np.array([[x, y, z, 3] for x, y, z in zip(a,b,c)]) dataset = np.append(np.append(cluster1,cluster2, axis=0),cluster3, axis=0)
from sklearn.model_selection import train_test_split
from sklearn.utils import shuffle
x_train,x_test,y_train,y_test = train_test_split(dataset[:,:3],dataset[:,-1],test_size=0.3,random_state=0) # 将数据划分为训练集,测试集
x_train,y_train = shuffle(x_train,y_train) # 随机打乱数据
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_zlabel('Z') # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')
ax.scatter(x_train[:,0], x_train[:,1], x_train[:,2])
plt.show()
" alt="" />
from sklearn.ensemble import RandomForestClassifier # 导入随机森林
clf = RandomForestClassifier()
clf.fit(x_train, y_train)
/home/chb/anaconda3/envs/study_python/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
"10 in version 0.20 to 100 in 0.22.", FutureWarning)
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
max_depth=None, max_features='auto', max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, n_estimators=10,
n_jobs=None, oob_score=False, random_state=None,
verbose=0, warm_start=False)
dataset[0]
array([31.35045639, 14.1587136 , 11.3989477 , 1. ])
clf.predict([[22.63809831, 24.57126294, 18.54161034]]) # 对当个样本类别进行预测
array([1.])
# 验证准确率
from sklearn.metrics import accuracy_score
print('模型准确率为:',accuracy_score(y_test, clf.predict(x_test)))
模型准确率为: 1.0
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for x, y, z, p in zip(x_test[:,0], x_test[:,1], x_test[:,2], y_test):
if int(p)==1:
ax.scatter(x, y, z, c='r')
elif int(p)==2:
ax.scatter(x, y, z, c='y')
else:
ax.scatter(x, y, z, c='g')
ax.set_zlabel('Z') # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()
" alt="" />
机器学习回顾篇(12):集成学习之Bagging与随机森林的更多相关文章
- 机器学习回顾篇(13):集成学习之AdaBoost
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...
- [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
[白话解析] 通俗解析集成学习之bagging,boosting & 随机森林 0x00 摘要 本文将尽量使用通俗易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来 ...
- 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)
本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...
- 机器学习总结(二)bagging与随机森林
一:Bagging与随机森林 与Boosting族算法不同的是,Bagging和随机森林的个体学习器之间不存在强的依赖关系,可同时生成并行化的方法. Bagging算法 bagging的算法过程如下: ...
- Bagging之随机森林
随机森林(Random Forest)是一种Bagging(Bootstrap Aggregating)集成算法,在样本随机(样本扰动)的基础上,进一步运用特征随机(属性扰动)的机制,得到比一般的Ba ...
- (数据科学学习手札26)随机森林分类器原理详解&Python与R实现
一.简介 作为集成学习中非常著名的方法,随机森林被誉为“代表集成学习技术水平的方法”,由于其简单.容易实现.计算开销小,使得它在现实任务中得到广泛使用,因为其来源于决策树和bagging,决策树我在前 ...
- [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)
[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...
- Bagging与随机森林(RF)算法原理总结
Bagging与随机森林算法原理总结 在集成学习原理小结中,我们学习到了两个流派,一个是Boosting,它的特点是各个弱学习器之间存在依赖和关系,另一个是Bagging,它的特点是各个弱学习器之间没 ...
随机推荐
- Myeclipse 方法中文注释看不到
参考以下几种解决方式: 1 改变整个文件类型的编码格式 1) eclipse->window->preferences->General->Content Types 2) 找 ...
- Java练习 SDUT-1580_闰年
闰年 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 时间过得真快啊,又要过年了,同时,我们的人生也增长了一年的阅历,又 ...
- ros:出现:error: ros/ros.h: No such file or directory
出现这个问题是因为在cmakelist.txt中没有声明对roscpp的依赖.在find_package中添加roscpp,重新执行就ok了.
- Quick BI 3.0 - 强大的多维分析表格:交叉表
写在开头 对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器.通过交叉表对数据的承载和管理,用户可以一目了然地分析出 ...
- day2_python之字符编码
一 .计算机基础知识 二.文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的, ...
- iptables 网址转译 (Network Address Translation,NAT)
当封包流经NAT電腦時,其位址/通訊端口會被修改,以達到改变包目的地(或旅程),或是让目的地误以为包是源自NAT电脑的效果.換言之,对封包执行NAT的电脑,可以成为新包的来源或目的地,或是成为真正来源 ...
- 学习微信小程序
1.从小程序指南文档开始看起:小程序指南 2.开发者工具下载:小程序开发工具
- 使用提示(Hints)
对于表的访问,可以使用两种Hints. FULL 和 ROWID FULL hint 告诉ORACLE使用全表扫描的方式访问指定表. 例如: SELECT /*+ FULL(EMP) */ * FRO ...
- 【原生JS】滑动门效果
效果图: 思路:通过每次鼠标移动至目标上使所有图片重置为初始样式再向左移动目标及其左侧每个图片隐藏部分距离即实现. HTML: <!DOCTYPE html> <html> & ...
- <STL源码剖析> 6.3.6 power
计算power的算法说明 http://www.sxt.cn/u/324/blog/2112 翻译自 http://videlalvaro.github.io/2014/03/the-power-a ...