Image Classification
.caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
content: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
content: "\2212";
}
.glyphicon-cloud:before {
content: "\2601";
}
.glyphicon-envelope:before {
content: "\2709";
}
.glyphicon-pencil:before {
content: "\270f";
}
.glyphicon-glass:before {
content: "\e001";
}
.glyphicon-music:before {
content: "\e002";
}
.glyphicon-search:before {
content: "\e003";
}
.glyphicon-heart:before {
content: "\e005";
}
.glyphicon-star:before {
content: "\e006";
}
.glyphicon-star-empty:before {
content: "\e007";
}
.glyphicon-user:before {
content: "\e008";
}
.glyphicon-film:before {
content: "\e009";
}
.glyphicon-th-large:before {
content: "\e010";
}
.glyphicon-th:before {
content: "\e011";
}
.glyphicon-th-list:before {
content: "\e012";
}
.glyphicon-ok:before {
content: "\e013";
}
.glyphicon-remove:before {
content: "\e014";
}
.glyphicon-zoom-in:before {
content: "\e015";
}
.glyphicon-zoom-out:before {
content: "\e016";
}
.glyphicon-off:before {
content: "\e017";
}
.glyphicon-signal:before {
content: "\e018";
}
.glyphicon-cog:before {
content: "\e019";
}
.glyphicon-trash:before {
content: "\e020";
}
.glyphicon-home:before {
content: "\e021";
}
.glyphicon-file:before {
content: "\e022";
}
.glyphicon-time:before {
content: "\e023";
}
.glyphicon-road:before {
content: "\e024";
}
.glyphicon-download-alt:before {
content: "\e025";
}
.glyphicon-download:before {
content: "\e026";
}
.glyphicon-upload:before {
content: "\e027";
}
.glyphicon-inbox:before {
content: "\e028";
}
.glyphicon-play-circle:before {
content: "\e029";
}
.glyphicon-repeat:before {
content: "\e030";
}
.glyphicon-refresh:before {
content: "\e031";
}
.glyphicon-list-alt:before {
content: "\e032";
}
.glyphicon-lock:before {
content: "\e033";
}
.glyphicon-flag:before {
content: "\e034";
}
.glyphicon-headphones:before {
content: "\e035";
}
.glyphicon-volume-off:before {
content: "\e036";
}
.glyphicon-volume-down:before {
content: "\e037";
}
.glyphicon-volume-up:before {
content: "\e038";
}
.glyphicon-qrcode:before {
content: "\e039";
}
.glyphicon-barcode:before {
content: "\e040";
}
.glyphicon-tag:before {
content: "\e041";
}
.glyphicon-tags:before {
content: "\e042";
}
.glyphicon-book:before {
content: "\e043";
}
.glyphicon-bookmark:before {
content: "\e044";
}
.glyphicon-print:before {
content: "\e045";
}
.glyphicon-camera:before {
content: "\e046";
}
.glyphicon-font:before {
content: "\e047";
}
.glyphicon-bold:before {
content: "\e048";
}
.glyphicon-italic:before {
content: "\e049";
}
.glyphicon-text-height:before {
content: "\e050";
}
.glyphicon-text-width:before {
content: "\e051";
}
.glyphicon-align-left:before {
content: "\e052";
}
.glyphicon-align-center:before {
content: "\e053";
}
.glyphicon-align-right:before {
content: "\e054";
}
.glyphicon-align-justify:before {
content: "\e055";
}
.glyphicon-list:before {
content: "\e056";
}
.glyphicon-indent-left:before {
content: "\e057";
}
.glyphicon-indent-right:before {
content: "\e058";
}
.glyphicon-facetime-video:before {
content: "\e059";
}
.glyphicon-picture:before {
content: "\e060";
}
.glyphicon-map-marker:before {
content: "\e062";
}
.glyphicon-adjust:before {
content: "\e063";
}
.glyphicon-tint:before {
content: "\e064";
}
.glyphicon-edit:before {
content: "\e065";
}
.glyphicon-share:before {
content: "\e066";
}
.glyphicon-check:before {
content: "\e067";
}
.glyphicon-move:before {
content: "\e068";
}
.glyphicon-step-backward:before {
content: "\e069";
}
.glyphicon-fast-backward:before {
content: "\e070";
}
.glyphicon-backward:before {
content: "\e071";
}
.glyphicon-play:before {
content: "\e072";
}
.glyphicon-pause:before {
content: "\e073";
}
.glyphicon-stop:before {
content: "\e074";
}
.glyphicon-forward:before {
content: "\e075";
}
.glyphicon-fast-forward:before {
content: "\e076";
}
.glyphicon-step-forward:before {
content: "\e077";
}
.glyphicon-eject:before {
content: "\e078";
}
.glyphicon-chevron-left:before {
content: "\e079";
}
.glyphicon-chevron-right:before {
content: "\e080";
}
.glyphicon-plus-sign:before {
content: "\e081";
}
.glyphicon-minus-sign:before {
content: "\e082";
}
.glyphicon-remove-sign:before {
content: "\e083";
}
.glyphicon-ok-sign:before {
content: "\e084";
}
.glyphicon-question-sign:before {
content: "\e085";
}
.glyphicon-info-sign:before {
content: "\e086";
}
.glyphicon-screenshot:before {
content: "\e087";
}
.glyphicon-remove-circle:before {
content: "\e088";
}
.glyphicon-ok-circle:before {
content: "\e089";
}
.glyphicon-ban-circle:before {
content: "\e090";
}
.glyphicon-arrow-left:before {
content: "\e091";
}
.glyphicon-arrow-right:before {
content: "\e092";
}
.glyphicon-arrow-up:before {
content: "\e093";
}
.glyphicon-arrow-down:before {
content: "\e094";
}
.glyphicon-share-alt:before {
content: "\e095";
}
.glyphicon-resize-full:before {
content: "\e096";
}
.glyphicon-resize-small:before {
content: "\e097";
}
.glyphicon-exclamation-sign:before {
content: "\e101";
}
.glyphicon-gift:before {
content: "\e102";
}
.glyphicon-leaf:before {
content: "\e103";
}
.glyphicon-fire:before {
content: "\e104";
}
.glyphicon-eye-open:before {
content: "\e105";
}
.glyphicon-eye-close:before {
content: "\e106";
}
.glyphicon-warning-sign:before {
content: "\e107";
}
.glyphicon-plane:before {
content: "\e108";
}
.glyphicon-calendar:before {
content: "\e109";
}
.glyphicon-random:before {
content: "\e110";
}
.glyphicon-comment:before {
content: "\e111";
}
.glyphicon-magnet:before {
content: "\e112";
}
.glyphicon-chevron-up:before {
content: "\e113";
}
.glyphicon-chevron-down:before {
content: "\e114";
}
.glyphicon-retweet:before {
content: "\e115";
}
.glyphicon-shopping-cart:before {
content: "\e116";
}
.glyphicon-folder-close:before {
content: "\e117";
}
.glyphicon-folder-open:before {
content: "\e118";
}
.glyphicon-resize-vertical:before {
content: "\e119";
}
.glyphicon-resize-horizontal:before {
content: "\e120";
}
.glyphicon-hdd:before {
content: "\e121";
}
.glyphicon-bullhorn:before {
content: "\e122";
}
.glyphicon-bell:before {
content: "\e123";
}
.glyphicon-certificate:before {
content: "\e124";
}
.glyphicon-thumbs-up:before {
content: "\e125";
}
.glyphicon-thumbs-down:before {
content: "\e126";
}
.glyphicon-hand-right:before {
content: "\e127";
}
.glyphicon-hand-left:before {
content: "\e128";
}
.glyphicon-hand-up:before {
content: "\e129";
}
.glyphicon-hand-down:before {
content: "\e130";
}
.glyphicon-circle-arrow-right:before {
content: "\e131";
}
.glyphicon-circle-arrow-left:before {
content: "\e132";
}
.glyphicon-circle-arrow-up:before {
content: "\e133";
}
.glyphicon-circle-arrow-down:before {
content: "\e134";
}
.glyphicon-globe:before {
content: "\e135";
}
.glyphicon-wrench:before {
content: "\e136";
}
.glyphicon-tasks:before {
content: "\e137";
}
.glyphicon-filter:before {
content: "\e138";
}
.glyphicon-briefcase:before {
content: "\e139";
}
.glyphicon-fullscreen:before {
content: "\e140";
}
.glyphicon-dashboard:before {
content: "\e141";
}
.glyphicon-paperclip:before {
content: "\e142";
}
.glyphicon-heart-empty:before {
content: "\e143";
}
.glyphicon-link:before {
content: "\e144";
}
.glyphicon-phone:before {
content: "\e145";
}
.glyphicon-pushpin:before {
content: "\e146";
}
.glyphicon-usd:before {
content: "\e148";
}
.glyphicon-gbp:before {
content: "\e149";
}
.glyphicon-sort:before {
content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
content: "\e152";
}
.glyphicon-sort-by-order:before {
content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
content: "\e154";
}
.glyphicon-sort-by-attributes:before {
content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
content: "\e156";
}
.glyphicon-unchecked:before {
content: "\e157";
}
.glyphicon-expand:before {
content: "\e158";
}
.glyphicon-collapse-down:before {
content: "\e159";
}
.glyphicon-collapse-up:before {
content: "\e160";
}
.glyphicon-log-in:before {
content: "\e161";
}
.glyphicon-flash:before {
content: "\e162";
}
.glyphicon-log-out:before {
content: "\e163";
}
.glyphicon-new-window:before {
content: "\e164";
}
.glyphicon-record:before {
content: "\e165";
}
.glyphicon-save:before {
content: "\e166";
}
.glyphicon-open:before {
content: "\e167";
}
.glyphicon-saved:before {
content: "\e168";
}
.glyphicon-import:before {
content: "\e169";
}
.glyphicon-export:before {
content: "\e170";
}
.glyphicon-send:before {
content: "\e171";
}
.glyphicon-floppy-disk:before {
content: "\e172";
}
.glyphicon-floppy-saved:before {
content: "\e173";
}
.glyphicon-floppy-remove:before {
content: "\e174";
}
.glyphicon-floppy-save:before {
content: "\e175";
}
.glyphicon-floppy-open:before {
content: "\e176";
}
.glyphicon-credit-card:before {
content: "\e177";
}
.glyphicon-transfer:before {
content: "\e178";
}
.glyphicon-cutlery:before {
content: "\e179";
}
.glyphicon-header:before {
content: "\e180";
}
.glyphicon-compressed:before {
content: "\e181";
}
.glyphicon-earphone:before {
content: "\e182";
}
.glyphicon-phone-alt:before {
content: "\e183";
}
.glyphicon-tower:before {
content: "\e184";
}
.glyphicon-stats:before {
content: "\e185";
}
.glyphicon-sd-video:before {
content: "\e186";
}
.glyphicon-hd-video:before {
content: "\e187";
}
.glyphicon-subtitles:before {
content: "\e188";
}
.glyphicon-sound-stereo:before {
content: "\e189";
}
.glyphicon-sound-dolby:before {
content: "\e190";
}
.glyphicon-sound-5-1:before {
content: "\e191";
}
.glyphicon-sound-6-1:before {
content: "\e192";
}
.glyphicon-sound-7-1:before {
content: "\e193";
}
.glyphicon-copyright-mark:before {
content: "\e194";
}
.glyphicon-registration-mark:before {
content: "\e195";
}
.glyphicon-cloud-download:before {
content: "\e197";
}
.glyphicon-cloud-upload:before {
content: "\e198";
}
.glyphicon-tree-conifer:before {
content: "\e199";
}
.glyphicon-tree-deciduous:before {
content: "\e200";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
color: #23527c;
text-decoration: underline;
}
a:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
}
.img-rounded {
border-radius: 3px;
}
.img-thumbnail {
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 18px;
margin-bottom: 18px;
border: 0;
border-top: 1px solid #eeeeee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 18px;
margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
margin-top: 9px;
margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
font-size: 75%;
}
h1,
.h1 {
font-size: 33px;
}
h2,
.h2 {
font-size: 27px;
}
h3,
.h3 {
font-size: 23px;
}
h4,
.h4 {
font-size: 17px;
}
h5,
.h5 {
font-size: 13px;
}
h6,
.h6 {
font-size: 12px;
}
p {
margin: 0 0 9px;
}
.lead {
margin-bottom: 18px;
font-size: 14px;
font-weight: 300;
line-height: 1.4;
}
@media (min-width: 768px) {
.lead {
font-size: 19.5px;
}
}
small,
.small {
font-size: 92%;
}
mark,
.mark {
background-color: #fcf8e3;
padding: .2em;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
.text-lowercase {
text-transform: lowercase;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.text-muted {
color: #777777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 8px;
margin: 36px 0 18px;
border-bottom: 1px solid #eeeeee;
}
ul,
ol {
margin-top: 0;
margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
margin-bottom: 0;
}
.list-unstyled {
padding-left: 0;
list-style: none;
}
.list-inline {
padding-left: 0;
list-style: none;
margin-left: -5px;
}
.list-inline > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
dl {
margin-top: 0;
margin-bottom: 18px;
}
dt,
dd {
line-height: 1.42857143;
}
dt {
font-weight: bold;
}
dd {
margin-left: 0;
}
@media (min-width: 541px) {
.dl-horizontal dt {
float: left;
width: 160px;
clear: left;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #777777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 9px 18px;
margin: 0 0 18px;
font-size: inherit;
border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
address {
margin-bottom: 18px;
font-style: normal;
line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
font-family: monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 2px;
}
kbd {
padding: 2px 4px;
font-size: 90%;
color: #888;
background-color: transparent;
border-radius: 1px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
box-shadow: none;
}
pre {
display: block;
padding: 8.5px;
margin: 0 0 9px;
font-size: 12px;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333333;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 2px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
.container {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
@media (min-width: 768px) {
.container {
width: 768px;
}
}
@media (min-width: 992px) {
.container {
width: 940px;
}
}
@media (min-width: 1200px) {
.container {
width: 1140px;
}
}
.container-fluid {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
.row {
margin-left: 0px;
margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-left: 0px;
padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0%;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0%;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.table > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
border-top: 0;
}
.table > tbody + tbody {
border-top: 2px solid #ddd;
}
.table .table {
background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 5px;
}
.table-bordered {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
overflow-x: auto;
min-height: 0.01%;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 13.5px;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
}
fieldset {
padding: 0;
margin: 0;
border: 0;
min-width: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 18px;
font-size: 19.5px;
line-height: inherit;
color: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
}
.form-control {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
color: #999;
}
.form-control::-webkit-input-placeholder {
color: #999;
}
.form-control::-ms-expand {
border: 0;
background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eeeeee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 32px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 45px;
}
}
.form-group {
margin-bottom: 15px;
}
.radio,
.checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
min-height: 18px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-left: -20px;
margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-left: 0;
padding-right: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 30px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-lg {
height: 45px;
line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.form-group-lg select.form-control {
height: 45px;
line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 45px;
min-height: 35px;
padding: 11px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.has-feedback {
position: relative;
}
.has-feedback .form-control {
padding-right: 40px;
}
.form-control-feedback {
position: absolute;
top: 0;
right: 0;
z-index: 2;
display: block;
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 45px;
height: 45px;
line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
border-color: #3c763d;
background-color: #dff0d8;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
border-color: #8a6d3b;
background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
border-color: #a94442;
background-color: #f2dede;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
.help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #404040;
}
@media (min-width: 768px) {
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
margin-top: 0;
margin-bottom: 0;
padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
min-height: 25px;
}
.form-horizontal .form-group {
margin-left: 0px;
margin-right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .control-label {
text-align: right;
margin-bottom: 0;
padding-top: 7px;
}
}
.form-horizontal .has-feedback .form-control-feedback {
right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 17px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
border-radius: 2px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-block {
display: block;
width: 100%;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 13px;
text-align: left;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.42857143;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
outline: 0;
background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: not-allowed;
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
left: auto;
right: 0;
}
.dropdown-menu-left {
left: 0;
right: auto;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 541px) {
.navbar-right .dropdown-menu {
left: auto;
right: 0;
}
.navbar-right .dropdown-menu-left {
left: 0;
right: auto;
}
}
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.btn-toolbar {
margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
float: none;
display: table-cell;
width: 1%;
}
.btn-group-justified > .btn-group .btn {
width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.input-group {
position: relative;
display: table;
border-collapse: separate;
}
.input-group[class*="col-"] {
float: none;
padding-left: 0;
padding-right: 0;
}
.input-group .form-control {
position: relative;
z-index: 2;
float: left;
width: 100%;
margin-bottom: 0;
}
.input-group .form-control:focus {
z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
height: 45px;
line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
height: 30px;
line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
.input-group-addon,
.input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: middle;
}
.input-group-addon {
padding: 6px 12px;
font-size: 13px;
font-weight: normal;
line-height: 1;
color: #555555;
text-align: center;
background-color: #eeeeee;
border: 1px solid #ccc;
border-radius: 2px;
}
.input-group-addon.input-sm {
padding: 5px 10px;
font-size: 12px;
border-radius: 1px;
}
.input-group-addon.input-lg {
padding: 10px 16px;
font-size: 17px;
border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.input-group-addon:first-child {
border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.input-group-addon:last-child {
border-left: 0;
}
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
.input-group-btn > .btn {
position: relative;
}
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px;
}
.nav {
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.nav > li {
position: relative;
display: block;
}
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.nav > li.disabled > a {
color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777777;
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav > li > a > img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
float: left;
margin-bottom: -1px;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.nav-pills > li {
float: left;
}
.nav-pills > li > a {
border-radius: 2px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #337ab7;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li + li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified > li {
float: none;
}
.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar {
position: relative;
min-height: 30px;
margin-bottom: 18px;
border: 1px solid transparent;
}
@media (min-width: 541px) {
.navbar {
border-radius: 2px;
}
}
@media (min-width: 541px) {
.navbar-header {
float: left;
}
}
.navbar-collapse {
overflow-x: visible;
padding-right: 0px;
padding-left: 0px;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width: 541px) {
.navbar-collapse {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-collapse.collapse {
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
}
.navbar-collapse.in {
overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
padding-left: 0;
padding-right: 0;
}
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 200px;
}
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0px;
margin-left: 0px;
}
@media (min-width: 541px) {
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0;
margin-left: 0;
}
}
.navbar-static-top {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width: 541px) {
.navbar-static-top {
border-radius: 0;
}
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
}
@media (min-width: 541px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0;
border-width: 1px 0 0;
}
.navbar-brand {
float: left;
padding: 6px 0px;
font-size: 17px;
line-height: 18px;
height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
text-decoration: none;
}
.navbar-brand > img {
display: block;
}
@media (min-width: 541px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
margin-left: 0px;
}
}
.navbar-toggle {
position: relative;
float: right;
margin-right: 0px;
padding: 9px 10px;
margin-top: -2px;
margin-bottom: -2px;
background-color: transparent;
background-image: none;
border: 1px solid transparent;
border-radius: 2px;
}
.navbar-toggle:focus {
outline: 0;
}
.navbar-toggle .icon-bar {
display: block;
width: 22px;
height: 2px;
border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
margin-top: 4px;
}
@media (min-width: 541px) {
.navbar-toggle {
display: none;
}
}
.navbar-nav {
margin: 3px 0px;
}
.navbar-nav > li > a {
padding-top: 10px;
padding-bottom: 10px;
line-height: 18px;
}
@media (max-width: 540px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu > li > a {
line-height: 18px;
}
.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav .open .dropdown-menu > li > a:focus {
background-image: none;
}
}
@media (min-width: 541px) {
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav > li {
float: left;
}
.navbar-nav > li > a {
padding-top: 6px;
padding-bottom: 6px;
}
}
.navbar-form {
margin-left: 0px;
margin-right: 0px;
padding: 10px 0px;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
margin-top: -1px;
margin-bottom: -1px;
}
@media (min-width: 768px) {
.navbar-form .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.navbar-form .form-control-static {
display: inline-block;
}
.navbar-form .input-group {
display: inline-table;
vertical-align: middle;
}
.navbar-form .input-group .input-group-addon,
.navbar-form .input-group .input-group-btn,
.navbar-form .input-group .form-control {
width: auto;
}
.navbar-form .input-group > .form-control {
width: 100%;
}
.navbar-form .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio,
.navbar-form .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio label,
.navbar-form .checkbox label {
padding-left: 0;
}
.navbar-form .radio input[type="radio"],
.navbar-form .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.navbar-form .has-feedback .form-control-feedback {
top: 0;
}
}
@media (max-width: 540px) {
.navbar-form .form-group {
margin-bottom: 5px;
}
.navbar-form .form-group:last-child {
margin-bottom: 0;
}
}
@media (min-width: 541px) {
.navbar-form {
width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0;
padding-bottom: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
}
.navbar-nav > li > .dropdown-menu {
margin-top: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.navbar-btn {
margin-top: -1px;
margin-bottom: -1px;
}
.navbar-btn.btn-sm {
margin-top: 0px;
margin-bottom: 0px;
}
.navbar-btn.btn-xs {
margin-top: 4px;
margin-bottom: 4px;
}
.navbar-text {
margin-top: 6px;
margin-bottom: 6px;
}
@media (min-width: 541px) {
.navbar-text {
float: left;
margin-left: 0px;
margin-right: 0px;
}
}
@media (min-width: 541px) {
.navbar-left {
float: left !important;
float: left;
}
.navbar-right {
float: right !important;
float: right;
margin-right: 0px;
}
.navbar-right ~ .navbar-right {
margin-right: 0;
}
}
.navbar-default {
background-color: #f8f8f8;
border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #5e5e5e;
background-color: transparent;
}
.navbar-default .navbar-text {
color: #777;
}
.navbar-default .navbar-nav > li > a {
color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
.navbar-default .navbar-toggle {
border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
background-color: #e7e7e7;
color: #555;
}
@media (max-width: 540px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #777;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
}
.navbar-default .navbar-link {
color: #777;
}
.navbar-default .navbar-link:hover {
color: #333;
}
.navbar-default .btn-link {
color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
color: #ccc;
}
.navbar-inverse {
background-color: #222;
border-color: #080808;
}
.navbar-inverse .navbar-brand {
color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-text {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
color: #444;
background-color: transparent;
}
.navbar-inverse .navbar-toggle {
border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
background-color: #080808;
color: #fff;
}
@media (max-width: 540px) {
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
border-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #444;
background-color: transparent;
}
}
.navbar-inverse .navbar-link {
color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
color: #fff;
}
.navbar-inverse .btn-link {
color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
color: #444;
}
.breadcrumb {
padding: 8px 15px;
margin-bottom: 18px;
list-style: none;
background-color: #f5f5f5;
border-radius: 2px;
}
.breadcrumb > li {
display: inline-block;
}
.breadcrumb > li + li:before {
content: "/\00a0";
padding: 0 5px;
color: #5e5e5e;
}
.breadcrumb > .active {
color: #777777;
}
.pagination {
display: inline-block;
padding-left: 0;
margin: 18px 0;
border-radius: 2px;
}
.pagination > li {
display: inline;
}
.pagination > li > a,
.pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
line-height: 1.42857143;
text-decoration: none;
color: #337ab7;
background-color: #fff;
border: 1px solid #ddd;
margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
margin-left: 0;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
z-index: 2;
color: #23527c;
background-color: #eeeeee;
border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
z-index: 3;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
color: #777777;
background-color: #fff;
border-color: #ddd;
cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
border-bottom-left-radius: 1px;
border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
.pager {
padding-left: 0;
margin: 18px 0;
list-style: none;
text-align: center;
}
.pager li {
display: inline;
}
.pager li > a,
.pager li > span {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
float: right;
}
.pager .previous > a,
.pager .previous > span {
float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: #777777;
background-color: #fff;
cursor: not-allowed;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
a.label:hover,
a.label:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.label:empty {
display: none;
}
.btn .label {
position: relative;
top: -1px;
}
.label-default {
background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
background-color: #5e5e5e;
}
.label-primary {
background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
background-color: #286090;
}
.label-success {
background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
background-color: #449d44;
}
.label-info {
background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
background-color: #31b0d5;
}
.label-warning {
background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
background-color: #ec971f;
}
.label-danger {
background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
background-color: #c9302c;
}
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
color: #fff;
line-height: 1;
vertical-align: middle;
white-space: nowrap;
text-align: center;
background-color: #777777;
border-radius: 10px;
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0;
padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #337ab7;
background-color: #fff;
}
.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
color: inherit;
}
.jumbotron p {
margin-bottom: 15px;
font-size: 20px;
font-weight: 200;
}
.jumbotron > hr {
border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
border-radius: 3px;
padding-left: 0px;
padding-right: 0px;
}
.jumbotron .container {
max-width: 100%;
}
@media screen and (min-width: 768px) {
.jumbotron {
padding-top: 48px;
padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
padding-left: 60px;
padding-right: 60px;
}
.jumbotron h1,
.jumbotron .h1 {
font-size: 59px;
}
}
.thumbnail {
display: block;
padding: 4px;
margin-bottom: 18px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: border 0.2s ease-in-out;
-o-transition: border 0.2s ease-in-out;
transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
margin-left: auto;
margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
border-color: #337ab7;
}
.thumbnail .caption {
padding: 9px;
color: #000;
}
.alert {
padding: 15px;
margin-bottom: 18px;
border: 1px solid transparent;
border-radius: 2px;
}
.alert h4 {
margin-top: 0;
color: inherit;
}
.alert .alert-link {
font-weight: bold;
}
.alert > p,
.alert > ul {
margin-bottom: 0;
}
.alert > p + p {
margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
.alert-success hr {
border-top-color: #c9e2b3;
}
.alert-success .alert-link {
color: #2b542c;
}
.alert-info {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
.alert-info hr {
border-top-color: #a6e1ec;
}
.alert-info .alert-link {
color: #245269;
}
.alert-warning {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
.alert-warning hr {
border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
color: #66512c;
}
.alert-danger {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.alert-danger hr {
border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.progress {
overflow: hidden;
height: 18px;
margin-bottom: 18px;
background-color: #f5f5f5;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 18px;
color: #fff;
text-align: center;
background-color: #337ab7;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition: width 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
.media,
.media-body {
zoom: 1;
overflow: hidden;
}
.media-body {
width: 10000px;
}
.media-object {
display: block;
}
.media-object.img-thumbnail {
max-width: none;
}
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
.media-heading {
margin-top: 0;
margin-bottom: 5px;
}
.media-list {
padding-left: 0;
list-style: none;
}
.list-group {
margin-bottom: 20px;
padding-left: 0;
}
.list-group-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
}
.list-group-item:first-child {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
}
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
text-decoration: none;
color: #555;
background-color: #f5f5f5;
}
button.list-group-item {
width: 100%;
text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-group-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-group-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-group-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.panel {
margin-bottom: 18px;
background-color: #fff;
border: 1px solid transparent;
border-radius: 2px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
padding: 15px;
}
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 15px;
color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
border-top-left-radius: 1px;
border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
border-bottom-left-radius: 1px;
border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0;
}
.panel > .table-responsive {
border: 0;
margin-bottom: 0;
}
.panel-group {
margin-bottom: 18px;
}
.panel-group .panel {
margin-bottom: 0;
border-radius: 2px;
}
.panel-group .panel + .panel {
margin-top: 5px;
}
.panel-group .panel-heading {
border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
border-bottom: 1px solid #ddd;
}
.panel-default {
border-color: #ddd;
}
.panel-default > .panel-heading {
color: #333333;
background-color: #f5f5f5;
border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
color: #f5f5f5;
background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ddd;
}
.panel-primary {
border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
}
.panel-success > .panel-heading {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
color: #dff0d8;
background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #d6e9c6;
}
.panel-info {
border-color: #bce8f1;
}
.panel-info > .panel-heading {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
color: #d9edf7;
background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #bce8f1;
}
.panel-warning {
border-color: #faebcc;
}
.panel-warning > .panel-heading {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
color: #fcf8e3;
background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #faebcc;
}
.panel-danger {
border-color: #ebccd1;
}
.panel-danger > .panel-heading {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
color: #f2dede;
background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ebccd1;
}
.embed-responsive {
position: relative;
display: block;
height: 0;
padding: 0;
overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 100%;
width: 100%;
border: 0;
}
.embed-responsive-16by9 {
padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
padding-bottom: 75%;
}
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
border-color: #ddd;
border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
padding: 24px;
border-radius: 3px;
}
.well-sm {
padding: 9px;
border-radius: 1px;
}
.close {
float: right;
font-size: 19.5px;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.modal-open {
overflow: hidden;
}
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
}
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
background-clip: padding-box;
outline: 0;
}
.modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
opacity: 0;
filter: alpha(opacity=0);
}
.modal-backdrop.in {
opacity: 0.5;
filter: alpha(opacity=50);
}
.modal-header {
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
margin-top: -2px;
}
.modal-title {
margin: 0;
line-height: 1.42857143;
}
.modal-body {
position: relative;
padding: 15px;
}
.modal-footer {
padding: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
margin-left: 5px;
margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
margin-left: 0;
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
@media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.9;
filter: alpha(opacity=90);
}
.tooltip.top {
margin-top: -3px;
padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 2px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
bottom: 0;
right: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
bottom: 0;
left: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
right: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
left: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: none;
max-width: 276px;
padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 13px;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
margin-top: -10px;
}
.popover.right {
margin-left: 10px;
}
.popover.bottom {
margin-top: 10px;
}
.popover.left {
margin-left: -10px;
}
.popover-title {
margin: 0;
padding: 8px 14px;
font-size: 13px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 2px 2px 0 0;
}
.popover-content {
padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover > .arrow {
border-width: 11px;
}
.popover > .arrow:after {
border-width: 10px;
content: "";
}
.popover.top > .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999999;
border-top-color: rgba(0, 0, 0, 0.25);
bottom: -11px;
}
.popover.top > .arrow:after {
content: " ";
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #fff;
}
.popover.right > .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999999;
border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
content: " ";
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #fff;
}
.popover.bottom > .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999999;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px;
}
.popover.bottom > .arrow:after {
content: " ";
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #fff;
}
.popover.left > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999999;
border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
content: " ";
right: 1px;
border-right-width: 0;
border-left-color: #fff;
bottom: -10px;
}
.carousel {
position: relative;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-inner > .item {
display: none;
position: relative;
-webkit-transition: 0.6s ease-in-out left;
-o-transition: 0.6s ease-in-out left;
transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
.carousel-inner > .item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
-moz-transition: -moz-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
left: 0;
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
left: 0;
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
left: 0;
}
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
display: block;
}
.carousel-inner > .active {
left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
position: absolute;
top: 0;
width: 100%;
}
.carousel-inner > .next {
left: 100%;
}
.carousel-inner > .prev {
left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
left: 0;
}
.carousel-inner > .active.left {
left: -100%;
}
.carousel-inner > .active.right {
left: 100%;
}
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 15%;
opacity: 0.5;
filter: alpha(opacity=50);
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
left: auto;
right: 0;
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
outline: 0;
color: #fff;
text-decoration: none;
opacity: 0.9;
filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
position: absolute;
top: 50%;
margin-top: -10px;
z-index: 5;
display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
left: 50%;
margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
right: 50%;
margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 20px;
height: 20px;
line-height: 1;
font-family: serif;
}
.carousel-control .icon-prev:before {
content: '\2039';
}
.carousel-control .icon-next:before {
content: '\203a';
}
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
text-align: center;
}
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid #fff;
border-radius: 10px;
cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
margin: 0;
width: 12px;
height: 12px;
background-color: #fff;
}
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
text-shadow: none;
}
@media screen and (min-width: 768px) {
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 30px;
height: 30px;
margin-top: -10px;
font-size: 30px;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
margin-right: -10px;
}
.carousel-caption {
left: 20%;
right: 20%;
padding-bottom: 30px;
}
.carousel-indicators {
bottom: 20px;
}
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
content: " ";
display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
clear: both;
}
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
.pull-right {
float: right !important;
}
.pull-left {
float: left !important;
}
.hide {
display: none !important;
}
.show {
display: block !important;
}
.invisible {
visibility: hidden;
}
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.hidden {
display: none !important;
}
.affix {
position: fixed;
}
@-ms-viewport {
width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
display: none !important;
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
@media (max-width: 767px) {
.visible-xs-block {
display: block !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline {
display: inline !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline-block {
display: inline-block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm {
display: block !important;
}
table.visible-sm {
display: table !important;
}
tr.visible-sm {
display: table-row !important;
}
th.visible-sm,
td.visible-sm {
display: table-cell !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-block {
display: block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline {
display: inline !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline-block {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md {
display: block !important;
}
table.visible-md {
display: table !important;
}
tr.visible-md {
display: table-row !important;
}
th.visible-md,
td.visible-md {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
.visible-lg {
display: block !important;
}
table.visible-lg {
display: table !important;
}
tr.visible-lg {
display: table-row !important;
}
th.visible-lg,
td.visible-lg {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline-block {
display: inline-block !important;
}
}
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.hidden-sm {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
.hidden-lg {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: block !important;
}
table.visible-print {
display: table !important;
}
tr.visible-print {
display: table-row !important;
}
th.visible-print,
td.visible-print {
display: table-cell !important;
}
}
.visible-print-block {
display: none !important;
}
@media print {
.visible-print-block {
display: block !important;
}
}
.visible-print-inline {
display: none !important;
}
@media print {
.visible-print-inline {
display: inline !important;
}
}
.visible-print-inline-block {
display: none !important;
}
@media print {
.visible-print-inline-block {
display: inline-block !important;
}
}
@media print {
.hidden-print {
display: none !important;
}
}
/*!
*
* Font Awesome
*
*/
/*!
* Font Awesome 4.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;
}
}
[dir="rtl"] #ipython_notebook {
float: right !important;
}
#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
*/
[dir="rtl"] #tabs li {
float: right;
}
ul#tabs {
margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
margin-right: 0px;
}
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;
}
[dir="rtl"] .list_toolbar .tree-buttons {
float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
padding-top: 1px;
float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
float: right !important;
}
.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;
}
[dir="rtl"] #tree-selector a {
float: right;
}
#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;
}
[dir="rtl"] #new-menu {
text-align: right;
}
.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;
}
[dir="rtl"] #running .col-sm-8 {
float: right !important;
}
.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 {
min-width: 0;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.unrecognized_cell .inner_cell {
border-radius: 2px;
padding: 5px;
font-weight: bold;
color: red;
border: 1px solid #cfcfcf;
background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
color: inherit;
text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
color: inherit;
text-decoration: none;
}
@media (max-width: 540px) {
div.unrecognized_cell > div.prompt {
display: none;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
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
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: 21ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
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 {
width: 100%;
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
line-height: 1em;
font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
padding: 10px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
-->
Image Classification¶
In this project, you'll classify images from the CIFAR-10 dataset. The dataset consists of airplanes, dogs, cats, and other objects. You'll preprocess the images, then train a convolutional neural network on all the samples. The images need to be normalized and the labels need to be one-hot encoded. You'll get to apply what you learned and build a convolutional, max pooling, dropout, and fully connected layers. At the end, you'll get to see your neural network's predictions on the sample images.
Get the Data¶
Run the following cell to download the CIFAR-10 dataset for python.
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
from urllib.request import urlretrieve
from os.path import isfile, isdir
from tqdm import tqdm
import problem_unittests as tests
import tarfile cifar10_dataset_folder_path = 'cifar-10-batches-py' # Use Floyd's cifar-10 dataset if present
floyd_cifar10_location = '/input/cifar-10/python.tar.gz'
if isfile(floyd_cifar10_location):
tar_gz_path = floyd_cifar10_location
else:
tar_gz_path = 'cifar-10-python.tar.gz' class DLProgress(tqdm):
last_block = 0 def hook(self, block_num=1, block_size=1, total_size=None):
self.total = total_size
self.update((block_num - self.last_block) * block_size)
self.last_block = block_num if not isfile(tar_gz_path):
with DLProgress(unit='B', unit_scale=True, miniters=1, desc='CIFAR-10 Dataset') as pbar:
urlretrieve(
'https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz',
tar_gz_path,
pbar.hook) if not isdir(cifar10_dataset_folder_path):
with tarfile.open(tar_gz_path) as tar:
tar.extractall()
tar.close() tests.test_folder_path(cifar10_dataset_folder_path)
CIFAR-10 Dataset: 171MB [09:36, 296KB/s]
All files found!
Explore the Data¶
The dataset is broken into batches to prevent your machine from running out of memory. The CIFAR-10 dataset consists of 5 batches, named data_batch_1, data_batch_2, etc.. Each batch contains the labels and images that are one of the following:
- airplane
- automobile
- bird
- cat
- deer
- dog
- frog
- horse
- ship
- truck
Understanding a dataset is part of making predictions on the data. Play around with the code cell below by changing the batch_id and sample_id. The batch_id is the id for a batch (1-5). The sample_id is the id for a image and label pair in the batch.
Ask yourself "What are all possible labels?", "What is the range of values for the image data?", "Are the labels in order or random?". Answers to questions like these will help you preprocess the data and end up with better predictions.
%matplotlib inline
%config InlineBackend.figure_format = 'retina' import helper
import numpy as np # Explore the dataset
batch_id = 1
sample_id = 5
helper.display_stats(cifar10_dataset_folder_path, batch_id, sample_id)
Stats of batch 1:
Samples: 10000
Label Counts: {0: 1005, 1: 974, 2: 1032, 3: 1016, 4: 999, 5: 937, 6: 1030, 7: 1001, 8: 1025, 9: 981}
First 20 Labels: [6, 9, 9, 4, 1, 1, 2, 7, 8, 3, 4, 7, 7, 2, 9, 9, 9, 3, 2, 6] Example of Image 5:
Image - Min Value: 0 Max Value: 252
Image - Shape: (32, 32, 3)
Label - Label Id: 1 Name: automobile
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
rkJggg==
" alt="" width="253" height="250" />
def normalize(x):
"""
Normalize a list of sample image data in the range of 0 to 1
: x: List of image data. The image shape is (32, 32, 3)
: return: Numpy array of normalize data
"""
# TODO: Implement Function
n = x/np.max(x)-np.min(x)
return n """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_normalize(normalize)
Tests Passed
One-hot encode¶
Just like the previous code cell, you'll be implementing a function for preprocessing. This time, you'll implement the one_hot_encode function. The input, x, are a list of labels. Implement the function to return the list of labels as One-Hot encoded Numpy array. The possible values for labels are 0 to 9. The one-hot encoding function should return the same encoding for each value between each call to one_hot_encode. Make sure to save the map of encodings outside the function.
Hint: Don't reinvent the wheel.
def one_hot_encode(x):
"""
One hot encode a list of sample labels. Return a one-hot encoded vector for each label.
: x: List of sample Labels
: return: Numpy array of one-hot encoded labels
"""
# TODO: Implement Function
targets = np.array(x).reshape(-1)
one_hot_targets = np.eye(10)[targets]
return one_hot_targets """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_one_hot_encode(one_hot_encode)
Tests Passed
Randomize Data¶
As you saw from exploring the data above, the order of the samples are randomized. It doesn't hurt to randomize it again, but you don't need to for this dataset.
Preprocess all the data and save it¶
Running the code cell below will preprocess all the CIFAR-10 data and save it to file. The code below also uses 10% of the training data for validation.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
# Preprocess Training, Validation, and Testing Data
helper.preprocess_and_save_data(cifar10_dataset_folder_path, normalize, one_hot_encode)
Check Point¶
This is your first checkpoint. If you ever decide to come back to this notebook or have to restart the notebook, you can start from here. The preprocessed data has been saved to disk.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import pickle
import problem_unittests as tests
import helper # Load the Preprocessed Validation data
valid_features, valid_labels = pickle.load(open('preprocess_validation.p', mode='rb'))
Build the network¶
For the neural network, you'll build each layer into a function. Most of the code you've seen has been outside of functions. To test your code more thoroughly, we require that you put each layer in a function. This allows us to give you better feedback and test for simple mistakes using our unittests before you submit your project.
Note: If you're finding it hard to dedicate enough time for this course each week, we've provided a small shortcut to this part of the project. In the next couple of problems, you'll have the option to use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages to build each layer, except the layers you build in the "Convolutional and Max Pooling Layer" section. TF Layers is similar to Keras's and TFLearn's abstraction to layers, so it's easy to pickup.
However, if you would like to get the most out of this course, try to solve all the problems without using anything from the TF Layers packages. You can still use classes from other packages that happen to have the same name as ones you find in TF Layers! For example, instead of using the TF Layers version of the
conv2dclass, tf.layers.conv2d, you would want to use the TF Neural Network version ofconv2d, tf.nn.conv2d.
Let's begin!
Input¶
The neural network needs to read the image data, one-hot encoded labels, and dropout keep probability. Implement the following functions
- Implement
neural_net_image_input- Return a TF Placeholder
- Set the shape using
image_shapewith batch size set toNone. - Name the TensorFlow placeholder "x" using the TensorFlow
nameparameter in the TF Placeholder.
- Implement
neural_net_label_input- Return a TF Placeholder
- Set the shape using
n_classeswith batch size set toNone. - Name the TensorFlow placeholder "y" using the TensorFlow
nameparameter in the TF Placeholder.
- Implement
neural_net_keep_prob_input- Return a TF Placeholder for dropout keep probability.
- Name the TensorFlow placeholder "keep_prob" using the TensorFlow
nameparameter in the TF Placeholder.
These names will be used at the end of the project to load your saved model.
Note: None for shapes in TensorFlow allow for a dynamic size.
import tensorflow as tf def neural_net_image_input(image_shape):
"""
Return a Tensor for a bach of image input
: image_shape: Shape of the images
: return: Tensor for image input.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, shape=[None, image_shape[0], image_shape[1], image_shape[2]], name='x') def neural_net_label_input(n_classes):
"""
Return a Tensor for a batch of label input
: n_classes: Number of classes
: return: Tensor for label input.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, shape=[None, n_classes], name='y') def neural_net_keep_prob_input():
"""
Return a Tensor for keep probability
: return: Tensor for keep probability.
"""
# TODO: Implement Function
return tf.placeholder(tf.float32, name='keep_prob') """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tf.reset_default_graph()
tests.test_nn_image_inputs(neural_net_image_input)
tests.test_nn_label_inputs(neural_net_label_input)
tests.test_nn_keep_prob_inputs(neural_net_keep_prob_input)
Image Input Tests Passed.
Label Input Tests Passed.
Keep Prob Tests Passed.
Convolution and Max Pooling Layer¶
Convolution layers have a lot of success with images. For this code cell, you should implement the function conv2d_maxpool to apply convolution then max pooling:
- Create the weight and bias using
conv_ksize,conv_num_outputsand the shape ofx_tensor. - Apply a convolution to
x_tensorusing weight andconv_strides.- We recommend you use same padding, but you're welcome to use any padding.
- Add bias
- Add a nonlinear activation to the convolution.
- Apply Max Pooling using
pool_ksizeandpool_strides.- We recommend you use same padding, but you're welcome to use any padding.
Note: You can't use TensorFlow Layers or TensorFlow Layers (contrib) for this layer, but you can still use TensorFlow's Neural Network package. You may still use the shortcut option for all the other layers.
def conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides):
"""
Apply convolution then max pooling to x_tensor
:param x_tensor: TensorFlow Tensor
:param conv_num_outputs: Number of outputs for the convolutional layer
:param conv_ksize: kernal size 2-D Tuple for the convolutional layer
:param conv_strides: Stride 2-D Tuple for convolution
:param pool_ksize: kernal size 2-D Tuple for pool
:param pool_strides: Stride 2-D Tuple for pool
: return: A tensor that represents convolution and max pooling of x_tensor
"""
# TODO: Implement Function
weight = tf.Variable(tf.truncated_normal([conv_ksize[0], conv_ksize[1], int(x_tensor.get_shape()[3]), conv_num_outputs],stddev=0.1))
bias = tf.Variable(tf.zeros(conv_num_outputs))
conv_layer = tf.nn.conv2d(x_tensor, weight, [1, conv_strides[0], conv_strides[1], 1], padding='SAME')
conv_layer = tf.nn.bias_add(conv_layer, bias)
conv_layer = tf.nn.relu(conv_layer)
conv_layer = tf.nn.max_pool(conv_layer,
ksize=[1, pool_ksize[0], pool_ksize[1], 1],
strides=[1, pool_strides[0], pool_strides[1], 1],
padding='SAME') return conv_layer """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_con_pool(conv2d_maxpool)
Tests Passed
Flatten Layer¶
Implement the flatten function to change the dimension of x_tensor from a 4-D tensor to a 2-D tensor. The output should be the shape (Batch Size, Flattened Image Size). Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
def flatten(x_tensor):
"""
Flatten x_tensor to (Batch Size, Flattened Image Size)
: x_tensor: A tensor of size (Batch Size, ...), where ... are the image dimensions.
: return: A tensor of size (Batch Size, Flattened Image Size).
"""
# TODO: Implement Function
input = int(x_tensor.get_shape()[1])*int(x_tensor.get_shape()[2])*int(x_tensor.get_shape()[3])
x_flatten = tf.reshape(x_tensor, [-1, input])
return x_flatten """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_flatten(flatten)
Tests Passed
Fully-Connected Layer¶
Implement the fully_conn function to apply a fully connected layer to x_tensor with the shape (Batch Size, num_outputs). Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
def fully_conn(x_tensor, num_outputs):
"""
Apply a fully connected layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
"""
# TODO: Implement Function
return tf.contrib.layers.fully_connected(x_tensor, num_outputs) """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_fully_conn(fully_conn)
Tests Passed
Output Layer¶
Implement the output function to apply a fully connected layer to x_tensor with the shape (Batch Size, num_outputs). Shortcut option: you can use classes from the TensorFlow Layers or TensorFlow Layers (contrib) packages for this layer. For more of a challenge, only use other TensorFlow packages.
Note: Activation, softmax, or cross entropy should not be applied to this.
def output(x_tensor, num_outputs):
"""
Apply a output layer to x_tensor using weight and bias
: x_tensor: A 2-D tensor where the first dimension is batch size.
: num_outputs: The number of output that the new tensor should be.
: return: A 2-D tensor where the second dimension is num_outputs.
"""
# TODO: Implement Function
input_shape = int(x_tensor.shape[1])
weight = tf.Variable(tf.truncated_normal([input_shape, num_outputs],stddev=0.1))
bias = tf.Variable(tf.truncated_normal([num_outputs], stddev=0.1))
out = tf.add(tf.matmul(x_tensor, weight), bias)
return out """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_output(output)
Tests Passed
Create Convolutional Model¶
Implement the function conv_net to create a convolutional neural network model. The function takes in a batch of images, x, and outputs logits. Use the layers you created above to create this model:
- Apply 1, 2, or 3 Convolution and Max Pool layers
- Apply a Flatten Layer
- Apply 1, 2, or 3 Fully Connected Layers
- Apply an Output Layer
- Return the output
- Apply TensorFlow's Dropout to one or more layers in the model using
keep_prob.
def conv_net(x, keep_prob):
"""
Create a convolutional neural network model
: x: Placeholder tensor that holds image data.
: keep_prob: Placeholder tensor that hold dropout keep probability.
: return: Tensor that represents logits
"""
# TODO: Apply 1, 2, or 3 Convolution and Max Pool layers
# Play around with different number of outputs, kernel size and stride
# Function Definition from Above:
# conv2d_maxpool(x_tensor, conv_num_outputs, conv_ksize, conv_strides, pool_ksize, pool_strides)
layer1 = conv2d_maxpool(x, 32, (3, 3), (1,1), (2,2), (2,2))
layer2 = conv2d_maxpool(layer1, 64, (3,3), (1,1), (2,2), (2,2))
layer2 = tf.nn.dropout(layer2, keep_prob) # TODO: Apply a Flatten Layer
# Function Definition from Above:
# flatten(x_tensor)
flatten_layer = flatten(layer2) # TODO: Apply 1, 2, or 3 Fully Connected Layers
# Play around with different number of outputs
# Function Definition from Above:
# fully_conn(x_tensor, num_outputs)
fc1 = fully_conn(flatten_layer, 512)
fc2 = fully_conn(fc1, 256)
fc2 = tf.nn.dropout(fc2, keep_prob) # TODO: Apply an Output Layer
# Set this to the number of classes
# Function Definition from Above:
# output(x_tensor, num_outputs)
output_layer = output(fc2, 10) # TODO: return output
return output_layer """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
""" ##############################
## Build the Neural Network ##
############################## # Remove previous weights, bias, inputs, etc..
tf.reset_default_graph() # Inputs
x = neural_net_image_input((32, 32, 3))
y = neural_net_label_input(10)
keep_prob = neural_net_keep_prob_input() # Model
logits = conv_net(x, keep_prob) # Name logits Tensor, so that is can be loaded from disk after training
logits = tf.identity(logits, name='logits') # Loss and Optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y))
optimizer = tf.train.AdamOptimizer().minimize(cost) # Accuracy
correct_pred = tf.equal(tf.argmax(logits, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32), name='accuracy') tests.test_conv_net(conv_net)
Neural Network Built!
Train the Neural Network¶
Single Optimization¶
Implement the function train_neural_network to do a single optimization. The optimization should use optimizer to optimize in session with a feed_dict of the following:
xfor image inputyfor labelskeep_probfor keep probability for dropout
This function will be called for each batch, so tf.global_variables_initializer() has already been called.
Note: Nothing needs to be returned. This function is only optimizing the neural network.
def train_neural_network(session, optimizer, keep_probability, feature_batch, label_batch):
"""
Optimize the session on a batch of images and labels
: session: Current TensorFlow session
: optimizer: TensorFlow optimizer function
: keep_probability: keep probability
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
"""
# TODO: Implement Function
train_feed_dict = {x: feature_batch,
y: label_batch,
keep_prob: keep_probability}
session.run(optimizer, feed_dict=train_feed_dict)
# pass """
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_train_nn(train_neural_network)
Tests Passed
Show Stats¶
Implement the function print_stats to print loss and validation accuracy. Use the global variables valid_features and valid_labels to calculate validation accuracy. Use a keep probability of 1.0 to calculate the loss and validation accuracy.
def print_stats(session, feature_batch, label_batch, cost, accuracy):
"""
Print information about loss and validation accuracy
: session: Current TensorFlow session
: feature_batch: Batch of Numpy image data
: label_batch: Batch of Numpy label data
: cost: TensorFlow cost function
: accuracy: TensorFlow accuracy function
"""
# TODO: Implement Function
current_cost = session.run(
cost,
feed_dict={x: feature_batch, y: label_batch, keep_prob: 1.0})
valid_accuracy = session.run(
accuracy,
feed_dict={x: valid_features, y: valid_labels, keep_prob: 1.0})
print('Cost: {}, Valid Accuracy: {}'.format(current_cost, valid_accuracy))
# pass
Hyperparameters¶
Tune the following parameters:
- Set
epochsto the number of iterations until the network stops learning or start overfitting - Set
batch_sizeto the highest number that your machine has memory for. Most people set them to common sizes of memory:- 64
- 128
- 256
- ...
- Set
keep_probabilityto the probability of keeping a node using dropout
# TODO: Tune Parameters
epochs = 25
batch_size = 512
keep_probability = 0.7
Train on a Single CIFAR-10 Batch¶
Instead of training the neural network on all the CIFAR-10 batches of data, let's use a single batch. This should save time while you iterate on the model to get a better accuracy. Once the final validation accuracy is 50% or greater, run the model on all the data in the next section.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
print('Checking the Training on a Single Batch...')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer()) # Training cycle
for epoch in range(epochs):
batch_i = 1
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
print_stats(sess, batch_features, batch_labels, cost, accuracy)
Checking the Training on a Single Batch...
Epoch 1, CIFAR-10 Batch 1: Cost: 1.981543779373169, Valid Accuracy: 0.2962000072002411
Epoch 2, CIFAR-10 Batch 1: Cost: 1.6893121004104614, Valid Accuracy: 0.41019997000694275
Epoch 3, CIFAR-10 Batch 1: Cost: 1.5307731628417969, Valid Accuracy: 0.4501999616622925
Epoch 4, CIFAR-10 Batch 1: Cost: 1.3871300220489502, Valid Accuracy: 0.49219998717308044
Epoch 5, CIFAR-10 Batch 1: Cost: 1.267615556716919, Valid Accuracy: 0.5067999362945557
Epoch 6, CIFAR-10 Batch 1: Cost: 1.1795060634613037, Valid Accuracy: 0.520799994468689
Epoch 7, CIFAR-10 Batch 1: Cost: 1.070376992225647, Valid Accuracy: 0.5381999611854553
Epoch 8, CIFAR-10 Batch 1: Cost: 0.9885929226875305, Valid Accuracy: 0.5531999468803406
Epoch 9, CIFAR-10 Batch 1: Cost: 0.9121658802032471, Valid Accuracy: 0.5575999617576599
Epoch 10, CIFAR-10 Batch 1: Cost: 0.8275613784790039, Valid Accuracy: 0.5671999454498291
Epoch 11, CIFAR-10 Batch 1: Cost: 0.7708795666694641, Valid Accuracy: 0.5655999183654785
Epoch 12, CIFAR-10 Batch 1: Cost: 0.6988260746002197, Valid Accuracy: 0.5813998579978943
Epoch 13, CIFAR-10 Batch 1: Cost: 0.6681018471717834, Valid Accuracy: 0.5793999433517456
Epoch 14, CIFAR-10 Batch 1: Cost: 0.6030067205429077, Valid Accuracy: 0.585599958896637
Epoch 15, CIFAR-10 Batch 1: Cost: 0.5603825449943542, Valid Accuracy: 0.5957999229431152
Epoch 16, CIFAR-10 Batch 1: Cost: 0.5022317171096802, Valid Accuracy: 0.5995999574661255
Epoch 17, CIFAR-10 Batch 1: Cost: 0.43543699383735657, Valid Accuracy: 0.6051998734474182
Epoch 18, CIFAR-10 Batch 1: Cost: 0.3899790644645691, Valid Accuracy: 0.6127999424934387
Epoch 19, CIFAR-10 Batch 1: Cost: 0.35729077458381653, Valid Accuracy: 0.6167998909950256
Epoch 20, CIFAR-10 Batch 1: Cost: 0.32928287982940674, Valid Accuracy: 0.6177998781204224
Epoch 21, CIFAR-10 Batch 1: Cost: 0.31080135703086853, Valid Accuracy: 0.6095998883247375
Epoch 22, CIFAR-10 Batch 1: Cost: 0.2679688036441803, Valid Accuracy: 0.6147998571395874
Epoch 23, CIFAR-10 Batch 1: Cost: 0.20786641538143158, Valid Accuracy: 0.6205999255180359
Epoch 24, CIFAR-10 Batch 1: Cost: 0.2318623661994934, Valid Accuracy: 0.6075999140739441
Epoch 25, CIFAR-10 Batch 1: Cost: 0.17443916201591492, Valid Accuracy: 0.6247999668121338
Fully Train the Model¶
Now that you got a good accuracy with a single CIFAR-10 batch, try it with all five batches.
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
save_model_path = './image_classification' print('Training...')
with tf.Session() as sess:
# Initializing the variables
sess.run(tf.global_variables_initializer()) # Training cycle
for epoch in range(epochs):
# Loop over all batches
n_batches = 5
for batch_i in range(1, n_batches + 1):
for batch_features, batch_labels in helper.load_preprocess_training_batch(batch_i, batch_size):
train_neural_network(sess, optimizer, keep_probability, batch_features, batch_labels)
print('Epoch {:>2}, CIFAR-10 Batch {}: '.format(epoch + 1, batch_i), end='')
print_stats(sess, batch_features, batch_labels, cost, accuracy) # Save Model
saver = tf.train.Saver()
save_path = saver.save(sess, save_model_path)
Training...
Epoch 1, CIFAR-10 Batch 1: Cost: 1.832273244857788, Valid Accuracy: 0.36539995670318604
Epoch 1, CIFAR-10 Batch 2: Cost: 1.5143165588378906, Valid Accuracy: 0.4235999584197998
Epoch 1, CIFAR-10 Batch 3: Cost: 1.3797259330749512, Valid Accuracy: 0.4487999677658081
Epoch 1, CIFAR-10 Batch 4: Cost: 1.3267163038253784, Valid Accuracy: 0.48799997568130493
Epoch 1, CIFAR-10 Batch 5: Cost: 1.3325960636138916, Valid Accuracy: 0.5231999158859253
Epoch 2, CIFAR-10 Batch 1: Cost: 1.2991366386413574, Valid Accuracy: 0.5453999638557434
Epoch 2, CIFAR-10 Batch 2: Cost: 1.164091944694519, Valid Accuracy: 0.5565999746322632
Epoch 2, CIFAR-10 Batch 3: Cost: 1.0475447177886963, Valid Accuracy: 0.5653999447822571
Epoch 2, CIFAR-10 Batch 4: Cost: 1.049081802368164, Valid Accuracy: 0.5799999237060547
Epoch 2, CIFAR-10 Batch 5: Cost: 1.03753662109375, Valid Accuracy: 0.5969999432563782
Epoch 3, CIFAR-10 Batch 1: Cost: 1.0934979915618896, Valid Accuracy: 0.5921999216079712
Epoch 3, CIFAR-10 Batch 2: Cost: 0.9676773548126221, Valid Accuracy: 0.6107999086380005
Epoch 3, CIFAR-10 Batch 3: Cost: 0.9072970747947693, Valid Accuracy: 0.6065999269485474
Epoch 3, CIFAR-10 Batch 4: Cost: 0.8752695918083191, Valid Accuracy: 0.6267998814582825
Epoch 3, CIFAR-10 Batch 5: Cost: 0.8745278120040894, Valid Accuracy: 0.6309998631477356
Epoch 4, CIFAR-10 Batch 1: Cost: 0.914341926574707, Valid Accuracy: 0.6329998970031738
Epoch 4, CIFAR-10 Batch 2: Cost: 0.8334460258483887, Valid Accuracy: 0.6429998874664307
Epoch 4, CIFAR-10 Batch 3: Cost: 0.7674638032913208, Valid Accuracy: 0.6335999369621277
Epoch 4, CIFAR-10 Batch 4: Cost: 0.7472399473190308, Valid Accuracy: 0.6581999063491821
Epoch 4, CIFAR-10 Batch 5: Cost: 0.770847737789154, Valid Accuracy: 0.6523998975753784
Epoch 5, CIFAR-10 Batch 1: Cost: 0.819602906703949, Valid Accuracy: 0.6605998873710632
Epoch 5, CIFAR-10 Batch 2: Cost: 0.7362581491470337, Valid Accuracy: 0.6599998474121094
Epoch 5, CIFAR-10 Batch 3: Cost: 0.6552530527114868, Valid Accuracy: 0.6613999009132385
Epoch 5, CIFAR-10 Batch 4: Cost: 0.6550571322441101, Valid Accuracy: 0.6705998182296753
Epoch 5, CIFAR-10 Batch 5: Cost: 0.6357465982437134, Valid Accuracy: 0.6775999069213867
Epoch 6, CIFAR-10 Batch 1: Cost: 0.7695267200469971, Valid Accuracy: 0.6613999009132385
Epoch 6, CIFAR-10 Batch 2: Cost: 0.6776818633079529, Valid Accuracy: 0.6555998921394348
Epoch 6, CIFAR-10 Batch 3: Cost: 0.5864536762237549, Valid Accuracy: 0.6739998459815979
Epoch 6, CIFAR-10 Batch 4: Cost: 0.5943570733070374, Valid Accuracy: 0.6749998331069946
Epoch 6, CIFAR-10 Batch 5: Cost: 0.565223217010498, Valid Accuracy: 0.6917998790740967
Epoch 7, CIFAR-10 Batch 1: Cost: 0.6281090378761292, Valid Accuracy: 0.6915998458862305
Epoch 7, CIFAR-10 Batch 2: Cost: 0.6264783143997192, Valid Accuracy: 0.6697998642921448
Epoch 7, CIFAR-10 Batch 3: Cost: 0.5280745029449463, Valid Accuracy: 0.6797998547554016
Epoch 7, CIFAR-10 Batch 4: Cost: 0.5057480335235596, Valid Accuracy: 0.6909998655319214
Epoch 7, CIFAR-10 Batch 5: Cost: 0.4861595332622528, Valid Accuracy: 0.6975998282432556
Epoch 8, CIFAR-10 Batch 1: Cost: 0.5630429983139038, Valid Accuracy: 0.6789999008178711
Epoch 8, CIFAR-10 Batch 2: Cost: 0.533102810382843, Valid Accuracy: 0.6909998655319214
Epoch 8, CIFAR-10 Batch 3: Cost: 0.4442758560180664, Valid Accuracy: 0.6945998668670654
Epoch 8, CIFAR-10 Batch 4: Cost: 0.45804768800735474, Valid Accuracy: 0.6869999170303345
Epoch 8, CIFAR-10 Batch 5: Cost: 0.4137130379676819, Valid Accuracy: 0.7059998512268066
Epoch 9, CIFAR-10 Batch 1: Cost: 0.49841877818107605, Valid Accuracy: 0.7017998695373535
Epoch 9, CIFAR-10 Batch 2: Cost: 0.5053462386131287, Valid Accuracy: 0.7011998891830444
Epoch 9, CIFAR-10 Batch 3: Cost: 0.3799095153808594, Valid Accuracy: 0.6995999217033386
Epoch 9, CIFAR-10 Batch 4: Cost: 0.3840067982673645, Valid Accuracy: 0.703799843788147
Epoch 9, CIFAR-10 Batch 5: Cost: 0.3727177381515503, Valid Accuracy: 0.6965998411178589
Epoch 10, CIFAR-10 Batch 1: Cost: 0.4027259945869446, Valid Accuracy: 0.7155999541282654
Epoch 10, CIFAR-10 Batch 2: Cost: 0.45052188634872437, Valid Accuracy: 0.6981998682022095
Epoch 10, CIFAR-10 Batch 3: Cost: 0.33553263545036316, Valid Accuracy: 0.7011998891830444
Epoch 10, CIFAR-10 Batch 4: Cost: 0.3330621123313904, Valid Accuracy: 0.7057998776435852
Epoch 10, CIFAR-10 Batch 5: Cost: 0.296501487493515, Valid Accuracy: 0.7049998641014099
Epoch 11, CIFAR-10 Batch 1: Cost: 0.3590182662010193, Valid Accuracy: 0.7099998593330383
Epoch 11, CIFAR-10 Batch 2: Cost: 0.394004762172699, Valid Accuracy: 0.6991998553276062
Epoch 11, CIFAR-10 Batch 3: Cost: 0.2984470725059509, Valid Accuracy: 0.7033998370170593
Epoch 11, CIFAR-10 Batch 4: Cost: 0.302537739276886, Valid Accuracy: 0.6989998817443848
Epoch 11, CIFAR-10 Batch 5: Cost: 0.28532278537750244, Valid Accuracy: 0.7009998559951782
Epoch 12, CIFAR-10 Batch 1: Cost: 0.3152196705341339, Valid Accuracy: 0.7047998905181885
Epoch 12, CIFAR-10 Batch 2: Cost: 0.32453927397727966, Valid Accuracy: 0.7069998383522034
Epoch 12, CIFAR-10 Batch 3: Cost: 0.26129478216171265, Valid Accuracy: 0.7085999250411987
Epoch 12, CIFAR-10 Batch 4: Cost: 0.2644485533237457, Valid Accuracy: 0.7213999032974243
Epoch 12, CIFAR-10 Batch 5: Cost: 0.20493921637535095, Valid Accuracy: 0.7125998735427856
Epoch 13, CIFAR-10 Batch 1: Cost: 0.22845995426177979, Valid Accuracy: 0.7161998748779297
Epoch 13, CIFAR-10 Batch 2: Cost: 0.27734917402267456, Valid Accuracy: 0.702599823474884
Epoch 13, CIFAR-10 Batch 3: Cost: 0.20078226923942566, Valid Accuracy: 0.7217997908592224
Epoch 13, CIFAR-10 Batch 4: Cost: 0.1977318525314331, Valid Accuracy: 0.7225998640060425
Epoch 13, CIFAR-10 Batch 5: Cost: 0.1625274121761322, Valid Accuracy: 0.7013998031616211
Epoch 14, CIFAR-10 Batch 1: Cost: 0.20941343903541565, Valid Accuracy: 0.71319979429245
Epoch 14, CIFAR-10 Batch 2: Cost: 0.22109606862068176, Valid Accuracy: 0.7107998728752136
Epoch 14, CIFAR-10 Batch 3: Cost: 0.18931545317173004, Valid Accuracy: 0.7209998369216919
Epoch 14, CIFAR-10 Batch 4: Cost: 0.17245665192604065, Valid Accuracy: 0.7201998829841614
Epoch 14, CIFAR-10 Batch 5: Cost: 0.12666547298431396, Valid Accuracy: 0.7099999189376831
Epoch 15, CIFAR-10 Batch 1: Cost: 0.1649477183818817, Valid Accuracy: 0.6957998871803284
Epoch 15, CIFAR-10 Batch 2: Cost: 0.20910196006298065, Valid Accuracy: 0.71399986743927
Epoch 15, CIFAR-10 Batch 3: Cost: 0.16460655629634857, Valid Accuracy: 0.7227998971939087
Epoch 15, CIFAR-10 Batch 4: Cost: 0.15689876675605774, Valid Accuracy: 0.7257998585700989
Epoch 15, CIFAR-10 Batch 5: Cost: 0.12434524297714233, Valid Accuracy: 0.7229998111724854
Epoch 16, CIFAR-10 Batch 1: Cost: 0.13498590886592865, Valid Accuracy: 0.7137998342514038
Epoch 16, CIFAR-10 Batch 2: Cost: 0.15952308475971222, Valid Accuracy: 0.71399986743927
Epoch 16, CIFAR-10 Batch 3: Cost: 0.14201946556568146, Valid Accuracy: 0.7173997759819031
Epoch 16, CIFAR-10 Batch 4: Cost: 0.13035789132118225, Valid Accuracy: 0.7089998722076416
Epoch 16, CIFAR-10 Batch 5: Cost: 0.09921566396951675, Valid Accuracy: 0.7209998369216919
Epoch 17, CIFAR-10 Batch 1: Cost: 0.09819728881120682, Valid Accuracy: 0.7211998701095581
Epoch 17, CIFAR-10 Batch 2: Cost: 0.11556250602006912, Valid Accuracy: 0.703799843788147
Epoch 17, CIFAR-10 Batch 3: Cost: 0.12962713837623596, Valid Accuracy: 0.6973998546600342
Epoch 17, CIFAR-10 Batch 4: Cost: 0.11188755184412003, Valid Accuracy: 0.7021998167037964
Epoch 17, CIFAR-10 Batch 5: Cost: 0.10227618366479874, Valid Accuracy: 0.7207998633384705
Epoch 18, CIFAR-10 Batch 1: Cost: 0.08533059060573578, Valid Accuracy: 0.7277998924255371
Epoch 18, CIFAR-10 Batch 2: Cost: 0.08877917379140854, Valid Accuracy: 0.7225998640060425
Epoch 18, CIFAR-10 Batch 3: Cost: 0.09716400504112244, Valid Accuracy: 0.7181998491287231
Epoch 18, CIFAR-10 Batch 4: Cost: 0.07497880607843399, Valid Accuracy: 0.7151998281478882
Epoch 18, CIFAR-10 Batch 5: Cost: 0.09201839566230774, Valid Accuracy: 0.7157997488975525
Epoch 19, CIFAR-10 Batch 1: Cost: 0.07389415800571442, Valid Accuracy: 0.7241998314857483
Epoch 19, CIFAR-10 Batch 2: Cost: 0.06526206433773041, Valid Accuracy: 0.7189998626708984
Epoch 19, CIFAR-10 Batch 3: Cost: 0.061605826020240784, Valid Accuracy: 0.7355998754501343
Epoch 19, CIFAR-10 Batch 4: Cost: 0.057335659861564636, Valid Accuracy: 0.7123998999595642
Epoch 19, CIFAR-10 Batch 5: Cost: 0.06339623034000397, Valid Accuracy: 0.7155998349189758
Epoch 20, CIFAR-10 Batch 1: Cost: 0.05394330993294716, Valid Accuracy: 0.7151998281478882
Epoch 20, CIFAR-10 Batch 2: Cost: 0.04258808121085167, Valid Accuracy: 0.7245998382568359
Epoch 20, CIFAR-10 Batch 3: Cost: 0.04457850754261017, Valid Accuracy: 0.739599883556366
Epoch 20, CIFAR-10 Batch 4: Cost: 0.042179837822914124, Valid Accuracy: 0.7189998030662537
Epoch 20, CIFAR-10 Batch 5: Cost: 0.03909622132778168, Valid Accuracy: 0.7213997840881348
Epoch 21, CIFAR-10 Batch 1: Cost: 0.039547719061374664, Valid Accuracy: 0.7305998206138611
Epoch 21, CIFAR-10 Batch 2: Cost: 0.05200860649347305, Valid Accuracy: 0.7295998334884644
Epoch 21, CIFAR-10 Batch 3: Cost: 0.04865306243300438, Valid Accuracy: 0.7221998572349548
Epoch 21, CIFAR-10 Batch 4: Cost: 0.03900712728500366, Valid Accuracy: 0.7203999161720276
Epoch 21, CIFAR-10 Batch 5: Cost: 0.04032319784164429, Valid Accuracy: 0.7257997989654541
Epoch 22, CIFAR-10 Batch 1: Cost: 0.04003668576478958, Valid Accuracy: 0.726599931716919
Epoch 22, CIFAR-10 Batch 2: Cost: 0.032733120024204254, Valid Accuracy: 0.720599889755249
Epoch 22, CIFAR-10 Batch 3: Cost: 0.0336458720266819, Valid Accuracy: 0.7305998206138611
Epoch 22, CIFAR-10 Batch 4: Cost: 0.03453477472066879, Valid Accuracy: 0.7257997989654541
Epoch 22, CIFAR-10 Batch 5: Cost: 0.02371136285364628, Valid Accuracy: 0.7293998599052429
Epoch 23, CIFAR-10 Batch 1: Cost: 0.047538965940475464, Valid Accuracy: 0.7231998443603516
Epoch 23, CIFAR-10 Batch 2: Cost: 0.023469319567084312, Valid Accuracy: 0.7195998430252075
Epoch 23, CIFAR-10 Batch 3: Cost: 0.028181904926896095, Valid Accuracy: 0.7287998199462891
Epoch 23, CIFAR-10 Batch 4: Cost: 0.04064479097723961, Valid Accuracy: 0.7135998010635376
Epoch 23, CIFAR-10 Batch 5: Cost: 0.031032998114824295, Valid Accuracy: 0.7099998593330383
Epoch 24, CIFAR-10 Batch 1: Cost: 0.028484748676419258, Valid Accuracy: 0.7183998823165894
Epoch 24, CIFAR-10 Batch 2: Cost: 0.02268650382757187, Valid Accuracy: 0.72819983959198
Epoch 24, CIFAR-10 Batch 3: Cost: 0.025906456634402275, Valid Accuracy: 0.72819983959198
Epoch 24, CIFAR-10 Batch 4: Cost: 0.01703275740146637, Valid Accuracy: 0.7167998552322388
Epoch 24, CIFAR-10 Batch 5: Cost: 0.015511390753090382, Valid Accuracy: 0.7179998755455017
Epoch 25, CIFAR-10 Batch 1: Cost: 0.045921918004751205, Valid Accuracy: 0.7159998416900635
Epoch 25, CIFAR-10 Batch 2: Cost: 0.01846957392990589, Valid Accuracy: 0.7113998532295227
Epoch 25, CIFAR-10 Batch 3: Cost: 0.02299758419394493, Valid Accuracy: 0.7291998267173767
Epoch 25, CIFAR-10 Batch 4: Cost: 0.024993669241666794, Valid Accuracy: 0.715199887752533
Epoch 25, CIFAR-10 Batch 5: Cost: 0.013799181208014488, Valid Accuracy: 0.7147998213768005
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
%config InlineBackend.figure_format = 'retina' import tensorflow as tf
import pickle
import helper
import random # Set batch size if not already set
try:
if batch_size:
pass
except NameError:
batch_size = 64 save_model_path = './image_classification'
n_samples = 4
top_n_predictions = 3 def test_model():
"""
Test the saved model against the test dataset
""" test_features, test_labels = pickle.load(open('preprocess_training.p', mode='rb'))
loaded_graph = tf.Graph() with tf.Session(graph=loaded_graph) as sess:
# Load model
loader = tf.train.import_meta_graph(save_model_path + '.meta')
loader.restore(sess, save_model_path) # Get Tensors from loaded model
loaded_x = loaded_graph.get_tensor_by_name('x:0')
loaded_y = loaded_graph.get_tensor_by_name('y:0')
loaded_keep_prob = loaded_graph.get_tensor_by_name('keep_prob:0')
loaded_logits = loaded_graph.get_tensor_by_name('logits:0')
loaded_acc = loaded_graph.get_tensor_by_name('accuracy:0') # Get accuracy in batches for memory limitations
test_batch_acc_total = 0
test_batch_count = 0 for train_feature_batch, train_label_batch in helper.batch_features_labels(test_features, test_labels, batch_size):
test_batch_acc_total += sess.run(
loaded_acc,
feed_dict={loaded_x: train_feature_batch, loaded_y: train_label_batch, loaded_keep_prob: 1.0})
test_batch_count += 1 print('Testing Accuracy: {}\n'.format(test_batch_acc_total/test_batch_count)) # Print Random Samples
random_test_features, random_test_labels = tuple(zip(*random.sample(list(zip(test_features, test_labels)), n_samples)))
random_test_predictions = sess.run(
tf.nn.top_k(tf.nn.softmax(loaded_logits), top_n_predictions),
feed_dict={loaded_x: random_test_features, loaded_y: random_test_labels, loaded_keep_prob: 1.0})
helper.display_image_predictions(random_test_features, random_test_labels, random_test_predictions) test_model()
INFO:tensorflow:Restoring parameters from ./image_classification
Testing Accuracy: 0.7125631898641587
AAAWJQAAFiUBSVIk8AAAIABJREFUeJzs3XecXFX9//HXZ3Y3yaYXWkgIoROaSOgoBAGlqCAKCCIG
FOkoYPvaAP1avugXFCyICPmKINXyU6RICSCICAFCCCAtlNAhlSRbP78/zpmZuzczs3ezs232/Xw8
5jEz95x775nZ2ZnPfOYUc3dERERERARyfd0AEREREZH+QsGxiIiIiEik4FhEREREJFJwLCIiIiIS
KTgWEREREYkUHIuIiIiIRAqORUREREQiBcciIiIiIpGCYxERERGRSMGxiIiIiEik4FhEREREJFJw
LCIiIiISKTgWEREREYkUHIuIiIiIRAqO+5iZbWhmh5rZSWb2X2b2NTM7zcwOM7MdzWxkX7exHDPL
mdnBZna1mT1jZkvNzBOXP/V1G0X6GzObmvo/OacadfsrM5uRegwz+7pNIiKV1Pd1AwYjMxsPnAQc
D2zYSfV2M5sP3APcCNzu7qt6uImdio/hemDvvm6L9D4zmwV8ppNqrcBi4C1gDuE1/Ht3X9KzrRMR
EVlzyhz3MjP7MDAf+G86D4wh/I22IQTTfwU+0XOt65Lf0oXAWNmjQakeWAvYEjgK+CWw0MzOMTN9
MR9AUv+7s/q6PSIiPUkfUL3IzA4Hfs/qX0qWAo8BrwFNwDhgCjCtRN0+Z2a7AgclNr0AnAs8CCxL
bF/Rm+2SAWEEcDawp5kd4O5Nfd0gERGRJAXHvcTMNiFkW5PB7jzgG8Df3L21xD4jgb2Aw4CPAaN7
oalZHJq6f7C7P9onLZH+4suEbjZJ9cC6wPuAkwlf+PL2JmSSj+uV1omIiGSk4Lj3fA8Ymrh/G/BR
d19Zbgd3X07oZ3yjmZ0GfI6QXe5r0xO3FygwFuAtd19QYvszwL1mdhHwO8KXvLyZZnahuz/SGw0c
iOJzan3dju5w99kM8McgIoNLv/vJvhaZWSPw0cSmFuAzlQLjNHdf5u4XuPttVW9g162TuP1Kn7VC
Bgx3XwF8CvhPYrMBJ/ZNi0REREpTcNw7dgAaE/fvc/eBHFQmp5dr6bNWyIASvwxekNq8T1+0RURE
pBx1q+gd66XuL+zNk5vZaOD9wCRgAmHQ3OvAv9z9xTU5ZBWbVxVmtjGhu8dkYAiwALjT3d/oZL/J
hD6xGxAe16txv5e70ZZJwNbAxsDYuPkd4EXgn4N8KrPbU/c3MbM6d2/rykHMbBtgK2AiYZDfAne/
KsN+Q4DdgKmEX0DagTeAudXoHmRmmwE7A+sDq4CXgQfcvVf/50u0a3Nge2BtwmtyBeG1Pg+Y7+7t
fdi8TpnZBsCuhD7sowj/T68A97j74iqfa2NCQmMDoI7wXnmvuz/XjWNuQXj+1yMkF1qB5cBLwNPA
k+7u3Wy6iFSLu+vSwxfgk4AnLjf10nl3BG4CmlPnT17mEqbZsgrHmVFh/3KX2XHfBWu6b6oNs5J1
Etv3Au4kBDnp4zQDvwBGljjeVsDfyuzXDtwATMr4POdiO34JPNvJY2sD/g7snfHY/5fa/5Iu/P1/
kNr3L5X+zl18bc1KHXtmxv0aSzwn65Sol3zdzE5sP5YQ0KWPsbiT824BXEX4Yljub/MycCYwZA2e
jz2Af5U5bith7MD0WHdqqvycCsfNXLfEvmOB7xK+lFV6Tb4JXAbs1MnfONMlw/tHptdK3Pdw4JEK
52uJ/0+7duGYsxP7L0hs34Xw5a3Ue4ID9wO7deE8DcBZhH73nT1viwnvOftV4/9TF1106d6lzxsw
GC7AB1JvhMuAsT14PgPOq/AmX+oyGxhX5njpD7dMx4v7LljTfVNt6PBBHbednvEx/ptEgEyYbWNF
hv0WABtkeL6PW4PH6MD/AnWdHHsE8GRqvyMytOmDqefmZWBCFV9js1JtmplxvzUKjgmDWa+t8FyW
DI4J/wvfIQRRWf8u87L83RPn+HrG12Ezod/11NT2cyocO3Pd1H4fAxZ18fX4SCd/40yXDO8fnb5W
CDPz3NbFc/8EyGU49uzEPgvittOonERI/g0Pz3COtQkL33T1+ftTtf5HddFFlzW/qFtF73iIkDGs
i/dHAr81s6M8zEhRbb8GPpva1kzIfLxCyCjtSFigIW8v4G4z29PdF/VAm6oqzhn903jXCdmlZwnB
0PbAJonqOwIXAcea2d7ANRS7FD0ZL82EeaW3Tey3IdkWO0n33V8JPE742XopISCcAmxH6PKRdyYh
aPtauQO7+7vxsf4LGBY3X2JmD7r7s6X2MbP1gCsodn9pA45y97c7eRy9YVLqvgNZ2vUTwpSG+X0e
phhAbwxslN7BzIyQef90qmglIXDJ9/vflPCayT9fWwP3mdlO7l5xdhgz+yJhJpqkNsLf6yVCF4D3
Erp/NBACzvT/ZlXFNp3P6t2fXiP8UvQWMJzQBWlbOs6i0+fMbBRwF+FvkrQIeCBeTyR0s0i2/QuE
97Sju3i+o4ELE5vmEbK9TYT3kekUn8sGYJaZPezuT5c5ngF/IPzdk14nzGf/FuHL1Jh4/E1RF0eR
/qWvo/PBciGsbpfOErxCWBBhW6r3c/dnUudoJwQWY1P16gkf0ktS9X9f4pjDCBms/OXlRP37U2X5
y3px38nxfrpryZfK7FfYN9WGWan981mxvwKblKh/OCEISj4Pu8Xn3IH7gO1L7DeDEKwlz3VgJ895
foq9H8RzlMwGE76UfBV4N9WuXTL8XU9MtelBSvz8TwjU0xm3b/XA6zn995iZcb/Pp/Z7pky9BYk6
ya4QVwCTS9SfWmLb11Lneic+j8NK1N0I+HOq/i1U7m60LatnG69Kv37j3+RwQt/mfDuS+5xT4RxT
s9aN9T9ECM6T+9wF7F7qsRCCy48QftJ/KFW2FsX/yeTxrqf8/26pv8OMrrxWgMtT9ZcCJwANqXpj
CL++pLP2J3Ry/NmJusspvk/8Edi0RP1pwKOpc1xT4fgHpeo+TRh4WvK1RPh16GDgauC6av+v6qKL
Ll2/9HkDBsuFkAVZlXrTTF7eJvRL/BawHzBiDc4xktB3LXncMzrZZxc6BmtOJ/3eKNMftJN9uvQB
WWL/WSWesyup8DMqYcntUgH1bcDQCvt9OOsHYay/XqXjlai/W+q1UPH4if3S3Qp+WqLON1J1bq/0
HHXj9Zz+e3T69yR8yXoitV/JPtSU7o7zgy60b2s6dqV4iRKBW2ofI/S9TZ7zoAr170zV/VmGNqUD
46oFx4Rs8OvpNmX9+wPrVihLHnNWF18rmf/3CQOHk3VXAHt0cvxTU/ssp0wXsVh/dom/wc+o/EVo
XTp2U1lV7hyEsQf5ei3ARl14rlb74qaLLrr0/kVTufUSDwsdfJrwplrKeOBAQv/IW4FFZnaPmZ0Q
Z5vI4jOEbEreze6enjor3a5/Ad9Obf5CxvP1pVcIGaJKo+x/Q8iM5+VH6X/aKyxb7O5/BZ5KbJpR
qSHu/lql45Wo/0/g54lNh5hZlp+2PwckR8yfbmYH5++Y2fsIy3jnvQkc3clz1CvMbBgh67tlquhX
GQ/xCPDNLpzyKxR/qnbgMC+9SEmBuzthJb/kTCUl/xfMbGs6vi7+Q+gmU+n4j8d29ZTj6TgH+Z3A
aVn//u7+eo+0qmtOT90/193vrbSDu/+M8AtS3gi61nVlHiGJ4BXO8Toh6M0bSujWUUpyJchH3P35
rA1x93KfDyLSixQc9yJ3v47w8+Y/MlRvIEwxdjHwnJmdHPuyVfKp1P2zMzbtQkIglXegmY3PuG9f
ucQ76a/t7s1A+oP1and/NcPx70jcXif2462mPyduD2H1/pWrcfelwBGEn/LzLjezKWY2Afg9xX7t
DhyT8bFWw1pmNjV12dTMdjezrwDzgU+k9rnS3R/KePyfeMbp3sxsLHBkYtON7n5/ln1jcHJJYtPe
Zja8RNX0/9p58fXWmcvouakcj0/drxjw9TdmNgI4JLFpEaFLWBbpL05d6Xd8gbtnma/9b6n778mw
z9pdaIeI9BMKjnuZuz/s7u8H9iRkNivOwxtNIGQar47ztK4mZh6Tyzo/5+4PZGxTC3Bd8nCUz4r0
F7dmrJcetPb3jPs9k7rf5Q85C0aZ2frpwJHVB0ulM6olufuDhH7LeeMIQfEsQv/uvB+5+81dbXM3
/Ah4PnV5mvDl5H9YfcDcvawezFXyly7U3YPw5TLv+i7sC3BP4nY9oetR2m6J2/mp/zoVs7jXdVqx
i8xsbUK3jbx/+8Bb1n0nOg5M+2PWX2TiY52f2LRtHNiXRdb/kydT98u9JyR/ddrQzE7JeHwR6Sc0
QraPuPs9xA9hM9uKkFHekfABsT2lv7gcThjpXOrNdhs6zoTwry426X7CT8p501k9U9KfpD+oylma
uv9UyVqd79dp1xYzqwP2JcyqsBMh4C35ZaaEcRnr4e4/ibNu5Jck3z1V5X5C3+P+aCVhlpFvZ8zW
Abzo7u904Rx7pO6/Hb+QZFWXul9q3x0St5/2ri1E8e8u1M0qHcDfU7JW/zY9dX9N3sO2irdzhPfR
zp6HpZ59tdL04j3l3hOuBs5I3P+ZmR1CGGh4kw+A2YBEBjsFx/2Au88nZD0uhcLPwocQ3mC3S1U/
2cx+4+5zUtvTWYyS0wxVkA4a+/vPgVlXmWut0n4NJWtFZrYbof/stpXqVZC1X3nesYTpzKakti8G
jnT3dPv7Qhvh+X6b0NZ7gKu6GOhCxy4/WUxO3e9K1rmUDl2MYv/p5N+r5JR6FaR/laiGdLefJ3rg
HD2tL97DMq9W6e4tqZ5tJd8T3P0BM/sFHZMN+8ZLu5k9Rvjl5G4yrOIpIr1P3Sr6IXdf7O6zCJmP
75Sokh60AsVlivPSmc/OpD8kMmcy+0I3BplVfXCame1PGPy0poExdPF/MQaY3y9RdFZnA896yLHu
bqlLvbtPcPfN3f0Id//ZGgTGEGYf6Ipq95cfmbpf7f+1apiQul/VJZV7SV+8h/XUYNVTCb/erEht
zxH6Kp9MyDC/amZ3mtknMowpEZFeouC4H/PgbMKiFUn79kV7ZHVx4OLv6LgYwQLCsr0HEJYtHkuY
oqkQOFJi0YounncCYdq/tKPNbLD/X1fM8q+BgRi0DJiBeLUovnd/n7BAzVeBf7L6r1EQPoNnEPqh
32VmE3utkSJSlrpVDAwXEWYpyJtkZo3uvjKxLZ0p6urP9GNS99UvLpuT6Zi1uxr4TIaZC7IOFlpN
YuW39GpzEFbz+yalf3EYLNLZ6a3cvZrdDKr9v1YN6ceczsIOBDX3HhangDsPOM/MRgI7E+Zy3pvQ
Nz75Gfx+4GYz27krU0OKSPUN9gzTQFFq1Hn6J8N0v8xNu3iOzTs5npR2UOL2EuBzGaf06s7UcGek
zvsAHWc9+baZvb8bxx/o0n041ypZaw3F6d6SP/lvUq5uGV3938wivcz1tB44R0+r6fcwd1/u7ne4
+7nuPoOwBPY3CYNU87YDjuuL9olIkYLjgaFUv7h0f7x5dJz/ducuniM9dVvW+WezqtWfeZMf4P9w
93cz7rdGU+WZ2U7ADxObFhFmxziG4nNcB1wVu14MRuk5jUtNxdZdyQGxm8VBtFntVO3GsPpjHohf
jtLvOV39uyX/p9oJC8f0W+7+lrt/j9WnNPxIX7RHRIoUHA8MW6TuL08vgBF/hkt+uGxqZumpkUoy
s3pCgFU4HF2fRqkz6Z8Js05x1t8lf8rNNIAodos4qqsniislXk3HPrXHufuL7n4LYa7hvMmEqaMG
ozvo+GXs8B44xz8Tt3PAx7PsFPuDH9ZpxS5y9zcJX5Dzdjaz7gwQTUv+//bU/+6/6dgv92Pl5nVP
M7Pt6DjP8zx3X1bNxvWga+j4/E7to3aISKTguBeY2bpmtm43DpH+mW12mXpXpe6nl4Uu51Q6Ljt7
k7u/nXHfrNIjyau94lxfSfaTTP+sW86nybjoR8qvCQN88i5y9z8l7n+Djl9qPmJmA2Ep8KqK/TyT
z8tOZlbtgPTK1P2vZAzkjqN0X/FquCR1//wqzoCQ/P/tkf/d+KtLcuXI8ZSe072UdB/731WlUb0g
TruY/MUpS7csEelBCo57xzTCEtA/NLN1Oq2dYGYfB05KbU7PXpH3f3T8EPuomZ1cpm7++DsRZlZI
urArbczoOTpmhfbugXP0hccSt6eb2V6VKpvZzoQBll1iZp+nYwb0YeDLyTrxQ/aTdHwNnGdmyQUr
Bovv0LE70mWd/W3SzGyimR1YqszdHwfuSmzaHDi/k+NtRRic1VN+A7yeuL8vcEHWALmTL/DJOYR3
ioPLekL6vee78T2qLDM7CTg4seldwnPRJ8zspLhiYdb6B9Bx+sGsCxWJSA9RcNx7hhOm9HnZzP5o
Zh+v9AZqZtPM7BLgWjqu2DWH1TPEAMSfEc9Mbb7IzH5kZh1GcptZvZkdS1hOOflBd238ib6qYreP
ZFZzhpldamb7mNlmqeWVB1JWOb008Q1m9tF0JTNrNLMzgNsJo/DfynoCM9sG+Eli03LgiFIj2uMc
x59LbBpCWHa8p4KZfsndHyEMdsobCdxuZheaWdkBdGY21swON7NrCFPyHVPhNKcByVX+TjGzK9Ov
XzPLxcz1bMJA2h6Zg9jdVxDam/xS8AXC496t1D5mNtTMPmxmN1B5Rcy7E7dHAjea2cfi+1R6afTu
PIa7gSsSm0YAfzezz8buX8m2jzaz84CfpQ7z5TWcT7tavgq8GF8Lh5Rbxjq+Bx9DWP49acBkvUVq
laZy630NhNXvDgEws2eAFwnBUjvhw3MrYIMS+74MHFZpAQx3v8zM9gQ+EzflgC8Bp5nZP4FXCdM8
7cTqo/jns3qWupououPSvp+Nl7S7CHN/DgSXEWaP2CzenwD82cxeIHyRWUX4GXoXwhckCKPTTyLM
bVqRmQ0n/FLQmNh8oruXXT3M3a83s4uBE+OmzYCLgaMzPqaa4O4/iMHa5+OmOkJAe5qZPU9YgnwR
4X9yLOF5mtqF4z9mZl+lY8b4KOAIM7sfeIkQSE4nzEwA4deTM+ih/uDufquZfQn4X4rzM+8N3Gdm
rwJzCSsWNhL6pW9HcY7uUrPi5F0KnAUMi/f3jJdSutuV41TCQhn51UHHxPP/j5k9QPhysR6wW6I9
eVe7+y+7ef5qGEZ4LRwFuJn9B3ie4vRyE4H3svr0c39y9+6u6Cgi3aTguHe8Qwh+S00ptSnZpiy6
DTg+4+pnx8ZzfpHiB9VQKgec/wAO7smMi7tfY2a7EIKDmuDuTTFTfAfFAAhgw3hJW04YkPVkxlNc
RPiylHe5u6f7u5ZyBuGLSH5Q1qfM7HZ3H1SD9Nz9BDObSxismPyCsRHZFmKpOFeuu18Qv8B8l+L/
Wh0dvwTmtRK+DN5doqxqYpsWEgLKZNZyIh1fo1055gIzm0kI6hs7qd4t7r40doH5Ax27X00gLKxT
zs8pvXpoXzPCoOr0wOq0aygmNUSkD6lbRS9w97mETMcHCFmmB4G2DLuuInxAfNjd98u6LHBcnelM
wtRGt1J6Zaa8xwk/xe7ZGz9FxnbtQvgg+zchizWgB6C4+5PADoSfQ8s918uB3wLbufvNWY5rZkfS
cTDmk4TMZ5Y2rSIsHJNcvvYiM1uTgYADmrv/nBAI/xhYmGGX/xB+qt/d3Tv9JSVOx7UnYb7pUtoJ
/4d7uPtvMzW6m9z9WsLgzR/TsR9yKa8TBvNVDMzc/RrC+IlzCV1EXqXjHL1V4+6LgX0Imde5Faq2
Eboq7eHup3ZjWflqOpjwHN1Px243pbQT2n+Qu39Si3+I9A/mXqvTz/ZvMdu0ebysQzHDs5SQ9X0c
mB8HWXX3XGMIH96TCAM/lhM+EP+VNeCWbOLcwnsSssaNhOd5IXBP7BMqfSx+QXgP4ZecsYRptBYD
zxL+5zoLJisdezPCl9KJhC+3C4EH3P2l7ra7G20ywuPdGlib0NVjeWzb48AT3s8/CMxsCuF5XZfw
XvkO8Arh/6rPV8Irx8yGAdsQfh1cj/DctxAGzT4DzOnj/tEiUoKCYxERERGRSN0qREREREQiBcci
IiIiIpGCYxERERGRSMGxiIiIiEik4FhEREREJFJwLCIiIiISKTgWEREREYkUHIuIiIiIRAqORURE
REQiBcciIiIiIpGCYxERERGRSMGxiIiIiEik4FhEREREJFJwLCIiIiISKTgWEREREYkUHIuIiIiI
RAqORUREREQiBcciIiIiIpGCYxERERGRSMGxiIiIiEik4FhEREREJFJwLCIiIiISKTgWEREREYkG
VXBsZh4vU/vg3DPiuRf09rlFREREJJtBFRyLiIiIiFRS39cN6GVPxeuWPm2FiIiIiPRLgyo4dvct
+7oNIiIiItJ/qVuFiIiIiEg0IINjM1vLzE42sz+b2ZNmtszM3jWz+WZ2vpmtX2a/kgPyzOycuH2W
meXM7FQze8DMFsft28d6s+L9c8xsmJmdG8+/0szeMLPfm9nma/B4RpnZTDO71szmxfOuNLNnzOwS
M9uswr6Fx2RmU8zs12b2spk1mdnzZvZjMxvdyfm3MbPLYv1V8fz3mtmJZtbQ1ccjIiIiMlAN1G4V
XwPOirdbgaXAGGBavBxtZvu6+9wuHteAPwAHA23AsjL1hgJ3ArsCzcAqYG3gk8BHzewAd7+7C+f9
DHBRvN0GLCF8cdkkXo4ys0Pc/bYKx3gPcBkwPrY7B0wlPE97mdnu7r5aX2szOxX4KcUvSsuBkcDu
8XKEmR3k7iu68HhEREREBqQBmTkGXgS+DmwHNLr7BELAuiNwCyFQvcrMrIvHPRTYHzgZGO3u44B1
gedS9U6K5z4GGOnuY4D3AnOA4cC1ZjauC+d9C/gesDMwPD6eYYRA/0pgRHw8IyocYxbwCLCtu48m
BLifBZoIz8vx6R3M7BBCUP4u8BVgbXcfFR/D/sDTwAzggi48FhEREZEBy9y9r9tQVWY2lBCkbgXM
cPe7EmX5B7uRuy9IbD8HODvePcHdLylz7FmELC/A0e5+Zap8LeBJYALwLXf/70TZDEK2+QV3n9qF
x2PArcC+wEx3/79Uef4xPQ5Md/emVPlFwKnAne7+gcT2OuBZYENgf3e/pcS5NwHmAkOAKe7+atZ2
i4iIiAxEAzVzXFYMDv8e7+7Rxd3fJnRN6MwLwFUlzv0W8Kt49xNdPHdJHr693BjvVno856cD4+hP
8Xqb1PYZhMB4XqnAOJ77WeB+QvebGRmbLCIiIjJgDdQ+x5jZloSM6J6EvrUjCX2Gk0oOzKvgQXdv
zVDvLi+fcr+L0OVjGzMb4u7NWU5sZpOB0wgZ4k2AUaz+5aXS4/l3me0L43W6m8fu8XozM3utwnHH
xOsNKtQRERERqQkDMjg2s08CvwXyMym0Ewax5TOnIwn9dCv10S3lzYz1FmYoqyMEpK93djAz2wv4
K6HdeUsIA/0AGoHRVH485QYP5o+R/ltPjNdDCf2qOzM8Qx0RERGRAW3Adasws7WBXxMC42sIg82G
ufs4d1/P3dejOICsqwPy2qrX0mziVGm/IwTGtxEy4Y3uPjbxeM7MV6/iqfN/+z+7u2W4nFPFc4uI
iIj0SwMxc3wAIZCcDxzl7u0l6mTJhHZHpe4N+bI2YFGGY+0GTAbeAQ4uM2VaTzyefEZ7Sg8cW0RE
RGRAGnCZY0IgCTC3VGAcZ3f4QHp7le2VoWxexv7G+cfznwpzCe+buWXZ/TNeb2dmk3rg+CIiIiID
zkAMjpfE623KzGN8PGFAW0+aamZHpjea2Xjg8/HudRmPlX88m5nZsBLH/CCw9xq1srLbgZcIfaN/
VKliF+dsFhERERmwBmJwfBvghKnJLjSzsQBmNtrMvgz8nDAlW09aAvzazD5lZvXx/NtRXIDkDeAX
GY91L7CCMDfyb81sYjxeo5kdB9xADzyeuFreqYTn8kgz+1N+mex4/gYz29HMzgOer/b5RURERPqj
ARccu/tTwE/i3VOBRWa2iNC/9zxCRvTiHm7GL4F5hIF0y81sCfAoYXDgCuAwd8/S3xh3Xwz8V7x7
GPCKmS0mLIn9G+AZ4NzqNr9w7v9HWEWvmbBk9sNmtsLM3gZWEqaH+zLF6dxEREREatqAC44B3P1M
QveFhwnTt9XF218EDgKyzFXcHU2ERTG+Q1gQZAhhGrirgR3c/e6uHMzdLyQsXZ3PItcTVto7mzAf
cblp2rrN3S8HtiB84XicMJBwNCFbPTu2YYueOr+IiIhIf1Jzy0f3pMTy0edqajMRERGR2jMgM8ci
IiIiIj1BwbGIiIiISKTgWEREREQkUnAsIiIiIhJpQJ6IiIiISKTMsYiIiIhIpOBYRERERCRScCwi
IiIiEik4FhERERGJ6vu6ASIitcjMnicsxb6gj5siIjJQTQWWuvtGvXnSmg2OX3t7lQP87k/3FLb9
4c/3A7D4leUANLQVH/6qtnDdPrQOgCEj6wpla601DICJ64wBYPJ64wtlG09ZB4ANNgjbJk0slq29
Vqg/bsxwABqHFI9ZvFVKbEyHxL6Fq0qTi1jFg1ay5nuKSDmjGxsbx0+bNm1851VFRCTtiSeeYOXK
lb1+3poNjh+a+zQAV1w3u7DtjVeWApBrbQWgPlcMUc3D7VxTOwArm1oKZS+/3QjAi48vBODe1uIf
akh9iCsbGkMAPHzMqELZOmuNAGDDKWuF6w3XKZRtOCV8Xq6//oTCtrXXGQfA+AnhGGOHDyuUDYtt
zRXC2ESU3B7a3O6rx7irT9VXrGPxZi6n3jVSZGazgb3cS7ygqnueqcDzwP+5+8yePFcfWTBt2rTx
Dz30UF+3Q0RkQJo+fTpz5sxZ0NvnVVQkIiIiIhLVbOZYRNbYMcDwvm5ELZi3cAlTv3ZjXzdDRKRP
LPjhQX3dhDVSs8HxXrtvCcDvLzqtsG3eUwsAePixZwCYH7tJALz4QuhysXhx6O/b3l7sjjDEVgHQ
UB+21eeKT5vlwraWptBV481XFhXK3n7lbQCemvt8rNxWKKsbHpL2jSOKXSfGxi4Z66wbumGsP6nY
DWPjqROSQckBAAAgAElEQVTD9ZTQDWPSeqMLZevHvtDjRoXuH43DGhFZU+7+Yl+3QUREpK+oW4XI
IGBmM83sBjN7zsxWmtlSM7vXzI4uUXe2mXlq2wwzczM7x8x2NrMbzeyduG1qrLMgXsaY2c/MbKGZ
rTKz+WZ2upll6sNsZpub2Q/N7EEze9PMmszsBTO7xMwml6ifbNv2sW2LzWyFmd1lZruXOU+9mZ1s
ZvfH52OFmT1sZqeamd4bRUQGqZrNHI8c2gDAVputW9i21WbrAXD4h3cFYFXTqkLZwjfeBOCpF5sA
+P0NjxTK/nX3vwFoaw1lXlf8jG9ubQ7bPJTVJz5S6+Lna0wuU183tFCWaw0D7JreKg7uW/BSyDQ/
88hz4Xy5hkLZ0JgVbqgLGephQ4rnGT82ZJzXWytkladutHahbOttw+wnm2w6JdSJg/4A1o77jRsz
Aql5vwQeB+4GXgUmAAcCV5jZFu7+rYzH2Q34L+AfwGXAWkBzonwIcBswFrg63v848FNgC+CUDOc4
FDgRuBO4Lx5/a+BzwEfMbEd3X1hivx2BrwD/BC4FpsRz325m27v7U/mKZtYA/AX4EPAUcBWwCtgb
uAjYBfh0hraKiEiNqdngWEQ62Mbdn01uMLMhwE3A18zs4jIBZ9oHgRPd/VdlyicCz8XzNcXznA38
GzjZzK5x97s7OccVwAX5/RPt/WBs7zeBk0rsdxBwrLvPSuxzAnAx8AXg5ETdbxAC458BX3T3tli/
DrgEOM7Mrnf3P3fSVsys3HQUW3a2r4iI9D81Hxwn+w4Xpz8LfX+HDS1mgDfZIPxa++qbIWv7+sJi
HNHWHDLM9XEetZaW4jRv7S0haVbfEJ7KurriU5pPIuczyG1xCjmA9rZwjJamZYVtLS1x/uX60A+5
LpGFbl8Z9m2O064tX1RM1r3+ajjGvNYQ26y6ZXGhbFhjyFCPHRemjhszpjh13CYbhr7Kf7jqv5Ha
lg6M47ZmM/s58AFgH+C3GQ71SIXAOO+/koGtu79jZt8FLgeOJWSvK7W1ZJDu7rea2eOEoLaUe5OB
cXQZIQDeOb8hdpk4DXgNOCMfGMdztJnZWbGdnwI6DY5FRKS21HxwLCJgZlOArxKC4ClAetTmpIyH
eqCT8lZCV4i02fH6vZ2dIPZN/hQwE3gPMI6O6+Y0l9gN4MH0BndvMbPX4zHyNgfGA08D3yzTFXol
MK2ztsZzTC+1PWaUd8hyDBER6T8UHIvUODPbmBDUjgPuAW4FlhB+QpkKfAYYWm7/lNc6KX8rmYkt
sd+YDOc4H/gioW/0LcBCQrAKIWDesMx+i8tsb6VjcJ3/+WQz4OwK7RiZoa0iIlJjBmVwnB+I39Ja
zBjddGsYgHfeT28A4JU3lhTKRgwLA+PaWkLXhrbEqnPDh4YuEBZH4rW0FbtctLWFlevyXS2cYsxg
sYtHXUPxM7u+LdxubQuJsdbm4rHq6sMxxowNsUUd7YWyljgosDVOOVeXK8Y59RYShM3LwrHfWPlu
oexTR+6DDApnEgLCY9PdDszsSEJwnFWlBcwB1jKzuhIB8nrxekl6h1R71gFOB+YBu7v7slT5kV1o
azn5NvzR3Q+twvFERKSGDMrgWGSQ2TRe31CibK8qn6se2J2QoU6aEa8f7mT/jQnd9W8tERhPjuXd
9SQhy7yrmTW4e0tnO6ypbSaN4aEBOgm+iMhgVfPBsSeyvHVxhNu7q8L1VdffVSi79LK/AbB0UUh4
jasvdslsbg0D5Vqawxgj88RIubaQffZcWzxHMRtdXx8yzq1NIbO7fHnxs948ZH7b2otTubW2hcxv
e/6YyfO0h2MtfvstABrqi9O85QfuNcfMdjJzPGxIqFdXH8pmHrtvoeyUzx6ADAoL4vUMwvRlAJjZ
hwjTo1XbD8xsn8RsFeMJM0xAGJRXyYJ4/b5kBtrMRgK/pgrvWe7eamYXAd8CLjSzM919ZbKOmU0E
xrn7/O6eT0REBpaaD45FhF8QZl+4zsyuB14BtgH2B64FjqjiuV4l9F+eZ2b/D2gAPkGY4u0XnU3j
5u6vmdnVwCeBR8zsVkI/5f0I8xA/AmxfhXZ+lzDY70TC3Ml3EPo2r0Poi7wHYbo3BcciIoOMVoES
qXHuPpewuMV9hLmATwJGExbbuLjKp2sG9iUM+vskcAKhj+8XgFMzHuOzwPcJM2qcQpi67a+E7hoV
+yxnFbtSHAIcQ1gE5MPAWYQvDDlCVvnKapxLREQGFkt2O6gxDtDmxbmF31kcfjm99PI7ALjy6tmF
sqbmMFCtMU7r1LJ0eaFs0bLQlaGNUDZh3Q0KZbm64WH/1nDsnBXPN6QhdGlY+e4KAJYtXb1bhZPs
7tgejxG7TCRWsPX4OJqaQjuHNgwvlNXVheXyGoaG61wuueJd6Ary8Y+HVQHP/fZnCyUjG2P3i7qG
TMv6ilRiZgsA3H1q37akfzCzh3bYYYcdHnqo3BohIiJSyfTp05kzZ86cclNm9hRljkVEREREoprv
c2yJxPjimLltaQnZ1PGjioPaFr68NFwvWgTAsKGJQW0jQpZ2WGPIyOanVQNYvCwec1XI6NZbMRP8
bsw0t7eHwXr1iSXvzPMr6g0rbouNza9JkJwyrr2QaY5taii2PefDY7vCsVYlVvD70H7hy9aXzjga
gJEjixnn9jgbnL4hiYiIiASKi0REREREoprPHCdnMN10g/EAfP2rnwBg1103L5T94AezAFgVp0wb
O37dQll7XLxj5fLQD3nV4qXF47eGslzsL+xe7L6bX5a2oSFkoevrhxTKWprzC5E0FY8V+wdbXTim
5YrZYYsLiQzNjQagrq6Y2W6wkNF+d0Xol7zHnpsUyr7+9bBmwsSJYfXc1pbi2gzJDLhId6mvsYiI
1AJljkVEREREIgXHIiIiIiJRzf+unkusWGe50K3hhYVh0N3t/3i0ULZ8VSibsM6GALy7ojiV24p3
FwPgbaGPRh3FgXKWC7dz8am0xPRr+UF0+a4MFrtehB3ilHHtxanfcnXxRjx8h/rt4bh1cZq3eopd
Lla0hLZu/Z7Q9m99szhd26YbTQq7t8a2qyuFiIiISFnKHIuIiIiIRDWfRmzJFbOv/5rzIgAXXxoW
AXl07kuFsqZ38wt2vANAe+ui4kFawzRtrU1hwJzXFbO2wxpHxVsh7dueSPa6x2xvfbj2XDGL3TAk
bLP6YYn68Uj18ViJBUXa2uI0b+3hT9bcUiybPGkMAGefewwA2249pVDW3hIaVBjcl1zzxWp2ARgR
ERGRNaLMsYiIiIhIVPOZ47eXrCrc/vttDwDw4rMvANCy6J1C2fLFsV+xh2Wg29pWFMpy7aG/blNc
6KNheHF55iF1IWtrFvos1ycWYvZ8mtZT94H8jG+WyEJ7TDu3xeyz5YrfXfJ9hZubQv/lSeuOLJT9
z3dPAmCPnbaObS9O15bLLzyiLLGIiIhIp5Q5FhERERGJFByLiIiIiEQ1361i/IjiqnRfPulQAI46
ZE8A5s1/plB289/uA+AP198aNlhdoWz4qLCy3vDR6wAdB+S1epzCrT3fdyKxAl2u43ePZLeK1kIX
imL9/Ip6ubhfe3txsF5bXIlv4trDAfjG1z5dKNt73/fG+vnBd/rOIyIiIrImFEWJSL9hZlPNzM1s
Vsb6M2P9mVVsw4x4zHOqdUwRERk4aj5zPCQxQm5ovL3l5usDMHHShELZvHlhWrfhY0J2eFjj8OJ+
QxsBaI2zp7W0Fudry8XMb85jYTERTGvM9saEcIfMcX5Wt1zi+4nH7HN+3ZJViYF1o0aFTPbpp3wc
gEMOfn+hrL29OdywmMVGRERERNZEzQfHIlLT/gjcD7za1w0REZHaoOBYRAYsd18CLOnrdoiISO2o
+eC4PdmtOhe6Kbzy2lsAXHzJzYWi6667H4CG4ZPDfg0thbJWa4vHioepKw7WaxwSB9bFXhWtuWJZ
ft7ifPcK92J3jPq4HF6HLhCx/0W+/qgxxYF/p5/+CQCOOmK/0AYrHsvzgwLVoUJqiJltCfwQ2BMY
CjwMfMfdb03UmQlcDhzr7rMS2xfEm9sB5wCHApOA77n7ObHOusD3gQ8Do4GngAuAF3rsQYmISL9X
88GxiAxIGwH/BB4DfgVMBI4AbjKzo9z9mgzHGALcAYwHbgWWAs8DmNlawH3AxsA/4mUicHGsm5mZ
PVSmaMuuHEdERPqHmg+O3YvZ1PaWkK29/Y45ANx59/xCWX7oW0tLWAUv117cz2NG12ImOFdXzNqS
n4otDqZLDrCrqwtPb33MNLcnBth5a37lvuJ52mJmubExTD93+smHFMqOPSpkjIc0FEb3FeSngBOp
IXsCP3b3L+c3mNnPCAHzxWZ2k7sv7eQYE4H5wF7u/m6q7PuEwPgn7n5GiXOIiMggpancRKQ/WgJ8
J7nB3R8ErgTGAh/LeJyz0oGxmTUAnwKWEbpclDpHZu4+vdQFeLIrxxERkf6h5jPHyZxqjpDBPXC/
nQGYtuXGhbK5jz0PwGOPvwzA00+/Xih78cU3AFi+fAUALcXuyIX+vvVx4Y06SyzqkT+vhTJPzPNm
udCfuL2t2MJRI0O9E07+CACfPfbAQtmQOPeb5/sqa6EPqW1z3H1Zie2zgc8A7wX+r5NjrALmlti+
JTAcuCcO6Ct3DhERGYQUYYlIf/R6me2vxesxGY7xhue/TXaU37ezc4iIyCCk4FhE+qN1y2xfL15n
mb6tVGCc3Lezc4iIyCBU+90qEoPVcvXh4a6z9th4Pa5QtssOmwGwMi6Dt/C1RYWyx58Iq+c9+ugz
ADzy6IJi2fxQRmsckJdfKQ9oiwPwmpqaYluK7Yrj9xg+vDj12/HHh+4UJ54QrhsSXTTw0A1DQ+9k
kNjBzEaV6FoxI14/3I1jPwmsALY3szElulbMWH0XEREZLJQ5FpH+aAzw7eQGM9uRMJBuCWFlvDXi
7i2EQXejSA3IS5xDREQGqZrPHJeSX4sjuShH/hfYoTGRu+nkYlZ508lrA3DQfjsAcPlvby+ULXgu
rFrb0hT2b17VXChbtSpM15bPXre1FX/lHTI0fC/53IkHFLaddFLMGHsos8Q0dJZTzlgGlbuBz5nZ
LsC9FOc5zgEnZJjGrTNfB/YBvhgD4vw8x0cAfwM+2s3ji4jIAKXMsYj0R88DuwOLgBOBw4E5wIEZ
FwCpyN3fAvYgrK63JfBFYHvgJMIqeSIiMkgNyswxsS9vh7Uz4pRs7XHp5va6Yt/hVTHBfNW1swH4
1W9uLJatCNlgbw5Z4pWrVhTKmuN3DyP0F27IFY956kkfBuCkEw8tbBtSH0/UFvez5HeXcmOLRGqH
uy+gY9f6gzupPwuYVWL71Azneg04rkyxfqoRERmklDkWEREREYkUHIuIiIiIRIOzW0W+u0NifYB2
wrJ3dQ2hC8SqlmLZZb+7BYBLL78ZgKXLir+41sVBdi0toVtFmw0plJmFp3dIXZjK7ZTPf6RQdtLn
w3ifYQ3F7yft7bFdhU3qSiEiIiLSm5Q5FhERERGJBmfmOE6V1k5ikY04VdrzC98E4Jpr7ykUXfeH
ewFYuTzsl0tMybaqaSUArXH8jicG0Y2MA+xOOG5/AE5JTNs2dGgcANhePJaZxgCJiIiI9CVljkVE
REREIgXHIiIiIiLRoOxW4R7mG87V1RW2PfTIAgC+d97vAJj3xOvFHSwM0qM1dJNoa24qFLXHVfY8
zmU8YmhxLuPjj5kBwKknfwyAIUOLT7fHwYAd5zIWERERkb6kyExEREREJKr5zHFitjacmNWNCeO7
73+8UPajH10PwLz5bwDQMHxYoaw5TtPWHjPGlhiQZ7nwFI4cErYdP3O/QtkpJ4ap24YNDwPt2tqL
bVHGWERERKT/UYQmIiIiIhLVfOa43YvTtVkufBe4bfbDAPzoghsKZc89uwiA4SNGAdDUsqxQ1trU
HPb32PfYipnjhlxYPORzMWN8ygkHF8pGjGgEihnrurpE6tjz30s0fZuIiIhIf6HMsYiIiIhIpOBY
RPoVM1tgZgv6uh0iIjI41XC3ijB4rr04Wxs33/wIAOdf8AcAXnx5SaGscdhYAFpbQzeJlpbilGxG
6A5RF0fy1eeaC2Uzj90bgJNP+igAI0Y0FMra20KXjlwubkv0qkh2zRARERGR/kGZYxERERGRqIYz
x0MBuOe+uYUt3/ufqwF4/bWQHR4yZHihbFVTyDR7HMDXUNdYKGsjTOVWz7sAzDz6g4WyM08/DIBh
jR73L2aEc7mYtlaSWERERGRAUOZYRHqdBaea2eNmtsrMFprZz8xsTIV9jjSzO81scdznCTP7ppkN
LVN/SzObZWYvmVmzmb1uZleZ2RYl6s4yMzezjc3sNDOba2YrzWx2FR+2iIgMADWbOX7osZcAOP/8
Gwvb3nwn9gGuD9OntTQtLZQ5cco3GwJAW9uQQllDXaj/6WP2AeDMMw4vlA2rC98v4orUWF1yarZ4
W/2LRdJ+ApwOvApcArQABwO7AEOA5mRlM7sMOBZ4GbgBWAzsCnwX2MfM9vP8uvCh/v7AH4AG4C/A
M8Bk4FDgIDPb293nlGjXT4H3AzcCfwPaStQREZEaVrPBsYj0T2a2OyEwfhbY2d3fidu/AdwJTARe
SNSfSQiM/wh8yt1XJsrOAc4GTiEEtpjZOOD3wApgT3efn6i/DXA/cCmwQ4nm7QC8192f78LjeahM
0ZZZjyEiIv2HulWISG87Nl5/Lx8YA7j7KuC/StT/AtAKHJcMjKPvAm8Dn0psOwYYC5ydDIzjOeYB
vwbea2ZblTjXeV0JjEVEpPbUbOb4+j/NBuDRJ18pbKurC1Oq1XsYfNeQK343qKsPt5vbQxeIlvZV
hbJjZ+4LwOmnHgLAsCGJrhPxh9z84DvX6DuRzuQztneVKPsHia4MZjYceA/wFvBFs5IrSjYB0xL3
d4vX74mZ5bTN4/U0YH6q7IFKDS/F3aeX2h4zyqWy0yIi0o/VbHAsIv1WftDd6+kCd281s7cSm8YR
Ou+vTeg+kcWEeH18J/VGltj2WsZziIhIjarZ4Pikz34YgA02nFTY9qe//huAp54M3RnbKA66q/M4
4D3+ynvCcfsUyk4+MSzwMbwxDr7z4hidXK54DBHJJL/6zrrAc8kCM6sH1iIMvEvWfdjds2Zh8/u8
x93nVqy5Ov30IyIyyKnPsYj0tvwsEXuVKHsfUFjX0t2XA48DW5vZ+IzHvz9ev3+NWygiIoOWgmMR
6W2z4vU3kgGvmQ0DflCi/vmE6d0uM7Ox6UIzG2dmyazy5YSp3s42s51L1M+Z2Yw1b76IiNSymu1W
MWX90QB8/pg9C9s+MGMbAG657cFwfUtxBqaXXlwEwOGHfAiA0z5/YKFs9KjwNLXF1e/MCoktvDA+
SL/GimTh7vea2UXAacA8M7ue4jzHiwhzHyfrX2Zm04GTgWfN7BbgRWA8sBGwJyEgPjHWf9vMPkGY
+u1+M7udkH12YAPCgL0JwLCefqwiIjLw1GxwLCL92heA/xDmJz6BMB3bH4GvA4+mK7v7KWZ2EyEA
3pcwVds7hCD5R8DvUvVvN7PtgC8BHyJ0sWgGXgHuICwk0tOmPvHEE0yfXnIyCxER6cQTTzwBMLW3
z2vuyniKiFSbmTUR+k+vFuyL9JL8QjRP9mkrZLCqxutvKrDU3TfqfnOyU+ZYRKRnzIPy8yCL9LT8
6o16DUpfGMivPw3IExERERGJFByLiIiIiEQKjkVEREREIgXHIiIiIiKRgmMRERERkUhTuYmIiIiI
RMoci4iIiIhECo5FRERERCIFxyIiIiIikYJjEREREZFIwbGIiIiISKTgWEREREQkUnAsIiIiIhIp
OBYRERERiRQci4hkYGaTzewyM3vFzJrMbIGZ/cTMxnXxOOPjfgvicV6Jx53cU22X2lCN16CZzTYz
r3AZ1pOPQQYuM/uEmV1kZveY2dL4evndGh6rKu+nPaW+rxsgItLfmdkmwH3AOsCfgSeBnYEvAPub
2R7u/naG40yIx9kcuAO4GtgSOBY4yMx2c/fneuZRyEBWrddgwrlltrd2q6FSy74JvAdYDrxMeO/q
sh54LVedgmMRkc79gvBGfrq7X5TfaGbnA2cA3wNOzHCc7xMC4/Pd/azEcU4HfhrPs38V2y21o1qv
QQDc/ZxqN1Bq3hmEoPgZYC/gzjU8TlVfyz3B3L0vzy8i0q/FLMczwAJgE3dvT5SNAl4FDFjH3d+t
cJyRwBtAOzDR3ZclynLAc8CG8RzKHktBtV6Dsf5sYC93tx5rsNQ8M5tBCI6vdPeju7Bf1V7LPUl9
jkVEKts7Xt+afCMHiAHuvcBwYNdOjrMr0AjcmwyM43HagVtS5xPJq9ZrsMDMjjCzr5nZmWZ2gJkN
rV5zRcqq+mu5Jyg4FhGpbIt4/Z8y5U/H68176Tgy+PTEa+dq4AfA/wJ/A140s0+sWfNEMhsQ74MK
jkVEKhsTr5eUKc9vH9tLx5HBp5qvnT8DHwEmE37J2JIQJI8FrjEz9XmXnjQg3gc1IE9ERGSQcPcL
UpueAr5uZq8AFxEC5Zt7vWEi/YgyxyIileUzGWPKlOe3L+6l48jg0xuvnUsJ07htHwdGifSEAfE+
qOBYRKSyp+J1uT5wm8Xrcn3oqn0cGXx6/LXj7quA/EDREWt6HJFODIj3QQXHIiKV5efy/GCccq0g
Ztj2AFYA93dynPuBlcAe6cxcPO4HU+cTyavWa7AsM9sCGEcIkN9a0+OIdKLHX8vVoOBYRKQCd38W
uBWYCpySKj6XkGW7Ijknp5ltaWYdVo9y9+XAFbH+OanjnBqPf4vmOJa0ar0GzWwjMxufPr6ZrQ1c
Hu9e7e5aJU+6xcwa4mtwk+T2NXkt9wUtAiIi0okSy50+AexCmLPzP8DuyeVOzcwB0gstlFg++gFg
GnAwYYGQ3eOHh0gH1XgNmtlM4GLgH4RFZ94BpgAHEvp6Pgjs5+7q9y6rMbNDgEPi3fWADxFeR/fE
bW+5+5di3anA88AL7j41dZwuvZb7goJjEZEMzGwD4DuE5Z0nEFZy+iNwrrsvStUtGRzHsvHA2YQP
mYnA28BNwLfd/eWefAwysHX3NWhm2wJnAdOB9YHRhG4UjwPXAr9y9+aefyQyEJnZOYT3rnIKgXCl
4DiWZ34t9wUFxyIiIiIikfoci4iIiIhECo5FRERERCIFxyIiIiIikZaP7qfiqOKpwJ/c/ZG+bY2I
iIjI4KDguP+aCewFLAAUHIuIiIj0AnWrEBERERGJFByLiIiIiEQKjteAmU0zs4vN7D9mtsLMFpvZ
Y2Z2oZlNT9QbamaHmdlvzexRM3vLzFaZ2QtmdmWybmKfmXHy9r3ipsvNzBOXBb30MEVEREQGHS0C
0kVmdhpwAVAXN70LtABj4/273H1GrPth4C9xuwOLgUZgWNzWChzn7lckjn8E8FNgPNAALAVWJprw
krvvVN1HJSIiIiKgzHGXmNlhwIWEwPh6YCt3H+nu4wjLHx4NPJTYZXmsvycw0t3Hu3sjsCHwE8KA
yEvMbEp+B3e/xt3XI6w7DvAFd18vcVFgLCIiItJDlDnOyMwaCOuETwJ+7+5HVeGYvwGOA85x93NT
ZbMJXSuOdfdZ3T2XiIiIiHROmePs9iEExm3Al6t0zHyXiz2qdDwRERER6QbNc5zdrvH6UXdfmHUn
MxsPnAIcAGwBjKHYXzlv/aq0UERERES6RcFxduvG6xez7mBmWwF3JPYFWEYYYOfAEGAcMKJKbRQR
ERGRblC3ip51OSEwngPsD4xy99Huvm4cdHdYrGd91UARERERKVLmOLvX4/WGWSrHGSh2JvRR/miZ
rhjrltgmIiIiIn1EmePs7o/X25nZpAz1J8frNyv0Ud63wv7t8VpZZREREZFeouA4u9uBhYTBdD/K
UH9JvF7XzNZJF5rZtkCl6eCWxuuxFeqIiIiISBUpOM7I3VuAs+LdI83sWjPbMl9uZuPN7HgzuzBu
egJ4mZD5vcbMNo31GszsUODvhEVCynk8Xh9qZmOq+VhEREREpDQtAtJFZnYmIXOc/2KxnLAMdKnl
oz9GWEkvX3cZMJQwS8WLwDeAK4AX3H1q6jxbAo/Guq3AG4Rlql929/f1wEMTERERGfSUOe4idz8f
eC9hJooFQANhWra5wE+BMxJ1/wh8gJAlXhbrvgD8OB7j5QrneRLYD7iZ0EVjPcJgwMnl9hERERGR
7lHmWEREREQkUuZYRERERCRScCwiIiIiEik4FhERERGJFByLiIiIiEQKjkVEREREIgXHIiIiIiKR
gmMRERERkUjBsYiIiIhIpOBYRERERCSq7+sGiIjUIjN7HhhNWGZeRES6biqw1N036s2T1mxw/OSc
7ztAe3txeWwzi7fa44Zimbfnk+h1AORyRlcUj53clovX8azt7VkPFq5KF8br4rHc28u2IX/O/DLh
uVzix4JYf4vtv9q1BysiWYxubGwcP23atPF93RARkYHoiSeeYOXKlb1+3poNjksFioXA0tpinUSw
mmsI157frxhEWiKIhmKg2dn50ptKt6lEKwv1kvXT57QytzveX/2cifurPwwRqZ4F06ZNG//QQw/1
dTtERAak6dOnM2fOnAW9fV71ORYRERERiRQci8igZ2azLf0TkYiIDEo1360i+XlX7FBQF6+L3w1y
ubpYJ7da7fQxO9uWLst3w+h6t4oOWzscKynf9nxZsk6+33MppY4lItUzb+ESpn7txr5uhohktOCH
B/V1E6QfUOZYRERERCQaBJnjRBY23szRGMuSMzfkZ3VoixuSWdX8rBPlB93V14fsbXJ2jPzN4sQX
lTPH6UxzqRFzxTqrt6GSrIMIRfo7M9sZOAt4H7AW8A7wGHCpu18b68wEPgK8F5gItMQ6v3T33yWO
NRV4PnE/+Y9yl7vP6LlHIiIi/VHNBsciUnvM7Hjgl0Ab8P+Ap4F1gB2Bk4FrY9VfAo8DdwOvAhOA
A6x+9goAACAASURBVIErzGwLd/9WrLcYOBeYCWwYb+ctyNimctNRbJllfxER6V9qNjjOZ4WT0/rm
5/h95j+vA/Dqq0sLZdtuMxWA8ePDlG7ttCb267i/J3qjNLeERNM776wAYNTIhkLZsGH18VgVeq8k
MrqF7G5hnuMS++WrJ/tSWzrT3L7aDqW6FytzLAOJmW0F/AJYCrzf3R9PlU9O3N3G3Z9NlQ8BbgK+
ZmYXu/tCd18MnGNmM4AN3f2cnnwMIiLS/9VscCwiNeckwnvWd9OBMYC7v5y4/WyJ8mYz+znwAWAf
4LfVaJS7Ty+1PWaUd6jGOUREpPcoOBaRgWLXeH1TZxXNbArwVUIQPAXiQIOiSdVtmoiI1IqaDY6t
MPht9enann3+bQD++Jf5hbK9FjYB8IG9NgGgYcSwQllbWyhrbQ3dFeobxxTKHp23EIB/3TMXgAP2
mloo232PTQFotvA0uydWrit0fSgxUK4wADDXYWuH2p5cPrqtQ53kEtEez5OzuhKn01RuMqCMjdcL
K1Uys42BB4BxwD3ArcASQj/lqcBngKE91koRERnQajY4FpGaszheTwKerFDvTMIAvGPdfVaywMyO
JATHIiIiJdVscOyFzHFyEZCwbb3JGwIwbnIxk3vnv18A4LnX3wJg2Lj1C2XNLSEz2xCPlasrJp1e
XvgOAE1vh+zy4iVNiVbEAXztbR3OD1CXHwyXGBRXWCwkn1VOZofzj6NQJ/FYCwPyLHWdzELnM88d
9kRkALmfMCvFAVQOjjeN1zeUKNurzD5tAGZW58WfYrptm0ljeEiLCoiIDChaBEREBopfAq3At+LM
FR0kZqtYEK9npMo/BHyuzLHfjtdTut1KEREZ0Go2cywitcXd55vZycDFwMNm9mfCPMcTgJ0IU7zt
TZju7VjgOjO7HngF2AbYnzAP8hElDn87cBjwBzP7G7ASeMHdr+jZRyUiIv1NzQbHxV4Lq8/lO378
CACGDq0rbHtrUTMAry9aBsCo9dculA1pCPXb3w3JpeWLi+OBNt9s81B/3TC/cW7IWoWy1vbRANTl
WgDwRDeJplXhfO3txW0N9eEYlgvdHerrk4MJ43zFsctFe+JYlu8eYfnuGMU/q8fbFsuST0epuY9F
+jN3/7WZzQO+RMgMHwK8BcwFLo115prZ3sB/AwcR3uceBQ4l9FsuFRxfSlgE5JPAV+I+dwEKjkVE
BpmaDY5FpDa5+z+Bj3dS5z7CfMalrPaNOfYz/nq8iIjIIFazwXExY5xYgS7eHt0YMsYrFr1aKGta
tiTUidOgtbybWCFv6EoAFr/2Cv+fvTuPs6wq7/3/+dbQ80wD3dBCIzIpk2AQ0Us3ioDBKV69jj+D
3uRqlDhmwCEXSOIQkzgRjdEESYyKGq4xV/RKRAZFiQooAs3cDXTTDN3Q3fRYXVXP74+11jm7Tp+q
OtVd1dV16vt+vc5rV+2191prF4fqdZ561loAfdvrO+utfzQtnzpvvwUA3Hhrvc5tPSliPDsFntm0
8Yla2SNr03XVyPHMmbMA6OxMfZg7d3atbM7cVMn+B6R2Fi+uR6jnzZmRnrkjTQbsrywZV1vCrXaq
yY58ZmZmZgZ4Qp6ZmZmZWU3bRo6bL2uWvlZ3yu3trVzdszNFeadNT5Hg3h3bKoUpP1h9aYWn/t76
nY+tS0u/zVycloe7a/VTtbLf/OYXAHT0pOVZt2yuR457e1N71Q07agnB/enY1VXPiZ42I309Z26K
Eh9z5NNqZWeecSIAx52YznXUb6M/16Vmm400ycc2MzMzm8wcOTYzMzMzyzw4NjMzMzPL2jatoskG
dKgjfbP28c0AbNw+vV44Ky/d1pUmyPX21NMQ+jpTOkXnjLnp+756WW93mjQXnamunX3dtbJNW9Ix
tufd6frn1sqmTMtLv1WXVsuT83p7U/2VLtCzNaVybNyaJt099tjdtbJVq1YD8NKXngzAstOfXSub
MS3lWPSXz0EDMik8Ic/MzMysypFjMzMzM7OsbSPHHQPntgEgpUjp9m1pst2c2QfWyg45ZjEAUyMt
6bb+4S21sp6OFDmeNj1FfqfMmVWpNP8I+9LnjL4dW2tF0bcdgO7p0wDo7Jpav68/9aV354769bEz
V5k3/FA9stvfn2fZRWqnh/qsu3tXp3a+/Z0bAZg7vd7OstNPAGBn6eeAUDpmZmZmVuHIsZmZmZlZ
1raRY+XNLzoqSb1S+iyw8MApABxwUP3xp/WnnOMDFiwBYOeOFbWyp7amiO6JJ50EwJbN9ajyY+vS
ltIdeeOO/v6+ep3T07JrCxbMS/dt3V4r2741RZiDAUnR+VA2Bqlu2FGOOapcaadTKX/5kbWp/ut/
fEut7IS8vNvs+SlK3u80YzMzM7NBOXJsZmZmZpZ5cGxmZmZmlrV9WoWqaQuRvp4/P02QO3D/KbWi
x1emXfDu25R2s9up+oQ3daXPEGvWPA5AT94xD2Dq9Jnpi7zTXWWVN2bNmZcrSGkPPTvr6Rg7+/pL
R+vdizKLMFep+meXssNdPb2inlbR358n6fWm5eTuuffxWtmd964C4JTnLmKXDpqZmZnZAI4cm9k+
SVJIunYE1y/P91zUcP5aSf5UaGZmLWnbyHFHR978or9+rkRdZ09LG3ccdVi97OHH0/JuT/UuyNdW
Is4bU8R305a0eUhfbz1qO3t+ig5v3rIJgCnT6huLTM37gWzOE/h6eitLs+X6q+2UCYNlDmFEf6Ws
RLJrhfXnyuvVlTrXPdFbK/vFL1cBcPwJaYOQqVPr0fLwcKGt5AHgdRGxfLz7YmZmNlG17eDYzCad
nwPHAOvGuyPFbWs2svSCK8e7G/uUVR8/d7y7YGY2JA+OzawtRMRW4M7x7oeZmU1sbZxz3AF0IHXW
XuVcZ7/o7BcnPnNh7fW8Uw7geaccwEGLpnPQoulMn9lde81bMJd5C+ZyyKFLOOTQJex/4H6115Zt
m9mybTObt6bXgoX71V49O/vp2dnPtu072bZ9J31B7aXOTtTZSVf3lNqrs7ubzu5uOjo66ejoROqo
vVI6Rf2l6Ki90nrIQaiHUA89vV211+2/Wc/tv1nP6tVrWb16LZIqr4Eb5tnYknSepCsk3S9pm6RN
km6Q9KYm166StGqQei7KubXLK/WWJJlluSwGyb/9H5Kul7Qx9+E3kj4gaWpDM7U+SJol6VOSHsr3
/ErSK/M1XZI+JOkeSdsl3Sfp/EH63SHp7ZJ+IWmzpC356z+QNOjvIkkHSfqKpMdy+zdJekOT65rm
HA9F0tmSvidpnaQduf9/LWleq3WYmVl7ceTYbO/5e+B24HpgLbAf8NvAVyQdFRF/tpv1/gq4GLgQ
eAC4rFJ2bflC0keBD5DSDr4GbAZeAnwUOFvSWRHRw0DdwH8CC4DvAFOA1wNXSDoLeAfwXOD7wA7g
NcAlkh6PiG801PUV4A3AQ8A/kj7V/Q7weeAFwBubPNt84KfABuDLwDzgfwBflXRwRPz1sD+dQUi6
ELgIeAL4LvAYcDzwR8BvS3peRGza3frNzGxiatvB8Y7NjwD1SW4AXV1d+VyalDZ/aj1Y9ltHzwVg
dl5+LahPatvekybDzZwxB4CDnva0Wtldd98DQPeUvCPf9m21srWb09c9efk0VSbfdXeltru76/3r
6ck76OWmB0yYy5PzOvKSbqoE/ZVn8JWd9fr765PuHluXxjp337USgGcctqRW1qH65EHbK46NiPuq
J5TejN8HLpD0hYhYM9JKI+JXwK/yYG9VRFzUeI2k55EGxg8Bp0TEI/n8B4BvAy8lDQo/2nDrQcDN
wPKI2JHv+QppgP8t4L78XBty2SdJqQ0XALXBsaTXkwbGtwCnR8TmfP7DwHXAGyRdGRFfa2j/+NzO
6yLPUJX0ceAm4COSroiI+0f2EwNJZ5AGxj8Dfrv0P5edRxqIXwy8t4W6bhqk6OiR9svMzMZfG6dV
mO1bGgfG+VwP8DnSB9UXjWHzb83HvywD49x+L/B+0uravzfIve8pA+N8z4+BlaSo7p9WB5Z5oHoD
cKxUWSy83v4FZWCcr98C/Gn+tln7fbmN/so9K4HPkqLa/9+gTzy0d+Xj71f7n+u/jBSNbxbJNjOz
Nte2keMnHi3BpEq0dkqKqHZ1p6htZ2f93+4pnfsBsHTRcQBsPOLptbKbbklzfFY/+hgAU/NScAD9
eUOQRQcfBMCae+6plZV9Prq6UjudUf8sMnN6itru7Kv/FTuUvi4rxXU0WeYtjRUg+uvLydVWdytj
kUoe8ZbtKQy9dvX6Af0FmDrVkeO9SdIhpIHgi4BDgMb/AAePYfMn5eOPGgsi4m5Jq4HDJM2NiI2V
4g3NBvXAw8BhpAhuozWk3y2L8tel/X4qaR4V15He2M9uUvZgHgw3upaURtLsnlY8D9gJvEbSa5qU
TwH2l7RfRKwfqqKIOLnZ+RxRPqlZmZmZ7bvadnBsti+R9HTSUmPzgR8DVwEbSYPCpcDvArtMihtF
c/Nx7SDla0kD9nm5X8XG5pen5J+GgfSAMlJkt9r+E01ymomIXknrgAOa1PXoIO2X6PfcQcqHsx/p
99+Fw1w3CxhycGxmZu3Fg2OzveN9pAHZW/Kf7WtyPu7vNlzfT4peNrM7KymUQewiUp5wo8UN1422
jcACSd0RsbNaIKkLWAg0m/x24CD1LarUu7v96YiIBbt5v5mZtam2HRz39KU0hL7++qy2Hb3p3+QO
pfTJzo6ttbLtHU8BsGrTNAAeXDWzVrb2vgcBeOzRFMTa2VP/t3367DRJb+Gi/G94ZW20jsipD3ks
0NldDwyWpIjevsoWfjkFPHKfozIjryPnSpQz/f3V3fNSWUfOvCgT9NIN6esnH0vPunljPb2ye96A
MYqNrWfk4xVNypY1OfckcHyzwSTwnEHa6Ac6Bym7hfQn/uU0DI4lPQNYAqxszL8dRbeQ0klOB65u
KDud1O+bm9x3iKSlEbGq4fzySr2740bgXEnPiojbd7OOYR178Fxu8qYXZmYTiifkme0dq/JxefWk
pLNpPhHt56QPr29puP484PmDtLEeeNogZZfm44cl7V+prxP4G9Lvgn8arPOjoLT/MUkzKu3PAD6e
v23WfifwV9V1kCUdRppQ1wv8627251P5+CVJBzUWSpop6dTdrNvMzCawto0cb+9PjzZwObT0TUdf
niBXWeZta39KhXzy8RRBfmBl/S+8W3ek+6ZMnQXAzh314Nq2rWm5ts2b0l93t2+tTcSnZ3uJTKcU
zJ7+SlQ5z7qb2lWZFNiV/ore35GWdIu++qS7YNdocv2x0rn+HHHu6qw/V0dHSvtcsybtqHv/fXfX
yg5bOh9onuhpo+7zpIHutyT9G2lC27HAOcA3gdc2XH9Jvv7vJb2ItATbiaSJZN8lLb3W6GrgdZL+
LykKuxO4PiKuj4ifSvoE8CfAbbkPW0jrHB8L/ATY7TWDhxMRX5P0CtIaxbdL+nfSH0JeSZrY942I
+GqTW28lraN8k6SrqK9zPA/4k0EmC7bSn6slXQB8DLhH0vdIK3DMAg4lRfN/QvrvY2Zmk0jbDo7N
9iURcWteW/cvgXNJ/+/9GngVaYOL1zZcf4ekM0nrDr+M9Anrx6TB8atoPjh+N2nA+SLS5iIdpLV6
r891/qmkW4DzgTeTJszdB3wY+Ntmk+VG2etJK1O8FXhbPrcC+FvSBinNPEkawH+C9GFhDnAH8DdN
1kQekYj4K0k3kKLQLwBeQcpFXgN8kbRRipmZTTJtOzjuyZHjvr5dc3PpT5HVzphTK4u8ccaMrnTN
QYvq+cH9ShPiV69K0eGeHVtqZVM70mpcM7tT1PaxHfU85lq73SmPmSn1OsuyctO66/8JerelKHTZ
rKQv6huRRH6Ojhztjib7PtdOVVOO87FjSqqzp75cLdt31jcssbEXET8FXjhI8S7/QSPiJ6R83Ea3
kjawaLz+MdJGG0P14XLg8uH6mq9dOkTZ8iHKzgPOa3K+nxRB/3yL7Vd/Jrtssd3k+mtp/nNcPsQ9
PyFFiM3MzADnHJuZmZmZ1XhwbGZmZmaWtW1aRW+kR+ut7CRXljjrU0pR6OqvT4ZTb/p6xpQ0oe6Q
xfXNy7o6U3LCmjsfAiC21PcE6NuZlnxbcfONqb2eehrH9FlpJ72Z89Pue9NmV3bW25lW59q5pT6B
r09pIl5HXpOtj8rku7J7bv6jcWdn9XNNOinlCYdUi9J9cw5IKSTT5tSfa2f4s5GZmZlZlUdHZmZm
ZmZZ20aO+/NOvKF65LgsddafN+fY2d9RuT5/3ZUmwc3uqE+6O2xxWg7tqaMXAnDDI/UdeHt3pIjz
xkcfTrdPqS3hypSZaSJfZ54MN21GJWqbgsRsf6o+6a43b1LSlwv7e7fXypQj4J05Olzb8QPoV+pf
OdNR3Ygkb3gyc25qu3N6fbfd7apuQGJmZmZmjhybmZmZmWUeHJuZmZmZZW2bVtHRkXfIq4z/y05y
nf0pDaG/kn5Q5qZ19JVr6pPhpuZ5e0cddxgAT2yspzvcc+dj6b6eVFdvXz1Noq83fb1za15beE79
x93dlSbndXXV1xpWx878Rdqlr6OzPmGwI0/A66A/P1e97+UxoqyLHJVJgdPTfYsW5R2DO+upHX3s
xMzMzMzqHDk2MzMzM8vaNnLc1Z2irh39lehwjhxTm5hXv74jf07oKPPdKptz7cxz+uYuTHU+/4zj
amWHHvYEAGtXp93z1j9RjwRvyJPtenaksi1PzaqVzZqVllbrntJdO6ccHVbePa+rux7lJUek+3rT
Dr+iHh3uzJMIZ81I/dt/v/rOf8efcAQAhz9jcf4ZVCfhdWJmZmZmdY4cm5mZmZllbRs57s6R476+
XSPHquXt1kWOovblXN7uSlS1nOvvTzm6M2fUf2yLDlwKwM4TU50bN+6ola1bl5aDW//kVgC2Rz1K
3D0l1blj65Taua0HpmXWduxIy9D17eyplfVsS3VFjiDPnFm/78BF8wBYcnDabOSAhTNrZQsWpKXl
pk5Jfe9QPSe6U237n9/MzMxstzhybGZmZmaWeXBsZmZmZpa17d/VS1pFR2c9rYIyIa9MtlM9saLs
kNeZj/1R+dxQbitlfZWiPKtvxvRU58xZU2tlixdPS9f3p531dlRSPHr7yv31yXP9efJgX2/ngLoB
+nrS8nF5zh7TptX/002dma6f0p1TQjrqHSxpFF15R73Ojno6RmdH5WdjNkFIWgUQEUvHtydmZtaO
HDk2MzMzM8vaNnI8ZUqTCXn5qOjL39cjs6EcFc6fF6ISHS6rpilP0ouO6hJoKRLbl6OwU7vqS6X1
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
G2ki3WZJG4FfkyYHbgVeExGt5BsTERuAD+RvXwM8LGkDaUvsfwLuBS4e3e7X2v4P0i56PaQts2+R
tFXSemAbaXm4P6a+nJuZmZlZW5twg2OAiHgfKX3hFtLybZ356/cA5wKtrFW8J3aQNsX4c9KGIFNI
y8BdDpwUEdePpLKI+Cxp6+oSRe4i7bR3IWk94sGWadtjEfFl4CjSB47bSRMJ55Ci1dfmPhw1Vu2b
mZmZ7UvabvvosVTZPvpiL21mZmZm1n4mZOTYzMzMzGwseHBsZmZmZpZ5cGxmZmZmlnlwbGZmZmaW
eUKemZmZmVnmyLGZmZmZWebBsZmZmZlZ5sGxmZmZmVnmwbGZmZmZWdY13h0wM2tHklaStmJfNc5d
MTObqJYCmyLisL3ZaNsOjv/qr/4qACTVzvX39w84VssaV+1oVlbOVa+tXgfQ0VEPxvf19Q24vrQ7
2LnG+odaSaR6X+O5Zu3sv//+AJxzzjm7tPfMZz5z4EOY2WiYM3369AXHHHPMgvHuiJnZRLRixQq2
bdu219tt28Gxme0eSdcCyyJiTD80SVoKrAT+OSLOG8u2xsmqY445ZsFNN9003v0wM5uQTj75ZG6+
+eZVe7vdth0cN4u6NkZkW43MNl43VFlnZ+cu15UIcjk21jFcP6tfl2hvs/uHum/69OkATJs2rVY2
Hp/GzMzMzPZlbTs4NrPd9mZgxnh3oh3ctmYjSy+4cry7YWY2LlZ9/Nzx7sJu8eDYzAaIiAfHuw9m
ZmbjpW2Xcuvr66Ovr4/e3t7aq5yLCCKi9n311aysv79/2Fez9sqr2fWlneqrsa5m1zc+S7NXs/sW
LlzIwoUL2bRpU+21YcMGNmzYMN7/qWwvkHSepCsk3S9pm6RNkm6Q9KYm114rKRrOLZcUki6SdIqk
KyU9kc8tzdesyq+5kv5O0hpJ2yXdIeldapy9Onhfj5T0cUm/lPS4pB2SHpD0RUlLmlxf7duJuW8b
JG2VdJ2k0wZpp0vSOyTdmH8eWyXdIul8SW37u9HMzIbmfwDMJoe/Bw4Frgc+DVyev/+KpL8YQT3P
A34MTAMuBf4Z6KmUTwF+CJyd2/gSMA/4DPB3LbbxKuDtwEPA14FLgDuA3wN+IengQe57DvDT3Ld/
BL4LvAC4WtJR1Qsldefyz+X+fQ34Iul34iX5uczMbBJq27SK6uS3onHCWnVy2vHHHw9AV1f6kaxZ
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
ZmZtqm0HxyUy2yw6XMqqkeASkSrR25HmHFeXdxtMs75UI2GNW1g3e55f/vKXADz00EO1spe85CUA
PPvZzx5QT/V5mtV52mmnDdtnszGwMR8PBO6vFkjqAhaSJt5Vr70lIlqNwpZ7ToiIW4e8clfeU93M
bJJzzrGZ7W1llYhlTcpeANTyfSJiM3A78CxJC1qs/8Z8/G+73UMzM5u0PDg2s73tsnz8UHXAK2ka
8LEm13+StLzbpZLmNRZKmi+pGlX+MmmptwslndLk+g5Jy3e/+2Zm1s7aNq1ipBp3v6umJpSykqJQ
nUxX0hXKsdVJfs2uL20OldpRJtE9/vjjtXNlSbbVq9NfosuybwAHHHAAUJ+kV11CbsqUKYP2z2ys
RMQNki4B/hC4TdK/UV/n+EnS2sfV6y+VdDLwDuA+ST8AHgQWAIcBp5MGxG/P16+X9GrS0m83Srqa
FH0O4GmkCXv7AdPG+lnNzGzi8eDYzMbDu4G7SesTv420HNu3gQ8Cv268OCLeKen7pAHwmaSl2p4g
DZL/GvjXhuuvlnQ88EfA2aQUix7gYeBHpI1ExtrSFStWcPLJTRezMDOzYaxYsQJg6d5uV60sYWZm
ZiMjaQcpf3qXwb7ZXlI2orlzXHthk9mevgeXApsi4rDR6U5rHDk2Mxsbt8Hg6yCbjbWye6PfgzZe
Jup70BPyzMzMzMwyD47NzMzMzDIPjs3MzMzMMg+OzczMzMwyD47NzMzMzDIv5WZmZmZmljlybGZm
ZmaWeXBsZmZmZpZ5cGxmZmZmlnlwbGZmZmaWeXBsZmZmZpZ5cGxmZmZmlnlwbGZmZmaWeXBsZmZm
ZpZ5cGxm1gJJSyRdKulhSTskrZL0aUnzR1jPgnzfqlzPw7neJWPVd2sPo/EelHStpBjiNW0sn8Em
LkmvlnSJpB9L2pTfL/+6m3WNyu/TsdI13h0wM9vXSToc+ClwAPAd4E7gFODdwDmSnh8R61uoZ79c
z5HAj4DLgaOBtwDnSnpeRNw/Nk9hE9lovQcrLh7kfO8eddTa2YeBE4DNwGrS764RG4P38qjz4NjM
bHifJ/0if1dEXFJOSvok8F7gI8DbW6jno6SB8Scj4v2Vet4FfCa3c84o9tvax2i9BwGIiItGu4PW
9t5LGhTfCywDrtnNekb1vTwWFBHj2b6Z2T4tRznuBVYBh0dEf6VsNrAWEHBARGwZop5ZwGNAP7A4
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
q8W6yvMcIWlakzrPAs7YrV4O7WrgIVJu9F8PdeEI12w2MzMzm7Am4uD4h0CQlib7rKR5AJLmSPpj
4HOkJdnG0kbgS5LeKKkrt3889Q1IHgM+32JdNwBbSWsj/4ukxbm+6ZLeClzBGDxP3i3vfNLP8vWS
/r1sk53b75b0HEmfAFaOdvtmZmZm+6IJNziOiLuAT+dvzweelPQkKb/3E6SI6BfGuBt/D9xGmki3
WdJG4NekyYFbgddERCv5xkTEBuAD+dvXAA9L2kDaEvufgHuBi0e3+7W2/4O0i14PacvsWyRtlbQe
2EZaHu6PqS/nZmZmZtbWJtzgGCAi3kdKX7iFtHxbZ/76PcC5QCtrFe+JHaRNMf6ctCHIFNIycJcD
J0XE9SOpLCI+S9q6ukSRu0g77V1IWo94sGXa9lhEfBk4ivSB43bSRMI5pGj1tbkPR41V+2ZmZmb7
krbbPnosVbaPvthLm5mZmZm1nwkZOTYzMzMzGwseHJuZmZmZZR4cm5mZmZllHhybmZmZmWWekGdm
ZmZmljlybGZmZmaWeXBsZmZmZpZ5cGxmZmZmlnlwbGZmZmaWeXBsZmZmZpZ1jXcHzMzakaSVwBxg
1Th3xcxsoloKbIqIw/Zmo207ON4cBEBvb1/tnDRu3RmRsrregGX2cufzY41OO/nnsV9X1wT5yZhN
KHOmT5++4Jhjjlkw3h0xM5uIVqxYwbZt2/Z6u207OO4sw72uztq5iTc4rpzLffeq1DbWJF0LLIuI
Mf0/RtJSYCXwzxFx3li2NU5WHXPMMQtuuumm8e6HmdmEdPLJJ3PzzTev2tvtOufYzMzMzCxr28ix
me22NwMzxrsT7eC2NRtZesGV490NM7Nxserj5453F3ZL2w+OB26PPTHyKkqfm+3s3SytopWnKvdV
r63/0Xxi/Fxs74iIB8e7D2ZmZuPFaRVmk4Ck8yRdIel+SdskbZJ0g6Q3Nbn2WknRcG65pJB0kaRT
JF0p6Yl8bmm+ZlV+zZX0d5LWSNou6Q5J75Jay/qXdKSkj0v6paTHJe2Q9ICkL0pa0uT6at9OzH3b
IGmrpOsknTZIO12S3iHpxvzz2CrpFknnS/LvRjOzSaptI8flX+EW/z0evXabNNcsAjx0HdqlrlJF
x24+jmPDk97fA7cD1wNrgf2A3wa+IumoiPizFut5HvAB4CfApcBCoKdSPgX4ITAPuDx//9+BzwBH
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
VEvGcvwgeQ7wAzNTzrtMpCnxc1AT8kRERKYJ59wXq4qeBD5hZpuAa/AD5V/u946JTCKKHIuIjC2K
ZMwepT4q79tP7cj0sz+enW/il3F7eZgYJTIRpsTPQQ2ORUTG9mQ4jpYDd3Q4jpZD1+h2ZPqZ8GfH
OTcMRBNFu/a2HZFxTImfgxoci4iMLVrL87yw5FosRNjOBAaB+8dp535gCDizOjIX2j2v6n4ikUY9
g6Mys5cB3fgBcu/etiMyjgl/lhtBg2MRkTE459YDtwE9wHurqj+Dj7J9J70mp5ktN7MRu0c553YB
3wnnX1nVzvtC+7dqjWOp1qhn0MwON7O51e2b2QLg+vDt951z2iVP9omZ5cIzeGS6fG+e5QNBm4CI
iIyjxnana4HT8Gt2rgPOSG93amYOoHqjhRrbRz8ArABej98g5Izwy0NkhEY8g2Z2CXAtcDd+05lt
wFLgj/G5ng8Br3HOKe9ddmNmbwDeEL49GDgf/xzdFcp6nXMfDef2AM8Czznneqra2aNn+UDQ4FhE
pA5mdijwWfz2zvPwOzndDHzGObe96tyag+NQNxe4Av9LZhGwFbgF+LRz7vmJfA8yte3rM2hmxwMf
AVYChwCz8GkUvwF+CHzNOVeY+HciU5GZXYn/2TWaeCA81uA41Nf9LB8IGhyLiIiIiATKORYRERER
CTQ4FhEREREJNDgWEREREQk0OBYRERERCTQ4FhEREREJNDgWEREREQk0OBYRERERCTQ4FhEREREJ
NDgWEREREQk0OBYRERERCTQ4FhEREREJNDgWEREREQk0OBYRERERCTQ4FhEREREJNDgWEREREQk0
OBYRERERCTQ4FhEREREJ/h8FgksaU5REwwAAAABJRU5ErkJggg==
" alt="" width="355" height="319" />
Why 50-70% Accuracy?¶
You might be wondering why you can't get an accuracy any higher. First things first, 50% isn't bad for a simple CNN. Pure guessing would get you 10% accuracy. However, you might notice people are getting scores well above 70%. That's because we haven't taught you all there is to know about neural networks. We still need to cover a few more techniques.
Submitting This Project¶
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_image_classification.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.
欢迎扫码关注,或搜索大数据与知识图谱,定期分享大数据与知识图谱相关知识点:

Image Classification的更多相关文章
- W3School-CSS 分类 (Classification) 实例
CSS 分类 (Classification) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) ...
- Large Margin DAGs for Multiclass Classification
Abstract We present a new learning architecture: the Decision Directed Acyclic Graph (DDAG), which i ...
- 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析
<ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...
- 自然语言23_Text Classification with NLTK
QQ:231469242 欢迎喜欢nltk朋友交流 https://www.pythonprogramming.net/text-classification-nltk-tutorial/?compl ...
- MATLAB 图像分类 Image Category Classification Using Bag of Features
使用MATLAB实现图像的识别,这是MATLAB官网上面的例子,学习一下. http://cn.mathworks.com/help/vision/examples/image-category-cl ...
- Galaxy Classification
10.3 Data Preparation After removing a large number of the columns from the raw SDSS dataset, introd ...
- Kaiju: Fast and sensitive taxonomic classification for metagenomics
Kaiju: Fast and sensitive taxonomic classification for metagenomics 问题描述:However, nucleotide comp ...
- 《Automatic Face Classification of Cushing’s Syndrome in Women – A Novel Screening Approach》学习笔记
<针对女性库欣综合征患者的自动面部分类-一种新颖的筛查方法> Abstract 目的:库兴氏综合征对身体造成相当大的伤害如果不及时治疗,还经常是诊断的时间太长.在这项研究中,我们旨在测试面 ...
- [CS231n-CNN] Image classification and the data-driven approach, k-nearest neighbor, Linear classification I
课程主页:http://cs231n.stanford.edu/ Task: Challenges: _________________________________________________ ...
- [ML] Naive Bayes for Text Classification
TF-IDF Algorithm From http://www.ruanyifeng.com/blog/2013/03/tf-idf.html Chapter 1, 知道了"词频" ...
随机推荐
- Android零基础入门第1节:Android的前世今生
原文:Android零基础入门第1节:Android的前世今生 现在网上有很多各色Android资料了,但相对来说还是比较零散,Android覆盖的范围极广,最近刚好有机会全部拉通整理一遍,也保存起来 ...
- C#高性能大容量SOCKET并发(十一):编写上传客户端
原文:C#高性能大容量SOCKET并发(十一):编写上传客户端 客户端封装整体框架 客户端编程基于阻塞同步模式,只有数据正常发送或接收才返回,如果发生错误则抛出异常,基于TcpClient进行封装,主 ...
- Solr Principal - 工作原理/机制
From http://lucene.apache.org/solr/guide/7_1/overview-of-documents-fields-and-schema-design.html The ...
- delphi如何输出当前堆栈
想实现,输出当前运行的堆栈,有会的吗?给点思路 方法很多,参考: https://bitbucket.org/shadow_cs/delphi-leakcheck/ 的 https://bitbuck ...
- 腾讯云直播录制遇到的bug
1.录制方式应用: 初始化方法 [[TXUGCRecordshareInstance] startCameraCustom:param preview:_showPlayerView]; ID ...
- inno setup 配合istools
istool,可以认为是inno setup的IDE吧 用用就知道了,istool用起来方便些,当然,脚本写好了,用不用istool就无所谓了
- [2017.02.05] 阅读《Efficient C++》思维导图
- 统计插件,Highcharts,以及modelformset
一.modelfromset组件 1.作用:用于批量处理多个表单 form表单对应的组件是formset Modelform对应的组件是modelformset 2.引入 From django.fo ...
- Unity Shader 玻璃效果
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射.下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的 ...
- 点菜网---Java开源生鲜电商平台-技术选型(源码可下载)
点菜网---Java开源生鲜电商平台-技术选型(源码可下载) 1.内容简介 点菜网目前选用的是最流行的微服务架构模式,采用前后端分离的开发模式,具备高可用,高负载,支持千万级别的数据量的请求. 2. ...