15766 lines
667 KiB
HTML
15766 lines
667 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head><meta charset="utf-8" />
|
|
<title>HOW-TO</title>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
|
|
|
|
<style type="text/css">
|
|
/*!
|
|
*
|
|
* Twitter Bootstrap
|
|
*
|
|
*/
|
|
/*!
|
|
* Bootstrap v3.3.6 (http://getbootstrap.com)
|
|
* Copyright 2011-2015 Twitter, Inc.
|
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
*/
|
|
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
|
|
html {
|
|
font-family: sans-serif;
|
|
-ms-text-size-adjust: 100%;
|
|
-webkit-text-size-adjust: 100%;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
}
|
|
article,
|
|
aside,
|
|
details,
|
|
figcaption,
|
|
figure,
|
|
footer,
|
|
header,
|
|
hgroup,
|
|
main,
|
|
menu,
|
|
nav,
|
|
section,
|
|
summary {
|
|
display: block;
|
|
}
|
|
audio,
|
|
canvas,
|
|
progress,
|
|
video {
|
|
display: inline-block;
|
|
vertical-align: baseline;
|
|
}
|
|
audio:not([controls]) {
|
|
display: none;
|
|
height: 0;
|
|
}
|
|
[hidden],
|
|
template {
|
|
display: none;
|
|
}
|
|
a {
|
|
background-color: transparent;
|
|
}
|
|
a:active,
|
|
a:hover {
|
|
outline: 0;
|
|
}
|
|
abbr[title] {
|
|
border-bottom: 1px dotted;
|
|
}
|
|
b,
|
|
strong {
|
|
font-weight: bold;
|
|
}
|
|
dfn {
|
|
font-style: italic;
|
|
}
|
|
h1 {
|
|
font-size: 2em;
|
|
margin: 0.67em 0;
|
|
}
|
|
mark {
|
|
background: #ff0;
|
|
color: #000;
|
|
}
|
|
small {
|
|
font-size: 80%;
|
|
}
|
|
sub,
|
|
sup {
|
|
font-size: 75%;
|
|
line-height: 0;
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
sup {
|
|
top: -0.5em;
|
|
}
|
|
sub {
|
|
bottom: -0.25em;
|
|
}
|
|
img {
|
|
border: 0;
|
|
}
|
|
svg:not(:root) {
|
|
overflow: hidden;
|
|
}
|
|
figure {
|
|
margin: 1em 40px;
|
|
}
|
|
hr {
|
|
box-sizing: content-box;
|
|
height: 0;
|
|
}
|
|
pre {
|
|
overflow: auto;
|
|
}
|
|
code,
|
|
kbd,
|
|
pre,
|
|
samp {
|
|
font-family: monospace, monospace;
|
|
font-size: 1em;
|
|
}
|
|
button,
|
|
input,
|
|
optgroup,
|
|
select,
|
|
textarea {
|
|
color: inherit;
|
|
font: inherit;
|
|
margin: 0;
|
|
}
|
|
button {
|
|
overflow: visible;
|
|
}
|
|
button,
|
|
select {
|
|
text-transform: none;
|
|
}
|
|
button,
|
|
html input[type="button"],
|
|
input[type="reset"],
|
|
input[type="submit"] {
|
|
-webkit-appearance: button;
|
|
cursor: pointer;
|
|
}
|
|
button[disabled],
|
|
html input[disabled] {
|
|
cursor: default;
|
|
}
|
|
button::-moz-focus-inner,
|
|
input::-moz-focus-inner {
|
|
border: 0;
|
|
padding: 0;
|
|
}
|
|
input {
|
|
line-height: normal;
|
|
}
|
|
input[type="checkbox"],
|
|
input[type="radio"] {
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
}
|
|
input[type="number"]::-webkit-inner-spin-button,
|
|
input[type="number"]::-webkit-outer-spin-button {
|
|
height: auto;
|
|
}
|
|
input[type="search"] {
|
|
-webkit-appearance: textfield;
|
|
box-sizing: content-box;
|
|
}
|
|
input[type="search"]::-webkit-search-cancel-button,
|
|
input[type="search"]::-webkit-search-decoration {
|
|
-webkit-appearance: none;
|
|
}
|
|
fieldset {
|
|
border: 1px solid #c0c0c0;
|
|
margin: 0 2px;
|
|
padding: 0.35em 0.625em 0.75em;
|
|
}
|
|
legend {
|
|
border: 0;
|
|
padding: 0;
|
|
}
|
|
textarea {
|
|
overflow: auto;
|
|
}
|
|
optgroup {
|
|
font-weight: bold;
|
|
}
|
|
table {
|
|
border-collapse: collapse;
|
|
border-spacing: 0;
|
|
}
|
|
td,
|
|
th {
|
|
padding: 0;
|
|
}
|
|
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
|
|
@media print {
|
|
*,
|
|
*:before,
|
|
*:after {
|
|
background: transparent !important;
|
|
color: #000 !important;
|
|
box-shadow: none !important;
|
|
text-shadow: none !important;
|
|
}
|
|
a,
|
|
a:visited {
|
|
text-decoration: underline;
|
|
}
|
|
a[href]:after {
|
|
content: " (" attr(href) ")";
|
|
}
|
|
abbr[title]:after {
|
|
content: " (" attr(title) ")";
|
|
}
|
|
a[href^="#"]:after,
|
|
a[href^="javascript:"]:after {
|
|
content: "";
|
|
}
|
|
pre,
|
|
blockquote {
|
|
border: 1px solid #999;
|
|
page-break-inside: avoid;
|
|
}
|
|
thead {
|
|
display: table-header-group;
|
|
}
|
|
tr,
|
|
img {
|
|
page-break-inside: avoid;
|
|
}
|
|
img {
|
|
max-width: 100% !important;
|
|
}
|
|
p,
|
|
h2,
|
|
h3 {
|
|
orphans: 3;
|
|
widows: 3;
|
|
}
|
|
h2,
|
|
h3 {
|
|
page-break-after: avoid;
|
|
}
|
|
.navbar {
|
|
display: none;
|
|
}
|
|
.btn > .caret,
|
|
.dropup > .btn > .caret {
|
|
border-top-color: #000 !important;
|
|
}
|
|
.label {
|
|
border: 1px solid #000;
|
|
}
|
|
.table {
|
|
border-collapse: collapse !important;
|
|
}
|
|
.table td,
|
|
.table th {
|
|
background-color: #fff !important;
|
|
}
|
|
.table-bordered th,
|
|
.table-bordered td {
|
|
border: 1px solid #ddd !important;
|
|
}
|
|
}
|
|
@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: thin dotted;
|
|
outline: 5px auto -webkit-focus-ring-color;
|
|
outline-offset: -2px;
|
|
}
|
|
figure {
|
|
margin: 0;
|
|
}
|
|
img {
|
|
vertical-align: middle;
|
|
}
|
|
.img-responsive,
|
|
.thumbnail > img,
|
|
.thumbnail a > img,
|
|
.carousel-inner > .item > img,
|
|
.carousel-inner > .item > a > img {
|
|
display: block;
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
.img-rounded {
|
|
border-radius: 3px;
|
|
}
|
|
.img-thumbnail {
|
|
padding: 4px;
|
|
line-height: 1.42857143;
|
|
background-color: #fff;
|
|
border: 1px solid #ddd;
|
|
border-radius: 2px;
|
|
-webkit-transition: all 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: thin dotted;
|
|
outline: 5px auto -webkit-focus-ring-color;
|
|
outline-offset: -2px;
|
|
}
|
|
output {
|
|
display: block;
|
|
padding-top: 7px;
|
|
font-size: 13px;
|
|
line-height: 1.42857143;
|
|
color: #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: thin dotted;
|
|
outline: 5px auto -webkit-focus-ring-color;
|
|
outline-offset: -2px;
|
|
}
|
|
.btn:hover,
|
|
.btn:focus,
|
|
.btn.focus {
|
|
color: #333;
|
|
text-decoration: none;
|
|
}
|
|
.btn:active,
|
|
.btn.active {
|
|
outline: 0;
|
|
background-image: none;
|
|
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
|
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
|
}
|
|
.btn.disabled,
|
|
.btn[disabled],
|
|
fieldset[disabled] .btn {
|
|
cursor: not-allowed;
|
|
opacity: 0.65;
|
|
filter: alpha(opacity=65);
|
|
-webkit-box-shadow: none;
|
|
box-shadow: none;
|
|
}
|
|
a.btn.disabled,
|
|
fieldset[disabled] a.btn {
|
|
pointer-events: none;
|
|
}
|
|
.btn-default {
|
|
color: #333;
|
|
background-color: #fff;
|
|
border-color: #ccc;
|
|
}
|
|
.btn-default:focus,
|
|
.btn-default.focus {
|
|
color: #333;
|
|
background-color: #e6e6e6;
|
|
border-color: #8c8c8c;
|
|
}
|
|
.btn-default:hover {
|
|
color: #333;
|
|
background-color: #e6e6e6;
|
|
border-color: #adadad;
|
|
}
|
|
.btn-default:active,
|
|
.btn-default.active,
|
|
.open > .dropdown-toggle.btn-default {
|
|
color: #333;
|
|
background-color: #e6e6e6;
|
|
border-color: #adadad;
|
|
}
|
|
.btn-default:active:hover,
|
|
.btn-default.active:hover,
|
|
.open > .dropdown-toggle.btn-default:hover,
|
|
.btn-default:active:focus,
|
|
.btn-default.active:focus,
|
|
.open > .dropdown-toggle.btn-default:focus,
|
|
.btn-default:active.focus,
|
|
.btn-default.active.focus,
|
|
.open > .dropdown-toggle.btn-default.focus {
|
|
color: #333;
|
|
background-color: #d4d4d4;
|
|
border-color: #8c8c8c;
|
|
}
|
|
.btn-default:active,
|
|
.btn-default.active,
|
|
.open > .dropdown-toggle.btn-default {
|
|
background-image: none;
|
|
}
|
|
.btn-default.disabled:hover,
|
|
.btn-default[disabled]:hover,
|
|
fieldset[disabled] .btn-default:hover,
|
|
.btn-default.disabled:focus,
|
|
.btn-default[disabled]:focus,
|
|
fieldset[disabled] .btn-default:focus,
|
|
.btn-default.disabled.focus,
|
|
.btn-default[disabled].focus,
|
|
fieldset[disabled] .btn-default.focus {
|
|
background-color: #fff;
|
|
border-color: #ccc;
|
|
}
|
|
.btn-default .badge {
|
|
color: #fff;
|
|
background-color: #333;
|
|
}
|
|
.btn-primary {
|
|
color: #fff;
|
|
background-color: #337ab7;
|
|
border-color: #2e6da4;
|
|
}
|
|
.btn-primary:focus,
|
|
.btn-primary.focus {
|
|
color: #fff;
|
|
background-color: #286090;
|
|
border-color: #122b40;
|
|
}
|
|
.btn-primary:hover {
|
|
color: #fff;
|
|
background-color: #286090;
|
|
border-color: #204d74;
|
|
}
|
|
.btn-primary:active,
|
|
.btn-primary.active,
|
|
.open > .dropdown-toggle.btn-primary {
|
|
color: #fff;
|
|
background-color: #286090;
|
|
border-color: #204d74;
|
|
}
|
|
.btn-primary:active:hover,
|
|
.btn-primary.active:hover,
|
|
.open > .dropdown-toggle.btn-primary:hover,
|
|
.btn-primary:active:focus,
|
|
.btn-primary.active:focus,
|
|
.open > .dropdown-toggle.btn-primary:focus,
|
|
.btn-primary:active.focus,
|
|
.btn-primary.active.focus,
|
|
.open > .dropdown-toggle.btn-primary.focus {
|
|
color: #fff;
|
|
background-color: #204d74;
|
|
border-color: #122b40;
|
|
}
|
|
.btn-primary:active,
|
|
.btn-primary.active,
|
|
.open > .dropdown-toggle.btn-primary {
|
|
background-image: none;
|
|
}
|
|
.btn-primary.disabled:hover,
|
|
.btn-primary[disabled]:hover,
|
|
fieldset[disabled] .btn-primary:hover,
|
|
.btn-primary.disabled:focus,
|
|
.btn-primary[disabled]:focus,
|
|
fieldset[disabled] .btn-primary:focus,
|
|
.btn-primary.disabled.focus,
|
|
.btn-primary[disabled].focus,
|
|
fieldset[disabled] .btn-primary.focus {
|
|
background-color: #337ab7;
|
|
border-color: #2e6da4;
|
|
}
|
|
.btn-primary .badge {
|
|
color: #337ab7;
|
|
background-color: #fff;
|
|
}
|
|
.btn-success {
|
|
color: #fff;
|
|
background-color: #5cb85c;
|
|
border-color: #4cae4c;
|
|
}
|
|
.btn-success:focus,
|
|
.btn-success.focus {
|
|
color: #fff;
|
|
background-color: #449d44;
|
|
border-color: #255625;
|
|
}
|
|
.btn-success:hover {
|
|
color: #fff;
|
|
background-color: #449d44;
|
|
border-color: #398439;
|
|
}
|
|
.btn-success:active,
|
|
.btn-success.active,
|
|
.open > .dropdown-toggle.btn-success {
|
|
color: #fff;
|
|
background-color: #449d44;
|
|
border-color: #398439;
|
|
}
|
|
.btn-success:active:hover,
|
|
.btn-success.active:hover,
|
|
.open > .dropdown-toggle.btn-success:hover,
|
|
.btn-success:active:focus,
|
|
.btn-success.active:focus,
|
|
.open > .dropdown-toggle.btn-success:focus,
|
|
.btn-success:active.focus,
|
|
.btn-success.active.focus,
|
|
.open > .dropdown-toggle.btn-success.focus {
|
|
color: #fff;
|
|
background-color: #398439;
|
|
border-color: #255625;
|
|
}
|
|
.btn-success:active,
|
|
.btn-success.active,
|
|
.open > .dropdown-toggle.btn-success {
|
|
background-image: none;
|
|
}
|
|
.btn-success.disabled:hover,
|
|
.btn-success[disabled]:hover,
|
|
fieldset[disabled] .btn-success:hover,
|
|
.btn-success.disabled:focus,
|
|
.btn-success[disabled]:focus,
|
|
fieldset[disabled] .btn-success:focus,
|
|
.btn-success.disabled.focus,
|
|
.btn-success[disabled].focus,
|
|
fieldset[disabled] .btn-success.focus {
|
|
background-color: #5cb85c;
|
|
border-color: #4cae4c;
|
|
}
|
|
.btn-success .badge {
|
|
color: #5cb85c;
|
|
background-color: #fff;
|
|
}
|
|
.btn-info {
|
|
color: #fff;
|
|
background-color: #5bc0de;
|
|
border-color: #46b8da;
|
|
}
|
|
.btn-info:focus,
|
|
.btn-info.focus {
|
|
color: #fff;
|
|
background-color: #31b0d5;
|
|
border-color: #1b6d85;
|
|
}
|
|
.btn-info:hover {
|
|
color: #fff;
|
|
background-color: #31b0d5;
|
|
border-color: #269abc;
|
|
}
|
|
.btn-info:active,
|
|
.btn-info.active,
|
|
.open > .dropdown-toggle.btn-info {
|
|
color: #fff;
|
|
background-color: #31b0d5;
|
|
border-color: #269abc;
|
|
}
|
|
.btn-info:active:hover,
|
|
.btn-info.active:hover,
|
|
.open > .dropdown-toggle.btn-info:hover,
|
|
.btn-info:active:focus,
|
|
.btn-info.active:focus,
|
|
.open > .dropdown-toggle.btn-info:focus,
|
|
.btn-info:active.focus,
|
|
.btn-info.active.focus,
|
|
.open > .dropdown-toggle.btn-info.focus {
|
|
color: #fff;
|
|
background-color: #269abc;
|
|
border-color: #1b6d85;
|
|
}
|
|
.btn-info:active,
|
|
.btn-info.active,
|
|
.open > .dropdown-toggle.btn-info {
|
|
background-image: none;
|
|
}
|
|
.btn-info.disabled:hover,
|
|
.btn-info[disabled]:hover,
|
|
fieldset[disabled] .btn-info:hover,
|
|
.btn-info.disabled:focus,
|
|
.btn-info[disabled]:focus,
|
|
fieldset[disabled] .btn-info:focus,
|
|
.btn-info.disabled.focus,
|
|
.btn-info[disabled].focus,
|
|
fieldset[disabled] .btn-info.focus {
|
|
background-color: #5bc0de;
|
|
border-color: #46b8da;
|
|
}
|
|
.btn-info .badge {
|
|
color: #5bc0de;
|
|
background-color: #fff;
|
|
}
|
|
.btn-warning {
|
|
color: #fff;
|
|
background-color: #f0ad4e;
|
|
border-color: #eea236;
|
|
}
|
|
.btn-warning:focus,
|
|
.btn-warning.focus {
|
|
color: #fff;
|
|
background-color: #ec971f;
|
|
border-color: #985f0d;
|
|
}
|
|
.btn-warning:hover {
|
|
color: #fff;
|
|
background-color: #ec971f;
|
|
border-color: #d58512;
|
|
}
|
|
.btn-warning:active,
|
|
.btn-warning.active,
|
|
.open > .dropdown-toggle.btn-warning {
|
|
color: #fff;
|
|
background-color: #ec971f;
|
|
border-color: #d58512;
|
|
}
|
|
.btn-warning:active:hover,
|
|
.btn-warning.active:hover,
|
|
.open > .dropdown-toggle.btn-warning:hover,
|
|
.btn-warning:active:focus,
|
|
.btn-warning.active:focus,
|
|
.open > .dropdown-toggle.btn-warning:focus,
|
|
.btn-warning:active.focus,
|
|
.btn-warning.active.focus,
|
|
.open > .dropdown-toggle.btn-warning.focus {
|
|
color: #fff;
|
|
background-color: #d58512;
|
|
border-color: #985f0d;
|
|
}
|
|
.btn-warning:active,
|
|
.btn-warning.active,
|
|
.open > .dropdown-toggle.btn-warning {
|
|
background-image: none;
|
|
}
|
|
.btn-warning.disabled:hover,
|
|
.btn-warning[disabled]:hover,
|
|
fieldset[disabled] .btn-warning:hover,
|
|
.btn-warning.disabled:focus,
|
|
.btn-warning[disabled]:focus,
|
|
fieldset[disabled] .btn-warning:focus,
|
|
.btn-warning.disabled.focus,
|
|
.btn-warning[disabled].focus,
|
|
fieldset[disabled] .btn-warning.focus {
|
|
background-color: #f0ad4e;
|
|
border-color: #eea236;
|
|
}
|
|
.btn-warning .badge {
|
|
color: #f0ad4e;
|
|
background-color: #fff;
|
|
}
|
|
.btn-danger {
|
|
color: #fff;
|
|
background-color: #d9534f;
|
|
border-color: #d43f3a;
|
|
}
|
|
.btn-danger:focus,
|
|
.btn-danger.focus {
|
|
color: #fff;
|
|
background-color: #c9302c;
|
|
border-color: #761c19;
|
|
}
|
|
.btn-danger:hover {
|
|
color: #fff;
|
|
background-color: #c9302c;
|
|
border-color: #ac2925;
|
|
}
|
|
.btn-danger:active,
|
|
.btn-danger.active,
|
|
.open > .dropdown-toggle.btn-danger {
|
|
color: #fff;
|
|
background-color: #c9302c;
|
|
border-color: #ac2925;
|
|
}
|
|
.btn-danger:active:hover,
|
|
.btn-danger.active:hover,
|
|
.open > .dropdown-toggle.btn-danger:hover,
|
|
.btn-danger:active:focus,
|
|
.btn-danger.active:focus,
|
|
.open > .dropdown-toggle.btn-danger:focus,
|
|
.btn-danger:active.focus,
|
|
.btn-danger.active.focus,
|
|
.open > .dropdown-toggle.btn-danger.focus {
|
|
color: #fff;
|
|
background-color: #ac2925;
|
|
border-color: #761c19;
|
|
}
|
|
.btn-danger:active,
|
|
.btn-danger.active,
|
|
.open > .dropdown-toggle.btn-danger {
|
|
background-image: none;
|
|
}
|
|
.btn-danger.disabled:hover,
|
|
.btn-danger[disabled]:hover,
|
|
fieldset[disabled] .btn-danger:hover,
|
|
.btn-danger.disabled:focus,
|
|
.btn-danger[disabled]:focus,
|
|
fieldset[disabled] .btn-danger:focus,
|
|
.btn-danger.disabled.focus,
|
|
.btn-danger[disabled].focus,
|
|
fieldset[disabled] .btn-danger.focus {
|
|
background-color: #d9534f;
|
|
border-color: #d43f3a;
|
|
}
|
|
.btn-danger .badge {
|
|
color: #d9534f;
|
|
background-color: #fff;
|
|
}
|
|
.btn-link {
|
|
color: #337ab7;
|
|
font-weight: normal;
|
|
border-radius: 0;
|
|
}
|
|
.btn-link,
|
|
.btn-link:active,
|
|
.btn-link.active,
|
|
.btn-link[disabled],
|
|
fieldset[disabled] .btn-link {
|
|
background-color: transparent;
|
|
-webkit-box-shadow: none;
|
|
box-shadow: none;
|
|
}
|
|
.btn-link,
|
|
.btn-link:hover,
|
|
.btn-link:focus,
|
|
.btn-link:active {
|
|
border-color: transparent;
|
|
}
|
|
.btn-link:hover,
|
|
.btn-link:focus {
|
|
color: #23527c;
|
|
text-decoration: underline;
|
|
background-color: transparent;
|
|
}
|
|
.btn-link[disabled]:hover,
|
|
fieldset[disabled] .btn-link:hover,
|
|
.btn-link[disabled]:focus,
|
|
fieldset[disabled] .btn-link:focus {
|
|
color: #777777;
|
|
text-decoration: none;
|
|
}
|
|
.btn-lg,
|
|
.btn-group-lg > .btn {
|
|
padding: 10px 16px;
|
|
font-size: 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.2.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.2.0');
|
|
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.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;
|
|
}
|
|
.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;
|
|
}
|
|
@-webkit-keyframes fa-spin {
|
|
0% {
|
|
-webkit-transform: rotate(0deg);
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
-webkit-transform: rotate(359deg);
|
|
transform: rotate(359deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
-webkit-transform: rotate(0deg);
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
-webkit-transform: rotate(359deg);
|
|
transform: rotate(359deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
|
|
-webkit-transform: rotate(90deg);
|
|
-ms-transform: rotate(90deg);
|
|
transform: rotate(90deg);
|
|
}
|
|
.fa-rotate-180 {
|
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
|
-webkit-transform: rotate(180deg);
|
|
-ms-transform: rotate(180deg);
|
|
transform: rotate(180deg);
|
|
}
|
|
.fa-rotate-270 {
|
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
|
|
-webkit-transform: rotate(270deg);
|
|
-ms-transform: rotate(270deg);
|
|
transform: rotate(270deg);
|
|
}
|
|
.fa-flip-horizontal {
|
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
|
|
-webkit-transform: scale(-1, 1);
|
|
-ms-transform: scale(-1, 1);
|
|
transform: scale(-1, 1);
|
|
}
|
|
.fa-flip-vertical {
|
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
|
|
-webkit-transform: scale(1, -1);
|
|
-ms-transform: scale(1, -1);
|
|
transform: scale(1, -1);
|
|
}
|
|
:root .fa-rotate-90,
|
|
:root .fa-rotate-180,
|
|
:root .fa-rotate-270,
|
|
:root .fa-flip-horizontal,
|
|
:root .fa-flip-vertical {
|
|
filter: none;
|
|
}
|
|
.fa-stack {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 2em;
|
|
height: 2em;
|
|
line-height: 2em;
|
|
vertical-align: middle;
|
|
}
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
position: absolute;
|
|
left: 0;
|
|
width: 100%;
|
|
text-align: center;
|
|
}
|
|
.fa-stack-1x {
|
|
line-height: inherit;
|
|
}
|
|
.fa-stack-2x {
|
|
font-size: 2em;
|
|
}
|
|
.fa-inverse {
|
|
color: #fff;
|
|
}
|
|
/* 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:before {
|
|
content: "\f09a";
|
|
}
|
|
.fa-github:before {
|
|
content: "\f09b";
|
|
}
|
|
.fa-unlock:before {
|
|
content: "\f09c";
|
|
}
|
|
.fa-credit-card:before {
|
|
content: "\f09d";
|
|
}
|
|
.fa-rss:before {
|
|
content: "\f09e";
|
|
}
|
|
.fa-hdd-o:before {
|
|
content: "\f0a0";
|
|
}
|
|
.fa-bullhorn:before {
|
|
content: "\f0a1";
|
|
}
|
|
.fa-bell:before {
|
|
content: "\f0f3";
|
|
}
|
|
.fa-certificate:before {
|
|
content: "\f0a3";
|
|
}
|
|
.fa-hand-o-right:before {
|
|
content: "\f0a4";
|
|
}
|
|
.fa-hand-o-left:before {
|
|
content: "\f0a5";
|
|
}
|
|
.fa-hand-o-up:before {
|
|
content: "\f0a6";
|
|
}
|
|
.fa-hand-o-down:before {
|
|
content: "\f0a7";
|
|
}
|
|
.fa-arrow-circle-left:before {
|
|
content: "\f0a8";
|
|
}
|
|
.fa-arrow-circle-right:before {
|
|
content: "\f0a9";
|
|
}
|
|
.fa-arrow-circle-up:before {
|
|
content: "\f0aa";
|
|
}
|
|
.fa-arrow-circle-down:before {
|
|
content: "\f0ab";
|
|
}
|
|
.fa-globe:before {
|
|
content: "\f0ac";
|
|
}
|
|
.fa-wrench:before {
|
|
content: "\f0ad";
|
|
}
|
|
.fa-tasks:before {
|
|
content: "\f0ae";
|
|
}
|
|
.fa-filter:before {
|
|
content: "\f0b0";
|
|
}
|
|
.fa-briefcase:before {
|
|
content: "\f0b1";
|
|
}
|
|
.fa-arrows-alt:before {
|
|
content: "\f0b2";
|
|
}
|
|
.fa-group:before,
|
|
.fa-users:before {
|
|
content: "\f0c0";
|
|
}
|
|
.fa-chain:before,
|
|
.fa-link:before {
|
|
content: "\f0c1";
|
|
}
|
|
.fa-cloud:before {
|
|
content: "\f0c2";
|
|
}
|
|
.fa-flask:before {
|
|
content: "\f0c3";
|
|
}
|
|
.fa-cut:before,
|
|
.fa-scissors:before {
|
|
content: "\f0c4";
|
|
}
|
|
.fa-copy:before,
|
|
.fa-files-o:before {
|
|
content: "\f0c5";
|
|
}
|
|
.fa-paperclip:before {
|
|
content: "\f0c6";
|
|
}
|
|
.fa-save:before,
|
|
.fa-floppy-o:before {
|
|
content: "\f0c7";
|
|
}
|
|
.fa-square:before {
|
|
content: "\f0c8";
|
|
}
|
|
.fa-navicon:before,
|
|
.fa-reorder:before,
|
|
.fa-bars:before {
|
|
content: "\f0c9";
|
|
}
|
|
.fa-list-ul:before {
|
|
content: "\f0ca";
|
|
}
|
|
.fa-list-ol:before {
|
|
content: "\f0cb";
|
|
}
|
|
.fa-strikethrough:before {
|
|
content: "\f0cc";
|
|
}
|
|
.fa-underline:before {
|
|
content: "\f0cd";
|
|
}
|
|
.fa-table:before {
|
|
content: "\f0ce";
|
|
}
|
|
.fa-magic:before {
|
|
content: "\f0d0";
|
|
}
|
|
.fa-truck:before {
|
|
content: "\f0d1";
|
|
}
|
|
.fa-pinterest:before {
|
|
content: "\f0d2";
|
|
}
|
|
.fa-pinterest-square:before {
|
|
content: "\f0d3";
|
|
}
|
|
.fa-google-plus-square:before {
|
|
content: "\f0d4";
|
|
}
|
|
.fa-google-plus:before {
|
|
content: "\f0d5";
|
|
}
|
|
.fa-money:before {
|
|
content: "\f0d6";
|
|
}
|
|
.fa-caret-down:before {
|
|
content: "\f0d7";
|
|
}
|
|
.fa-caret-up:before {
|
|
content: "\f0d8";
|
|
}
|
|
.fa-caret-left:before {
|
|
content: "\f0d9";
|
|
}
|
|
.fa-caret-right:before {
|
|
content: "\f0da";
|
|
}
|
|
.fa-columns:before {
|
|
content: "\f0db";
|
|
}
|
|
.fa-unsorted:before,
|
|
.fa-sort:before {
|
|
content: "\f0dc";
|
|
}
|
|
.fa-sort-down:before,
|
|
.fa-sort-desc:before {
|
|
content: "\f0dd";
|
|
}
|
|
.fa-sort-up:before,
|
|
.fa-sort-asc:before {
|
|
content: "\f0de";
|
|
}
|
|
.fa-envelope:before {
|
|
content: "\f0e0";
|
|
}
|
|
.fa-linkedin:before {
|
|
content: "\f0e1";
|
|
}
|
|
.fa-rotate-left:before,
|
|
.fa-undo:before {
|
|
content: "\f0e2";
|
|
}
|
|
.fa-legal:before,
|
|
.fa-gavel:before {
|
|
content: "\f0e3";
|
|
}
|
|
.fa-dashboard:before,
|
|
.fa-tachometer:before {
|
|
content: "\f0e4";
|
|
}
|
|
.fa-comment-o:before {
|
|
content: "\f0e5";
|
|
}
|
|
.fa-comments-o:before {
|
|
content: "\f0e6";
|
|
}
|
|
.fa-flash:before,
|
|
.fa-bolt:before {
|
|
content: "\f0e7";
|
|
}
|
|
.fa-sitemap:before {
|
|
content: "\f0e8";
|
|
}
|
|
.fa-umbrella:before {
|
|
content: "\f0e9";
|
|
}
|
|
.fa-paste:before,
|
|
.fa-clipboard:before {
|
|
content: "\f0ea";
|
|
}
|
|
.fa-lightbulb-o:before {
|
|
content: "\f0eb";
|
|
}
|
|
.fa-exchange:before {
|
|
content: "\f0ec";
|
|
}
|
|
.fa-cloud-download:before {
|
|
content: "\f0ed";
|
|
}
|
|
.fa-cloud-upload:before {
|
|
content: "\f0ee";
|
|
}
|
|
.fa-user-md:before {
|
|
content: "\f0f0";
|
|
}
|
|
.fa-stethoscope:before {
|
|
content: "\f0f1";
|
|
}
|
|
.fa-suitcase:before {
|
|
content: "\f0f2";
|
|
}
|
|
.fa-bell-o:before {
|
|
content: "\f0a2";
|
|
}
|
|
.fa-coffee:before {
|
|
content: "\f0f4";
|
|
}
|
|
.fa-cutlery:before {
|
|
content: "\f0f5";
|
|
}
|
|
.fa-file-text-o:before {
|
|
content: "\f0f6";
|
|
}
|
|
.fa-building-o:before {
|
|
content: "\f0f7";
|
|
}
|
|
.fa-hospital-o:before {
|
|
content: "\f0f8";
|
|
}
|
|
.fa-ambulance:before {
|
|
content: "\f0f9";
|
|
}
|
|
.fa-medkit:before {
|
|
content: "\f0fa";
|
|
}
|
|
.fa-fighter-jet:before {
|
|
content: "\f0fb";
|
|
}
|
|
.fa-beer:before {
|
|
content: "\f0fc";
|
|
}
|
|
.fa-h-square:before {
|
|
content: "\f0fd";
|
|
}
|
|
.fa-plus-square:before {
|
|
content: "\f0fe";
|
|
}
|
|
.fa-angle-double-left:before {
|
|
content: "\f100";
|
|
}
|
|
.fa-angle-double-right:before {
|
|
content: "\f101";
|
|
}
|
|
.fa-angle-double-up:before {
|
|
content: "\f102";
|
|
}
|
|
.fa-angle-double-down:before {
|
|
content: "\f103";
|
|
}
|
|
.fa-angle-left:before {
|
|
content: "\f104";
|
|
}
|
|
.fa-angle-right:before {
|
|
content: "\f105";
|
|
}
|
|
.fa-angle-up:before {
|
|
content: "\f106";
|
|
}
|
|
.fa-angle-down:before {
|
|
content: "\f107";
|
|
}
|
|
.fa-desktop:before {
|
|
content: "\f108";
|
|
}
|
|
.fa-laptop:before {
|
|
content: "\f109";
|
|
}
|
|
.fa-tablet:before {
|
|
content: "\f10a";
|
|
}
|
|
.fa-mobile-phone:before,
|
|
.fa-mobile:before {
|
|
content: "\f10b";
|
|
}
|
|
.fa-circle-o:before {
|
|
content: "\f10c";
|
|
}
|
|
.fa-quote-left:before {
|
|
content: "\f10d";
|
|
}
|
|
.fa-quote-right:before {
|
|
content: "\f10e";
|
|
}
|
|
.fa-spinner:before {
|
|
content: "\f110";
|
|
}
|
|
.fa-circle:before {
|
|
content: "\f111";
|
|
}
|
|
.fa-mail-reply:before,
|
|
.fa-reply:before {
|
|
content: "\f112";
|
|
}
|
|
.fa-github-alt:before {
|
|
content: "\f113";
|
|
}
|
|
.fa-folder-o:before {
|
|
content: "\f114";
|
|
}
|
|
.fa-folder-open-o:before {
|
|
content: "\f115";
|
|
}
|
|
.fa-smile-o:before {
|
|
content: "\f118";
|
|
}
|
|
.fa-frown-o:before {
|
|
content: "\f119";
|
|
}
|
|
.fa-meh-o:before {
|
|
content: "\f11a";
|
|
}
|
|
.fa-gamepad:before {
|
|
content: "\f11b";
|
|
}
|
|
.fa-keyboard-o:before {
|
|
content: "\f11c";
|
|
}
|
|
.fa-flag-o:before {
|
|
content: "\f11d";
|
|
}
|
|
.fa-flag-checkered:before {
|
|
content: "\f11e";
|
|
}
|
|
.fa-terminal:before {
|
|
content: "\f120";
|
|
}
|
|
.fa-code:before {
|
|
content: "\f121";
|
|
}
|
|
.fa-mail-reply-all:before,
|
|
.fa-reply-all:before {
|
|
content: "\f122";
|
|
}
|
|
.fa-star-half-empty:before,
|
|
.fa-star-half-full:before,
|
|
.fa-star-half-o:before {
|
|
content: "\f123";
|
|
}
|
|
.fa-location-arrow:before {
|
|
content: "\f124";
|
|
}
|
|
.fa-crop:before {
|
|
content: "\f125";
|
|
}
|
|
.fa-code-fork:before {
|
|
content: "\f126";
|
|
}
|
|
.fa-unlink:before,
|
|
.fa-chain-broken:before {
|
|
content: "\f127";
|
|
}
|
|
.fa-question:before {
|
|
content: "\f128";
|
|
}
|
|
.fa-info:before {
|
|
content: "\f129";
|
|
}
|
|
.fa-exclamation:before {
|
|
content: "\f12a";
|
|
}
|
|
.fa-superscript:before {
|
|
content: "\f12b";
|
|
}
|
|
.fa-subscript:before {
|
|
content: "\f12c";
|
|
}
|
|
.fa-eraser:before {
|
|
content: "\f12d";
|
|
}
|
|
.fa-puzzle-piece:before {
|
|
content: "\f12e";
|
|
}
|
|
.fa-microphone:before {
|
|
content: "\f130";
|
|
}
|
|
.fa-microphone-slash:before {
|
|
content: "\f131";
|
|
}
|
|
.fa-shield:before {
|
|
content: "\f132";
|
|
}
|
|
.fa-calendar-o:before {
|
|
content: "\f133";
|
|
}
|
|
.fa-fire-extinguisher:before {
|
|
content: "\f134";
|
|
}
|
|
.fa-rocket:before {
|
|
content: "\f135";
|
|
}
|
|
.fa-maxcdn:before {
|
|
content: "\f136";
|
|
}
|
|
.fa-chevron-circle-left:before {
|
|
content: "\f137";
|
|
}
|
|
.fa-chevron-circle-right:before {
|
|
content: "\f138";
|
|
}
|
|
.fa-chevron-circle-up:before {
|
|
content: "\f139";
|
|
}
|
|
.fa-chevron-circle-down:before {
|
|
content: "\f13a";
|
|
}
|
|
.fa-html5:before {
|
|
content: "\f13b";
|
|
}
|
|
.fa-css3:before {
|
|
content: "\f13c";
|
|
}
|
|
.fa-anchor:before {
|
|
content: "\f13d";
|
|
}
|
|
.fa-unlock-alt:before {
|
|
content: "\f13e";
|
|
}
|
|
.fa-bullseye:before {
|
|
content: "\f140";
|
|
}
|
|
.fa-ellipsis-h:before {
|
|
content: "\f141";
|
|
}
|
|
.fa-ellipsis-v:before {
|
|
content: "\f142";
|
|
}
|
|
.fa-rss-square:before {
|
|
content: "\f143";
|
|
}
|
|
.fa-play-circle:before {
|
|
content: "\f144";
|
|
}
|
|
.fa-ticket:before {
|
|
content: "\f145";
|
|
}
|
|
.fa-minus-square:before {
|
|
content: "\f146";
|
|
}
|
|
.fa-minus-square-o:before {
|
|
content: "\f147";
|
|
}
|
|
.fa-level-up:before {
|
|
content: "\f148";
|
|
}
|
|
.fa-level-down:before {
|
|
content: "\f149";
|
|
}
|
|
.fa-check-square:before {
|
|
content: "\f14a";
|
|
}
|
|
.fa-pencil-square:before {
|
|
content: "\f14b";
|
|
}
|
|
.fa-external-link-square:before {
|
|
content: "\f14c";
|
|
}
|
|
.fa-share-square:before {
|
|
content: "\f14d";
|
|
}
|
|
.fa-compass:before {
|
|
content: "\f14e";
|
|
}
|
|
.fa-toggle-down:before,
|
|
.fa-caret-square-o-down:before {
|
|
content: "\f150";
|
|
}
|
|
.fa-toggle-up:before,
|
|
.fa-caret-square-o-up:before {
|
|
content: "\f151";
|
|
}
|
|
.fa-toggle-right:before,
|
|
.fa-caret-square-o-right:before {
|
|
content: "\f152";
|
|
}
|
|
.fa-euro:before,
|
|
.fa-eur:before {
|
|
content: "\f153";
|
|
}
|
|
.fa-gbp:before {
|
|
content: "\f154";
|
|
}
|
|
.fa-dollar:before,
|
|
.fa-usd:before {
|
|
content: "\f155";
|
|
}
|
|
.fa-rupee:before,
|
|
.fa-inr:before {
|
|
content: "\f156";
|
|
}
|
|
.fa-cny:before,
|
|
.fa-rmb:before,
|
|
.fa-yen:before,
|
|
.fa-jpy:before {
|
|
content: "\f157";
|
|
}
|
|
.fa-ruble:before,
|
|
.fa-rouble:before,
|
|
.fa-rub:before {
|
|
content: "\f158";
|
|
}
|
|
.fa-won:before,
|
|
.fa-krw:before {
|
|
content: "\f159";
|
|
}
|
|
.fa-bitcoin:before,
|
|
.fa-btc:before {
|
|
content: "\f15a";
|
|
}
|
|
.fa-file:before {
|
|
content: "\f15b";
|
|
}
|
|
.fa-file-text:before {
|
|
content: "\f15c";
|
|
}
|
|
.fa-sort-alpha-asc:before {
|
|
content: "\f15d";
|
|
}
|
|
.fa-sort-alpha-desc:before {
|
|
content: "\f15e";
|
|
}
|
|
.fa-sort-amount-asc:before {
|
|
content: "\f160";
|
|
}
|
|
.fa-sort-amount-desc:before {
|
|
content: "\f161";
|
|
}
|
|
.fa-sort-numeric-asc:before {
|
|
content: "\f162";
|
|
}
|
|
.fa-sort-numeric-desc:before {
|
|
content: "\f163";
|
|
}
|
|
.fa-thumbs-up:before {
|
|
content: "\f164";
|
|
}
|
|
.fa-thumbs-down:before {
|
|
content: "\f165";
|
|
}
|
|
.fa-youtube-square:before {
|
|
content: "\f166";
|
|
}
|
|
.fa-youtube:before {
|
|
content: "\f167";
|
|
}
|
|
.fa-xing:before {
|
|
content: "\f168";
|
|
}
|
|
.fa-xing-square:before {
|
|
content: "\f169";
|
|
}
|
|
.fa-youtube-play:before {
|
|
content: "\f16a";
|
|
}
|
|
.fa-dropbox:before {
|
|
content: "\f16b";
|
|
}
|
|
.fa-stack-overflow:before {
|
|
content: "\f16c";
|
|
}
|
|
.fa-instagram:before {
|
|
content: "\f16d";
|
|
}
|
|
.fa-flickr:before {
|
|
content: "\f16e";
|
|
}
|
|
.fa-adn:before {
|
|
content: "\f170";
|
|
}
|
|
.fa-bitbucket:before {
|
|
content: "\f171";
|
|
}
|
|
.fa-bitbucket-square:before {
|
|
content: "\f172";
|
|
}
|
|
.fa-tumblr:before {
|
|
content: "\f173";
|
|
}
|
|
.fa-tumblr-square:before {
|
|
content: "\f174";
|
|
}
|
|
.fa-long-arrow-down:before {
|
|
content: "\f175";
|
|
}
|
|
.fa-long-arrow-up:before {
|
|
content: "\f176";
|
|
}
|
|
.fa-long-arrow-left:before {
|
|
content: "\f177";
|
|
}
|
|
.fa-long-arrow-right:before {
|
|
content: "\f178";
|
|
}
|
|
.fa-apple:before {
|
|
content: "\f179";
|
|
}
|
|
.fa-windows:before {
|
|
content: "\f17a";
|
|
}
|
|
.fa-android:before {
|
|
content: "\f17b";
|
|
}
|
|
.fa-linux:before {
|
|
content: "\f17c";
|
|
}
|
|
.fa-dribbble:before {
|
|
content: "\f17d";
|
|
}
|
|
.fa-skype:before {
|
|
content: "\f17e";
|
|
}
|
|
.fa-foursquare:before {
|
|
content: "\f180";
|
|
}
|
|
.fa-trello:before {
|
|
content: "\f181";
|
|
}
|
|
.fa-female:before {
|
|
content: "\f182";
|
|
}
|
|
.fa-male:before {
|
|
content: "\f183";
|
|
}
|
|
.fa-gittip:before {
|
|
content: "\f184";
|
|
}
|
|
.fa-sun-o:before {
|
|
content: "\f185";
|
|
}
|
|
.fa-moon-o:before {
|
|
content: "\f186";
|
|
}
|
|
.fa-archive:before {
|
|
content: "\f187";
|
|
}
|
|
.fa-bug:before {
|
|
content: "\f188";
|
|
}
|
|
.fa-vk:before {
|
|
content: "\f189";
|
|
}
|
|
.fa-weibo:before {
|
|
content: "\f18a";
|
|
}
|
|
.fa-renren:before {
|
|
content: "\f18b";
|
|
}
|
|
.fa-pagelines:before {
|
|
content: "\f18c";
|
|
}
|
|
.fa-stack-exchange:before {
|
|
content: "\f18d";
|
|
}
|
|
.fa-arrow-circle-o-right:before {
|
|
content: "\f18e";
|
|
}
|
|
.fa-arrow-circle-o-left:before {
|
|
content: "\f190";
|
|
}
|
|
.fa-toggle-left:before,
|
|
.fa-caret-square-o-left:before {
|
|
content: "\f191";
|
|
}
|
|
.fa-dot-circle-o:before {
|
|
content: "\f192";
|
|
}
|
|
.fa-wheelchair:before {
|
|
content: "\f193";
|
|
}
|
|
.fa-vimeo-square:before {
|
|
content: "\f194";
|
|
}
|
|
.fa-turkish-lira:before,
|
|
.fa-try:before {
|
|
content: "\f195";
|
|
}
|
|
.fa-plus-square-o:before {
|
|
content: "\f196";
|
|
}
|
|
.fa-space-shuttle:before {
|
|
content: "\f197";
|
|
}
|
|
.fa-slack:before {
|
|
content: "\f198";
|
|
}
|
|
.fa-envelope-square:before {
|
|
content: "\f199";
|
|
}
|
|
.fa-wordpress:before {
|
|
content: "\f19a";
|
|
}
|
|
.fa-openid:before {
|
|
content: "\f19b";
|
|
}
|
|
.fa-institution:before,
|
|
.fa-bank:before,
|
|
.fa-university:before {
|
|
content: "\f19c";
|
|
}
|
|
.fa-mortar-board:before,
|
|
.fa-graduation-cap:before {
|
|
content: "\f19d";
|
|
}
|
|
.fa-yahoo:before {
|
|
content: "\f19e";
|
|
}
|
|
.fa-google:before {
|
|
content: "\f1a0";
|
|
}
|
|
.fa-reddit:before {
|
|
content: "\f1a1";
|
|
}
|
|
.fa-reddit-square:before {
|
|
content: "\f1a2";
|
|
}
|
|
.fa-stumbleupon-circle:before {
|
|
content: "\f1a3";
|
|
}
|
|
.fa-stumbleupon:before {
|
|
content: "\f1a4";
|
|
}
|
|
.fa-delicious:before {
|
|
content: "\f1a5";
|
|
}
|
|
.fa-digg:before {
|
|
content: "\f1a6";
|
|
}
|
|
.fa-pied-piper:before {
|
|
content: "\f1a7";
|
|
}
|
|
.fa-pied-piper-alt:before {
|
|
content: "\f1a8";
|
|
}
|
|
.fa-drupal:before {
|
|
content: "\f1a9";
|
|
}
|
|
.fa-joomla:before {
|
|
content: "\f1aa";
|
|
}
|
|
.fa-language:before {
|
|
content: "\f1ab";
|
|
}
|
|
.fa-fax:before {
|
|
content: "\f1ac";
|
|
}
|
|
.fa-building:before {
|
|
content: "\f1ad";
|
|
}
|
|
.fa-child:before {
|
|
content: "\f1ae";
|
|
}
|
|
.fa-paw:before {
|
|
content: "\f1b0";
|
|
}
|
|
.fa-spoon:before {
|
|
content: "\f1b1";
|
|
}
|
|
.fa-cube:before {
|
|
content: "\f1b2";
|
|
}
|
|
.fa-cubes:before {
|
|
content: "\f1b3";
|
|
}
|
|
.fa-behance:before {
|
|
content: "\f1b4";
|
|
}
|
|
.fa-behance-square:before {
|
|
content: "\f1b5";
|
|
}
|
|
.fa-steam:before {
|
|
content: "\f1b6";
|
|
}
|
|
.fa-steam-square:before {
|
|
content: "\f1b7";
|
|
}
|
|
.fa-recycle:before {
|
|
content: "\f1b8";
|
|
}
|
|
.fa-automobile:before,
|
|
.fa-car:before {
|
|
content: "\f1b9";
|
|
}
|
|
.fa-cab:before,
|
|
.fa-taxi:before {
|
|
content: "\f1ba";
|
|
}
|
|
.fa-tree:before {
|
|
content: "\f1bb";
|
|
}
|
|
.fa-spotify:before {
|
|
content: "\f1bc";
|
|
}
|
|
.fa-deviantart:before {
|
|
content: "\f1bd";
|
|
}
|
|
.fa-soundcloud:before {
|
|
content: "\f1be";
|
|
}
|
|
.fa-database:before {
|
|
content: "\f1c0";
|
|
}
|
|
.fa-file-pdf-o:before {
|
|
content: "\f1c1";
|
|
}
|
|
.fa-file-word-o:before {
|
|
content: "\f1c2";
|
|
}
|
|
.fa-file-excel-o:before {
|
|
content: "\f1c3";
|
|
}
|
|
.fa-file-powerpoint-o:before {
|
|
content: "\f1c4";
|
|
}
|
|
.fa-file-photo-o:before,
|
|
.fa-file-picture-o:before,
|
|
.fa-file-image-o:before {
|
|
content: "\f1c5";
|
|
}
|
|
.fa-file-zip-o:before,
|
|
.fa-file-archive-o:before {
|
|
content: "\f1c6";
|
|
}
|
|
.fa-file-sound-o:before,
|
|
.fa-file-audio-o:before {
|
|
content: "\f1c7";
|
|
}
|
|
.fa-file-movie-o:before,
|
|
.fa-file-video-o:before {
|
|
content: "\f1c8";
|
|
}
|
|
.fa-file-code-o:before {
|
|
content: "\f1c9";
|
|
}
|
|
.fa-vine:before {
|
|
content: "\f1ca";
|
|
}
|
|
.fa-codepen:before {
|
|
content: "\f1cb";
|
|
}
|
|
.fa-jsfiddle:before {
|
|
content: "\f1cc";
|
|
}
|
|
.fa-life-bouy:before,
|
|
.fa-life-buoy:before,
|
|
.fa-life-saver:before,
|
|
.fa-support:before,
|
|
.fa-life-ring:before {
|
|
content: "\f1cd";
|
|
}
|
|
.fa-circle-o-notch:before {
|
|
content: "\f1ce";
|
|
}
|
|
.fa-ra:before,
|
|
.fa-rebel:before {
|
|
content: "\f1d0";
|
|
}
|
|
.fa-ge:before,
|
|
.fa-empire:before {
|
|
content: "\f1d1";
|
|
}
|
|
.fa-git-square:before {
|
|
content: "\f1d2";
|
|
}
|
|
.fa-git:before {
|
|
content: "\f1d3";
|
|
}
|
|
.fa-hacker-news:before {
|
|
content: "\f1d4";
|
|
}
|
|
.fa-tencent-weibo:before {
|
|
content: "\f1d5";
|
|
}
|
|
.fa-qq:before {
|
|
content: "\f1d6";
|
|
}
|
|
.fa-wechat:before,
|
|
.fa-weixin:before {
|
|
content: "\f1d7";
|
|
}
|
|
.fa-send:before,
|
|
.fa-paper-plane:before {
|
|
content: "\f1d8";
|
|
}
|
|
.fa-send-o:before,
|
|
.fa-paper-plane-o:before {
|
|
content: "\f1d9";
|
|
}
|
|
.fa-history:before {
|
|
content: "\f1da";
|
|
}
|
|
.fa-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";
|
|
}
|
|
/*!
|
|
*
|
|
* 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;
|
|
}
|
|
/**
|
|
* 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 {
|
|
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;
|
|
}
|
|
@media (max-width: 991px) {
|
|
#ipython_notebook {
|
|
margin-left: 10px;
|
|
}
|
|
}
|
|
#noscript {
|
|
width: auto;
|
|
padding-top: 16px;
|
|
padding-bottom: 16px;
|
|
text-align: center;
|
|
font-size: 22px;
|
|
color: red;
|
|
font-weight: bold;
|
|
}
|
|
#ipython_notebook img {
|
|
height: 28px;
|
|
}
|
|
#site {
|
|
width: 100%;
|
|
display: none;
|
|
box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
-webkit-box-sizing: border-box;
|
|
overflow: auto;
|
|
}
|
|
@media print {
|
|
#site {
|
|
height: auto !important;
|
|
}
|
|
}
|
|
/* Smaller buttons */
|
|
.ui-button .ui-button-text {
|
|
padding: 0.2em 0.8em;
|
|
font-size: 77%;
|
|
}
|
|
input.ui-button {
|
|
padding: 0.3em 0.9em;
|
|
}
|
|
span#login_widget {
|
|
float: right;
|
|
}
|
|
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;
|
|
}
|
|
@media (min-width: 768px) {
|
|
.modal .modal-dialog {
|
|
width: 700px;
|
|
}
|
|
}
|
|
@media (min-width: 768px) {
|
|
select.form-control {
|
|
margin-left: 12px;
|
|
margin-right: 12px;
|
|
}
|
|
}
|
|
/*!
|
|
*
|
|
* IPython auth
|
|
*
|
|
*/
|
|
.center-nav {
|
|
display: inline-block;
|
|
margin-bottom: -4px;
|
|
}
|
|
/*!
|
|
*
|
|
* IPython tree view
|
|
*
|
|
*/
|
|
/* 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 {
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
display: inline;
|
|
opacity: 0;
|
|
z-index: 2;
|
|
width: 12ex;
|
|
margin-right: -12ex;
|
|
}
|
|
.alternate_upload .btn-upload {
|
|
height: 22px;
|
|
}
|
|
/**
|
|
* Primary styles
|
|
*
|
|
* Author: Jupyter Development Team
|
|
*/
|
|
ul#tabs {
|
|
margin-bottom: 4px;
|
|
}
|
|
ul#tabs a {
|
|
padding-top: 6px;
|
|
padding-bottom: 4px;
|
|
}
|
|
ul.breadcrumb a:focus,
|
|
ul.breadcrumb a:hover {
|
|
text-decoration: none;
|
|
}
|
|
ul.breadcrumb i.icon-home {
|
|
font-size: 16px;
|
|
margin-right: 4px;
|
|
}
|
|
ul.breadcrumb span {
|
|
color: #5e5e5e;
|
|
}
|
|
.list_toolbar {
|
|
padding: 4px 0 4px 0;
|
|
vertical-align: middle;
|
|
}
|
|
.list_toolbar .tree-buttons {
|
|
padding-top: 1px;
|
|
}
|
|
.dynamic-buttons {
|
|
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: baseline;
|
|
line-height: 22px;
|
|
position: relative;
|
|
top: -1px;
|
|
}
|
|
.list_header > div .item_link,
|
|
.list_item > div .item_link {
|
|
margin-left: -1px;
|
|
vertical-align: baseline;
|
|
line-height: 22px;
|
|
}
|
|
.new-file input[type=checkbox] {
|
|
visibility: hidden;
|
|
}
|
|
.item_name {
|
|
line-height: 22px;
|
|
height: 24px;
|
|
}
|
|
.item_icon {
|
|
font-size: 14px;
|
|
color: #5e5e5e;
|
|
margin-right: 7px;
|
|
margin-left: 7px;
|
|
line-height: 22px;
|
|
vertical-align: baseline;
|
|
}
|
|
.item_buttons {
|
|
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;
|
|
}
|
|
.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;
|
|
}
|
|
#tree-selector {
|
|
padding-right: 0px;
|
|
}
|
|
#button-select-all {
|
|
min-width: 50px;
|
|
}
|
|
#select-all {
|
|
margin-left: 7px;
|
|
margin-right: 2px;
|
|
}
|
|
.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.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.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.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.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;
|
|
}
|
|
.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;
|
|
}
|
|
.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.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.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.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.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);
|
|
}
|
|
}
|
|
/*!
|
|
*
|
|
* IPython notebook
|
|
*
|
|
*/
|
|
/* CSS font colors for translated ANSI colors. */
|
|
.ansibold {
|
|
font-weight: bold;
|
|
}
|
|
/* 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;
|
|
border-left-width: 1px;
|
|
padding-left: 5px;
|
|
background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
|
|
}
|
|
div.cell.jupyter-soft-selected {
|
|
border-left-color: #90CAF9;
|
|
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 {
|
|
border-color: #ababab;
|
|
border-left-width: 0px;
|
|
padding-left: 6px;
|
|
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
|
|
}
|
|
@media print {
|
|
div.cell.selected {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
div.cell.selected.jupyter-soft-selected {
|
|
border-left-width: 0;
|
|
padding-left: 6px;
|
|
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
|
|
}
|
|
.edit_mode div.cell.selected {
|
|
border-color: #66BB6A;
|
|
border-left-width: 0px;
|
|
padding-left: 6px;
|
|
background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
|
|
}
|
|
@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 {
|
|
/* 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;
|
|
}
|
|
@-moz-document url-prefix() {
|
|
div.inner_cell {
|
|
overflow-x: hidden;
|
|
}
|
|
}
|
|
/* 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 <head> 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. */
|
|
padding: 0.4em;
|
|
}
|
|
.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. We need the 0 value because of how we size */
|
|
/* .CodeMirror-lines */
|
|
padding: 0;
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
/*
|
|
|
|
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
|
|
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;
|
|
}
|
|
/* 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: 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 {
|
|
list-style: disc;
|
|
margin: 0em 2em;
|
|
padding-left: 0px;
|
|
}
|
|
.rendered_html ul ul {
|
|
list-style: square;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html ul ul ul {
|
|
list-style: circle;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html ol {
|
|
list-style: decimal;
|
|
margin: 0em 2em;
|
|
padding-left: 0px;
|
|
}
|
|
.rendered_html ol ol {
|
|
list-style: upper-alpha;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html ol ol ol {
|
|
list-style: lower-alpha;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html ol ol ol ol {
|
|
list-style: lower-roman;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html ol ol ol ol ol {
|
|
list-style: decimal;
|
|
margin: 0em 2em;
|
|
}
|
|
.rendered_html * + ul {
|
|
margin-top: 1em;
|
|
}
|
|
.rendered_html * + ol {
|
|
margin-top: 1em;
|
|
}
|
|
.rendered_html hr {
|
|
color: black;
|
|
background-color: black;
|
|
}
|
|
.rendered_html pre {
|
|
margin: 1em 2em;
|
|
}
|
|
.rendered_html pre,
|
|
.rendered_html code {
|
|
border: 0;
|
|
background-color: #fff;
|
|
color: #000;
|
|
font-size: 100%;
|
|
padding: 0px;
|
|
}
|
|
.rendered_html blockquote {
|
|
margin: 1em 2em;
|
|
}
|
|
.rendered_html table {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
border: 1px solid black;
|
|
border-collapse: collapse;
|
|
}
|
|
.rendered_html tr,
|
|
.rendered_html th,
|
|
.rendered_html td {
|
|
border: 1px solid black;
|
|
border-collapse: collapse;
|
|
margin: 1em 2em;
|
|
}
|
|
.rendered_html td,
|
|
.rendered_html th {
|
|
text-align: left;
|
|
vertical-align: middle;
|
|
padding: 4px;
|
|
}
|
|
.rendered_html th {
|
|
font-weight: bold;
|
|
}
|
|
.rendered_html * + table {
|
|
margin-top: 1em;
|
|
}
|
|
.rendered_html p {
|
|
text-align: left;
|
|
}
|
|
.rendered_html * + p {
|
|
margin-top: 1em;
|
|
}
|
|
.rendered_html img {
|
|
display: block;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
.rendered_html * + img {
|
|
margin-top: 1em;
|
|
}
|
|
.rendered_html img,
|
|
.rendered_html svg {
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
.rendered_html img.unconfined,
|
|
.rendered_html svg.unconfined {
|
|
max-width: none;
|
|
}
|
|
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.unrendered .text_cell_render {
|
|
display: none;
|
|
}
|
|
.cm-header-1,
|
|
.cm-header-2,
|
|
.cm-header-3,
|
|
.cm-header-4,
|
|
.cm-header-5,
|
|
.cm-header-6 {
|
|
font-weight: bold;
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
}
|
|
.cm-header-1 {
|
|
font-size: 185.7%;
|
|
}
|
|
.cm-header-2 {
|
|
font-size: 157.1%;
|
|
}
|
|
.cm-header-3 {
|
|
font-size: 128.6%;
|
|
}
|
|
.cm-header-4 {
|
|
font-size: 110%;
|
|
}
|
|
.cm-header-5 {
|
|
font-size: 100%;
|
|
font-style: italic;
|
|
}
|
|
.cm-header-6 {
|
|
font-size: 100%;
|
|
font-style: italic;
|
|
}
|
|
/*!
|
|
*
|
|
* 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;
|
|
}
|
|
/* 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;
|
|
}
|
|
.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 {
|
|
float: right !important;
|
|
float: right;
|
|
}
|
|
#kernel_logo_widget .current_kernel_logo {
|
|
display: none;
|
|
margin-top: -1px;
|
|
margin-bottom: -1px;
|
|
width: 32px;
|
|
height: 32px;
|
|
}
|
|
#menubar {
|
|
box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
-webkit-box-sizing: border-box;
|
|
margin-top: 1px;
|
|
}
|
|
#menubar .navbar {
|
|
border-top: 1px;
|
|
border-radius: 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;
|
|
}
|
|
.nav-wrapper {
|
|
border-bottom: 1px solid #e7e7e7;
|
|
}
|
|
i.menu-icon {
|
|
padding-top: 4px;
|
|
}
|
|
ul#help_menu li a {
|
|
overflow: hidden;
|
|
padding-right: 2.2em;
|
|
}
|
|
ul#help_menu li a i {
|
|
margin-right: -1.2em;
|
|
}
|
|
.dropdown-submenu {
|
|
position: relative;
|
|
}
|
|
.dropdown-submenu > .dropdown-menu {
|
|
top: 0;
|
|
left: 100%;
|
|
margin-top: -6px;
|
|
margin-left: -1px;
|
|
}
|
|
.dropdown-submenu:hover > .dropdown-menu {
|
|
display: block;
|
|
}
|
|
.dropdown-submenu > a:after {
|
|
display: inline-block;
|
|
font: normal normal normal 14px/1 FontAwesome;
|
|
font-size: inherit;
|
|
text-rendering: auto;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
display: block;
|
|
content: "\f0da";
|
|
float: right;
|
|
color: #333333;
|
|
margin-top: 2px;
|
|
margin-right: -10px;
|
|
}
|
|
.dropdown-submenu > a:after.pull-left {
|
|
margin-right: .3em;
|
|
}
|
|
.dropdown-submenu > a:after.pull-right {
|
|
margin-left: .3em;
|
|
}
|
|
.dropdown-submenu:hover > a:after {
|
|
color: #262626;
|
|
}
|
|
.dropdown-submenu.pull-left {
|
|
float: none;
|
|
}
|
|
.dropdown-submenu.pull-left > .dropdown-menu {
|
|
left: -100%;
|
|
margin-left: 10px;
|
|
}
|
|
#notification_area {
|
|
float: right !important;
|
|
float: right;
|
|
z-index: 10;
|
|
}
|
|
.indicator_area {
|
|
float: right !important;
|
|
float: right;
|
|
color: #777;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
width: 11px;
|
|
z-index: 10;
|
|
text-align: center;
|
|
width: auto;
|
|
}
|
|
#kernel_indicator {
|
|
float: right !important;
|
|
float: right;
|
|
color: #777;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
width: 11px;
|
|
z-index: 10;
|
|
text-align: center;
|
|
width: auto;
|
|
border-left: 1px solid;
|
|
}
|
|
#kernel_indicator .kernel_indicator_name {
|
|
padding-left: 5px;
|
|
padding-right: 5px;
|
|
}
|
|
#modal_indicator {
|
|
float: right !important;
|
|
float: right;
|
|
color: #777;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
width: 11px;
|
|
z-index: 10;
|
|
text-align: center;
|
|
width: auto;
|
|
}
|
|
#readonly-indicator {
|
|
float: right !important;
|
|
float: right;
|
|
color: #777;
|
|
margin-left: 5px;
|
|
margin-right: 5px;
|
|
width: 11px;
|
|
z-index: 10;
|
|
text-align: center;
|
|
width: auto;
|
|
margin-top: 2px;
|
|
margin-bottom: 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.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.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.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.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.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.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: 20ex;
|
|
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 {
|
|
margin-top: 6px;
|
|
}
|
|
span.save_widget span.filename {
|
|
height: 1em;
|
|
line-height: 1em;
|
|
padding: 3px;
|
|
margin-left: 16px;
|
|
border: none;
|
|
font-size: 146.5%;
|
|
border-radius: 2px;
|
|
}
|
|
span.save_widget span.filename:hover {
|
|
background-color: #e6e6e6;
|
|
}
|
|
span.checkpoint_status,
|
|
span.autosave_status {
|
|
font-size: small;
|
|
}
|
|
@media (max-width: 767px) {
|
|
span.save_widget {
|
|
font-size: small;
|
|
}
|
|
span.checkpoint_status,
|
|
span.autosave_status {
|
|
display: none;
|
|
}
|
|
}
|
|
@media (min-width: 768px) and (max-width: 991px) {
|
|
span.checkpoint_status {
|
|
display: none;
|
|
}
|
|
span.autosave_status {
|
|
font-size: x-small;
|
|
}
|
|
}
|
|
.toolbar {
|
|
padding: 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;
|
|
}
|
|
#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;
|
|
}
|
|
.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;
|
|
}
|
|
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;
|
|
}
|
|
.cmd-palette .modal-body {
|
|
padding: 7px;
|
|
}
|
|
.cmd-palette form {
|
|
background: white;
|
|
}
|
|
.cmd-palette input {
|
|
outline: none;
|
|
}
|
|
.no-shortcut {
|
|
display: none;
|
|
}
|
|
.command-shortcut:before {
|
|
content: "(command)";
|
|
padding-right: 3px;
|
|
color: #777777;
|
|
}
|
|
.edit-shortcut:before {
|
|
content: "(edit)";
|
|
padding-right: 3px;
|
|
color: #777777;
|
|
}
|
|
#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;
|
|
}
|
|
#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 {
|
|
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-cursor {
|
|
color: black;
|
|
background: white;
|
|
}
|
|
.terminal-app #terminado-container {
|
|
margin-top: 20px;
|
|
}
|
|
/*# sourceMappingURL=style.min.css.map */
|
|
</style>
|
|
<style type="text/css">
|
|
.highlight .hll { background-color: #ffffcc }
|
|
.highlight { background: #f8f8f8; }
|
|
.highlight .c { color: #408080; font-style: italic } /* Comment */
|
|
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
|
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
|
.highlight .o { color: #666666 } /* Operator */
|
|
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
|
|
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
|
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
|
|
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
|
|
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
|
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
|
|
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
|
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
|
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
|
.highlight .go { color: #888888 } /* Generic.Output */
|
|
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
|
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
|
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
|
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
|
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
|
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
|
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
|
|
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
|
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
|
.highlight .m { color: #666666 } /* Literal.Number */
|
|
.highlight .s { color: #BA2121 } /* Literal.String */
|
|
.highlight .na { color: #7D9029 } /* Name.Attribute */
|
|
.highlight .nb { color: #008000 } /* Name.Builtin */
|
|
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
|
.highlight .no { color: #880000 } /* Name.Constant */
|
|
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
|
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
|
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
|
.highlight .nf { color: #0000FF } /* Name.Function */
|
|
.highlight .nl { color: #A0A000 } /* Name.Label */
|
|
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
|
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
|
.highlight .nv { color: #19177C } /* Name.Variable */
|
|
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
|
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
|
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
|
|
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
|
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
|
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
|
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
|
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
|
|
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
|
|
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
|
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
|
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
|
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
|
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
|
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
|
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
|
|
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
|
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
|
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
|
.highlight .vc { color: #19177C } /* Name.Variable.Class */
|
|
.highlight .vg { color: #19177C } /* Name.Variable.Global */
|
|
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
|
|
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
|
</style>
|
|
<style type="text/css">
|
|
|
|
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
|
|
.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-bold { font-weight: bold; }
|
|
|
|
</style>
|
|
|
|
|
|
<style type="text/css">
|
|
/* Overrides of notebook CSS for static HTML export */
|
|
body {
|
|
overflow: visible;
|
|
padding: 8px;
|
|
}
|
|
|
|
div#notebook {
|
|
overflow: visible;
|
|
border-top: none;
|
|
}
|
|
|
|
@media print {
|
|
div.cell {
|
|
display: block;
|
|
page-break-inside: avoid;
|
|
}
|
|
div.output_wrapper {
|
|
display: block;
|
|
page-break-inside: avoid;
|
|
}
|
|
div.output {
|
|
display: block;
|
|
page-break-inside: avoid;
|
|
}
|
|
}
|
|
</style>
|
|
|
|
<!-- Custom stylesheet, it must be in the same directory as the html file -->
|
|
<link rel="stylesheet" href="custom.css">
|
|
|
|
<!-- Loading mathjax macro -->
|
|
<!-- Load mathjax -->
|
|
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
|
|
<!-- MathJax configuration -->
|
|
<script type="text/x-mathjax-config">
|
|
MathJax.Hub.Config({
|
|
tex2jax: {
|
|
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
|
|
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
|
|
processEscapes: true,
|
|
processEnvironments: true
|
|
},
|
|
// Center justify equations in code and markdown cells. Elsewhere
|
|
// we use CSS to left justify single line equations in code cells.
|
|
displayAlign: 'center',
|
|
"HTML-CSS": {
|
|
styles: {'.MathJax_Display': {"margin": 0}},
|
|
linebreaks: { automatic: true }
|
|
}
|
|
});
|
|
</script>
|
|
<!-- End of mathjax configuration --></head>
|
|
<body>
|
|
<div tabindex="-1" id="notebook" class="border-box-sizing">
|
|
<div class="container" id="notebook-container">
|
|
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [1]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># BEFORE GETTING STARTED</span>
|
|
<span class="c1"># 1. if at LCLS load the anaconda session</span>
|
|
<span class="c1"># source ~marcoc/setups/ana-marco3k-setup.sh</span>
|
|
<span class="c1"># 2. start ipython</span>
|
|
<span class="c1"># ipython3</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [2]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># there are two files:</span>
|
|
<span class="c1"># 1. alignment.py (deals with images)</span>
|
|
<span class="c1"># 2. xanes_analyzeRun.py (deals with run and images reading)</span>
|
|
|
|
<span class="c1"># the experiment name is defined in xanes_analyzeRun.py</span>
|
|
<span class="c1"># change to the right value before loading</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [3]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">matplotlib</span> nbagg
|
|
<span class="kn">import</span> <span class="nn">matplotlib</span>
|
|
<span class="kn">import</span> <span class="nn">matplotlib.pylab</span> <span class="k">as</span> <span class="nn">plt</span>
|
|
<span class="n">matplotlib</span><span class="o">.</span><span class="n">style</span><span class="o">.</span><span class="n">use</span><span class="p">(</span><span class="s2">"ggplot"</span><span class="p">)</span>
|
|
<span class="kn">import</span> <span class="nn">pprint</span>
|
|
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
|
<span class="n">np</span><span class="o">.</span><span class="n">warnings</span><span class="o">.</span><span class="n">simplefilter</span><span class="p">(</span><span class="s1">'ignore'</span><span class="p">)</span>
|
|
|
|
<span class="kn">import</span> <span class="nn">xanes_analyzeRun</span>
|
|
<span class="kn">import</span> <span class="nn">alignment</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Reading configuration file /home/marco/programs/mylibs/python_modules/x3py/x3py_config
|
|
Reading configuration file ./x3py_config
|
|
Using /home/marco/.cache/x3py as cache folder, current size 304.08 MB
|
|
Working on experiment mecl3616 (beamline mec)
|
|
folder data → /home/marco/temp
|
|
folder init_pars → mecl3616_init_pars/
|
|
folder outout → mecl3616_output/
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing text_cell rendered">
|
|
<div class="prompt input_prompt">
|
|
</div>
|
|
<div class="inner_cell">
|
|
<div class="text_cell_render border-box-sizing rendered_html">
|
|
<h1 id="Doing-first-alignment-on-"hole"">Doing first alignment on "hole"<a class="anchor-link" href="#Doing-first-alignment-on-"hole"">¶</a></h1>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [4]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># define starting parameters for analysis; passed directly to iminuit so things like</span>
|
|
<span class="c1"># limits, or fix_scalex=True, etc. can be used</span>
|
|
<span class="n">pars</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span> <span class="n">scalex</span> <span class="o">=</span> <span class="mf">0.6</span><span class="p">,</span> <span class="n">intensity</span> <span class="o">=</span> <span class="mf">0.1</span><span class="p">,</span> <span class="n">iblur1</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span><span class="n">fix_iblur1</span> <span class="o">=</span> <span class="kc">False</span> <span class="p">)</span>
|
|
<span class="c1"># default parameters can be found in alignment.g_fit_default_kw</span>
|
|
<span class="c1"># you can have a look by uncommenting the following line:</span>
|
|
<span class="c1"># pprint.pprint(alignment.g_fit_default_kw)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [5]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># define the run object</span>
|
|
<span class="c1">#### NOTE : for mec run swapx=True,swapy=False</span>
|
|
<span class="n">r</span> <span class="o">=</span> <span class="n">xanes_analyzeRun</span><span class="o">.</span><span class="n">AnalyzeRun</span><span class="p">(</span><span class="mi">190</span><span class="p">,</span><span class="n">initAlign</span><span class="o">=</span><span class="n">pars</span><span class="p">,</span><span class="n">swapx</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">swapy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Building paths list of HDF5 file(s)...done 0.02 s
|
|
Defining fee_spec.....(as general detector).....done 0.00 s
|
|
Defining opal2.....(as general detector).....done 0.00 s
|
|
Time stamp matching started ......done 0.00 s
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [6]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># data are d.spec1 and d.spec2 (spec1 is the one **upbeam**)</span>
|
|
<span class="c1"># align one shot</span>
|
|
|
|
<span class="c1"># show = True: show only output; showInit=True: show also starting parameters</span>
|
|
<span class="n">r0fit</span><span class="o">=</span><span class="n">r</span><span class="o">.</span><span class="n">doShot</span><span class="p">(</span><span class="n">shot</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">calib</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span><span class="n">showInit</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">doFit</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
|
|
|
|
<div id="7200aa88-984b-4bd5-b8dd-31d5dc091da6"></div>
|
|
<div class="output_subarea output_javascript ">
|
|
<script type="text/javascript">
|
|
var element = $('#7200aa88-984b-4bd5-b8dd-31d5dc091da6');
|
|
/* Put everything inside the global mpl namespace */
|
|
window.mpl = {};
|
|
|
|
mpl.get_websocket_type = function() {
|
|
if (typeof(WebSocket) !== 'undefined') {
|
|
return WebSocket;
|
|
} else if (typeof(MozWebSocket) !== 'undefined') {
|
|
return MozWebSocket;
|
|
} else {
|
|
alert('Your browser does not have WebSocket support.' +
|
|
'Please try Chrome, Safari or Firefox ≥ 6. ' +
|
|
'Firefox 4 and 5 are also supported but you ' +
|
|
'have to enable WebSockets in about:config.');
|
|
};
|
|
}
|
|
|
|
mpl.figure = function(figure_id, websocket, ondownload, parent_element) {
|
|
this.id = figure_id;
|
|
|
|
this.ws = websocket;
|
|
|
|
this.supports_binary = (this.ws.binaryType != undefined);
|
|
|
|
if (!this.supports_binary) {
|
|
var warnings = document.getElementById("mpl-warnings");
|
|
if (warnings) {
|
|
warnings.style.display = 'block';
|
|
warnings.textContent = (
|
|
"This browser does not support binary websocket messages. " +
|
|
"Performance may be slow.");
|
|
}
|
|
}
|
|
|
|
this.imageObj = new Image();
|
|
|
|
this.context = undefined;
|
|
this.message = undefined;
|
|
this.canvas = undefined;
|
|
this.rubberband_canvas = undefined;
|
|
this.rubberband_context = undefined;
|
|
this.format_dropdown = undefined;
|
|
|
|
this.image_mode = 'full';
|
|
|
|
this.root = $('<div/>');
|
|
this._root_extra_style(this.root)
|
|
this.root.attr('style', 'display: inline-block');
|
|
|
|
$(parent_element).append(this.root);
|
|
|
|
this._init_header(this);
|
|
this._init_canvas(this);
|
|
this._init_toolbar(this);
|
|
|
|
var fig = this;
|
|
|
|
this.waiting = false;
|
|
|
|
this.ws.onopen = function () {
|
|
fig.send_message("supports_binary", {value: fig.supports_binary});
|
|
fig.send_message("send_image_mode", {});
|
|
fig.send_message("refresh", {});
|
|
}
|
|
|
|
this.imageObj.onload = function() {
|
|
if (fig.image_mode == 'full') {
|
|
// Full images could contain transparency (where diff images
|
|
// almost always do), so we need to clear the canvas so that
|
|
// there is no ghosting.
|
|
fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);
|
|
}
|
|
fig.context.drawImage(fig.imageObj, 0, 0);
|
|
};
|
|
|
|
this.imageObj.onunload = function() {
|
|
this.ws.close();
|
|
}
|
|
|
|
this.ws.onmessage = this._make_on_message_function(this);
|
|
|
|
this.ondownload = ondownload;
|
|
}
|
|
|
|
mpl.figure.prototype._init_header = function() {
|
|
var titlebar = $(
|
|
'<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ' +
|
|
'ui-helper-clearfix"/>');
|
|
var titletext = $(
|
|
'<div class="ui-dialog-title" style="width: 100%; ' +
|
|
'text-align: center; padding: 3px;"/>');
|
|
titlebar.append(titletext)
|
|
this.root.append(titlebar);
|
|
this.header = titletext[0];
|
|
}
|
|
|
|
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
|
|
mpl.figure.prototype._root_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._init_canvas = function() {
|
|
var fig = this;
|
|
|
|
var canvas_div = $('<div/>');
|
|
|
|
canvas_div.attr('style', 'position: relative; clear: both; outline: 0');
|
|
|
|
function canvas_keyboard_event(event) {
|
|
return fig.key_event(event, event['data']);
|
|
}
|
|
|
|
canvas_div.keydown('key_press', canvas_keyboard_event);
|
|
canvas_div.keyup('key_release', canvas_keyboard_event);
|
|
this.canvas_div = canvas_div
|
|
this._canvas_extra_style(canvas_div)
|
|
this.root.append(canvas_div);
|
|
|
|
var canvas = $('<canvas/>');
|
|
canvas.addClass('mpl-canvas');
|
|
canvas.attr('style', "left: 0; top: 0; z-index: 0; outline: 0")
|
|
|
|
this.canvas = canvas[0];
|
|
this.context = canvas[0].getContext("2d");
|
|
|
|
var rubberband = $('<canvas/>');
|
|
rubberband.attr('style', "position: absolute; left: 0; top: 0; z-index: 1;")
|
|
|
|
var pass_mouse_events = true;
|
|
|
|
canvas_div.resizable({
|
|
start: function(event, ui) {
|
|
pass_mouse_events = false;
|
|
},
|
|
resize: function(event, ui) {
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
stop: function(event, ui) {
|
|
pass_mouse_events = true;
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
});
|
|
|
|
function mouse_event_fn(event) {
|
|
if (pass_mouse_events)
|
|
return fig.mouse_event(event, event['data']);
|
|
}
|
|
|
|
rubberband.mousedown('button_press', mouse_event_fn);
|
|
rubberband.mouseup('button_release', mouse_event_fn);
|
|
// Throttle sequential mouse events to 1 every 20ms.
|
|
rubberband.mousemove('motion_notify', mouse_event_fn);
|
|
|
|
rubberband.mouseenter('figure_enter', mouse_event_fn);
|
|
rubberband.mouseleave('figure_leave', mouse_event_fn);
|
|
|
|
canvas_div.on("wheel", function (event) {
|
|
event = event.originalEvent;
|
|
event['data'] = 'scroll'
|
|
if (event.deltaY < 0) {
|
|
event.step = 1;
|
|
} else {
|
|
event.step = -1;
|
|
}
|
|
mouse_event_fn(event);
|
|
});
|
|
|
|
canvas_div.append(canvas);
|
|
canvas_div.append(rubberband);
|
|
|
|
this.rubberband = rubberband;
|
|
this.rubberband_canvas = rubberband[0];
|
|
this.rubberband_context = rubberband[0].getContext("2d");
|
|
this.rubberband_context.strokeStyle = "#000000";
|
|
|
|
this._resize_canvas = function(width, height) {
|
|
// Keep the size of the canvas, canvas container, and rubber band
|
|
// canvas in synch.
|
|
canvas_div.css('width', width)
|
|
canvas_div.css('height', height)
|
|
|
|
canvas.attr('width', width);
|
|
canvas.attr('height', height);
|
|
|
|
rubberband.attr('width', width);
|
|
rubberband.attr('height', height);
|
|
}
|
|
|
|
// Set the figure to an initial 600x600px, this will subsequently be updated
|
|
// upon first draw.
|
|
this._resize_canvas(600, 600);
|
|
|
|
// Disable right mouse context menu.
|
|
$(this.rubberband_canvas).bind("contextmenu",function(e){
|
|
return false;
|
|
});
|
|
|
|
function set_focus () {
|
|
canvas.focus();
|
|
canvas_div.focus();
|
|
}
|
|
|
|
window.setTimeout(set_focus, 100);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items) {
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) {
|
|
// put a spacer in here.
|
|
continue;
|
|
}
|
|
var button = $('<button/>');
|
|
button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +
|
|
'ui-button-icon-only');
|
|
button.attr('role', 'button');
|
|
button.attr('aria-disabled', 'false');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
|
|
var icon_img = $('<span/>');
|
|
icon_img.addClass('ui-button-icon-primary ui-icon');
|
|
icon_img.addClass(image);
|
|
icon_img.addClass('ui-corner-all');
|
|
|
|
var tooltip_span = $('<span/>');
|
|
tooltip_span.addClass('ui-button-text');
|
|
tooltip_span.html(tooltip);
|
|
|
|
button.append(icon_img);
|
|
button.append(tooltip_span);
|
|
|
|
nav_element.append(button);
|
|
}
|
|
|
|
var fmt_picker_span = $('<span/>');
|
|
|
|
var fmt_picker = $('<select/>');
|
|
fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');
|
|
fmt_picker_span.append(fmt_picker);
|
|
nav_element.append(fmt_picker_span);
|
|
this.format_dropdown = fmt_picker[0];
|
|
|
|
for (var ind in mpl.extensions) {
|
|
var fmt = mpl.extensions[ind];
|
|
var option = $(
|
|
'<option/>', {selected: fmt === mpl.default_extension}).html(fmt);
|
|
fmt_picker.append(option)
|
|
}
|
|
|
|
// Add hover states to the ui-buttons
|
|
$( ".ui-button" ).hover(
|
|
function() { $(this).addClass("ui-state-hover");},
|
|
function() { $(this).removeClass("ui-state-hover");}
|
|
);
|
|
|
|
var status_bar = $('<span class="mpl-message"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
}
|
|
|
|
mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {
|
|
// Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,
|
|
// which will in turn request a refresh of the image.
|
|
this.send_message('resize', {'width': x_pixels, 'height': y_pixels});
|
|
}
|
|
|
|
mpl.figure.prototype.send_message = function(type, properties) {
|
|
properties['type'] = type;
|
|
properties['figure_id'] = this.id;
|
|
this.ws.send(JSON.stringify(properties));
|
|
}
|
|
|
|
mpl.figure.prototype.send_draw_message = function() {
|
|
if (!this.waiting) {
|
|
this.waiting = true;
|
|
this.ws.send(JSON.stringify({type: "draw", figure_id: this.id}));
|
|
}
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
var format_dropdown = fig.format_dropdown;
|
|
var format = format_dropdown.options[format_dropdown.selectedIndex].value;
|
|
fig.ondownload(fig, format);
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_resize = function(fig, msg) {
|
|
var size = msg['size'];
|
|
if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {
|
|
fig._resize_canvas(size[0], size[1]);
|
|
fig.send_message("refresh", {});
|
|
};
|
|
}
|
|
|
|
mpl.figure.prototype.handle_rubberband = function(fig, msg) {
|
|
var x0 = msg['x0'];
|
|
var y0 = fig.canvas.height - msg['y0'];
|
|
var x1 = msg['x1'];
|
|
var y1 = fig.canvas.height - msg['y1'];
|
|
x0 = Math.floor(x0) + 0.5;
|
|
y0 = Math.floor(y0) + 0.5;
|
|
x1 = Math.floor(x1) + 0.5;
|
|
y1 = Math.floor(y1) + 0.5;
|
|
var min_x = Math.min(x0, x1);
|
|
var min_y = Math.min(y0, y1);
|
|
var width = Math.abs(x1 - x0);
|
|
var height = Math.abs(y1 - y0);
|
|
|
|
fig.rubberband_context.clearRect(
|
|
0, 0, fig.canvas.width, fig.canvas.height);
|
|
|
|
fig.rubberband_context.strokeRect(min_x, min_y, width, height);
|
|
}
|
|
|
|
mpl.figure.prototype.handle_figure_label = function(fig, msg) {
|
|
// Updates the figure title.
|
|
fig.header.textContent = msg['label'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_cursor = function(fig, msg) {
|
|
var cursor = msg['cursor'];
|
|
switch(cursor)
|
|
{
|
|
case 0:
|
|
cursor = 'pointer';
|
|
break;
|
|
case 1:
|
|
cursor = 'default';
|
|
break;
|
|
case 2:
|
|
cursor = 'crosshair';
|
|
break;
|
|
case 3:
|
|
cursor = 'move';
|
|
break;
|
|
}
|
|
fig.rubberband_canvas.style.cursor = cursor;
|
|
}
|
|
|
|
mpl.figure.prototype.handle_message = function(fig, msg) {
|
|
fig.message.textContent = msg['message'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_draw = function(fig, msg) {
|
|
// Request the server to send over a new figure.
|
|
fig.send_draw_message();
|
|
}
|
|
|
|
mpl.figure.prototype.handle_image_mode = function(fig, msg) {
|
|
fig.image_mode = msg['mode'];
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Called whenever the canvas gets updated.
|
|
this.send_message("ack", {});
|
|
}
|
|
|
|
// A function to construct a web socket function for onmessage handling.
|
|
// Called in the figure constructor.
|
|
mpl.figure.prototype._make_on_message_function = function(fig) {
|
|
return function socket_on_message(evt) {
|
|
if (evt.data instanceof Blob) {
|
|
/* FIXME: We get "Resource interpreted as Image but
|
|
* transferred with MIME type text/plain:" errors on
|
|
* Chrome. But how to set the MIME type? It doesn't seem
|
|
* to be part of the websocket stream */
|
|
evt.data.type = "image/png";
|
|
|
|
/* Free the memory for the previous frames */
|
|
if (fig.imageObj.src) {
|
|
(window.URL || window.webkitURL).revokeObjectURL(
|
|
fig.imageObj.src);
|
|
}
|
|
|
|
fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(
|
|
evt.data);
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == "data:image/png;base64") {
|
|
fig.imageObj.src = evt.data;
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
|
|
var msg = JSON.parse(evt.data);
|
|
var msg_type = msg['type'];
|
|
|
|
// Call the "handle_{type}" callback, which takes
|
|
// the figure and JSON message as its only arguments.
|
|
try {
|
|
var callback = fig["handle_" + msg_type];
|
|
} catch (e) {
|
|
console.log("No handler for the '" + msg_type + "' message type: ", msg);
|
|
return;
|
|
}
|
|
|
|
if (callback) {
|
|
try {
|
|
// console.log("Handling '" + msg_type + "' message: ", msg);
|
|
callback(fig, msg);
|
|
} catch (e) {
|
|
console.log("Exception inside the 'handler_" + msg_type + "' callback:", e, e.stack, msg);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas
|
|
mpl.findpos = function(e) {
|
|
//this section is from http://www.quirksmode.org/js/events_properties.html
|
|
var targ;
|
|
if (!e)
|
|
e = window.event;
|
|
if (e.target)
|
|
targ = e.target;
|
|
else if (e.srcElement)
|
|
targ = e.srcElement;
|
|
if (targ.nodeType == 3) // defeat Safari bug
|
|
targ = targ.parentNode;
|
|
|
|
// jQuery normalizes the pageX and pageY
|
|
// pageX,Y are the mouse positions relative to the document
|
|
// offset() returns the position of the element relative to the document
|
|
var x = e.pageX - $(targ).offset().left;
|
|
var y = e.pageY - $(targ).offset().top;
|
|
|
|
return {"x": x, "y": y};
|
|
};
|
|
|
|
/*
|
|
* return a copy of an object with only non-object keys
|
|
* we need this to avoid circular references
|
|
* http://stackoverflow.com/a/24161582/3208463
|
|
*/
|
|
function simpleKeys (original) {
|
|
return Object.keys(original).reduce(function (obj, key) {
|
|
if (typeof original[key] !== 'object')
|
|
obj[key] = original[key]
|
|
return obj;
|
|
}, {});
|
|
}
|
|
|
|
mpl.figure.prototype.mouse_event = function(event, name) {
|
|
var canvas_pos = mpl.findpos(event)
|
|
|
|
if (name === 'button_press')
|
|
{
|
|
this.canvas.focus();
|
|
this.canvas_div.focus();
|
|
}
|
|
|
|
var x = canvas_pos.x;
|
|
var y = canvas_pos.y;
|
|
|
|
this.send_message(name, {x: x, y: y, button: event.button,
|
|
step: event.step,
|
|
guiEvent: simpleKeys(event)});
|
|
|
|
/* This prevents the web browser from automatically changing to
|
|
* the text insertion cursor when the button is pressed. We want
|
|
* to control all of the cursor setting manually through the
|
|
* 'cursor' event from matplotlib */
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
// Handle any extra behaviour associated with a key event
|
|
}
|
|
|
|
mpl.figure.prototype.key_event = function(event, name) {
|
|
|
|
// Prevent repeat events
|
|
if (name == 'key_press')
|
|
{
|
|
if (event.which === this._key)
|
|
return;
|
|
else
|
|
this._key = event.which;
|
|
}
|
|
if (name == 'key_release')
|
|
this._key = null;
|
|
|
|
var value = '';
|
|
if (event.ctrlKey && event.which != 17)
|
|
value += "ctrl+";
|
|
if (event.altKey && event.which != 18)
|
|
value += "alt+";
|
|
if (event.shiftKey && event.which != 16)
|
|
value += "shift+";
|
|
|
|
value += 'k';
|
|
value += event.which.toString();
|
|
|
|
this._key_event_extra(event, name);
|
|
|
|
this.send_message(name, {key: value,
|
|
guiEvent: simpleKeys(event)});
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype.toolbar_button_onclick = function(name) {
|
|
if (name == 'download') {
|
|
this.handle_save(this, null);
|
|
} else {
|
|
this.send_message("toolbar_button", {name: name});
|
|
}
|
|
};
|
|
|
|
mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {
|
|
this.message.textContent = tooltip;
|
|
};
|
|
mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Pan axes with left mouse, zoom with right", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]];
|
|
|
|
mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"];
|
|
|
|
mpl.default_extension = "png";var comm_websocket_adapter = function(comm) {
|
|
// Create a "websocket"-like object which calls the given IPython comm
|
|
// object with the appropriate methods. Currently this is a non binary
|
|
// socket, so there is still some room for performance tuning.
|
|
var ws = {};
|
|
|
|
ws.close = function() {
|
|
comm.close()
|
|
};
|
|
ws.send = function(m) {
|
|
//console.log('sending', m);
|
|
comm.send(m);
|
|
};
|
|
// Register the callback with on_msg.
|
|
comm.on_msg(function(msg) {
|
|
//console.log('receiving', msg['content']['data'], msg);
|
|
// Pass the mpl event to the overriden (by mpl) onmessage function.
|
|
ws.onmessage(msg['content']['data'])
|
|
});
|
|
return ws;
|
|
}
|
|
|
|
mpl.mpl_figure_comm = function(comm, msg) {
|
|
// This is the function which gets called when the mpl process
|
|
// starts-up an IPython Comm through the "matplotlib" channel.
|
|
|
|
var id = msg.content.data.id;
|
|
// Get hold of the div created by the display call when the Comm
|
|
// socket was opened in Python.
|
|
var element = $("#" + id);
|
|
var ws_proxy = comm_websocket_adapter(comm)
|
|
|
|
function ondownload(figure, format) {
|
|
window.open(figure.imageObj.src);
|
|
}
|
|
|
|
var fig = new mpl.figure(id, ws_proxy,
|
|
ondownload,
|
|
element.get(0));
|
|
|
|
// Call onopen now - mpl needs it, as it is assuming we've passed it a real
|
|
// web socket which is closed, not our websocket->open comm proxy.
|
|
ws_proxy.onopen();
|
|
|
|
fig.parent_element = element.get(0);
|
|
fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>");
|
|
if (!fig.cell_info) {
|
|
console.error("Failed to find cell for figure", id, fig);
|
|
return;
|
|
}
|
|
|
|
var output_index = fig.cell_info[2]
|
|
var cell = fig.cell_info[0];
|
|
|
|
};
|
|
|
|
mpl.figure.prototype.handle_close = function(fig, msg) {
|
|
fig.root.unbind('remove')
|
|
|
|
// Update the output cell to use the data from the current canvas.
|
|
fig.push_to_output();
|
|
var dataURL = fig.canvas.toDataURL();
|
|
// Re-enable the keyboard manager in IPython - without this line, in FF,
|
|
// the notebook keyboard shortcuts fail.
|
|
IPython.keyboard_manager.enable()
|
|
$(fig.parent_element).html('<img src="' + dataURL + '">');
|
|
fig.close_ws(fig, msg);
|
|
}
|
|
|
|
mpl.figure.prototype.close_ws = function(fig, msg){
|
|
fig.send_message('closing', msg);
|
|
// fig.ws.close()
|
|
}
|
|
|
|
mpl.figure.prototype.push_to_output = function(remove_interactive) {
|
|
// Turn the data on the canvas into data in the output cell.
|
|
var dataURL = this.canvas.toDataURL();
|
|
this.cell_info[1]['text/html'] = '<img src="' + dataURL + '">';
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Tell IPython that the notebook contents must change.
|
|
IPython.notebook.set_dirty(true);
|
|
this.send_message("ack", {});
|
|
var fig = this;
|
|
// Wait a second, then push the new image to the DOM so
|
|
// that it is saved nicely (might be nice to debounce this).
|
|
setTimeout(function () { fig.push_to_output() }, 1000);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items){
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) { continue; };
|
|
|
|
var button = $('<button class="btn btn-default" href="#" title="' + name + '"><i class="fa ' + image + ' fa-lg"></i></button>');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
nav_element.append(button);
|
|
}
|
|
|
|
// Add the status bar.
|
|
var status_bar = $('<span class="mpl-message" style="text-align:right; float: right;"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
|
|
// Add the close button to the window.
|
|
var buttongrp = $('<div class="btn-group inline pull-right"></div>');
|
|
var button = $('<button class="btn btn-mini btn-primary" href="#" title="Stop Interaction"><i class="fa fa-power-off icon-remove icon-large"></i></button>');
|
|
button.click(function (evt) { fig.handle_close(fig, {}); } );
|
|
button.mouseover('Stop Interaction', toolbar_mouse_event);
|
|
buttongrp.append(button);
|
|
var titlebar = this.root.find($('.ui-dialog-titlebar'));
|
|
titlebar.prepend(buttongrp);
|
|
}
|
|
|
|
mpl.figure.prototype._root_extra_style = function(el){
|
|
var fig = this
|
|
el.on("remove", function(){
|
|
fig.close_ws(fig, {});
|
|
});
|
|
}
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(el){
|
|
// this is important to make the div 'focusable
|
|
el.attr('tabindex', 0)
|
|
// reach out to IPython and tell the keyboard manager to turn it's self
|
|
// off when our div gets focus
|
|
|
|
// location in version 3
|
|
if (IPython.notebook.keyboard_manager) {
|
|
IPython.notebook.keyboard_manager.register_events(el);
|
|
}
|
|
else {
|
|
// location in version 2
|
|
IPython.keyboard_manager.register_events(el);
|
|
}
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
var manager = IPython.notebook.keyboard_manager;
|
|
if (!manager)
|
|
manager = IPython.keyboard_manager;
|
|
|
|
// Check for shift+enter
|
|
if (event.shiftKey && event.which == 13) {
|
|
this.canvas_div.blur();
|
|
event.shiftKey = false;
|
|
// Send a "J" for go to next cell
|
|
event.which = 74;
|
|
event.keyCode = 74;
|
|
manager.command_mode();
|
|
manager.handle_keydown(event);
|
|
}
|
|
}
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
fig.ondownload(fig, null);
|
|
}
|
|
|
|
|
|
mpl.find_output_cell = function(html_output) {
|
|
// Return the cell and output element which can be found *uniquely* in the notebook.
|
|
// Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook"
|
|
// IPython event is triggered only after the cells have been serialised, which for
|
|
// our purposes (turning an active figure into a static one), is too late.
|
|
var cells = IPython.notebook.get_cells();
|
|
var ncells = cells.length;
|
|
for (var i=0; i<ncells; i++) {
|
|
var cell = cells[i];
|
|
if (cell.cell_type === 'code'){
|
|
for (var j=0; j<cell.output_area.outputs.length; j++) {
|
|
var data = cell.output_area.outputs[j];
|
|
if (data.data) {
|
|
// IPython >= 3 moved mimebundle to data attribute of output
|
|
data = data.data;
|
|
}
|
|
if (data['text/html'] == html_output) {
|
|
return [cell, data, j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Register the function which deals with the matplotlib target/channel.
|
|
// The kernel may be null if the page has been refreshed.
|
|
if (IPython.notebook.kernel != null) {
|
|
IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);
|
|
}
|
|
|
|
</script>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<img src="data:image/png;base64,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">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Enter to start fit
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<hr>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
|
|
<table>
|
|
<tr>
|
|
<td title="Minimum value of function">FCN = 647820214.703428</td>
|
|
<td title="Total number of call to FCN so far">TOTAL NCALL = 331</td>
|
|
<td title="Number of call in last migrad">NCALLS = 331</td>
|
|
</tr>
|
|
<tr>
|
|
<td title="Estimated distance to minimum">EDM = 8.820816855092605</td>
|
|
<td title="Maximum EDM definition of convergence">GOAL EDM = 1e-05</td>
|
|
<td title="Error def. Amount of increase in FCN to be defined as 1 standard deviation">
|
|
UP = 1.0</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" title="Validity of the migrad call">Valid</td>
|
|
<td align="center" title="Validity of parameters">Valid Param</td>
|
|
<td align="center" title="Is Covariance matrix accurate?">Accurate Covar</td>
|
|
<td align="center" title="Positive definiteness of covariance matrix">PosDef</td>
|
|
<td align="center" title="Was covariance matrix made posdef by adding diagonal element">Made PosDef</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" style="background-color:#FF7878">False</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#92CCA6">False</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" title="Was last hesse call fail?">Hesse Fail</td>
|
|
<td align="center" title="Validity of covariance">HasCov</td>
|
|
<td align="center" title="Is EDM above goal EDM?">Above EDM</td>
|
|
<td align="center"></td>
|
|
<td align="center" title="Did last migrad call reach max call limit?">Reach calllim</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" style="background-color:#92CCA6">False</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#FF7878">True</td>
|
|
<td align="center"></td>
|
|
<td align="center" style="background-color:#92CCA6">False</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
|
|
<table>
|
|
<tr>
|
|
<td><a href="#" onclick="$('#nJybekMIAa').toggle()">+</a></td>
|
|
<td title="Variable name">Name</td>
|
|
<td title="Value of parameter">Value</td>
|
|
<td title="Parabolic error">Parab Error</td>
|
|
<td title="Minos lower error">Minos Error-</td>
|
|
<td title="Minos upper error">Minos Error+</td>
|
|
<td title="Lower limit of the parameter">Limit-</td>
|
|
<td title="Upper limit of the parameter">Limit+</td>
|
|
<td title="Is the parameter fixed in the fit">FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>1</td>
|
|
<td>intensity</td>
|
|
<td>0.11346</td>
|
|
<td>1.91572e-06</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>2</td>
|
|
<td>igauss1cen</td>
|
|
<td>512</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>3</td>
|
|
<td>igauss1sig</td>
|
|
<td>4000</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>4</td>
|
|
<td>iblur1</td>
|
|
<td>4.617</td>
|
|
<td>0.00037373</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.0</td>
|
|
<td>20.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>5</td>
|
|
<td>scalex</td>
|
|
<td>0.6</td>
|
|
<td>0.05</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.4</td>
|
|
<td>1.2</td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>6</td>
|
|
<td>scaley</td>
|
|
<td>1</td>
|
|
<td>0.05</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.8</td>
|
|
<td>1.2</td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>7</td>
|
|
<td>rotation</td>
|
|
<td>0.01</td>
|
|
<td>0.005</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-0.06</td>
|
|
<td>0.06</td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>8</td>
|
|
<td>transx</td>
|
|
<td>120.793</td>
|
|
<td>0.000220781</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-400.0</td>
|
|
<td>400.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>9</td>
|
|
<td>transy</td>
|
|
<td>-3.33798</td>
|
|
<td>0.000126792</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-50.0</td>
|
|
<td>50.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>10</td>
|
|
<td>shear</td>
|
|
<td>0.01</td>
|
|
<td>0.001</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-0.2</td>
|
|
<td>0.2</td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>11</td>
|
|
<td>igauss2cen</td>
|
|
<td>512</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>12</td>
|
|
<td>igauss2sig</td>
|
|
<td>4000</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<pre id="nJybekMIAa" style="display:none;">
|
|
<textarea rows="30" cols="50" onclick="this.select()" readonly>\begin{tabular}{|c|r|r|r|r|r|r|r|c|}
|
|
\hline
|
|
& Name & Value & Para Error & Error+ & Error- & Limit+ & Limit- & FIXED\\
|
|
\hline
|
|
1 & intensity & 1.135e-01 & 1.916e-06 & & & & & \\
|
|
\hline
|
|
2 & igauss1cen & 5.120e+02 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
3 & igauss1sig & 4.000e+03 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
4 & iblur1 & 4.617e+00 & 3.737e-04 & & & 0.000e+00 & 2.000e+01 & \\
|
|
\hline
|
|
5 & scalex & 6.000e-01 & 5.000e-02 & & & 4.000e-01 & 1.200e+00 & FIXED\\
|
|
\hline
|
|
6 & scaley & 1.000e+00 & 5.000e-02 & & & 8.000e-01 & 1.200e+00 & FIXED\\
|
|
\hline
|
|
7 & rotation & 1.000e-02 & 5.000e-03 & & & -6.000e-02 & 6.000e-02 & FIXED\\
|
|
\hline
|
|
8 & transx & 1.208e+02 & 2.208e-04 & & & -4.000e+02 & 4.000e+02 & \\
|
|
\hline
|
|
9 & transy & -3.338e+00 & 1.268e-04 & & & -5.000e+01 & 5.000e+01 & \\
|
|
\hline
|
|
10 & shear & 1.000e-02 & 1.000e-03 & & & -2.000e-01 & 2.000e-01 & FIXED\\
|
|
\hline
|
|
11 & igauss2cen & 5.120e+02 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
12 & igauss2sig & 4.000e+03 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
\end{tabular}</textarea>
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<hr>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<hr>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
|
|
<table>
|
|
<tr>
|
|
<td title="Minimum value of function">FCN = 366891588.18902636</td>
|
|
<td title="Total number of call to FCN so far">TOTAL NCALL = 1466</td>
|
|
<td title="Number of call in last migrad">NCALLS = 1466</td>
|
|
</tr>
|
|
<tr>
|
|
<td title="Estimated distance to minimum">EDM = 5.111809229073948</td>
|
|
<td title="Maximum EDM definition of convergence">GOAL EDM = 1e-05</td>
|
|
<td title="Error def. Amount of increase in FCN to be defined as 1 standard deviation">
|
|
UP = 1.0</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" title="Validity of the migrad call">Valid</td>
|
|
<td align="center" title="Validity of parameters">Valid Param</td>
|
|
<td align="center" title="Is Covariance matrix accurate?">Accurate Covar</td>
|
|
<td align="center" title="Positive definiteness of covariance matrix">PosDef</td>
|
|
<td align="center" title="Was covariance matrix made posdef by adding diagonal element">Made PosDef</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" style="background-color:#FF7878">False</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#FF7878">False</td>
|
|
<td align="center" style="background-color:#FF7878">False</td>
|
|
<td align="center" style="background-color:#FF7878">True</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" title="Was last hesse call fail?">Hesse Fail</td>
|
|
<td align="center" title="Validity of covariance">HasCov</td>
|
|
<td align="center" title="Is EDM above goal EDM?">Above EDM</td>
|
|
<td align="center"></td>
|
|
<td align="center" title="Did last migrad call reach max call limit?">Reach calllim</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" style="background-color:#92CCA6">False</td>
|
|
<td align="center" style="background-color:#92CCA6">True</td>
|
|
<td align="center" style="background-color:#FF7878">True</td>
|
|
<td align="center"></td>
|
|
<td align="center" style="background-color:#92CCA6">False</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
|
|
<table>
|
|
<tr>
|
|
<td><a href="#" onclick="$('#hCuvgIKscz').toggle()">+</a></td>
|
|
<td title="Variable name">Name</td>
|
|
<td title="Value of parameter">Value</td>
|
|
<td title="Parabolic error">Parab Error</td>
|
|
<td title="Minos lower error">Minos Error-</td>
|
|
<td title="Minos upper error">Minos Error+</td>
|
|
<td title="Lower limit of the parameter">Limit-</td>
|
|
<td title="Upper limit of the parameter">Limit+</td>
|
|
<td title="Is the parameter fixed in the fit">FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>1</td>
|
|
<td>intensity</td>
|
|
<td>0.107823</td>
|
|
<td>1.62851e-06</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>2</td>
|
|
<td>igauss1cen</td>
|
|
<td>512</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>3</td>
|
|
<td>igauss1sig</td>
|
|
<td>4000</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>4</td>
|
|
<td>iblur1</td>
|
|
<td>1.73655</td>
|
|
<td>0.000144802</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.0</td>
|
|
<td>20.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>5</td>
|
|
<td>scalex</td>
|
|
<td>0.633168</td>
|
|
<td>9.92501e-07</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.4</td>
|
|
<td>1.2</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>6</td>
|
|
<td>scaley</td>
|
|
<td>1.02911</td>
|
|
<td>5.15605e-06</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0.8</td>
|
|
<td>1.2</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>7</td>
|
|
<td>rotation</td>
|
|
<td>-0.0123541</td>
|
|
<td>1.75243e-06</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-0.06</td>
|
|
<td>0.06</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>8</td>
|
|
<td>transx</td>
|
|
<td>98.5647</td>
|
|
<td>0.000776996</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-400.0</td>
|
|
<td>400.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>9</td>
|
|
<td>transy</td>
|
|
<td>4.06022</td>
|
|
<td>0.000310021</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-50.0</td>
|
|
<td>50.0</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>10</td>
|
|
<td>shear</td>
|
|
<td>-0.00541015</td>
|
|
<td>2.00018e-05</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>-0.2</td>
|
|
<td>0.2</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>11</td>
|
|
<td>igauss2cen</td>
|
|
<td>512</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>12</td>
|
|
<td>igauss2sig</td>
|
|
<td>4000</td>
|
|
<td>2</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>FIXED</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<pre id="hCuvgIKscz" style="display:none;">
|
|
<textarea rows="30" cols="50" onclick="this.select()" readonly>\begin{tabular}{|c|r|r|r|r|r|r|r|c|}
|
|
\hline
|
|
& Name & Value & Para Error & Error+ & Error- & Limit+ & Limit- & FIXED\\
|
|
\hline
|
|
1 & intensity & 1.078e-01 & 1.629e-06 & & & & & \\
|
|
\hline
|
|
2 & igauss1cen & 5.120e+02 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
3 & igauss1sig & 4.000e+03 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
4 & iblur1 & 1.737e+00 & 1.448e-04 & & & 0.000e+00 & 2.000e+01 & \\
|
|
\hline
|
|
5 & scalex & 6.332e-01 & 9.925e-07 & & & 4.000e-01 & 1.200e+00 & \\
|
|
\hline
|
|
6 & scaley & 1.029e+00 & 5.156e-06 & & & 8.000e-01 & 1.200e+00 & \\
|
|
\hline
|
|
7 & rotation & -1.235e-02 & 1.752e-06 & & & -6.000e-02 & 6.000e-02 & \\
|
|
\hline
|
|
8 & transx & 9.856e+01 & 7.770e-04 & & & -4.000e+02 & 4.000e+02 & \\
|
|
\hline
|
|
9 & transy & 4.060e+00 & 3.100e-04 & & & -5.000e+01 & 5.000e+01 & \\
|
|
\hline
|
|
10 & shear & -5.410e-03 & 2.000e-05 & & & -2.000e-01 & 2.000e-01 & \\
|
|
\hline
|
|
11 & igauss2cen & 5.120e+02 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
12 & igauss2sig & 4.000e+03 & 2.000e+00 & & & & & FIXED\\
|
|
\hline
|
|
\end{tabular}</textarea>
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<hr>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
|
|
|
|
<div id="fff1b6d3-a091-4dfd-91af-7d029de3107b"></div>
|
|
<div class="output_subarea output_javascript ">
|
|
<script type="text/javascript">
|
|
var element = $('#fff1b6d3-a091-4dfd-91af-7d029de3107b');
|
|
/* Put everything inside the global mpl namespace */
|
|
window.mpl = {};
|
|
|
|
mpl.get_websocket_type = function() {
|
|
if (typeof(WebSocket) !== 'undefined') {
|
|
return WebSocket;
|
|
} else if (typeof(MozWebSocket) !== 'undefined') {
|
|
return MozWebSocket;
|
|
} else {
|
|
alert('Your browser does not have WebSocket support.' +
|
|
'Please try Chrome, Safari or Firefox ≥ 6. ' +
|
|
'Firefox 4 and 5 are also supported but you ' +
|
|
'have to enable WebSockets in about:config.');
|
|
};
|
|
}
|
|
|
|
mpl.figure = function(figure_id, websocket, ondownload, parent_element) {
|
|
this.id = figure_id;
|
|
|
|
this.ws = websocket;
|
|
|
|
this.supports_binary = (this.ws.binaryType != undefined);
|
|
|
|
if (!this.supports_binary) {
|
|
var warnings = document.getElementById("mpl-warnings");
|
|
if (warnings) {
|
|
warnings.style.display = 'block';
|
|
warnings.textContent = (
|
|
"This browser does not support binary websocket messages. " +
|
|
"Performance may be slow.");
|
|
}
|
|
}
|
|
|
|
this.imageObj = new Image();
|
|
|
|
this.context = undefined;
|
|
this.message = undefined;
|
|
this.canvas = undefined;
|
|
this.rubberband_canvas = undefined;
|
|
this.rubberband_context = undefined;
|
|
this.format_dropdown = undefined;
|
|
|
|
this.image_mode = 'full';
|
|
|
|
this.root = $('<div/>');
|
|
this._root_extra_style(this.root)
|
|
this.root.attr('style', 'display: inline-block');
|
|
|
|
$(parent_element).append(this.root);
|
|
|
|
this._init_header(this);
|
|
this._init_canvas(this);
|
|
this._init_toolbar(this);
|
|
|
|
var fig = this;
|
|
|
|
this.waiting = false;
|
|
|
|
this.ws.onopen = function () {
|
|
fig.send_message("supports_binary", {value: fig.supports_binary});
|
|
fig.send_message("send_image_mode", {});
|
|
fig.send_message("refresh", {});
|
|
}
|
|
|
|
this.imageObj.onload = function() {
|
|
if (fig.image_mode == 'full') {
|
|
// Full images could contain transparency (where diff images
|
|
// almost always do), so we need to clear the canvas so that
|
|
// there is no ghosting.
|
|
fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);
|
|
}
|
|
fig.context.drawImage(fig.imageObj, 0, 0);
|
|
};
|
|
|
|
this.imageObj.onunload = function() {
|
|
this.ws.close();
|
|
}
|
|
|
|
this.ws.onmessage = this._make_on_message_function(this);
|
|
|
|
this.ondownload = ondownload;
|
|
}
|
|
|
|
mpl.figure.prototype._init_header = function() {
|
|
var titlebar = $(
|
|
'<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ' +
|
|
'ui-helper-clearfix"/>');
|
|
var titletext = $(
|
|
'<div class="ui-dialog-title" style="width: 100%; ' +
|
|
'text-align: center; padding: 3px;"/>');
|
|
titlebar.append(titletext)
|
|
this.root.append(titlebar);
|
|
this.header = titletext[0];
|
|
}
|
|
|
|
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
|
|
mpl.figure.prototype._root_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._init_canvas = function() {
|
|
var fig = this;
|
|
|
|
var canvas_div = $('<div/>');
|
|
|
|
canvas_div.attr('style', 'position: relative; clear: both; outline: 0');
|
|
|
|
function canvas_keyboard_event(event) {
|
|
return fig.key_event(event, event['data']);
|
|
}
|
|
|
|
canvas_div.keydown('key_press', canvas_keyboard_event);
|
|
canvas_div.keyup('key_release', canvas_keyboard_event);
|
|
this.canvas_div = canvas_div
|
|
this._canvas_extra_style(canvas_div)
|
|
this.root.append(canvas_div);
|
|
|
|
var canvas = $('<canvas/>');
|
|
canvas.addClass('mpl-canvas');
|
|
canvas.attr('style', "left: 0; top: 0; z-index: 0; outline: 0")
|
|
|
|
this.canvas = canvas[0];
|
|
this.context = canvas[0].getContext("2d");
|
|
|
|
var rubberband = $('<canvas/>');
|
|
rubberband.attr('style', "position: absolute; left: 0; top: 0; z-index: 1;")
|
|
|
|
var pass_mouse_events = true;
|
|
|
|
canvas_div.resizable({
|
|
start: function(event, ui) {
|
|
pass_mouse_events = false;
|
|
},
|
|
resize: function(event, ui) {
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
stop: function(event, ui) {
|
|
pass_mouse_events = true;
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
});
|
|
|
|
function mouse_event_fn(event) {
|
|
if (pass_mouse_events)
|
|
return fig.mouse_event(event, event['data']);
|
|
}
|
|
|
|
rubberband.mousedown('button_press', mouse_event_fn);
|
|
rubberband.mouseup('button_release', mouse_event_fn);
|
|
// Throttle sequential mouse events to 1 every 20ms.
|
|
rubberband.mousemove('motion_notify', mouse_event_fn);
|
|
|
|
rubberband.mouseenter('figure_enter', mouse_event_fn);
|
|
rubberband.mouseleave('figure_leave', mouse_event_fn);
|
|
|
|
canvas_div.on("wheel", function (event) {
|
|
event = event.originalEvent;
|
|
event['data'] = 'scroll'
|
|
if (event.deltaY < 0) {
|
|
event.step = 1;
|
|
} else {
|
|
event.step = -1;
|
|
}
|
|
mouse_event_fn(event);
|
|
});
|
|
|
|
canvas_div.append(canvas);
|
|
canvas_div.append(rubberband);
|
|
|
|
this.rubberband = rubberband;
|
|
this.rubberband_canvas = rubberband[0];
|
|
this.rubberband_context = rubberband[0].getContext("2d");
|
|
this.rubberband_context.strokeStyle = "#000000";
|
|
|
|
this._resize_canvas = function(width, height) {
|
|
// Keep the size of the canvas, canvas container, and rubber band
|
|
// canvas in synch.
|
|
canvas_div.css('width', width)
|
|
canvas_div.css('height', height)
|
|
|
|
canvas.attr('width', width);
|
|
canvas.attr('height', height);
|
|
|
|
rubberband.attr('width', width);
|
|
rubberband.attr('height', height);
|
|
}
|
|
|
|
// Set the figure to an initial 600x600px, this will subsequently be updated
|
|
// upon first draw.
|
|
this._resize_canvas(600, 600);
|
|
|
|
// Disable right mouse context menu.
|
|
$(this.rubberband_canvas).bind("contextmenu",function(e){
|
|
return false;
|
|
});
|
|
|
|
function set_focus () {
|
|
canvas.focus();
|
|
canvas_div.focus();
|
|
}
|
|
|
|
window.setTimeout(set_focus, 100);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items) {
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) {
|
|
// put a spacer in here.
|
|
continue;
|
|
}
|
|
var button = $('<button/>');
|
|
button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +
|
|
'ui-button-icon-only');
|
|
button.attr('role', 'button');
|
|
button.attr('aria-disabled', 'false');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
|
|
var icon_img = $('<span/>');
|
|
icon_img.addClass('ui-button-icon-primary ui-icon');
|
|
icon_img.addClass(image);
|
|
icon_img.addClass('ui-corner-all');
|
|
|
|
var tooltip_span = $('<span/>');
|
|
tooltip_span.addClass('ui-button-text');
|
|
tooltip_span.html(tooltip);
|
|
|
|
button.append(icon_img);
|
|
button.append(tooltip_span);
|
|
|
|
nav_element.append(button);
|
|
}
|
|
|
|
var fmt_picker_span = $('<span/>');
|
|
|
|
var fmt_picker = $('<select/>');
|
|
fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');
|
|
fmt_picker_span.append(fmt_picker);
|
|
nav_element.append(fmt_picker_span);
|
|
this.format_dropdown = fmt_picker[0];
|
|
|
|
for (var ind in mpl.extensions) {
|
|
var fmt = mpl.extensions[ind];
|
|
var option = $(
|
|
'<option/>', {selected: fmt === mpl.default_extension}).html(fmt);
|
|
fmt_picker.append(option)
|
|
}
|
|
|
|
// Add hover states to the ui-buttons
|
|
$( ".ui-button" ).hover(
|
|
function() { $(this).addClass("ui-state-hover");},
|
|
function() { $(this).removeClass("ui-state-hover");}
|
|
);
|
|
|
|
var status_bar = $('<span class="mpl-message"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
}
|
|
|
|
mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {
|
|
// Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,
|
|
// which will in turn request a refresh of the image.
|
|
this.send_message('resize', {'width': x_pixels, 'height': y_pixels});
|
|
}
|
|
|
|
mpl.figure.prototype.send_message = function(type, properties) {
|
|
properties['type'] = type;
|
|
properties['figure_id'] = this.id;
|
|
this.ws.send(JSON.stringify(properties));
|
|
}
|
|
|
|
mpl.figure.prototype.send_draw_message = function() {
|
|
if (!this.waiting) {
|
|
this.waiting = true;
|
|
this.ws.send(JSON.stringify({type: "draw", figure_id: this.id}));
|
|
}
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
var format_dropdown = fig.format_dropdown;
|
|
var format = format_dropdown.options[format_dropdown.selectedIndex].value;
|
|
fig.ondownload(fig, format);
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_resize = function(fig, msg) {
|
|
var size = msg['size'];
|
|
if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {
|
|
fig._resize_canvas(size[0], size[1]);
|
|
fig.send_message("refresh", {});
|
|
};
|
|
}
|
|
|
|
mpl.figure.prototype.handle_rubberband = function(fig, msg) {
|
|
var x0 = msg['x0'];
|
|
var y0 = fig.canvas.height - msg['y0'];
|
|
var x1 = msg['x1'];
|
|
var y1 = fig.canvas.height - msg['y1'];
|
|
x0 = Math.floor(x0) + 0.5;
|
|
y0 = Math.floor(y0) + 0.5;
|
|
x1 = Math.floor(x1) + 0.5;
|
|
y1 = Math.floor(y1) + 0.5;
|
|
var min_x = Math.min(x0, x1);
|
|
var min_y = Math.min(y0, y1);
|
|
var width = Math.abs(x1 - x0);
|
|
var height = Math.abs(y1 - y0);
|
|
|
|
fig.rubberband_context.clearRect(
|
|
0, 0, fig.canvas.width, fig.canvas.height);
|
|
|
|
fig.rubberband_context.strokeRect(min_x, min_y, width, height);
|
|
}
|
|
|
|
mpl.figure.prototype.handle_figure_label = function(fig, msg) {
|
|
// Updates the figure title.
|
|
fig.header.textContent = msg['label'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_cursor = function(fig, msg) {
|
|
var cursor = msg['cursor'];
|
|
switch(cursor)
|
|
{
|
|
case 0:
|
|
cursor = 'pointer';
|
|
break;
|
|
case 1:
|
|
cursor = 'default';
|
|
break;
|
|
case 2:
|
|
cursor = 'crosshair';
|
|
break;
|
|
case 3:
|
|
cursor = 'move';
|
|
break;
|
|
}
|
|
fig.rubberband_canvas.style.cursor = cursor;
|
|
}
|
|
|
|
mpl.figure.prototype.handle_message = function(fig, msg) {
|
|
fig.message.textContent = msg['message'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_draw = function(fig, msg) {
|
|
// Request the server to send over a new figure.
|
|
fig.send_draw_message();
|
|
}
|
|
|
|
mpl.figure.prototype.handle_image_mode = function(fig, msg) {
|
|
fig.image_mode = msg['mode'];
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Called whenever the canvas gets updated.
|
|
this.send_message("ack", {});
|
|
}
|
|
|
|
// A function to construct a web socket function for onmessage handling.
|
|
// Called in the figure constructor.
|
|
mpl.figure.prototype._make_on_message_function = function(fig) {
|
|
return function socket_on_message(evt) {
|
|
if (evt.data instanceof Blob) {
|
|
/* FIXME: We get "Resource interpreted as Image but
|
|
* transferred with MIME type text/plain:" errors on
|
|
* Chrome. But how to set the MIME type? It doesn't seem
|
|
* to be part of the websocket stream */
|
|
evt.data.type = "image/png";
|
|
|
|
/* Free the memory for the previous frames */
|
|
if (fig.imageObj.src) {
|
|
(window.URL || window.webkitURL).revokeObjectURL(
|
|
fig.imageObj.src);
|
|
}
|
|
|
|
fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(
|
|
evt.data);
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == "data:image/png;base64") {
|
|
fig.imageObj.src = evt.data;
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
|
|
var msg = JSON.parse(evt.data);
|
|
var msg_type = msg['type'];
|
|
|
|
// Call the "handle_{type}" callback, which takes
|
|
// the figure and JSON message as its only arguments.
|
|
try {
|
|
var callback = fig["handle_" + msg_type];
|
|
} catch (e) {
|
|
console.log("No handler for the '" + msg_type + "' message type: ", msg);
|
|
return;
|
|
}
|
|
|
|
if (callback) {
|
|
try {
|
|
// console.log("Handling '" + msg_type + "' message: ", msg);
|
|
callback(fig, msg);
|
|
} catch (e) {
|
|
console.log("Exception inside the 'handler_" + msg_type + "' callback:", e, e.stack, msg);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas
|
|
mpl.findpos = function(e) {
|
|
//this section is from http://www.quirksmode.org/js/events_properties.html
|
|
var targ;
|
|
if (!e)
|
|
e = window.event;
|
|
if (e.target)
|
|
targ = e.target;
|
|
else if (e.srcElement)
|
|
targ = e.srcElement;
|
|
if (targ.nodeType == 3) // defeat Safari bug
|
|
targ = targ.parentNode;
|
|
|
|
// jQuery normalizes the pageX and pageY
|
|
// pageX,Y are the mouse positions relative to the document
|
|
// offset() returns the position of the element relative to the document
|
|
var x = e.pageX - $(targ).offset().left;
|
|
var y = e.pageY - $(targ).offset().top;
|
|
|
|
return {"x": x, "y": y};
|
|
};
|
|
|
|
/*
|
|
* return a copy of an object with only non-object keys
|
|
* we need this to avoid circular references
|
|
* http://stackoverflow.com/a/24161582/3208463
|
|
*/
|
|
function simpleKeys (original) {
|
|
return Object.keys(original).reduce(function (obj, key) {
|
|
if (typeof original[key] !== 'object')
|
|
obj[key] = original[key]
|
|
return obj;
|
|
}, {});
|
|
}
|
|
|
|
mpl.figure.prototype.mouse_event = function(event, name) {
|
|
var canvas_pos = mpl.findpos(event)
|
|
|
|
if (name === 'button_press')
|
|
{
|
|
this.canvas.focus();
|
|
this.canvas_div.focus();
|
|
}
|
|
|
|
var x = canvas_pos.x;
|
|
var y = canvas_pos.y;
|
|
|
|
this.send_message(name, {x: x, y: y, button: event.button,
|
|
step: event.step,
|
|
guiEvent: simpleKeys(event)});
|
|
|
|
/* This prevents the web browser from automatically changing to
|
|
* the text insertion cursor when the button is pressed. We want
|
|
* to control all of the cursor setting manually through the
|
|
* 'cursor' event from matplotlib */
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
// Handle any extra behaviour associated with a key event
|
|
}
|
|
|
|
mpl.figure.prototype.key_event = function(event, name) {
|
|
|
|
// Prevent repeat events
|
|
if (name == 'key_press')
|
|
{
|
|
if (event.which === this._key)
|
|
return;
|
|
else
|
|
this._key = event.which;
|
|
}
|
|
if (name == 'key_release')
|
|
this._key = null;
|
|
|
|
var value = '';
|
|
if (event.ctrlKey && event.which != 17)
|
|
value += "ctrl+";
|
|
if (event.altKey && event.which != 18)
|
|
value += "alt+";
|
|
if (event.shiftKey && event.which != 16)
|
|
value += "shift+";
|
|
|
|
value += 'k';
|
|
value += event.which.toString();
|
|
|
|
this._key_event_extra(event, name);
|
|
|
|
this.send_message(name, {key: value,
|
|
guiEvent: simpleKeys(event)});
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype.toolbar_button_onclick = function(name) {
|
|
if (name == 'download') {
|
|
this.handle_save(this, null);
|
|
} else {
|
|
this.send_message("toolbar_button", {name: name});
|
|
}
|
|
};
|
|
|
|
mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {
|
|
this.message.textContent = tooltip;
|
|
};
|
|
mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Pan axes with left mouse, zoom with right", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]];
|
|
|
|
mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"];
|
|
|
|
mpl.default_extension = "png";var comm_websocket_adapter = function(comm) {
|
|
// Create a "websocket"-like object which calls the given IPython comm
|
|
// object with the appropriate methods. Currently this is a non binary
|
|
// socket, so there is still some room for performance tuning.
|
|
var ws = {};
|
|
|
|
ws.close = function() {
|
|
comm.close()
|
|
};
|
|
ws.send = function(m) {
|
|
//console.log('sending', m);
|
|
comm.send(m);
|
|
};
|
|
// Register the callback with on_msg.
|
|
comm.on_msg(function(msg) {
|
|
//console.log('receiving', msg['content']['data'], msg);
|
|
// Pass the mpl event to the overriden (by mpl) onmessage function.
|
|
ws.onmessage(msg['content']['data'])
|
|
});
|
|
return ws;
|
|
}
|
|
|
|
mpl.mpl_figure_comm = function(comm, msg) {
|
|
// This is the function which gets called when the mpl process
|
|
// starts-up an IPython Comm through the "matplotlib" channel.
|
|
|
|
var id = msg.content.data.id;
|
|
// Get hold of the div created by the display call when the Comm
|
|
// socket was opened in Python.
|
|
var element = $("#" + id);
|
|
var ws_proxy = comm_websocket_adapter(comm)
|
|
|
|
function ondownload(figure, format) {
|
|
window.open(figure.imageObj.src);
|
|
}
|
|
|
|
var fig = new mpl.figure(id, ws_proxy,
|
|
ondownload,
|
|
element.get(0));
|
|
|
|
// Call onopen now - mpl needs it, as it is assuming we've passed it a real
|
|
// web socket which is closed, not our websocket->open comm proxy.
|
|
ws_proxy.onopen();
|
|
|
|
fig.parent_element = element.get(0);
|
|
fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>");
|
|
if (!fig.cell_info) {
|
|
console.error("Failed to find cell for figure", id, fig);
|
|
return;
|
|
}
|
|
|
|
var output_index = fig.cell_info[2]
|
|
var cell = fig.cell_info[0];
|
|
|
|
};
|
|
|
|
mpl.figure.prototype.handle_close = function(fig, msg) {
|
|
fig.root.unbind('remove')
|
|
|
|
// Update the output cell to use the data from the current canvas.
|
|
fig.push_to_output();
|
|
var dataURL = fig.canvas.toDataURL();
|
|
// Re-enable the keyboard manager in IPython - without this line, in FF,
|
|
// the notebook keyboard shortcuts fail.
|
|
IPython.keyboard_manager.enable()
|
|
$(fig.parent_element).html('<img src="' + dataURL + '">');
|
|
fig.close_ws(fig, msg);
|
|
}
|
|
|
|
mpl.figure.prototype.close_ws = function(fig, msg){
|
|
fig.send_message('closing', msg);
|
|
// fig.ws.close()
|
|
}
|
|
|
|
mpl.figure.prototype.push_to_output = function(remove_interactive) {
|
|
// Turn the data on the canvas into data in the output cell.
|
|
var dataURL = this.canvas.toDataURL();
|
|
this.cell_info[1]['text/html'] = '<img src="' + dataURL + '">';
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Tell IPython that the notebook contents must change.
|
|
IPython.notebook.set_dirty(true);
|
|
this.send_message("ack", {});
|
|
var fig = this;
|
|
// Wait a second, then push the new image to the DOM so
|
|
// that it is saved nicely (might be nice to debounce this).
|
|
setTimeout(function () { fig.push_to_output() }, 1000);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items){
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) { continue; };
|
|
|
|
var button = $('<button class="btn btn-default" href="#" title="' + name + '"><i class="fa ' + image + ' fa-lg"></i></button>');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
nav_element.append(button);
|
|
}
|
|
|
|
// Add the status bar.
|
|
var status_bar = $('<span class="mpl-message" style="text-align:right; float: right;"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
|
|
// Add the close button to the window.
|
|
var buttongrp = $('<div class="btn-group inline pull-right"></div>');
|
|
var button = $('<button class="btn btn-mini btn-primary" href="#" title="Stop Interaction"><i class="fa fa-power-off icon-remove icon-large"></i></button>');
|
|
button.click(function (evt) { fig.handle_close(fig, {}); } );
|
|
button.mouseover('Stop Interaction', toolbar_mouse_event);
|
|
buttongrp.append(button);
|
|
var titlebar = this.root.find($('.ui-dialog-titlebar'));
|
|
titlebar.prepend(buttongrp);
|
|
}
|
|
|
|
mpl.figure.prototype._root_extra_style = function(el){
|
|
var fig = this
|
|
el.on("remove", function(){
|
|
fig.close_ws(fig, {});
|
|
});
|
|
}
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(el){
|
|
// this is important to make the div 'focusable
|
|
el.attr('tabindex', 0)
|
|
// reach out to IPython and tell the keyboard manager to turn it's self
|
|
// off when our div gets focus
|
|
|
|
// location in version 3
|
|
if (IPython.notebook.keyboard_manager) {
|
|
IPython.notebook.keyboard_manager.register_events(el);
|
|
}
|
|
else {
|
|
// location in version 2
|
|
IPython.keyboard_manager.register_events(el);
|
|
}
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
var manager = IPython.notebook.keyboard_manager;
|
|
if (!manager)
|
|
manager = IPython.keyboard_manager;
|
|
|
|
// Check for shift+enter
|
|
if (event.shiftKey && event.which == 13) {
|
|
this.canvas_div.blur();
|
|
event.shiftKey = false;
|
|
// Send a "J" for go to next cell
|
|
event.which = 74;
|
|
event.keyCode = 74;
|
|
manager.command_mode();
|
|
manager.handle_keydown(event);
|
|
}
|
|
}
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
fig.ondownload(fig, null);
|
|
}
|
|
|
|
|
|
mpl.find_output_cell = function(html_output) {
|
|
// Return the cell and output element which can be found *uniquely* in the notebook.
|
|
// Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook"
|
|
// IPython event is triggered only after the cells have been serialised, which for
|
|
// our purposes (turning an active figure into a static one), is too late.
|
|
var cells = IPython.notebook.get_cells();
|
|
var ncells = cells.length;
|
|
for (var i=0; i<ncells; i++) {
|
|
var cell = cells[i];
|
|
if (cell.cell_type === 'code'){
|
|
for (var j=0; j<cell.output_area.outputs.length; j++) {
|
|
var data = cell.output_area.outputs[j];
|
|
if (data.data) {
|
|
// IPython >= 3 moved mimebundle to data attribute of output
|
|
data = data.data;
|
|
}
|
|
if (data['text/html'] == html_output) {
|
|
return [cell, data, j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Register the function which deals with the matplotlib target/channel.
|
|
// The kernel may be null if the page has been refreshed.
|
|
if (IPython.notebook.kernel != null) {
|
|
IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);
|
|
}
|
|
|
|
</script>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<img src="data:image/png;base64,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">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [7]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># save as default transformation for run (used when reloading without initAlign keywork)</span>
|
|
<span class="n">r</span><span class="o">.</span><span class="n">saveTransform</span><span class="p">();</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Saving roi and transformation parameter to mecl3616_init_pars//run0190_transform.npy
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [8]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># do more shots without fitting (using last r.initAlign)</span>
|
|
<span class="c1"># the return value is a list with lots of stuff for each shot</span>
|
|
<span class="n">res</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">doShots</span><span class="p">(</span><span class="nb">slice</span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="n">doFit</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
<span class="nb">print</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">res</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>FOM for best alignment 0.11
|
|
['parameters', 'p2', 'p1', 'fom', 'ratio']
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [9]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">res</span><span class="p">[</span><span class="s2">"parameters"</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>['igauss1cen', 'scalex', 'transx', 'intensity', 'igauss2cen', 'shear', 'iblur1', 'scaley', 'rotation', 'igauss1sig', 'transy', 'igauss2sig']
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [10]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">alignment</span><span class="o">.</span><span class="n">plotRatios</span><span class="p">(</span><span class="n">res</span><span class="p">[</span><span class="s2">"ratio"</span><span class="p">])</span>
|
|
<span class="n">ref</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">nanmedian</span><span class="p">(</span><span class="n">res</span><span class="p">[</span><span class="s2">"ratio"</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">trash</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span><span class="mi">600</span><span class="p">)</span>
|
|
<span class="n">trash</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
|
|
|
|
<div id="c46edf5e-d839-4198-987d-eb927d5d3649"></div>
|
|
<div class="output_subarea output_javascript ">
|
|
<script type="text/javascript">
|
|
var element = $('#c46edf5e-d839-4198-987d-eb927d5d3649');
|
|
/* Put everything inside the global mpl namespace */
|
|
window.mpl = {};
|
|
|
|
mpl.get_websocket_type = function() {
|
|
if (typeof(WebSocket) !== 'undefined') {
|
|
return WebSocket;
|
|
} else if (typeof(MozWebSocket) !== 'undefined') {
|
|
return MozWebSocket;
|
|
} else {
|
|
alert('Your browser does not have WebSocket support.' +
|
|
'Please try Chrome, Safari or Firefox ≥ 6. ' +
|
|
'Firefox 4 and 5 are also supported but you ' +
|
|
'have to enable WebSockets in about:config.');
|
|
};
|
|
}
|
|
|
|
mpl.figure = function(figure_id, websocket, ondownload, parent_element) {
|
|
this.id = figure_id;
|
|
|
|
this.ws = websocket;
|
|
|
|
this.supports_binary = (this.ws.binaryType != undefined);
|
|
|
|
if (!this.supports_binary) {
|
|
var warnings = document.getElementById("mpl-warnings");
|
|
if (warnings) {
|
|
warnings.style.display = 'block';
|
|
warnings.textContent = (
|
|
"This browser does not support binary websocket messages. " +
|
|
"Performance may be slow.");
|
|
}
|
|
}
|
|
|
|
this.imageObj = new Image();
|
|
|
|
this.context = undefined;
|
|
this.message = undefined;
|
|
this.canvas = undefined;
|
|
this.rubberband_canvas = undefined;
|
|
this.rubberband_context = undefined;
|
|
this.format_dropdown = undefined;
|
|
|
|
this.image_mode = 'full';
|
|
|
|
this.root = $('<div/>');
|
|
this._root_extra_style(this.root)
|
|
this.root.attr('style', 'display: inline-block');
|
|
|
|
$(parent_element).append(this.root);
|
|
|
|
this._init_header(this);
|
|
this._init_canvas(this);
|
|
this._init_toolbar(this);
|
|
|
|
var fig = this;
|
|
|
|
this.waiting = false;
|
|
|
|
this.ws.onopen = function () {
|
|
fig.send_message("supports_binary", {value: fig.supports_binary});
|
|
fig.send_message("send_image_mode", {});
|
|
fig.send_message("refresh", {});
|
|
}
|
|
|
|
this.imageObj.onload = function() {
|
|
if (fig.image_mode == 'full') {
|
|
// Full images could contain transparency (where diff images
|
|
// almost always do), so we need to clear the canvas so that
|
|
// there is no ghosting.
|
|
fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);
|
|
}
|
|
fig.context.drawImage(fig.imageObj, 0, 0);
|
|
};
|
|
|
|
this.imageObj.onunload = function() {
|
|
this.ws.close();
|
|
}
|
|
|
|
this.ws.onmessage = this._make_on_message_function(this);
|
|
|
|
this.ondownload = ondownload;
|
|
}
|
|
|
|
mpl.figure.prototype._init_header = function() {
|
|
var titlebar = $(
|
|
'<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ' +
|
|
'ui-helper-clearfix"/>');
|
|
var titletext = $(
|
|
'<div class="ui-dialog-title" style="width: 100%; ' +
|
|
'text-align: center; padding: 3px;"/>');
|
|
titlebar.append(titletext)
|
|
this.root.append(titlebar);
|
|
this.header = titletext[0];
|
|
}
|
|
|
|
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
|
|
mpl.figure.prototype._root_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._init_canvas = function() {
|
|
var fig = this;
|
|
|
|
var canvas_div = $('<div/>');
|
|
|
|
canvas_div.attr('style', 'position: relative; clear: both; outline: 0');
|
|
|
|
function canvas_keyboard_event(event) {
|
|
return fig.key_event(event, event['data']);
|
|
}
|
|
|
|
canvas_div.keydown('key_press', canvas_keyboard_event);
|
|
canvas_div.keyup('key_release', canvas_keyboard_event);
|
|
this.canvas_div = canvas_div
|
|
this._canvas_extra_style(canvas_div)
|
|
this.root.append(canvas_div);
|
|
|
|
var canvas = $('<canvas/>');
|
|
canvas.addClass('mpl-canvas');
|
|
canvas.attr('style', "left: 0; top: 0; z-index: 0; outline: 0")
|
|
|
|
this.canvas = canvas[0];
|
|
this.context = canvas[0].getContext("2d");
|
|
|
|
var rubberband = $('<canvas/>');
|
|
rubberband.attr('style', "position: absolute; left: 0; top: 0; z-index: 1;")
|
|
|
|
var pass_mouse_events = true;
|
|
|
|
canvas_div.resizable({
|
|
start: function(event, ui) {
|
|
pass_mouse_events = false;
|
|
},
|
|
resize: function(event, ui) {
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
stop: function(event, ui) {
|
|
pass_mouse_events = true;
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
});
|
|
|
|
function mouse_event_fn(event) {
|
|
if (pass_mouse_events)
|
|
return fig.mouse_event(event, event['data']);
|
|
}
|
|
|
|
rubberband.mousedown('button_press', mouse_event_fn);
|
|
rubberband.mouseup('button_release', mouse_event_fn);
|
|
// Throttle sequential mouse events to 1 every 20ms.
|
|
rubberband.mousemove('motion_notify', mouse_event_fn);
|
|
|
|
rubberband.mouseenter('figure_enter', mouse_event_fn);
|
|
rubberband.mouseleave('figure_leave', mouse_event_fn);
|
|
|
|
canvas_div.on("wheel", function (event) {
|
|
event = event.originalEvent;
|
|
event['data'] = 'scroll'
|
|
if (event.deltaY < 0) {
|
|
event.step = 1;
|
|
} else {
|
|
event.step = -1;
|
|
}
|
|
mouse_event_fn(event);
|
|
});
|
|
|
|
canvas_div.append(canvas);
|
|
canvas_div.append(rubberband);
|
|
|
|
this.rubberband = rubberband;
|
|
this.rubberband_canvas = rubberband[0];
|
|
this.rubberband_context = rubberband[0].getContext("2d");
|
|
this.rubberband_context.strokeStyle = "#000000";
|
|
|
|
this._resize_canvas = function(width, height) {
|
|
// Keep the size of the canvas, canvas container, and rubber band
|
|
// canvas in synch.
|
|
canvas_div.css('width', width)
|
|
canvas_div.css('height', height)
|
|
|
|
canvas.attr('width', width);
|
|
canvas.attr('height', height);
|
|
|
|
rubberband.attr('width', width);
|
|
rubberband.attr('height', height);
|
|
}
|
|
|
|
// Set the figure to an initial 600x600px, this will subsequently be updated
|
|
// upon first draw.
|
|
this._resize_canvas(600, 600);
|
|
|
|
// Disable right mouse context menu.
|
|
$(this.rubberband_canvas).bind("contextmenu",function(e){
|
|
return false;
|
|
});
|
|
|
|
function set_focus () {
|
|
canvas.focus();
|
|
canvas_div.focus();
|
|
}
|
|
|
|
window.setTimeout(set_focus, 100);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items) {
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) {
|
|
// put a spacer in here.
|
|
continue;
|
|
}
|
|
var button = $('<button/>');
|
|
button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +
|
|
'ui-button-icon-only');
|
|
button.attr('role', 'button');
|
|
button.attr('aria-disabled', 'false');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
|
|
var icon_img = $('<span/>');
|
|
icon_img.addClass('ui-button-icon-primary ui-icon');
|
|
icon_img.addClass(image);
|
|
icon_img.addClass('ui-corner-all');
|
|
|
|
var tooltip_span = $('<span/>');
|
|
tooltip_span.addClass('ui-button-text');
|
|
tooltip_span.html(tooltip);
|
|
|
|
button.append(icon_img);
|
|
button.append(tooltip_span);
|
|
|
|
nav_element.append(button);
|
|
}
|
|
|
|
var fmt_picker_span = $('<span/>');
|
|
|
|
var fmt_picker = $('<select/>');
|
|
fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');
|
|
fmt_picker_span.append(fmt_picker);
|
|
nav_element.append(fmt_picker_span);
|
|
this.format_dropdown = fmt_picker[0];
|
|
|
|
for (var ind in mpl.extensions) {
|
|
var fmt = mpl.extensions[ind];
|
|
var option = $(
|
|
'<option/>', {selected: fmt === mpl.default_extension}).html(fmt);
|
|
fmt_picker.append(option)
|
|
}
|
|
|
|
// Add hover states to the ui-buttons
|
|
$( ".ui-button" ).hover(
|
|
function() { $(this).addClass("ui-state-hover");},
|
|
function() { $(this).removeClass("ui-state-hover");}
|
|
);
|
|
|
|
var status_bar = $('<span class="mpl-message"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
}
|
|
|
|
mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {
|
|
// Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,
|
|
// which will in turn request a refresh of the image.
|
|
this.send_message('resize', {'width': x_pixels, 'height': y_pixels});
|
|
}
|
|
|
|
mpl.figure.prototype.send_message = function(type, properties) {
|
|
properties['type'] = type;
|
|
properties['figure_id'] = this.id;
|
|
this.ws.send(JSON.stringify(properties));
|
|
}
|
|
|
|
mpl.figure.prototype.send_draw_message = function() {
|
|
if (!this.waiting) {
|
|
this.waiting = true;
|
|
this.ws.send(JSON.stringify({type: "draw", figure_id: this.id}));
|
|
}
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
var format_dropdown = fig.format_dropdown;
|
|
var format = format_dropdown.options[format_dropdown.selectedIndex].value;
|
|
fig.ondownload(fig, format);
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_resize = function(fig, msg) {
|
|
var size = msg['size'];
|
|
if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {
|
|
fig._resize_canvas(size[0], size[1]);
|
|
fig.send_message("refresh", {});
|
|
};
|
|
}
|
|
|
|
mpl.figure.prototype.handle_rubberband = function(fig, msg) {
|
|
var x0 = msg['x0'];
|
|
var y0 = fig.canvas.height - msg['y0'];
|
|
var x1 = msg['x1'];
|
|
var y1 = fig.canvas.height - msg['y1'];
|
|
x0 = Math.floor(x0) + 0.5;
|
|
y0 = Math.floor(y0) + 0.5;
|
|
x1 = Math.floor(x1) + 0.5;
|
|
y1 = Math.floor(y1) + 0.5;
|
|
var min_x = Math.min(x0, x1);
|
|
var min_y = Math.min(y0, y1);
|
|
var width = Math.abs(x1 - x0);
|
|
var height = Math.abs(y1 - y0);
|
|
|
|
fig.rubberband_context.clearRect(
|
|
0, 0, fig.canvas.width, fig.canvas.height);
|
|
|
|
fig.rubberband_context.strokeRect(min_x, min_y, width, height);
|
|
}
|
|
|
|
mpl.figure.prototype.handle_figure_label = function(fig, msg) {
|
|
// Updates the figure title.
|
|
fig.header.textContent = msg['label'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_cursor = function(fig, msg) {
|
|
var cursor = msg['cursor'];
|
|
switch(cursor)
|
|
{
|
|
case 0:
|
|
cursor = 'pointer';
|
|
break;
|
|
case 1:
|
|
cursor = 'default';
|
|
break;
|
|
case 2:
|
|
cursor = 'crosshair';
|
|
break;
|
|
case 3:
|
|
cursor = 'move';
|
|
break;
|
|
}
|
|
fig.rubberband_canvas.style.cursor = cursor;
|
|
}
|
|
|
|
mpl.figure.prototype.handle_message = function(fig, msg) {
|
|
fig.message.textContent = msg['message'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_draw = function(fig, msg) {
|
|
// Request the server to send over a new figure.
|
|
fig.send_draw_message();
|
|
}
|
|
|
|
mpl.figure.prototype.handle_image_mode = function(fig, msg) {
|
|
fig.image_mode = msg['mode'];
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Called whenever the canvas gets updated.
|
|
this.send_message("ack", {});
|
|
}
|
|
|
|
// A function to construct a web socket function for onmessage handling.
|
|
// Called in the figure constructor.
|
|
mpl.figure.prototype._make_on_message_function = function(fig) {
|
|
return function socket_on_message(evt) {
|
|
if (evt.data instanceof Blob) {
|
|
/* FIXME: We get "Resource interpreted as Image but
|
|
* transferred with MIME type text/plain:" errors on
|
|
* Chrome. But how to set the MIME type? It doesn't seem
|
|
* to be part of the websocket stream */
|
|
evt.data.type = "image/png";
|
|
|
|
/* Free the memory for the previous frames */
|
|
if (fig.imageObj.src) {
|
|
(window.URL || window.webkitURL).revokeObjectURL(
|
|
fig.imageObj.src);
|
|
}
|
|
|
|
fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(
|
|
evt.data);
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == "data:image/png;base64") {
|
|
fig.imageObj.src = evt.data;
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
|
|
var msg = JSON.parse(evt.data);
|
|
var msg_type = msg['type'];
|
|
|
|
// Call the "handle_{type}" callback, which takes
|
|
// the figure and JSON message as its only arguments.
|
|
try {
|
|
var callback = fig["handle_" + msg_type];
|
|
} catch (e) {
|
|
console.log("No handler for the '" + msg_type + "' message type: ", msg);
|
|
return;
|
|
}
|
|
|
|
if (callback) {
|
|
try {
|
|
// console.log("Handling '" + msg_type + "' message: ", msg);
|
|
callback(fig, msg);
|
|
} catch (e) {
|
|
console.log("Exception inside the 'handler_" + msg_type + "' callback:", e, e.stack, msg);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas
|
|
mpl.findpos = function(e) {
|
|
//this section is from http://www.quirksmode.org/js/events_properties.html
|
|
var targ;
|
|
if (!e)
|
|
e = window.event;
|
|
if (e.target)
|
|
targ = e.target;
|
|
else if (e.srcElement)
|
|
targ = e.srcElement;
|
|
if (targ.nodeType == 3) // defeat Safari bug
|
|
targ = targ.parentNode;
|
|
|
|
// jQuery normalizes the pageX and pageY
|
|
// pageX,Y are the mouse positions relative to the document
|
|
// offset() returns the position of the element relative to the document
|
|
var x = e.pageX - $(targ).offset().left;
|
|
var y = e.pageY - $(targ).offset().top;
|
|
|
|
return {"x": x, "y": y};
|
|
};
|
|
|
|
/*
|
|
* return a copy of an object with only non-object keys
|
|
* we need this to avoid circular references
|
|
* http://stackoverflow.com/a/24161582/3208463
|
|
*/
|
|
function simpleKeys (original) {
|
|
return Object.keys(original).reduce(function (obj, key) {
|
|
if (typeof original[key] !== 'object')
|
|
obj[key] = original[key]
|
|
return obj;
|
|
}, {});
|
|
}
|
|
|
|
mpl.figure.prototype.mouse_event = function(event, name) {
|
|
var canvas_pos = mpl.findpos(event)
|
|
|
|
if (name === 'button_press')
|
|
{
|
|
this.canvas.focus();
|
|
this.canvas_div.focus();
|
|
}
|
|
|
|
var x = canvas_pos.x;
|
|
var y = canvas_pos.y;
|
|
|
|
this.send_message(name, {x: x, y: y, button: event.button,
|
|
step: event.step,
|
|
guiEvent: simpleKeys(event)});
|
|
|
|
/* This prevents the web browser from automatically changing to
|
|
* the text insertion cursor when the button is pressed. We want
|
|
* to control all of the cursor setting manually through the
|
|
* 'cursor' event from matplotlib */
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
// Handle any extra behaviour associated with a key event
|
|
}
|
|
|
|
mpl.figure.prototype.key_event = function(event, name) {
|
|
|
|
// Prevent repeat events
|
|
if (name == 'key_press')
|
|
{
|
|
if (event.which === this._key)
|
|
return;
|
|
else
|
|
this._key = event.which;
|
|
}
|
|
if (name == 'key_release')
|
|
this._key = null;
|
|
|
|
var value = '';
|
|
if (event.ctrlKey && event.which != 17)
|
|
value += "ctrl+";
|
|
if (event.altKey && event.which != 18)
|
|
value += "alt+";
|
|
if (event.shiftKey && event.which != 16)
|
|
value += "shift+";
|
|
|
|
value += 'k';
|
|
value += event.which.toString();
|
|
|
|
this._key_event_extra(event, name);
|
|
|
|
this.send_message(name, {key: value,
|
|
guiEvent: simpleKeys(event)});
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype.toolbar_button_onclick = function(name) {
|
|
if (name == 'download') {
|
|
this.handle_save(this, null);
|
|
} else {
|
|
this.send_message("toolbar_button", {name: name});
|
|
}
|
|
};
|
|
|
|
mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {
|
|
this.message.textContent = tooltip;
|
|
};
|
|
mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Pan axes with left mouse, zoom with right", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]];
|
|
|
|
mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"];
|
|
|
|
mpl.default_extension = "png";var comm_websocket_adapter = function(comm) {
|
|
// Create a "websocket"-like object which calls the given IPython comm
|
|
// object with the appropriate methods. Currently this is a non binary
|
|
// socket, so there is still some room for performance tuning.
|
|
var ws = {};
|
|
|
|
ws.close = function() {
|
|
comm.close()
|
|
};
|
|
ws.send = function(m) {
|
|
//console.log('sending', m);
|
|
comm.send(m);
|
|
};
|
|
// Register the callback with on_msg.
|
|
comm.on_msg(function(msg) {
|
|
//console.log('receiving', msg['content']['data'], msg);
|
|
// Pass the mpl event to the overriden (by mpl) onmessage function.
|
|
ws.onmessage(msg['content']['data'])
|
|
});
|
|
return ws;
|
|
}
|
|
|
|
mpl.mpl_figure_comm = function(comm, msg) {
|
|
// This is the function which gets called when the mpl process
|
|
// starts-up an IPython Comm through the "matplotlib" channel.
|
|
|
|
var id = msg.content.data.id;
|
|
// Get hold of the div created by the display call when the Comm
|
|
// socket was opened in Python.
|
|
var element = $("#" + id);
|
|
var ws_proxy = comm_websocket_adapter(comm)
|
|
|
|
function ondownload(figure, format) {
|
|
window.open(figure.imageObj.src);
|
|
}
|
|
|
|
var fig = new mpl.figure(id, ws_proxy,
|
|
ondownload,
|
|
element.get(0));
|
|
|
|
// Call onopen now - mpl needs it, as it is assuming we've passed it a real
|
|
// web socket which is closed, not our websocket->open comm proxy.
|
|
ws_proxy.onopen();
|
|
|
|
fig.parent_element = element.get(0);
|
|
fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>");
|
|
if (!fig.cell_info) {
|
|
console.error("Failed to find cell for figure", id, fig);
|
|
return;
|
|
}
|
|
|
|
var output_index = fig.cell_info[2]
|
|
var cell = fig.cell_info[0];
|
|
|
|
};
|
|
|
|
mpl.figure.prototype.handle_close = function(fig, msg) {
|
|
fig.root.unbind('remove')
|
|
|
|
// Update the output cell to use the data from the current canvas.
|
|
fig.push_to_output();
|
|
var dataURL = fig.canvas.toDataURL();
|
|
// Re-enable the keyboard manager in IPython - without this line, in FF,
|
|
// the notebook keyboard shortcuts fail.
|
|
IPython.keyboard_manager.enable()
|
|
$(fig.parent_element).html('<img src="' + dataURL + '">');
|
|
fig.close_ws(fig, msg);
|
|
}
|
|
|
|
mpl.figure.prototype.close_ws = function(fig, msg){
|
|
fig.send_message('closing', msg);
|
|
// fig.ws.close()
|
|
}
|
|
|
|
mpl.figure.prototype.push_to_output = function(remove_interactive) {
|
|
// Turn the data on the canvas into data in the output cell.
|
|
var dataURL = this.canvas.toDataURL();
|
|
this.cell_info[1]['text/html'] = '<img src="' + dataURL + '">';
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Tell IPython that the notebook contents must change.
|
|
IPython.notebook.set_dirty(true);
|
|
this.send_message("ack", {});
|
|
var fig = this;
|
|
// Wait a second, then push the new image to the DOM so
|
|
// that it is saved nicely (might be nice to debounce this).
|
|
setTimeout(function () { fig.push_to_output() }, 1000);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items){
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) { continue; };
|
|
|
|
var button = $('<button class="btn btn-default" href="#" title="' + name + '"><i class="fa ' + image + ' fa-lg"></i></button>');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
nav_element.append(button);
|
|
}
|
|
|
|
// Add the status bar.
|
|
var status_bar = $('<span class="mpl-message" style="text-align:right; float: right;"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
|
|
// Add the close button to the window.
|
|
var buttongrp = $('<div class="btn-group inline pull-right"></div>');
|
|
var button = $('<button class="btn btn-mini btn-primary" href="#" title="Stop Interaction"><i class="fa fa-power-off icon-remove icon-large"></i></button>');
|
|
button.click(function (evt) { fig.handle_close(fig, {}); } );
|
|
button.mouseover('Stop Interaction', toolbar_mouse_event);
|
|
buttongrp.append(button);
|
|
var titlebar = this.root.find($('.ui-dialog-titlebar'));
|
|
titlebar.prepend(buttongrp);
|
|
}
|
|
|
|
mpl.figure.prototype._root_extra_style = function(el){
|
|
var fig = this
|
|
el.on("remove", function(){
|
|
fig.close_ws(fig, {});
|
|
});
|
|
}
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(el){
|
|
// this is important to make the div 'focusable
|
|
el.attr('tabindex', 0)
|
|
// reach out to IPython and tell the keyboard manager to turn it's self
|
|
// off when our div gets focus
|
|
|
|
// location in version 3
|
|
if (IPython.notebook.keyboard_manager) {
|
|
IPython.notebook.keyboard_manager.register_events(el);
|
|
}
|
|
else {
|
|
// location in version 2
|
|
IPython.keyboard_manager.register_events(el);
|
|
}
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
var manager = IPython.notebook.keyboard_manager;
|
|
if (!manager)
|
|
manager = IPython.keyboard_manager;
|
|
|
|
// Check for shift+enter
|
|
if (event.shiftKey && event.which == 13) {
|
|
this.canvas_div.blur();
|
|
event.shiftKey = false;
|
|
// Send a "J" for go to next cell
|
|
event.which = 74;
|
|
event.keyCode = 74;
|
|
manager.command_mode();
|
|
manager.handle_keydown(event);
|
|
}
|
|
}
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
fig.ondownload(fig, null);
|
|
}
|
|
|
|
|
|
mpl.find_output_cell = function(html_output) {
|
|
// Return the cell and output element which can be found *uniquely* in the notebook.
|
|
// Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook"
|
|
// IPython event is triggered only after the cells have been serialised, which for
|
|
// our purposes (turning an active figure into a static one), is too late.
|
|
var cells = IPython.notebook.get_cells();
|
|
var ncells = cells.length;
|
|
for (var i=0; i<ncells; i++) {
|
|
var cell = cells[i];
|
|
if (cell.cell_type === 'code'){
|
|
for (var j=0; j<cell.output_area.outputs.length; j++) {
|
|
var data = cell.output_area.outputs[j];
|
|
if (data.data) {
|
|
// IPython >= 3 moved mimebundle to data attribute of output
|
|
data = data.data;
|
|
}
|
|
if (data['text/html'] == html_output) {
|
|
return [cell, data, j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Register the function which deals with the matplotlib target/channel.
|
|
// The kernel may be null if the page has been refreshed.
|
|
if (IPython.notebook.kernel != null) {
|
|
IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);
|
|
}
|
|
|
|
</script>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<img src="data:image/png;base64,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">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing text_cell rendered">
|
|
<div class="prompt input_prompt">
|
|
</div>
|
|
<div class="inner_cell">
|
|
<div class="text_cell_render border-box-sizing rendered_html">
|
|
<h1 id="analyze-another-run-using-previous-alignment">analyze another run using previous alignment<a class="anchor-link" href="#analyze-another-run-using-previous-alignment">¶</a></h1>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [11]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">rShot</span> <span class="o">=</span> <span class="n">xanes_analyzeRun</span><span class="o">.</span><span class="n">AnalyzeRun</span><span class="p">(</span><span class="mi">192</span><span class="p">,</span><span class="n">initAlign</span><span class="o">=</span><span class="s2">"mecl3616_init_pars/run0190_transform.npy"</span><span class="p">,</span><span class="n">swapx</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">swapy</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Building paths list of HDF5 file(s)...done 0.02 s
|
|
Defining fee_spec.....(as general detector).....done 0.00 s
|
|
Defining opal2.....(as general detector).....done 0.00 s
|
|
Time stamp matching started ......done 0.00 s
|
|
init transform and ROIs from mecl3616_init_pars/run0190_transform.npy
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [12]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">out</span> <span class="o">=</span> <span class="n">rShot</span><span class="o">.</span><span class="n">doShots</span><span class="p">(</span><span class="nb">slice</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
|
|
<span class="n">ratios</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="s2">"ratio"</span><span class="p">]</span>
|
|
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
|
|
<span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">r</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">ratios</span><span class="p">):</span>
|
|
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">r</span><span class="o">/</span><span class="n">ref</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s2">"Shot </span><span class="si">%d</span><span class="s2">"</span><span class="o">%</span><span class="k">i</span>)
|
|
<span class="n">trash</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="n">trash</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>FOM for best alignment 0.32
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
|
|
|
|
<div id="616a73cf-3167-4e3b-9575-e67cb5108ac6"></div>
|
|
<div class="output_subarea output_javascript ">
|
|
<script type="text/javascript">
|
|
var element = $('#616a73cf-3167-4e3b-9575-e67cb5108ac6');
|
|
/* Put everything inside the global mpl namespace */
|
|
window.mpl = {};
|
|
|
|
mpl.get_websocket_type = function() {
|
|
if (typeof(WebSocket) !== 'undefined') {
|
|
return WebSocket;
|
|
} else if (typeof(MozWebSocket) !== 'undefined') {
|
|
return MozWebSocket;
|
|
} else {
|
|
alert('Your browser does not have WebSocket support.' +
|
|
'Please try Chrome, Safari or Firefox ≥ 6. ' +
|
|
'Firefox 4 and 5 are also supported but you ' +
|
|
'have to enable WebSockets in about:config.');
|
|
};
|
|
}
|
|
|
|
mpl.figure = function(figure_id, websocket, ondownload, parent_element) {
|
|
this.id = figure_id;
|
|
|
|
this.ws = websocket;
|
|
|
|
this.supports_binary = (this.ws.binaryType != undefined);
|
|
|
|
if (!this.supports_binary) {
|
|
var warnings = document.getElementById("mpl-warnings");
|
|
if (warnings) {
|
|
warnings.style.display = 'block';
|
|
warnings.textContent = (
|
|
"This browser does not support binary websocket messages. " +
|
|
"Performance may be slow.");
|
|
}
|
|
}
|
|
|
|
this.imageObj = new Image();
|
|
|
|
this.context = undefined;
|
|
this.message = undefined;
|
|
this.canvas = undefined;
|
|
this.rubberband_canvas = undefined;
|
|
this.rubberband_context = undefined;
|
|
this.format_dropdown = undefined;
|
|
|
|
this.image_mode = 'full';
|
|
|
|
this.root = $('<div/>');
|
|
this._root_extra_style(this.root)
|
|
this.root.attr('style', 'display: inline-block');
|
|
|
|
$(parent_element).append(this.root);
|
|
|
|
this._init_header(this);
|
|
this._init_canvas(this);
|
|
this._init_toolbar(this);
|
|
|
|
var fig = this;
|
|
|
|
this.waiting = false;
|
|
|
|
this.ws.onopen = function () {
|
|
fig.send_message("supports_binary", {value: fig.supports_binary});
|
|
fig.send_message("send_image_mode", {});
|
|
fig.send_message("refresh", {});
|
|
}
|
|
|
|
this.imageObj.onload = function() {
|
|
if (fig.image_mode == 'full') {
|
|
// Full images could contain transparency (where diff images
|
|
// almost always do), so we need to clear the canvas so that
|
|
// there is no ghosting.
|
|
fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);
|
|
}
|
|
fig.context.drawImage(fig.imageObj, 0, 0);
|
|
};
|
|
|
|
this.imageObj.onunload = function() {
|
|
this.ws.close();
|
|
}
|
|
|
|
this.ws.onmessage = this._make_on_message_function(this);
|
|
|
|
this.ondownload = ondownload;
|
|
}
|
|
|
|
mpl.figure.prototype._init_header = function() {
|
|
var titlebar = $(
|
|
'<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ' +
|
|
'ui-helper-clearfix"/>');
|
|
var titletext = $(
|
|
'<div class="ui-dialog-title" style="width: 100%; ' +
|
|
'text-align: center; padding: 3px;"/>');
|
|
titlebar.append(titletext)
|
|
this.root.append(titlebar);
|
|
this.header = titletext[0];
|
|
}
|
|
|
|
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
|
|
mpl.figure.prototype._root_extra_style = function(canvas_div) {
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._init_canvas = function() {
|
|
var fig = this;
|
|
|
|
var canvas_div = $('<div/>');
|
|
|
|
canvas_div.attr('style', 'position: relative; clear: both; outline: 0');
|
|
|
|
function canvas_keyboard_event(event) {
|
|
return fig.key_event(event, event['data']);
|
|
}
|
|
|
|
canvas_div.keydown('key_press', canvas_keyboard_event);
|
|
canvas_div.keyup('key_release', canvas_keyboard_event);
|
|
this.canvas_div = canvas_div
|
|
this._canvas_extra_style(canvas_div)
|
|
this.root.append(canvas_div);
|
|
|
|
var canvas = $('<canvas/>');
|
|
canvas.addClass('mpl-canvas');
|
|
canvas.attr('style', "left: 0; top: 0; z-index: 0; outline: 0")
|
|
|
|
this.canvas = canvas[0];
|
|
this.context = canvas[0].getContext("2d");
|
|
|
|
var rubberband = $('<canvas/>');
|
|
rubberband.attr('style', "position: absolute; left: 0; top: 0; z-index: 1;")
|
|
|
|
var pass_mouse_events = true;
|
|
|
|
canvas_div.resizable({
|
|
start: function(event, ui) {
|
|
pass_mouse_events = false;
|
|
},
|
|
resize: function(event, ui) {
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
stop: function(event, ui) {
|
|
pass_mouse_events = true;
|
|
fig.request_resize(ui.size.width, ui.size.height);
|
|
},
|
|
});
|
|
|
|
function mouse_event_fn(event) {
|
|
if (pass_mouse_events)
|
|
return fig.mouse_event(event, event['data']);
|
|
}
|
|
|
|
rubberband.mousedown('button_press', mouse_event_fn);
|
|
rubberband.mouseup('button_release', mouse_event_fn);
|
|
// Throttle sequential mouse events to 1 every 20ms.
|
|
rubberband.mousemove('motion_notify', mouse_event_fn);
|
|
|
|
rubberband.mouseenter('figure_enter', mouse_event_fn);
|
|
rubberband.mouseleave('figure_leave', mouse_event_fn);
|
|
|
|
canvas_div.on("wheel", function (event) {
|
|
event = event.originalEvent;
|
|
event['data'] = 'scroll'
|
|
if (event.deltaY < 0) {
|
|
event.step = 1;
|
|
} else {
|
|
event.step = -1;
|
|
}
|
|
mouse_event_fn(event);
|
|
});
|
|
|
|
canvas_div.append(canvas);
|
|
canvas_div.append(rubberband);
|
|
|
|
this.rubberband = rubberband;
|
|
this.rubberband_canvas = rubberband[0];
|
|
this.rubberband_context = rubberband[0].getContext("2d");
|
|
this.rubberband_context.strokeStyle = "#000000";
|
|
|
|
this._resize_canvas = function(width, height) {
|
|
// Keep the size of the canvas, canvas container, and rubber band
|
|
// canvas in synch.
|
|
canvas_div.css('width', width)
|
|
canvas_div.css('height', height)
|
|
|
|
canvas.attr('width', width);
|
|
canvas.attr('height', height);
|
|
|
|
rubberband.attr('width', width);
|
|
rubberband.attr('height', height);
|
|
}
|
|
|
|
// Set the figure to an initial 600x600px, this will subsequently be updated
|
|
// upon first draw.
|
|
this._resize_canvas(600, 600);
|
|
|
|
// Disable right mouse context menu.
|
|
$(this.rubberband_canvas).bind("contextmenu",function(e){
|
|
return false;
|
|
});
|
|
|
|
function set_focus () {
|
|
canvas.focus();
|
|
canvas_div.focus();
|
|
}
|
|
|
|
window.setTimeout(set_focus, 100);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items) {
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) {
|
|
// put a spacer in here.
|
|
continue;
|
|
}
|
|
var button = $('<button/>');
|
|
button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +
|
|
'ui-button-icon-only');
|
|
button.attr('role', 'button');
|
|
button.attr('aria-disabled', 'false');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
|
|
var icon_img = $('<span/>');
|
|
icon_img.addClass('ui-button-icon-primary ui-icon');
|
|
icon_img.addClass(image);
|
|
icon_img.addClass('ui-corner-all');
|
|
|
|
var tooltip_span = $('<span/>');
|
|
tooltip_span.addClass('ui-button-text');
|
|
tooltip_span.html(tooltip);
|
|
|
|
button.append(icon_img);
|
|
button.append(tooltip_span);
|
|
|
|
nav_element.append(button);
|
|
}
|
|
|
|
var fmt_picker_span = $('<span/>');
|
|
|
|
var fmt_picker = $('<select/>');
|
|
fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');
|
|
fmt_picker_span.append(fmt_picker);
|
|
nav_element.append(fmt_picker_span);
|
|
this.format_dropdown = fmt_picker[0];
|
|
|
|
for (var ind in mpl.extensions) {
|
|
var fmt = mpl.extensions[ind];
|
|
var option = $(
|
|
'<option/>', {selected: fmt === mpl.default_extension}).html(fmt);
|
|
fmt_picker.append(option)
|
|
}
|
|
|
|
// Add hover states to the ui-buttons
|
|
$( ".ui-button" ).hover(
|
|
function() { $(this).addClass("ui-state-hover");},
|
|
function() { $(this).removeClass("ui-state-hover");}
|
|
);
|
|
|
|
var status_bar = $('<span class="mpl-message"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
}
|
|
|
|
mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {
|
|
// Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,
|
|
// which will in turn request a refresh of the image.
|
|
this.send_message('resize', {'width': x_pixels, 'height': y_pixels});
|
|
}
|
|
|
|
mpl.figure.prototype.send_message = function(type, properties) {
|
|
properties['type'] = type;
|
|
properties['figure_id'] = this.id;
|
|
this.ws.send(JSON.stringify(properties));
|
|
}
|
|
|
|
mpl.figure.prototype.send_draw_message = function() {
|
|
if (!this.waiting) {
|
|
this.waiting = true;
|
|
this.ws.send(JSON.stringify({type: "draw", figure_id: this.id}));
|
|
}
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
var format_dropdown = fig.format_dropdown;
|
|
var format = format_dropdown.options[format_dropdown.selectedIndex].value;
|
|
fig.ondownload(fig, format);
|
|
}
|
|
|
|
|
|
mpl.figure.prototype.handle_resize = function(fig, msg) {
|
|
var size = msg['size'];
|
|
if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {
|
|
fig._resize_canvas(size[0], size[1]);
|
|
fig.send_message("refresh", {});
|
|
};
|
|
}
|
|
|
|
mpl.figure.prototype.handle_rubberband = function(fig, msg) {
|
|
var x0 = msg['x0'];
|
|
var y0 = fig.canvas.height - msg['y0'];
|
|
var x1 = msg['x1'];
|
|
var y1 = fig.canvas.height - msg['y1'];
|
|
x0 = Math.floor(x0) + 0.5;
|
|
y0 = Math.floor(y0) + 0.5;
|
|
x1 = Math.floor(x1) + 0.5;
|
|
y1 = Math.floor(y1) + 0.5;
|
|
var min_x = Math.min(x0, x1);
|
|
var min_y = Math.min(y0, y1);
|
|
var width = Math.abs(x1 - x0);
|
|
var height = Math.abs(y1 - y0);
|
|
|
|
fig.rubberband_context.clearRect(
|
|
0, 0, fig.canvas.width, fig.canvas.height);
|
|
|
|
fig.rubberband_context.strokeRect(min_x, min_y, width, height);
|
|
}
|
|
|
|
mpl.figure.prototype.handle_figure_label = function(fig, msg) {
|
|
// Updates the figure title.
|
|
fig.header.textContent = msg['label'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_cursor = function(fig, msg) {
|
|
var cursor = msg['cursor'];
|
|
switch(cursor)
|
|
{
|
|
case 0:
|
|
cursor = 'pointer';
|
|
break;
|
|
case 1:
|
|
cursor = 'default';
|
|
break;
|
|
case 2:
|
|
cursor = 'crosshair';
|
|
break;
|
|
case 3:
|
|
cursor = 'move';
|
|
break;
|
|
}
|
|
fig.rubberband_canvas.style.cursor = cursor;
|
|
}
|
|
|
|
mpl.figure.prototype.handle_message = function(fig, msg) {
|
|
fig.message.textContent = msg['message'];
|
|
}
|
|
|
|
mpl.figure.prototype.handle_draw = function(fig, msg) {
|
|
// Request the server to send over a new figure.
|
|
fig.send_draw_message();
|
|
}
|
|
|
|
mpl.figure.prototype.handle_image_mode = function(fig, msg) {
|
|
fig.image_mode = msg['mode'];
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Called whenever the canvas gets updated.
|
|
this.send_message("ack", {});
|
|
}
|
|
|
|
// A function to construct a web socket function for onmessage handling.
|
|
// Called in the figure constructor.
|
|
mpl.figure.prototype._make_on_message_function = function(fig) {
|
|
return function socket_on_message(evt) {
|
|
if (evt.data instanceof Blob) {
|
|
/* FIXME: We get "Resource interpreted as Image but
|
|
* transferred with MIME type text/plain:" errors on
|
|
* Chrome. But how to set the MIME type? It doesn't seem
|
|
* to be part of the websocket stream */
|
|
evt.data.type = "image/png";
|
|
|
|
/* Free the memory for the previous frames */
|
|
if (fig.imageObj.src) {
|
|
(window.URL || window.webkitURL).revokeObjectURL(
|
|
fig.imageObj.src);
|
|
}
|
|
|
|
fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(
|
|
evt.data);
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == "data:image/png;base64") {
|
|
fig.imageObj.src = evt.data;
|
|
fig.updated_canvas_event();
|
|
fig.waiting = false;
|
|
return;
|
|
}
|
|
|
|
var msg = JSON.parse(evt.data);
|
|
var msg_type = msg['type'];
|
|
|
|
// Call the "handle_{type}" callback, which takes
|
|
// the figure and JSON message as its only arguments.
|
|
try {
|
|
var callback = fig["handle_" + msg_type];
|
|
} catch (e) {
|
|
console.log("No handler for the '" + msg_type + "' message type: ", msg);
|
|
return;
|
|
}
|
|
|
|
if (callback) {
|
|
try {
|
|
// console.log("Handling '" + msg_type + "' message: ", msg);
|
|
callback(fig, msg);
|
|
} catch (e) {
|
|
console.log("Exception inside the 'handler_" + msg_type + "' callback:", e, e.stack, msg);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas
|
|
mpl.findpos = function(e) {
|
|
//this section is from http://www.quirksmode.org/js/events_properties.html
|
|
var targ;
|
|
if (!e)
|
|
e = window.event;
|
|
if (e.target)
|
|
targ = e.target;
|
|
else if (e.srcElement)
|
|
targ = e.srcElement;
|
|
if (targ.nodeType == 3) // defeat Safari bug
|
|
targ = targ.parentNode;
|
|
|
|
// jQuery normalizes the pageX and pageY
|
|
// pageX,Y are the mouse positions relative to the document
|
|
// offset() returns the position of the element relative to the document
|
|
var x = e.pageX - $(targ).offset().left;
|
|
var y = e.pageY - $(targ).offset().top;
|
|
|
|
return {"x": x, "y": y};
|
|
};
|
|
|
|
/*
|
|
* return a copy of an object with only non-object keys
|
|
* we need this to avoid circular references
|
|
* http://stackoverflow.com/a/24161582/3208463
|
|
*/
|
|
function simpleKeys (original) {
|
|
return Object.keys(original).reduce(function (obj, key) {
|
|
if (typeof original[key] !== 'object')
|
|
obj[key] = original[key]
|
|
return obj;
|
|
}, {});
|
|
}
|
|
|
|
mpl.figure.prototype.mouse_event = function(event, name) {
|
|
var canvas_pos = mpl.findpos(event)
|
|
|
|
if (name === 'button_press')
|
|
{
|
|
this.canvas.focus();
|
|
this.canvas_div.focus();
|
|
}
|
|
|
|
var x = canvas_pos.x;
|
|
var y = canvas_pos.y;
|
|
|
|
this.send_message(name, {x: x, y: y, button: event.button,
|
|
step: event.step,
|
|
guiEvent: simpleKeys(event)});
|
|
|
|
/* This prevents the web browser from automatically changing to
|
|
* the text insertion cursor when the button is pressed. We want
|
|
* to control all of the cursor setting manually through the
|
|
* 'cursor' event from matplotlib */
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
// Handle any extra behaviour associated with a key event
|
|
}
|
|
|
|
mpl.figure.prototype.key_event = function(event, name) {
|
|
|
|
// Prevent repeat events
|
|
if (name == 'key_press')
|
|
{
|
|
if (event.which === this._key)
|
|
return;
|
|
else
|
|
this._key = event.which;
|
|
}
|
|
if (name == 'key_release')
|
|
this._key = null;
|
|
|
|
var value = '';
|
|
if (event.ctrlKey && event.which != 17)
|
|
value += "ctrl+";
|
|
if (event.altKey && event.which != 18)
|
|
value += "alt+";
|
|
if (event.shiftKey && event.which != 16)
|
|
value += "shift+";
|
|
|
|
value += 'k';
|
|
value += event.which.toString();
|
|
|
|
this._key_event_extra(event, name);
|
|
|
|
this.send_message(name, {key: value,
|
|
guiEvent: simpleKeys(event)});
|
|
return false;
|
|
}
|
|
|
|
mpl.figure.prototype.toolbar_button_onclick = function(name) {
|
|
if (name == 'download') {
|
|
this.handle_save(this, null);
|
|
} else {
|
|
this.send_message("toolbar_button", {name: name});
|
|
}
|
|
};
|
|
|
|
mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {
|
|
this.message.textContent = tooltip;
|
|
};
|
|
mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Pan axes with left mouse, zoom with right", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]];
|
|
|
|
mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"];
|
|
|
|
mpl.default_extension = "png";var comm_websocket_adapter = function(comm) {
|
|
// Create a "websocket"-like object which calls the given IPython comm
|
|
// object with the appropriate methods. Currently this is a non binary
|
|
// socket, so there is still some room for performance tuning.
|
|
var ws = {};
|
|
|
|
ws.close = function() {
|
|
comm.close()
|
|
};
|
|
ws.send = function(m) {
|
|
//console.log('sending', m);
|
|
comm.send(m);
|
|
};
|
|
// Register the callback with on_msg.
|
|
comm.on_msg(function(msg) {
|
|
//console.log('receiving', msg['content']['data'], msg);
|
|
// Pass the mpl event to the overriden (by mpl) onmessage function.
|
|
ws.onmessage(msg['content']['data'])
|
|
});
|
|
return ws;
|
|
}
|
|
|
|
mpl.mpl_figure_comm = function(comm, msg) {
|
|
// This is the function which gets called when the mpl process
|
|
// starts-up an IPython Comm through the "matplotlib" channel.
|
|
|
|
var id = msg.content.data.id;
|
|
// Get hold of the div created by the display call when the Comm
|
|
// socket was opened in Python.
|
|
var element = $("#" + id);
|
|
var ws_proxy = comm_websocket_adapter(comm)
|
|
|
|
function ondownload(figure, format) {
|
|
window.open(figure.imageObj.src);
|
|
}
|
|
|
|
var fig = new mpl.figure(id, ws_proxy,
|
|
ondownload,
|
|
element.get(0));
|
|
|
|
// Call onopen now - mpl needs it, as it is assuming we've passed it a real
|
|
// web socket which is closed, not our websocket->open comm proxy.
|
|
ws_proxy.onopen();
|
|
|
|
fig.parent_element = element.get(0);
|
|
fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>");
|
|
if (!fig.cell_info) {
|
|
console.error("Failed to find cell for figure", id, fig);
|
|
return;
|
|
}
|
|
|
|
var output_index = fig.cell_info[2]
|
|
var cell = fig.cell_info[0];
|
|
|
|
};
|
|
|
|
mpl.figure.prototype.handle_close = function(fig, msg) {
|
|
fig.root.unbind('remove')
|
|
|
|
// Update the output cell to use the data from the current canvas.
|
|
fig.push_to_output();
|
|
var dataURL = fig.canvas.toDataURL();
|
|
// Re-enable the keyboard manager in IPython - without this line, in FF,
|
|
// the notebook keyboard shortcuts fail.
|
|
IPython.keyboard_manager.enable()
|
|
$(fig.parent_element).html('<img src="' + dataURL + '">');
|
|
fig.close_ws(fig, msg);
|
|
}
|
|
|
|
mpl.figure.prototype.close_ws = function(fig, msg){
|
|
fig.send_message('closing', msg);
|
|
// fig.ws.close()
|
|
}
|
|
|
|
mpl.figure.prototype.push_to_output = function(remove_interactive) {
|
|
// Turn the data on the canvas into data in the output cell.
|
|
var dataURL = this.canvas.toDataURL();
|
|
this.cell_info[1]['text/html'] = '<img src="' + dataURL + '">';
|
|
}
|
|
|
|
mpl.figure.prototype.updated_canvas_event = function() {
|
|
// Tell IPython that the notebook contents must change.
|
|
IPython.notebook.set_dirty(true);
|
|
this.send_message("ack", {});
|
|
var fig = this;
|
|
// Wait a second, then push the new image to the DOM so
|
|
// that it is saved nicely (might be nice to debounce this).
|
|
setTimeout(function () { fig.push_to_output() }, 1000);
|
|
}
|
|
|
|
mpl.figure.prototype._init_toolbar = function() {
|
|
var fig = this;
|
|
|
|
var nav_element = $('<div/>')
|
|
nav_element.attr('style', 'width: 100%');
|
|
this.root.append(nav_element);
|
|
|
|
// Define a callback function for later on.
|
|
function toolbar_event(event) {
|
|
return fig.toolbar_button_onclick(event['data']);
|
|
}
|
|
function toolbar_mouse_event(event) {
|
|
return fig.toolbar_button_onmouseover(event['data']);
|
|
}
|
|
|
|
for(var toolbar_ind in mpl.toolbar_items){
|
|
var name = mpl.toolbar_items[toolbar_ind][0];
|
|
var tooltip = mpl.toolbar_items[toolbar_ind][1];
|
|
var image = mpl.toolbar_items[toolbar_ind][2];
|
|
var method_name = mpl.toolbar_items[toolbar_ind][3];
|
|
|
|
if (!name) { continue; };
|
|
|
|
var button = $('<button class="btn btn-default" href="#" title="' + name + '"><i class="fa ' + image + ' fa-lg"></i></button>');
|
|
button.click(method_name, toolbar_event);
|
|
button.mouseover(tooltip, toolbar_mouse_event);
|
|
nav_element.append(button);
|
|
}
|
|
|
|
// Add the status bar.
|
|
var status_bar = $('<span class="mpl-message" style="text-align:right; float: right;"/>');
|
|
nav_element.append(status_bar);
|
|
this.message = status_bar[0];
|
|
|
|
// Add the close button to the window.
|
|
var buttongrp = $('<div class="btn-group inline pull-right"></div>');
|
|
var button = $('<button class="btn btn-mini btn-primary" href="#" title="Stop Interaction"><i class="fa fa-power-off icon-remove icon-large"></i></button>');
|
|
button.click(function (evt) { fig.handle_close(fig, {}); } );
|
|
button.mouseover('Stop Interaction', toolbar_mouse_event);
|
|
buttongrp.append(button);
|
|
var titlebar = this.root.find($('.ui-dialog-titlebar'));
|
|
titlebar.prepend(buttongrp);
|
|
}
|
|
|
|
mpl.figure.prototype._root_extra_style = function(el){
|
|
var fig = this
|
|
el.on("remove", function(){
|
|
fig.close_ws(fig, {});
|
|
});
|
|
}
|
|
|
|
mpl.figure.prototype._canvas_extra_style = function(el){
|
|
// this is important to make the div 'focusable
|
|
el.attr('tabindex', 0)
|
|
// reach out to IPython and tell the keyboard manager to turn it's self
|
|
// off when our div gets focus
|
|
|
|
// location in version 3
|
|
if (IPython.notebook.keyboard_manager) {
|
|
IPython.notebook.keyboard_manager.register_events(el);
|
|
}
|
|
else {
|
|
// location in version 2
|
|
IPython.keyboard_manager.register_events(el);
|
|
}
|
|
|
|
}
|
|
|
|
mpl.figure.prototype._key_event_extra = function(event, name) {
|
|
var manager = IPython.notebook.keyboard_manager;
|
|
if (!manager)
|
|
manager = IPython.keyboard_manager;
|
|
|
|
// Check for shift+enter
|
|
if (event.shiftKey && event.which == 13) {
|
|
this.canvas_div.blur();
|
|
event.shiftKey = false;
|
|
// Send a "J" for go to next cell
|
|
event.which = 74;
|
|
event.keyCode = 74;
|
|
manager.command_mode();
|
|
manager.handle_keydown(event);
|
|
}
|
|
}
|
|
|
|
mpl.figure.prototype.handle_save = function(fig, msg) {
|
|
fig.ondownload(fig, null);
|
|
}
|
|
|
|
|
|
mpl.find_output_cell = function(html_output) {
|
|
// Return the cell and output element which can be found *uniquely* in the notebook.
|
|
// Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook"
|
|
// IPython event is triggered only after the cells have been serialised, which for
|
|
// our purposes (turning an active figure into a static one), is too late.
|
|
var cells = IPython.notebook.get_cells();
|
|
var ncells = cells.length;
|
|
for (var i=0; i<ncells; i++) {
|
|
var cell = cells[i];
|
|
if (cell.cell_type === 'code'){
|
|
for (var j=0; j<cell.output_area.outputs.length; j++) {
|
|
var data = cell.output_area.outputs[j];
|
|
if (data.data) {
|
|
// IPython >= 3 moved mimebundle to data attribute of output
|
|
data = data.data;
|
|
}
|
|
if (data['text/html'] == html_output) {
|
|
return [cell, data, j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Register the function which deals with the matplotlib target/channel.
|
|
// The kernel may be null if the page has been refreshed.
|
|
if (IPython.notebook.kernel != null) {
|
|
IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);
|
|
}
|
|
|
|
</script>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
|
|
<div class="output_html rendered_html output_subarea ">
|
|
<img src="data:image/png;base64,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">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="cell border-box-sizing code_cell rendered">
|
|
<div class="input">
|
|
<div class="prompt input_prompt">In [13]:</div>
|
|
<div class="inner_cell">
|
|
<div class="input_area">
|
|
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># save results in hdf file for Andy's happiness</span>
|
|
<span class="n">rShot</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">overwrite</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
</pre></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="output_wrapper">
|
|
<div class="output">
|
|
|
|
|
|
<div class="output_area"><div class="prompt"></div>
|
|
<div class="output_subarea output_stream output_stdout output_text">
|
|
<pre>Saving results to mecl3616_output//run0192_analysis.h5
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|