diff options
author | fr4nc0is <fps.courriel+github@gmail.com> | 2022-10-16 11:38:10 +0200 |
---|---|---|
committer | fr4nc0is <fps.courriel+github@gmail.com> | 2022-10-16 11:57:47 +0200 |
commit | 6c73885a7e0f1208a82846ffde698a8750cdeb7c (patch) | |
tree | 537cf685d1c3e8d36463b3d18a6c78bc3eac9490 | |
parent | a4067cd856fea9e842f71a3b15012f5ba54ef567 (diff) |
added now plugin and updated layout
20 files changed, 164 insertions, 132 deletions
diff --git a/glances/outputs/static/css/style.scss b/glances/outputs/static/css/style.scss index 502e1b37..ba76e0b5 100644 --- a/glances/outputs/static/css/style.scss +++ b/glances/outputs/static/css/style.scss @@ -20,12 +20,11 @@ body { text-align: right; } -.top-plugin { - margin-bottom: 20px; -} - .plugin { margin-bottom: 20px; + .table:last-child { + margin-bottom: 0; + } } .plugin.table-row-group .table-row:last-child .table-cell { padding-bottom: 20px; @@ -116,7 +115,7 @@ body { white-space: nowrap; } -#quicklook-plugin { +#quicklook { .progress { margin-bottom: 0px; min-width: 100px; diff --git a/glances/outputs/static/js/App.vue b/glances/outputs/static/js/App.vue index 7911fdc8..cd6dcf84 100644 --- a/glances/outputs/static/js/App.vue +++ b/glances/outputs/static/js/App.vue @@ -4,8 +4,8 @@ <div class="loader">Loading...</div> </div> <glances-help v-else-if="args.help_tag"></glances-help> - <div v-else class="container-fluid"> - <div class="top-plugin"> + <main v-else> + <div class="container-fluid"> <div class="row"> <div class="col-sm-24"> <div class="pull-left"> @@ -19,6 +19,8 @@ </div> </div> </div> + </div> + <div class="container-fluid"> <div class="row"> <div class="col-sm-24"> <div class="pull-left"> @@ -26,115 +28,124 @@ </div> </div> </div> - </div> - <div class="row"> - <div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook"> - <glances-plugin-quicklook :data="data"></glances-plugin-quicklook> - </div> - <div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu"> - <glances-plugin-cpu :data="data"></glances-plugin-cpu> - </div> - <div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu"> - <glances-plugin-percpu :data="data"></glances-plugin-percpu> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu"> - <glances-plugin-gpu :data="data"></glances-plugin-gpu> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem"> - <glances-plugin-mem :data="data"></glances-plugin-mem> - </div> - <!-- NOTE: display if MEM enabled and GPU disabled --> - <div - v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)" - class="hidden-xs hidden-sm col-md-4 col-lg-3" - > - <glances-plugin-mem-more :data="data"></glances-plugin-mem-more> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap"> - <glances-plugin-memswap :data="data"></glances-plugin-memswap> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load"> - <glances-plugin-load :data="data"></glances-plugin-load> + <div class="row"> + <div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook"> + <glances-plugin-quicklook :data="data"></glances-plugin-quicklook> + </div> + <div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu"> + <glances-plugin-cpu :data="data"></glances-plugin-cpu> + </div> + <div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu"> + <glances-plugin-percpu :data="data"></glances-plugin-percpu> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu"> + <glances-plugin-gpu :data="data"></glances-plugin-gpu> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem"> + <glances-plugin-mem :data="data"></glances-plugin-mem> + </div> + <!-- NOTE: display if MEM enabled and GPU disabled --> + <div + v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)" + class="hidden-xs hidden-sm col-md-4 col-lg-3" + > + <glances-plugin-mem-more :data="data"></glances-plugin-mem-more> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap"> + <glances-plugin-memswap :data="data"></glances-plugin-memswap> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load"> + <glances-plugin-load :data="data"></glances-plugin-load> + </div> </div> </div> - <div class="row"> - <div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar"> - <div class="table"> - <glances-plugin-network - id="plugin-network" - class="plugin table-row-group" - v-if="!args.disable_network" - :data="data" - ></glances-plugin-network> - <glances-plugin-connections - id="plugin-connections" - class="plugin table-row-group" - v-if="isLinux && !args.disable_connections" - :data="data" - ></glances-plugin-connections> - <glances-plugin-wifi - id="plugin-wifi" - class="plugin table-row-group" - v-if="!args.disable_wifi" - :data="data" - ></glances-plugin-wifi> - <glances-plugin-ports - id="plugin-ports" - class="plugin table-row-group" - v-if="!args.disable_ports" - :data="data" - ></glances-plugin-ports> - <glances-plugin-diskio - id="plugin-diskio" - class="plugin table-row-group" - v-if="!args.disable_diskio" - :data="data" - ></glances-plugin-diskio> - <glances-plugin-fs - id="plugin-fs" - class="plugin table-row-group" - v-if="!args.disable_fs" - :data="data" - ></glances-plugin-fs> - <glances-plugin-irq - id="plugin-irq" - class="plugin table-row-group" - v-if="args.enable_irq" - :data="data" - ></glances-plugin-irq> - <glances-plugin-folders - id="plugin-folders" - class="plugin table-row-group" - v-if="!args.disable_folders" - :data="data" - ></glances-plugin-folders> - <glances-plugin-raid - id="plugin-raid" - class="plugin table-row-group" - v-if="!args.raid" + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar"> + <div class="table"> + <glances-plugin-network + id="plugin-network" + class="plugin table-row-group" + v-if="!args.disable_network" + :data="data" + ></glances-plugin-network> + <glances-plugin-connections + id="plugin-connections" + class="plugin table-row-group" + v-if="isLinux && !args.disable_connections" + :data="data" + ></glances-plugin-connections> + <glances-plugin-wifi + id="plugin-wifi" + class="plugin table-row-group" + v-if="!args.disable_wifi" + :data="data" + ></glances-plugin-wifi> + <glances-plugin-ports + id="plugin-ports" + class="plugin table-row-group" + v-if="!args.disable_ports" + :data="data" + ></glances-plugin-ports> + <glances-plugin-diskio + id="plugin-diskio" + class="plugin table-row-group" + v-if="!args.disable_diskio" + :data="data" + ></glances-plugin-diskio> + <glances-plugin-fs + id="plugin-fs" + class="plugin table-row-group" + v-if="!args.disable_fs" + :data="data" + ></glances-plugin-fs> + <glances-plugin-irq + id="plugin-irq" + class="plugin table-row-group" + v-if="args.enable_irq" + :data="data" + ></glances-plugin-irq> + <glances-plugin-folders + id="plugin-folders" + class="plugin table-row-group" + v-if="!args.disable_folders" + :data="data" + ></glances-plugin-folders> + <glances-plugin-raid + id="plugin-raid" + class="plugin table-row-group" + v-if="!args.raid" + :data="data" + ></glances-plugin-raid> + <glances-plugin-sensors + id="plugin-sensors" + class="plugin table-row-group" + v-if="!args.disable_sensors" + :data="data" + ></glances-plugin-sensors> + </div> + </div> + <div class="col-sm-18"> + <glances-plugin-docker + v-if="!args.disable_docker" :data="data" - ></glances-plugin-raid> - <glances-plugin-sensors - id="plugin-sensors" - class="plugin table-row-group" - v-if="!args.disable_sensors" + ></glances-plugin-docker> + <glances-plugin-process :data="data"></glances-plugin-process> + <glances-plugin-alert + v-if="!args.disable_alert" :data="data" - ></glances-plugin-sensors> + ></glances-plugin-alert> </div> </div> - <div class="col-sm-18"> - <glances-plugin-docker - v-if="!args.disable_docker" - :data="data" - ></glances-plugin-docker> - <glances-plugin-alert - v-if="!args.disable_alert" - :data="data" - ></glances-plugin-alert> - <glances-plugin-process :data="data"></glances-plugin-process> + </div> + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-24"> + <glances-plugin-now :data="data"></glances-plugin-now> + </div> </div> </div> - </div> + </main> </template> <script> @@ -159,6 +170,7 @@ import GlancesPluginMem from './components/plugin-mem.vue'; import GlancesPluginMemMore from './components/plugin-mem-more.vue'; import GlancesPluginMemswap from './components/plugin-memswap.vue'; import GlancesPluginNetwork from './components/plugin-network.vue'; +import GlancesPluginNow from './components/plugin-now.vue'; import GlancesPluginPercpu from './components/plugin-percpu.vue'; import GlancesPluginPorts from './components/plugin-ports.vue'; import GlancesPluginProcess from './components/plugin-process.vue'; @@ -188,6 +200,7 @@ export default { GlancesPluginMemMore, GlancesPluginMemswap, GlancesPluginNetwork, + GlancesPluginNow, GlancesPluginPercpu, GlancesPluginPorts, GlancesPluginProcess, @@ -268,7 +281,7 @@ export default { hotkeys('t', () => { this.store.args.sort_processes_key = 'timemillis'; }); - + // A => Enable/disable AMPs hotkeys('shift+A', () => { this.store.args.disable_amps = !this.store.args.disable_amps; diff --git a/glances/outputs/static/js/components/plugin-alert.vue b/glances/outputs/static/js/components/plugin-alert.vue index 9affe21d..73db0502 100644 --- a/glances/outputs/static/js/components/plugin-alert.vue +++ b/glances/outputs/static/js/components/plugin-alert.vue @@ -1,12 +1,12 @@ <template> - <div> + <div class="plugin"> <section id="alerts"> <span class="title" v-if="hasAlerts"> Warning or critical alerts (last {{ countAlerts }} entries) </span> <span class="title" v-else>No warning or critical alert detected</span> </section> - <section id="alert" class="plugin"> + <section id="alert"> <div class="table"> <div class="table-row" v-for="(alert, alertId) in alerts" :key="alertId"> <div class="table-cell text-left"> diff --git a/glances/outputs/static/js/components/plugin-cloud.vue b/glances/outputs/static/js/components/plugin-cloud.vue index 796cec66..1cebc903 100644 --- a/glances/outputs/static/js/components/plugin-cloud.vue +++ b/glances/outputs/static/js/components/plugin-cloud.vue @@ -1,5 +1,5 @@ <template> - <section id="cloud"> + <section id="cloud" class="plugin" v-if="instance || provider"> <span class="title">{{ provider }}</span> {{ instance }} </section> </template> diff --git a/glances/outputs/static/js/components/plugin-connections.vue b/glances/outputs/static/js/components/plugin-connections.vue index 6b5de96a..5cf65ecd 100644 --- a/glances/outputs/static/js/components/plugin-connections.vue +++ b/glances/outputs/static/js/components/plugin-connections.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="connections"> <div class="table-row"> <div class="table-cell text-left title">TCP CONNECTIONS</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-diskio.vue b/glances/outputs/static/js/components/plugin-diskio.vue index 739a3f02..143879f2 100644 --- a/glances/outputs/static/js/components/plugin-diskio.vue +++ b/glances/outputs/static/js/components/plugin-diskio.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="diskio"> <div class="table-row" v-if="disks.length > 0"> <div class="table-cell text-left title">DISK I/O</div> <div class="table-cell" v-show="!args.diskio_iops">R/s</div> diff --git a/glances/outputs/static/js/components/plugin-folders.vue b/glances/outputs/static/js/components/plugin-folders.vue index 69f92526..7e6f704b 100644 --- a/glances/outputs/static/js/components/plugin-folders.vue +++ b/glances/outputs/static/js/components/plugin-folders.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="folders"> <div class="table-row" v-if="folders.length > 0"> <div class="table-cell text-left title">FOLDERS</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-fs.vue b/glances/outputs/static/js/components/plugin-fs.vue index eeb0df95..f7dd5880 100644 --- a/glances/outputs/static/js/components/plugin-fs.vue +++ b/glances/outputs/static/js/components/plugin-fs.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="fs"> <div class="table-row"> <div class="table-cell text-left title">FILE SYS</div> <div class="table-cell"> diff --git a/glances/outputs/static/js/components/plugin-ip.vue b/glances/outputs/static/js/components/plugin-ip.vue index 17be6b93..01c9d4c8 100644 --- a/glances/outputs/static/js/components/plugin-ip.vue +++ b/glances/outputs/static/js/components/plugin-ip.vue @@ -1,5 +1,5 @@ <template> - <section id="ip" v-if="address != undefined"> + <section class="plugin" id="ip" v-if="address != undefined"> <span v-if="address != undefined" class="title">IP</span> <span v-if="address != undefined">{{ address }}/{{ maskCdir }}</span> <span v-if="publicAddress != undefined" class="title">Pub</span> diff --git a/glances/outputs/static/js/components/plugin-irq.vue b/glances/outputs/static/js/components/plugin-irq.vue index df093455..174230f3 100644 --- a/glances/outputs/static/js/components/plugin-irq.vue +++ b/glances/outputs/static/js/components/plugin-irq.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="irq"> <div class="table-row" v-if="irqs.length > 0"> <div class="table-cell text-left title">IRQ</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-network.vue b/glances/outputs/static/js/components/plugin-network.vue index b4846db5..3eb42bcf 100644 --- a/glances/outputs/static/js/components/plugin-network.vue +++ b/glances/outputs/static/js/components/plugin-network.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="network"> <div class="table-row"> <div class="table-cell text-left title">NETWORK</div> <div class="table-cell" v-show="!args.network_cumul && !args.network_sum">Rx/s</div> diff --git a/glances/outputs/static/js/components/plugin-now.vue b/glances/outputs/static/js/components/plugin-now.vue new file mode 100644 index 00000000..f35688c5 --- /dev/null +++ b/glances/outputs/static/js/components/plugin-now.vue @@ -0,0 +1,20 @@ +<template> + <section id="now" class="plugin"> + <span>{{ value }}</span> + </section> +</template> + +<script> +export default { + props: { + data: { + type: Object + } + }, + computed: { + value() { + return this.data.stats['now']; + } + } +}; +</script>
\ No newline at end of file diff --git a/glances/outputs/static/js/components/plugin-ports.vue b/glances/outputs/static/js/components/plugin-ports.vue index c2801c6a..040a75e5 100644 --- a/glances/outputs/static/js/components/plugin-ports.vue +++ b/glances/outputs/static/js/components/plugin-ports.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="ports"> <div class="table-row" v-for="(port, portId) in ports" :key="portId"> <div class="table-cell text-left"> <!-- prettier-ignore --> diff --git a/glances/outputs/static/js/components/plugin-quicklook.vue b/glances/outputs/static/js/components/plugin-quicklook.vue index aa12f553..1b806275 100644 --- a/glances/outputs/static/js/components/plugin-quicklook.vue +++ b/glances/outputs/static/js/components/plugin-quicklook.vue @@ -1,5 +1,5 @@ <template> - <section id="quicklook-plugin" class="plugin"> + <section id="quicklook" class="plugin"> <div class="cpu-name"> {{ cpu_name }} </div> diff --git a/glances/outputs/static/js/components/plugin-raid.vue b/glances/outputs/static/js/components/plugin-raid.vue index 67c75e82..4c32daf6 100644 --- a/glances/outputs/static/js/components/plugin-raid.vue +++ b/glances/outputs/static/js/components/plugin-raid.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="raid"> <div class="table-row" v-if="hasDisks"> <div class="table-cell text-left title">RAID disks</div> <div class="table-cell">Used</div> diff --git a/glances/outputs/static/js/components/plugin-sensors.vue b/glances/outputs/static/js/components/plugin-sensors.vue index bce35429..d1c44a3b 100644 --- a/glances/outputs/static/js/components/plugin-sensors.vue +++ b/glances/outputs/static/js/components/plugin-sensors.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="sensors"> <div class="table-row" v-if="sensors.length > 0"> <div class="table-cell text-left title">SENSORS</div> </div> diff --git a/glances/outputs/static/js/components/plugin-system.vue b/glances/outputs/static/js/components/plugin-system.vue index 68e4c769..85758164 100644 --- a/glances/outputs/static/js/components/plugin-system.vue +++ b/glances/outputs/static/js/components/plugin-system.vue @@ -1,5 +1,5 @@ <template> - <section id="system"> + <section class="plugin" id="system"> <span v-if="isDisconnected" class="critical">Disconnected from</span> <span class="title">{{ hostname }}</span> <span v-if="isLinux" class="hidden-xs hidden-sm"> diff --git a/glances/outputs/static/js/components/plugin-uptime.vue b/glances/outputs/static/js/components/plugin-uptime.vue index 7b28e9aa..7c72b415 100644 --- a/glances/outputs/static/js/components/plugin-uptime.vue +++ b/glances/outputs/static/js/components/plugin-uptime.vue @@ -1,5 +1,5 @@ <template> - <section id="uptime"> + <section class="plugin" id="uptime"> <span>Uptime: {{ value }}</span> </section> </template> diff --git a/glances/outputs/static/js/components/plugin-wifi.vue b/glances/outputs/static/js/components/plugin-wifi.vue index 6999e1bd..b4d43343 100644 --- a/glances/outputs/static/js/components/plugin-wifi.vue +++ b/glances/outputs/static/js/components/plugin-wifi.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="wifi"> <div class="table-row" v-if="hotspots.length > 0"> <div class="table-cell text-left title">WIFI</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/public/glances.js b/glances/outputs/static/public/glances.js index e5fb4e2e..a29a27fd 100644 --- a/glances/outputs/static/public/glances.js +++ b/glances/outputs/static/public/glances.js @@ -1,10 +1,10 @@ -(()=>{var t={895:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var r=n(8081),i=n.n(r),s=n(3645),o=n.n(s)()(i());o.push([t.id,'/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type="checkbox"],\ninput[type="radio"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type="number"]::-webkit-inner-spin-button,\ninput[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type="search"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role="button"] {\n cursor: pointer;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*="col-"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12,\n.col-xs-13,\n.col-sm-13,\n.col-md-13,\n.col-lg-13,\n.col-xs-14,\n.col-sm-14,\n.col-md-14,\n.col-lg-14,\n.col-xs-15,\n.col-sm-15,\n.col-md-15,\n.col-lg-15,\n.col-xs-16,\n.col-sm-16,\n.col-md-16,\n.col-lg-16,\n.c |