diff options
Diffstat (limited to 'client/app')
-rw-r--r-- | client/app/images/favicon.png | bin | 0 -> 2335 bytes | |||
-rw-r--r-- | client/app/images/loading.gif | bin | 0 -> 673 bytes | |||
-rw-r--r-- | client/app/javascripts/index.js | 245 | ||||
-rw-r--r-- | client/app/stylesheets/application.scss | 6 | ||||
-rw-r--r-- | client/app/stylesheets/base.scss | 20 | ||||
-rw-r--r-- | client/app/stylesheets/bootstrap-variables.scss | 875 | ||||
-rw-r--r-- | client/app/stylesheets/index.scss | 88 |
7 files changed, 1234 insertions, 0 deletions
diff --git a/client/app/images/favicon.png b/client/app/images/favicon.png new file mode 100644 index 000000000..bb57ee6b0 --- /dev/null +++ b/client/app/images/favicon.png | |||
Binary files differ | |||
diff --git a/client/app/images/loading.gif b/client/app/images/loading.gif new file mode 100644 index 000000000..f2a1bc0c6 --- /dev/null +++ b/client/app/images/loading.gif | |||
Binary files differ | |||
diff --git a/client/app/javascripts/index.js b/client/app/javascripts/index.js new file mode 100644 index 000000000..4910e4540 --- /dev/null +++ b/client/app/javascripts/index.js | |||
@@ -0,0 +1,245 @@ | |||
1 | ;(function () { | ||
2 | 'use strict' | ||
3 | |||
4 | var $ = require('jquery') | ||
5 | require('blueimp-file-upload') | ||
6 | |||
7 | var WebTorrent = require('webtorrent') | ||
8 | var client = new WebTorrent({ dht: false }) | ||
9 | |||
10 | var $content = $('#ajax_load') | ||
11 | |||
12 | // Webtorrent events | ||
13 | client.on('error', function (err) { | ||
14 | console.error(err) | ||
15 | }) | ||
16 | |||
17 | client.on('warning', function (err) { | ||
18 | console.warning(err) | ||
19 | }) | ||
20 | |||
21 | // Events of the panel | ||
22 | $('#panel_get_videos').on('click', function () { | ||
23 | getVideos() | ||
24 | }) | ||
25 | |||
26 | $('#panel_upload_video').on('click', function () { | ||
27 | uploadVideo() | ||
28 | }) | ||
29 | |||
30 | $('#panel_make_friends').on('click', function () { | ||
31 | makeFriends() | ||
32 | }) | ||
33 | |||
34 | $('#panel_quit_friends').on('click', function () { | ||
35 | quitFriends() | ||
36 | }) | ||
37 | |||
38 | $('#search-video').on('keyup', function (e) { | ||
39 | var search = $(this).val() | ||
40 | |||
41 | if (search === '') return | ||
42 | |||
43 | if (e.keyCode === 13) { | ||
44 | $.ajax({ | ||
45 | url: '/api/v1/videos/search/' + search, | ||
46 | type: 'GET', | ||
47 | dataType: 'json', | ||
48 | success: function (videos) { | ||
49 | printVideos(videos) | ||
50 | } | ||
51 | }) | ||
52 | } | ||
53 | }) | ||
54 | |||
55 | // Join a new network | ||
56 | function makeFriends () { | ||
57 | $.ajax({ | ||
58 | url: '/api/v1/pods/makefriends', | ||
59 | type: 'GET', | ||
60 | dataType: 'json', | ||
61 | statusCode: { | ||
62 | 409: function () { | ||
63 | alert('Already made friends.') | ||
64 | } | ||
65 | }, | ||
66 | success: function () { | ||
67 | alert('Made friends!') | ||
68 | } | ||
69 | }) | ||
70 | } | ||
71 | |||
72 | function quitFriends () { | ||
73 | $.ajax({ | ||
74 | url: '/api/v1/pods/quitfriends', | ||
75 | type: 'GET', | ||
76 | dataType: 'json', | ||
77 | success: function () { | ||
78 | alert('Quit friends!') | ||
79 | } | ||
80 | }) | ||
81 | } | ||
82 | |||
83 | function printVideos (videos) { | ||
84 | $content.empty() | ||
85 | |||
86 | if (videos.length === 0) { | ||
87 | $content.text('There is no videos.') | ||
88 | } | ||
89 | |||
90 | videos.forEach(function (video) { | ||
91 | var $video = $('<div></div>').addClass('video') | ||
92 | |||
93 | var $video_name = $('<span></span>').addClass('video_name').text(video.name) | ||
94 | var $video_pod = $('<span></span>').addClass('video_pod_url').text(video.podUrl) | ||
95 | var $header = $('<div></div>').append([ $video_name, $video_pod ]) | ||
96 | |||
97 | if (video.namePath !== null) { | ||
98 | var $remove = $('<span></span>').addClass('span_action glyphicon glyphicon-remove') | ||
99 | |||
100 | // Remove the video | ||
101 | $remove.on('click', function () { | ||
102 | if (!confirm('Are you sure ?')) return | ||
103 | |||
104 | removeVideo(video) | ||
105 | }) | ||
106 | |||
107 | $header.append($remove) | ||
108 | } | ||
109 | |||
110 | var $video_description = $('<div></div>').addClass('video_description').text(video.description) | ||
111 | |||
112 | // Get the video | ||
113 | $video_name.on('click', function () { | ||
114 | getVideo(video) | ||
115 | }) | ||
116 | |||
117 | if (!video.magnetUri) { | ||
118 | $remove.css('display', 'none') | ||
119 | } | ||
120 | |||
121 | $video.append([ $header, $video_description ]) | ||
122 | $content.append($video) | ||
123 | }) | ||
124 | } | ||
125 | |||
126 | // Upload the video, the server will seed it | ||
127 | function uploadVideo () { | ||
128 | // Creating all the elements | ||
129 | var $video_label = $('<label></label>').attr('for', 'name').text('Video name') | ||
130 | var $video_name = $('<input></input>').addClass('form-control').attr({ | ||
131 | name: 'name', | ||
132 | id: 'name' | ||
133 | }) | ||
134 | var $video_block = $('<div></div>').addClass('form-group').append([ $video_label, $video_name ]) | ||
135 | |||
136 | var $title = $('<h3></h3>').text('Upload a video') | ||
137 | |||
138 | var $button_text = $('<span></span>').text('Select the video...') | ||
139 | var $input_video = $('<input></input>').attr({ | ||
140 | type: 'file', | ||
141 | name: 'input_video', | ||
142 | id: 'input_video' | ||
143 | }) | ||
144 | var $button = $('<div></div>').addClass('btn btn-default btn-file').append([ $button_text, $input_video ]) | ||
145 | |||
146 | var $description_label = $('<label></label>').attr('for', 'description').text('Description') | ||
147 | var $description_text = $('<textarea></textarea>').addClass('form-control').attr({ | ||
148 | name: 'description', | ||
149 | id: 'description', | ||
150 | placeholder: 'Description...' | ||
151 | }) | ||
152 | var $description = $('<div></div>').addClass('form-group').append([ $description_label, $description_text ]) | ||
153 | |||
154 | var $bar = $('<progress></progress').attr('value', '0').css('display', 'none') | ||
155 | var $progress_bar = $('<div><div>').attr('id', 'progress').append($bar) | ||
156 | |||
157 | var $input_submit = $('<input></input>').addClass('btn btn-default').attr({ | ||
158 | type: 'button', | ||
159 | value: 'Upload' | ||
160 | }) | ||
161 | |||
162 | // JQuery plugin | ||
163 | var $form_video = $('<form></form>').append([ $video_block, $button, $progress_bar, $description, $input_submit ]) | ||
164 | $form_video.fileupload({ | ||
165 | singleFileUploads: true, | ||
166 | multipart: true, | ||
167 | url: '/api/v1/videos', | ||
168 | autoupload: false, | ||
169 | add: function (e, data) { | ||
170 | var $text = $('<span></span>').addClass('name_file').text(data['files'][0]['name']) | ||
171 | $text.insertAfter($button) | ||
172 | $input_submit.off('click').on('click', function () { | ||
173 | $bar.css('display', 'block') | ||
174 | data.formData = $form_video.serializeArray() | ||
175 | data.submit() | ||
176 | }) | ||
177 | }, | ||
178 | progressall: function (e, data) { | ||
179 | $bar.attr({ | ||
180 | value: data.loaded, | ||
181 | max: data.total | ||
182 | }) | ||
183 | }, | ||
184 | done: function (e, data) { | ||
185 | // Print all the videos once it's finished | ||
186 | getVideos() | ||
187 | } | ||
188 | }) | ||
189 | |||
190 | $content.empty() | ||
191 | $content.append([ $title, $form_video ]) | ||
192 | } | ||
193 | |||
194 | // Print the list of all the videos | ||
195 | function getVideos () { | ||
196 | $.ajax({ | ||
197 | url: '/api/v1/videos/', | ||
198 | dataType: 'json', | ||
199 | type: 'GET', | ||
200 | success: function (videos) { | ||
201 | printVideos(videos) | ||
202 | } | ||
203 | }) | ||
204 | } | ||
205 | |||
206 | function removeVideo (video) { | ||
207 | $.ajax({ | ||
208 | url: '/api/v1/videos/' + video._id, | ||
209 | type: 'DELETE', | ||
210 | success: function (response, status) { | ||
211 | getVideos() | ||
212 | } | ||
213 | }) | ||
214 | } | ||
215 | |||
216 | // Get the video: add the torrent file and stream it into a video tag | ||
217 | function getVideo (video) { | ||
218 | var $waiting = $('<img></img>').addClass('center-block loading').attr('src', '/images/loading.gif') | ||
219 | $content.empty() | ||
220 | $content.append($waiting) | ||
221 | |||
222 | console.log('Getting ' + video) | ||
223 | client.add(video.magnetUri, function (torrent) { | ||
224 | var $embed = $('<div></div>').addClass('embed-responsive embed-responsive-16by9') | ||
225 | |||
226 | $content.empty() | ||
227 | $content.append($embed) | ||
228 | |||
229 | // Got torrent metadata! | ||
230 | console.log('Torrent info hash:', torrent.infoHash) | ||
231 | |||
232 | // Let's say the first file is a webm (vp8) or mp4 (h264) video... | ||
233 | var file = torrent.files[0] | ||
234 | |||
235 | file.appendTo($embed.get(0), function (err) { | ||
236 | if (err) { | ||
237 | alert('Cannot append the file.') | ||
238 | console.error(err) | ||
239 | } | ||
240 | }) | ||
241 | }) | ||
242 | } | ||
243 | |||
244 | getVideos() | ||
245 | })() | ||
diff --git a/client/app/stylesheets/application.scss b/client/app/stylesheets/application.scss new file mode 100644 index 000000000..bf9ec90ab --- /dev/null +++ b/client/app/stylesheets/application.scss | |||
@@ -0,0 +1,6 @@ | |||
1 | $icon-font-path: "/stylesheets/vendor/fonts/bootstrap/"; | ||
2 | |||
3 | @import "bootstrap-variables"; | ||
4 | @import "_bootstrap"; | ||
5 | @import "base"; | ||
6 | @import "index"; \ No newline at end of file | ||
diff --git a/client/app/stylesheets/base.scss b/client/app/stylesheets/base.scss new file mode 100644 index 000000000..37bdade1e --- /dev/null +++ b/client/app/stylesheets/base.scss | |||
@@ -0,0 +1,20 @@ | |||
1 | body { | ||
2 | padding: 20px; | ||
3 | } | ||
4 | |||
5 | footer { | ||
6 | border-top: 1px solid rgba(0, 0, 0, 0.2); | ||
7 | padding-top: 10px; | ||
8 | text-align: center; | ||
9 | font-size: small; | ||
10 | } | ||
11 | |||
12 | .search-group { | ||
13 | .search-btn { | ||
14 | position: relative; | ||
15 | left: -40px; | ||
16 | top: 0; | ||
17 | |||
18 | &:hover { text-decoration: none; } | ||
19 | } | ||
20 | } \ No newline at end of file | ||
diff --git a/client/app/stylesheets/bootstrap-variables.scss b/client/app/stylesheets/bootstrap-variables.scss new file mode 100644 index 000000000..5a49649f9 --- /dev/null +++ b/client/app/stylesheets/bootstrap-variables.scss | |||
@@ -0,0 +1,875 @@ | |||
1 | // Override Bootstrap variables here (defaults from bootstrap-sass v3.3.6): | ||
2 | |||
3 | // | ||
4 | // Variables | ||
5 | // -------------------------------------------------- | ||
6 | |||
7 | |||
8 | //== Colors | ||
9 | // | ||
10 | //## Gray and brand colors for use across Bootstrap. | ||
11 | |||
12 | // $gray-base: #000 | ||
13 | // $gray-darker: lighten($gray-base, 13.5%) // #222 | ||
14 | // $gray-dark: lighten($gray-base, 20%) // #333 | ||
15 | // $gray: lighten($gray-base, 33.5%) // #555 | ||
16 | // $gray-light: lighten($gray-base, 46.7%) // #777 | ||
17 | // $gray-lighter: lighten($gray-base, 93.5%) // #eee | ||
18 | |||
19 | // $brand-primary: darken(#428bca, 6.5%) // #337ab7 | ||
20 | // $brand-success: #5cb85c | ||
21 | // $brand-info: #5bc0de | ||
22 | // $brand-warning: #f0ad4e | ||
23 | // $brand-danger: #d9534f | ||
24 | |||
25 | |||
26 | //== Scaffolding | ||
27 | // | ||
28 | //## Settings for some of the most global styles. | ||
29 | |||
30 | //** Background color for `<body>`. | ||
31 | // $body-bg: #fff | ||
32 | //** Global text color on `<body>`. | ||
33 | // $text-color: $gray-dark | ||
34 | |||
35 | //** Global textual link color. | ||
36 | // $link-color: $brand-primary | ||
37 | //** Link hover color set via `darken()` function. | ||
38 | // $link-hover-color: darken($link-color, 15%) | ||
39 | //** Link hover decoration. | ||
40 | // $link-hover-decoration: underline | ||
41 | |||
42 | |||
43 | //== Typography | ||
44 | // | ||
45 | //## Font, line-height, and color for body text, headings, and more. | ||
46 | |||
47 | // $font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif | ||
48 | // $font-family-serif: Georgia, "Times New Roman", Times, serif | ||
49 | //** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`. | ||
50 | // $font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace | ||
51 | // $font-family-base: $font-family-sans-serif | ||
52 | |||
53 | // $font-size-base: 14px | ||
54 | // $font-size-large: ceil(($font-size-base * 1.25)) // ~18px | ||
55 | // $font-size-small: ceil(($font-size-base * 0.85)) // ~12px | ||
56 | |||
57 | // $font-size-h1: floor(($font-size-base * 2.6)) // ~36px | ||
58 | // $font-size-h2: floor(($font-size-base * 2.15)) // ~30px | ||
59 | // $font-size-h3: ceil(($font-size-base * 1.7)) // ~24px | ||
60 | // $font-size-h4: ceil(($font-size-base * 1.25)) // ~18px | ||
61 | // $font-size-h5: $font-size-base | ||
62 | // $font-size-h6: ceil(($font-size-base * 0.85)) // ~12px | ||
63 | |||
64 | //** Unit-less `line-height` for use in components like buttons. | ||
65 | // $line-height-base: 1.428571429 // 20/14 | ||
66 | //** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc. | ||
67 | // $line-height-computed: floor(($font-size-base * $line-height-base)) // ~20px | ||
68 | |||
69 | //** By default, this inherits from the `<body>`. | ||
70 | // $headings-font-family: inherit | ||
71 | // $headings-font-weight: 500 | ||
72 | // $headings-line-height: 1.1 | ||
73 | // $headings-color: inherit | ||
74 | |||
75 | |||
76 | //== Iconography | ||
77 | // | ||
78 | //## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower. | ||
79 | |||
80 | //** Load fonts from this directory. | ||
81 | |||
82 | // [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path. | ||
83 | // [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths. | ||
84 | // $icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "../fonts/bootstrap/") | ||
85 | |||
86 | //** File name for all font files. | ||
87 | // $icon-font-name: "glyphicons-halflings-regular" | ||
88 | //** Element ID within SVG icon file. | ||
89 | // $icon-font-svg-id: "glyphicons_halflingsregular" | ||
90 | |||
91 | |||
92 | //== Components | ||
93 | // | ||
94 | //## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start). | ||
95 | |||
96 | // $padding-base-vertical: 6px | ||
97 | // $padding-base-horizontal: 12px | ||
98 | |||
99 | // $padding-large-vertical: 10px | ||
100 | // $padding-large-horizontal: 16px | ||
101 | |||
102 | // $padding-small-vertical: 5px | ||
103 | // $padding-small-horizontal: 10px | ||
104 | |||
105 | // $padding-xs-vertical: 1px | ||
106 | // $padding-xs-horizontal: 5px | ||
107 | |||
108 | // $line-height-large: 1.3333333 // extra decimals for Win 8.1 Chrome | ||
109 | // $line-height-small: 1.5 | ||
110 | |||
111 | $border-radius-base: 0; | ||
112 | $border-radius-large: 0; | ||
113 | $border-radius-small: 0; | ||
114 | |||
115 | //** Global color for active items (e.g., navs or dropdowns). | ||
116 | // $component-active-color: #fff | ||
117 | //** Global background color for active items (e.g., navs or dropdowns). | ||
118 | // $component-active-bg: $brand-primary | ||
119 | |||
120 | //** Width of the `border` for generating carets that indicator dropdowns. | ||
121 | // $caret-width-base: 4px | ||
122 | //** Carets increase slightly in size for larger components. | ||
123 | // $caret-width-large: 5px | ||
124 | |||
125 | |||
126 | //== Tables | ||
127 | // | ||
128 | //## Customizes the `.table` component with basic values, each used across all table variations. | ||
129 | |||
130 | //** Padding for `<th>`s and `<td>`s. | ||
131 | // $table-cell-padding: 8px | ||
132 | //** Padding for cells in `.table-condensed`. | ||
133 | // $table-condensed-cell-padding: 5px | ||
134 | |||
135 | //** Default background color used for all tables. | ||
136 | // $table-bg: transparent | ||
137 | //** Background color used for `.table-striped`. | ||
138 | // $table-bg-accent: #f9f9f9 | ||
139 | //** Background color used for `.table-hover`. | ||
140 | // $table-bg-hover: #f5f5f5 | ||
141 | // $table-bg-active: $table-bg-hover | ||
142 | |||
143 | //** Border color for table and cell borders. | ||
144 | // $table-border-color: #ddd | ||
145 | |||
146 | |||
147 | //== Buttons | ||
148 | // | ||
149 | //## For each of Bootstrap's buttons, define text, background and border color. | ||
150 | |||
151 | // $btn-font-weight: normal | ||
152 | |||
153 | // $btn-default-color: #333 | ||
154 | // $btn-default-bg: #fff | ||
155 | // $btn-default-border: #ccc | ||
156 | |||
157 | // $btn-primary-color: #fff | ||
158 | // $btn-primary-bg: $brand-primary | ||
159 | // $btn-primary-border: darken($btn-primary-bg, 5%) | ||
160 | |||
161 | // $btn-success-color: #fff | ||
162 | // $btn-success-bg: $brand-success | ||
163 | // $btn-success-border: darken($btn-success-bg, 5%) | ||
164 | |||
165 | // $btn-info-color: #fff | ||
166 | // $btn-info-bg: $brand-info | ||
167 | // $btn-info-border: darken($btn-info-bg, 5%) | ||
168 | |||
169 | // $btn-warning-color: #fff | ||
170 | // $btn-warning-bg: $brand-warning | ||
171 | // $btn-warning-border: darken($btn-warning-bg, 5%) | ||
172 | |||
173 | // $btn-danger-color: #fff | ||
174 | // $btn-danger-bg: $brand-danger | ||
175 | // $btn-danger-border: darken($btn-danger-bg, 5%) | ||
176 | |||
177 | // $btn-link-disabled-color: $gray-light | ||
178 | |||
179 | // Allows for customizing button radius independently from global border radius | ||
180 | // $btn-border-radius-base: $border-radius-base | ||
181 | // $btn-border-radius-large: $border-radius-large | ||
182 | // $btn-border-radius-small: $border-radius-small | ||
183 | |||
184 | |||
185 | //== Forms | ||
186 | // | ||
187 | //## | ||
188 | |||
189 | //** `<input>` background color | ||
190 | // $input-bg: #fff | ||
191 | //** `<input disabled>` background color | ||
192 | // $input-bg-disabled: $gray-lighter | ||
193 | |||
194 | //** Text color for `<input>`s | ||
195 | // $input-color: $gray | ||
196 | //** `<input>` border color | ||
197 | // $input-border: #ccc | ||
198 | |||
199 | // TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4 | ||
200 | //** Default `.form-control` border radius | ||
201 | // This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS. | ||
202 | // $input-border-radius: $border-radius-base | ||
203 | //** Large `.form-control` border radius | ||
204 | // $input-border-radius-large: $border-radius-large | ||
205 | //** Small `.form-control` border radius | ||
206 | // $input-border-radius-small: $border-radius-small | ||
207 | |||
208 | //** Border color for inputs on focus | ||
209 | // $input-border-focus: #66afe9 | ||
210 | |||
211 | //** Placeholder text color | ||
212 | // $input-color-placeholder: #999 | ||
213 | |||
214 | //** Default `.form-control` height | ||
215 | // $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) | ||
216 | //** Large `.form-control` height | ||
217 | // $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) | ||
218 | //** Small `.form-control` height | ||
219 | // $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) | ||
220 | |||
221 | //** `.form-group` margin | ||
222 | // $form-group-margin-bottom: 15px | ||
223 | |||
224 | // $legend-color: $gray-dark | ||
225 | // $legend-border-color: #e5e5e5 | ||
226 | |||
227 | //** Background color for textual input addons | ||
228 | // $input-group-addon-bg: $gray-lighter | ||
229 | //** Border color for textual input addons | ||
230 | // $input-group-addon-border-color: $input-border | ||
231 | |||
232 | //** Disabled cursor for form controls and buttons. | ||
233 | // $cursor-disabled: not-allowed | ||
234 | |||
235 | |||
236 | //== Dropdowns | ||
237 | // | ||
238 | //## Dropdown menu container and contents. | ||
239 | |||
240 | //** Background for the dropdown menu. | ||
241 | // $dropdown-bg: #fff | ||
242 | //** Dropdown menu `border-color`. | ||
243 | // $dropdown-border: rgba(0,0,0,.15) | ||
244 | //** Dropdown menu `border-color` **for IE8**. | ||
245 | // $dropdown-fallback-border: #ccc | ||
246 | //** Divider color for between dropdown items. | ||
247 | // $dropdown-divider-bg: #e5e5e5 | ||
248 | |||
249 | //** Dropdown link text color. | ||
250 | // $dropdown-link-color: $gray-dark | ||
251 | //** Hover color for dropdown links. | ||
252 | // $dropdown-link-hover-color: darken($gray-dark, 5%) | ||
253 | //** Hover background for dropdown links. | ||
254 | // $dropdown-link-hover-bg: #f5f5f5 | ||
255 | |||
256 | //** Active dropdown menu item text color. | ||
257 | // $dropdown-link-active-color: $component-active-color | ||
258 | //** Active dropdown menu item background color. | ||
259 | // $dropdown-link-active-bg: $component-active-bg | ||
260 | |||
261 | //** Disabled dropdown menu item background color. | ||
262 | // $dropdown-link-disabled-color: $gray-light | ||
263 | |||
264 | //** Text color for headers within dropdown menus. | ||
265 | // $dropdown-header-color: $gray-light | ||
266 | |||
267 | //** Deprecated `$dropdown-caret-color` as of v3.1.0 | ||
268 | // $dropdown-caret-color: #000 | ||
269 | |||
270 | |||
271 | //-- Z-index master list | ||
272 | // | ||
273 | // Warning: Avoid customizing these values. They're used for a bird's eye view | ||
274 | // of components dependent on the z-axis and are designed to all work together. | ||
275 | // | ||
276 | // Note: These variables are not generated into the Customizer. | ||
277 | |||
278 | // $zindex-navbar: 1000 | ||
279 | // $zindex-dropdown: 1000 | ||
280 | // $zindex-popover: 1060 | ||
281 | // $zindex-tooltip: 1070 | ||
282 | // $zindex-navbar-fixed: 1030 | ||
283 | // $zindex-modal-background: 1040 | ||
284 | // $zindex-modal: 1050 | ||
285 | |||
286 | |||
287 | //== Media queries breakpoints | ||
288 | // | ||
289 | //## Define the breakpoints at which your layout will change, adapting to different screen sizes. | ||
290 | |||
291 | // Extra small screen / phone | ||
292 | //** Deprecated `$screen-xs` as of v3.0.1 | ||
293 | // $screen-xs: 480px | ||
294 | //** Deprecated `$screen-xs-min` as of v3.2.0 | ||
295 | // $screen-xs-min: $screen-xs | ||
296 | //** Deprecated `$screen-phone` as of v3.0.1 | ||
297 | // $screen-phone: $screen-xs-min | ||
298 | |||
299 | // Small screen / tablet | ||
300 | //** Deprecated `$screen-sm` as of v3.0.1 | ||
301 | // $screen-sm: 768px | ||
302 | // $screen-sm-min: $screen-sm | ||
303 | //** Deprecated `$screen-tablet` as of v3.0.1 | ||
304 | // $screen-tablet: $screen-sm-min | ||
305 | |||
306 | // Medium screen / desktop | ||
307 | //** Deprecated `$screen-md` as of v3.0.1 | ||
308 | // $screen-md: 992px | ||
309 | // $screen-md-min: $screen-md | ||
310 | //** Deprecated `$screen-desktop` as of v3.0.1 | ||
311 | // $screen-desktop: $screen-md-min | ||
312 | |||
313 | // Large screen / wide desktop | ||
314 | //** Deprecated `$screen-lg` as of v3.0.1 | ||
315 | // $screen-lg: 1200px | ||
316 | // $screen-lg-min: $screen-lg | ||
317 | //** Deprecated `$screen-lg-desktop` as of v3.0.1 | ||
318 | // $screen-lg-desktop: $screen-lg-min | ||
319 | |||
320 | // So media queries don't overlap when required, provide a maximum | ||
321 | // $screen-xs-max: ($screen-sm-min - 1) | ||
322 | // $screen-sm-max: ($screen-md-min - 1) | ||
323 | // $screen-md-max: ($screen-lg-min - 1) | ||
324 | |||
325 | |||
326 | //== Grid system | ||
327 | // | ||
328 | //## Define your custom responsive grid. | ||
329 | |||
330 | //** Number of columns in the grid. | ||
331 | // $grid-columns: 12 | ||
332 | //** Padding between columns. Gets divided in half for the left and right. | ||
333 | // $grid-gutter-width: 30px | ||
334 | // Navbar collapse | ||
335 | //** Point at which the navbar becomes uncollapsed. | ||
336 | // $grid-float-breakpoint: $screen-sm-min | ||
337 | //** Point at which the navbar begins collapsing. | ||
338 | // $grid-float-breakpoint-max: ($grid-float-breakpoint - 1) | ||
339 | |||
340 | |||
341 | //== Container sizes | ||
342 | // | ||
343 | //## Define the maximum width of `.container` for different screen sizes. | ||
344 | |||
345 | // Small screen / tablet | ||
346 | // $container-tablet: (720px + $grid-gutter-width) | ||
347 | //** For `$screen-sm-min` and up. | ||
348 | // $container-sm: $container-tablet | ||
349 | |||
350 | // Medium screen / desktop | ||
351 | // $container-desktop: (940px + $grid-gutter-width) | ||
352 | //** For `$screen-md-min` and up. | ||
353 | // $container-md: $container-desktop | ||
354 | |||
355 | // Large screen / wide desktop | ||
356 | // $container-large-desktop: (1140px + $grid-gutter-width) | ||
357 | //** For `$screen-lg-min` and up. | ||
358 | // $container-lg: $container-large-desktop | ||
359 | |||
360 | |||
361 | //== Navbar | ||
362 | // | ||
363 | //## | ||
364 | |||
365 | // Basics of a navbar | ||
366 | // $navbar-height: 50px | ||
367 | // $navbar-margin-bottom: $line-height-computed | ||
368 | // $navbar-border-radius: $border-radius-base | ||
369 | // $navbar-padding-horizontal: floor(($grid-gutter-width / 2)) | ||
370 | // $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) | ||
371 | // $navbar-collapse-max-height: 340px | ||
372 | |||
373 | // $navbar-default-color: #777 | ||
374 | // $navbar-default-bg: #f8f8f8 | ||
375 | // $navbar-default-border: darken($navbar-default-bg, 6.5%) | ||
376 | |||
377 | // Navbar links | ||
378 | // $navbar-default-link-color: #777 | ||
379 | // $navbar-default-link-hover-color: #333 | ||
380 | // $navbar-default-link-hover-bg: transparent | ||
381 | // $navbar-default-link-active-color: #555 | ||
382 | // $navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) | ||
383 | // $navbar-default-link-disabled-color: #ccc | ||
384 | // $navbar-default-link-disabled-bg: transparent | ||
385 | |||
386 | // Navbar brand label | ||
387 | // $navbar-default-brand-color: $navbar-default-link-color | ||
388 | // $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) | ||
389 | // $navbar-default-brand-hover-bg: transparent | ||
390 | |||
391 | // Navbar toggle | ||
392 | // $navbar-default-toggle-hover-bg: #ddd | ||
393 | // $navbar-default-toggle-icon-bar-bg: #888 | ||
394 | // $navbar-default-toggle-border-color: #ddd | ||
395 | |||
396 | |||
397 | //=== Inverted navbar | ||
398 | // Reset inverted navbar basics | ||
399 | // $navbar-inverse-color: lighten($gray-light, 15%) | ||
400 | // $navbar-inverse-bg: #222 | ||
401 | // $navbar-inverse-border: darken($navbar-inverse-bg, 10%) | ||
402 | |||
403 | // Inverted navbar links | ||
404 | // $navbar-inverse-link-color: lighten($gray-light, 15%) | ||
405 | // $navbar-inverse-link-hover-color: #fff | ||
406 | // $navbar-inverse-link-hover-bg: transparent | ||
407 | // $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color | ||
408 | // $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) | ||
409 | // $navbar-inverse-link-disabled-color: #444 | ||
410 | // $navbar-inverse-link-disabled-bg: transparent | ||
411 | |||
412 | // Inverted navbar brand label | ||
413 | // $navbar-inverse-brand-color: $navbar-inverse-link-color | ||
414 | // $navbar-inverse-brand-hover-color: #fff | ||
415 | // $navbar-inverse-brand-hover-bg: transparent | ||
416 | |||
417 | // Inverted navbar toggle | ||
418 | // $navbar-inverse-toggle-hover-bg: #333 | ||
419 | // $navbar-inverse-toggle-icon-bar-bg: #fff | ||
420 | // $navbar-inverse-toggle-border-color: #333 | ||
421 | |||
422 | |||
423 | //== Navs | ||
424 | // | ||
425 | //## | ||
426 | |||
427 | //=== Shared nav styles | ||
428 | // $nav-link-padding: 10px 15px | ||
429 | // $nav-link-hover-bg: $gray-lighter | ||
430 | |||
431 | // $nav-disabled-link-color: $gray-light | ||
432 | // $nav-disabled-link-hover-color: $gray-light | ||
433 | |||
434 | //== Tabs | ||
435 | // $nav-tabs-border-color: #ddd | ||
436 | |||
437 | // $nav-tabs-link-hover-border-color: $gray-lighter | ||
438 | |||
439 | // $nav-tabs-active-link-hover-bg: $body-bg | ||
440 | // $nav-tabs-active-link-hover-color: $gray | ||
441 | // $nav-tabs-active-link-hover-border-color: #ddd | ||
442 | |||
443 | // $nav-tabs-justified-link-border-color: #ddd | ||
444 | // $nav-tabs-justified-active-link-border-color: $body-bg | ||
445 | |||
446 | //== Pills | ||
447 | // $nav-pills-border-radius: $border-radius-base | ||
448 | // $nav-pills-active-link-hover-bg: $component-active-bg | ||
449 | // $nav-pills-active-link-hover-color: $component-active-color | ||
450 | |||
451 | |||
452 | //== Pagination | ||
453 | // | ||
454 | //## | ||
455 | |||
456 | // $pagination-color: $link-color | ||
457 | // $pagination-bg: #fff | ||
458 | // $pagination-border: #ddd | ||
459 | |||
460 | // $pagination-hover-color: $link-hover-color | ||
461 | // $pagination-hover-bg: $gray-lighter | ||
462 | // $pagination-hover-border: #ddd | ||
463 | |||
464 | // $pagination-active-color: #fff | ||
465 | // $pagination-active-bg: $brand-primary | ||
466 | // $pagination-active-border: $brand-primary | ||
467 | |||
468 | // $pagination-disabled-color: $gray-light | ||
469 | // $pagination-disabled-bg: #fff | ||
470 | // $pagination-disabled-border: #ddd | ||
471 | |||
472 | |||
473 | //== Pager | ||
474 | // | ||
475 | //## | ||
476 | |||
477 | // $pager-bg: $pagination-bg | ||
478 | // $pager-border: $pagination-border | ||
479 | // $pager-border-radius: 15px | ||
480 | |||
481 | // $pager-hover-bg: $pagination-hover-bg | ||
482 | |||
483 | // $pager-active-bg: $pagination-active-bg | ||
484 | // $pager-active-color: $pagination-active-color | ||
485 | |||
486 | // $pager-disabled-color: $pagination-disabled-color | ||
487 | |||
488 | |||
489 | //== Jumbotron | ||
490 | // | ||
491 | //## | ||
492 | |||
493 | // $jumbotron-padding: 30px | ||
494 | // $jumbotron-color: inherit | ||
495 | // $jumbotron-bg: $gray-lighter | ||
496 | // $jumbotron-heading-color: inherit | ||
497 | // $jumbotron-font-size: ceil(($font-size-base * 1.5)) | ||
498 | // $jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) | ||
499 | |||
500 | |||
501 | //== Form states and alerts | ||
502 | // | ||
503 | //## Define colors for form feedback states and, by default, alerts. | ||
504 | |||
505 | // $state-success-text: #3c763d | ||
506 | // $state-success-bg: #dff0d8 | ||
507 | // $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) | ||
508 | |||
509 | // $state-info-text: #31708f | ||
510 | // $state-info-bg: #d9edf7 | ||
511 | // $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) | ||
512 | |||
513 | // $state-warning-text: #8a6d3b | ||
514 | // $state-warning-bg: #fcf8e3 | ||
515 | // $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) | ||
516 | |||
517 | // $state-danger-text: #a94442 | ||
518 | // $state-danger-bg: #f2dede | ||
519 | // $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) | ||
520 | |||
521 | |||
522 | //== Tooltips | ||
523 | // | ||
524 | //## | ||
525 | |||
526 | //** Tooltip max width | ||
527 | // $tooltip-max-width: 200px | ||
528 | //** Tooltip text color | ||
529 | // $tooltip-color: #fff | ||
530 | //** Tooltip background color | ||
531 | // $tooltip-bg: #000 | ||
532 | // $tooltip-opacity: .9 | ||
533 | |||
534 | //** Tooltip arrow width | ||
535 | // $tooltip-arrow-width: 5px | ||
536 | //** Tooltip arrow color | ||
537 | // $tooltip-arrow-color: $tooltip-bg | ||
538 | |||
539 | |||
540 | //== Popovers | ||
541 | // | ||
542 | //## | ||
543 | |||
544 | //** Popover body background color | ||
545 | // $popover-bg: #fff | ||
546 | //** Popover maximum width | ||
547 | // $popover-max-width: 276px | ||
548 | //** Popover border color | ||
549 | // $popover-border-color: rgba(0,0,0,.2) | ||
550 | //** Popover fallback border color | ||
551 | // $popover-fallback-border-color: #ccc | ||
552 | |||
553 | //** Popover title background color | ||
554 | // $popover-title-bg: darken($popover-bg, 3%) | ||
555 | |||
556 | //** Popover arrow width | ||
557 | // $popover-arrow-width: 10px | ||
558 | //** Popover arrow color | ||
559 | // $popover-arrow-color: $popover-bg | ||
560 | |||
561 | //** Popover outer arrow width | ||
562 | // $popover-arrow-outer-width: ($popover-arrow-width + 1) | ||
563 | //** Popover outer arrow color | ||
564 | // $popover-arrow-outer-color: fade_in($popover-border-color, 0.05) | ||
565 | //** Popover outer arrow fallback color | ||
566 | // $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) | ||
567 | |||
568 | |||
569 | //== Labels | ||
570 | // | ||
571 | //## | ||
572 | |||
573 | //** Default label background color | ||
574 | // $label-default-bg: $gray-light | ||
575 | //** Primary label background color | ||
576 | // $label-primary-bg: $brand-primary | ||
577 | //** Success label background color | ||
578 | // $label-success-bg: $brand-success | ||
579 | //** Info label background color | ||
580 | // $label-info-bg: $brand-info | ||
581 | //** Warning label background color | ||
582 | // $label-warning-bg: $brand-warning | ||
583 | //** Danger label background color | ||
584 | // $label-danger-bg: $brand-danger | ||
585 | |||
586 | //** Default label text color | ||
587 | // $label-color: #fff | ||
588 | //** Default text color of a linked label | ||
589 | // $label-link-hover-color: #fff | ||
590 | |||
591 | |||
592 | //== Modals | ||
593 | // | ||
594 | //## | ||
595 | |||
596 | //** Padding applied to the modal body | ||
597 | // $modal-inner-padding: 15px | ||
598 | |||
599 | //** Padding applied to the modal title | ||
600 | // $modal-title-padding: 15px | ||
601 | //** Modal title line-height | ||
602 | // $modal-title-line-height: $line-height-base | ||
603 | |||
604 | //** Background color of modal content area | ||
605 | // $modal-content-bg: #fff | ||
606 | //** Modal content border color | ||
607 | // $modal-content-border-color: rgba(0,0,0,.2) | ||
608 | //** Modal content border color **for IE8** | ||
609 | // $modal-content-fallback-border-color: #999 | ||
610 | |||
611 | //** Modal backdrop background color | ||
612 | // $modal-backdrop-bg: #000 | ||
613 | //** Modal backdrop opacity | ||
614 | // $modal-backdrop-opacity: .5 | ||
615 | //** Modal header border color | ||
616 | // $modal-header-border-color: #e5e5e5 | ||
617 | //** Modal footer border color | ||
618 | // $modal-footer-border-color: $modal-header-border-color | ||
619 | |||
620 | // $modal-lg: 900px | ||
621 | // $modal-md: 600px | ||
622 | // $modal-sm: 300px | ||
623 | |||
624 | |||
625 | //== Alerts | ||
626 | // | ||
627 | //## Define alert colors, border radius, and padding. | ||
628 | |||
629 | // $alert-padding: 15px | ||
630 | // $alert-border-radius: $border-radius-base | ||
631 | // $alert-link-font-weight: bold | ||
632 | |||
633 | // $alert-success-bg: $state-success-bg | ||
634 | // $alert-success-text: $state-success-text | ||
635 | // $alert-success-border: $state-success-border | ||
636 | |||
637 | // $alert-info-bg: $state-info-bg | ||
638 | // $alert-info-text: $state-info-text | ||
639 | // $alert-info-border: $state-info-border | ||
640 | |||
641 | // $alert-warning-bg: $state-warning-bg | ||
642 | // $alert-warning-text: $state-warning-text | ||
643 | // $alert-warning-border: $state-warning-border | ||
644 | |||
645 | // $alert-danger-bg: $state-danger-bg | ||
646 | // $alert-danger-text: $state-danger-text | ||
647 | // $alert-danger-border: $state-danger-border | ||
648 | |||
649 | |||
650 | //== Progress bars | ||
651 | // | ||
652 | //## | ||
653 | |||
654 | //** Background color of the whole progress component | ||
655 | // $progress-bg: #f5f5f5 | ||
656 | //** Progress bar text color | ||
657 | // $progress-bar-color: #fff | ||
658 | //** Variable for setting rounded corners on progress bar. | ||
659 | // $progress-border-radius: $border-radius-base | ||
660 | |||
661 | //** Default progress bar color | ||
662 | // $progress-bar-bg: $brand-primary | ||
663 | //** Success progress bar color | ||
664 | // $progress-bar-success-bg: $brand-success | ||
665 | //** Warning progress bar color | ||
666 | // $progress-bar-warning-bg: $brand-warning | ||
667 | //** Danger progress bar color | ||
668 | // $progress-bar-danger-bg: $brand-danger | ||
669 | //** Info progress bar color | ||
670 | // $progress-bar-info-bg: $brand-info | ||
671 | |||
672 | |||
673 | //== List group | ||
674 | // | ||
675 | //## | ||
676 | |||
677 | //** Background color on `.list-group-item` | ||
678 | // $list-group-bg: #fff | ||
679 | //** `.list-group-item` border color | ||
680 | // $list-group-border: #ddd | ||
681 | //** List group border radius | ||
682 | // $list-group-border-radius: $border-radius-base | ||
683 | |||
684 | //** Background color of single list items on hover | ||
685 | // $list-group-hover-bg: #f5f5f5 | ||
686 | //** Text color of active list items | ||
687 | // $list-group-active-color: $component-active-color | ||
688 | //** Background color of active list items | ||
689 | // $list-group-active-bg: $component-active-bg | ||
690 | //** Border color of active list elements | ||
691 | // $list-group-active-border: $list-group-active-bg | ||
692 | //** Text color for content within active list items | ||
693 | // $list-group-active-text-color: lighten($list-group-active-bg, 40%) | ||
694 | |||
695 | //** Text color of disabled list items | ||
696 | // $list-group-disabled-color: $gray-light | ||
697 | //** Background color of disabled list items | ||
698 | // $list-group-disabled-bg: $gray-lighter | ||
699 | //** Text color for content within disabled list items | ||
700 | // $list-group-disabled-text-color: $list-group-disabled-color | ||
701 | |||
702 | // $list-group-link-color: #555 | ||
703 | // $list-group-link-hover-color: $list-group-link-color | ||
704 | // $list-group-link-heading-color: #333 | ||
705 | |||
706 | |||
707 | //== Panels | ||
708 | // | ||
709 | //## | ||
710 | |||
711 | // $panel-bg: #fff | ||
712 | // $panel-body-padding: 15px | ||
713 | // $panel-heading-padding: 10px 15px | ||
714 | // $panel-footer-padding: $panel-heading-padding | ||
715 | // $panel-border-radius: $border-radius-base | ||
716 | |||
717 | //** Border color for elements within panels | ||
718 | // $panel-inner-border: #ddd | ||
719 | // $panel-footer-bg: #f5f5f5 | ||
720 | |||
721 | // $panel-default-text: $gray-dark | ||
722 | // $panel-default-border: #ddd | ||
723 | // $panel-default-heading-bg: #f5f5f5 | ||
724 | |||
725 | // $panel-primary-text: #fff | ||
726 | // $panel-primary-border: $brand-primary | ||
727 | // $panel-primary-heading-bg: $brand-primary | ||
728 | |||
729 | // $panel-success-text: $state-success-text | ||
730 | // $panel-success-border: $state-success-border | ||
731 | // $panel-success-heading-bg: $state-success-bg | ||
732 | |||
733 | // $panel-info-text: $state-info-text | ||
734 | // $panel-info-border: $state-info-border | ||
735 | // $panel-info-heading-bg: $state-info-bg | ||
736 | |||
737 | // $panel-warning-text: $state-warning-text | ||
738 | // $panel-warning-border: $state-warning-border | ||
739 | // $panel-warning-heading-bg: $state-warning-bg | ||
740 | |||
741 | // $panel-danger-text: $state-danger-text | ||
742 | // $panel-danger-border: $state-danger-border | ||
743 | // $panel-danger-heading-bg: $state-danger-bg | ||
744 | |||
745 | |||
746 | //== Thumbnails | ||
747 | // | ||
748 | //## | ||
749 | |||
750 | //** Padding around the thumbnail image | ||
751 | // $thumbnail-padding: 4px | ||
752 | //** Thumbnail background color | ||
753 | // $thumbnail-bg: $body-bg | ||
754 | //** Thumbnail border color | ||
755 | // $thumbnail-border: #ddd | ||
756 | //** Thumbnail border radius | ||
757 | // $thumbnail-border-radius: $border-radius-base | ||
758 | |||
759 | //** Custom text color for thumbnail captions | ||
760 | // $thumbnail-caption-color: $text-color | ||
761 | //** Padding around the thumbnail caption | ||
762 | // $thumbnail-caption-padding: 9px | ||
763 | |||
764 | |||
765 | //== Wells | ||
766 | // | ||
767 | //## | ||
768 | |||
769 | // $well-bg: #f5f5f5 | ||
770 | // $well-border: darken($well-bg, 7%) | ||
771 | |||
772 | |||
773 | //== Badges | ||
774 | // | ||
775 | //## | ||
776 | |||
777 | // $badge-color: #fff | ||
778 | //** Linked badge text color on hover | ||
779 | // $badge-link-hover-color: #fff | ||
780 | // $badge-bg: $gray-light | ||
781 | |||
782 | //** Badge text color in active nav link | ||
783 | // $badge-active-color: $link-color | ||
784 | //** Badge background color in active nav link | ||
785 | // $badge-active-bg: #fff | ||
786 | |||
787 | // $badge-font-weight: bold | ||
788 | // $badge-line-height: 1 | ||
789 | // $badge-border-radius: 10px | ||
790 | |||
791 | |||
792 | //== Breadcrumbs | ||
793 | // | ||
794 | //## | ||
795 | |||
796 | // $breadcrumb-padding-vertical: 8px | ||
797 | // $breadcrumb-padding-horizontal: 15px | ||
798 | //** Breadcrumb background color | ||
799 | // $breadcrumb-bg: #f5f5f5 | ||
800 | //** Breadcrumb text color | ||
801 | // $breadcrumb-color: #ccc | ||
802 | //** Text color of current page in the breadcrumb | ||
803 | // $breadcrumb-active-color: $gray-light | ||
804 | //** Textual separator for between breadcrumb elements | ||
805 | // $breadcrumb-separator: "/" | ||
806 | |||
807 | |||
808 | //== Carousel | ||
809 | // | ||
810 | //## | ||
811 | |||
812 | // $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) | ||
813 | |||
814 | // $carousel-control-color: #fff | ||
815 | // $carousel-control-width: 15% | ||
816 | // $carousel-control-opacity: .5 | ||
817 | // $carousel-control-font-size: 20px | ||
818 | |||
819 | // $carousel-indicator-active-bg: #fff | ||
820 | // $carousel-indicator-border-color: #fff | ||
821 | |||
822 | // $carousel-caption-color: #fff | ||
823 | |||
824 | |||
825 | //== Close | ||
826 | // | ||
827 | //## | ||
828 | |||
829 | // $close-font-weight: bold | ||
830 | // $close-color: #000 | ||
831 | // $close-text-shadow: 0 1px 0 #fff | ||
832 | |||
833 | |||
834 | //== Code | ||
835 | // | ||
836 | //## | ||
837 | |||
838 | // $code-color: #c7254e | ||
839 | // $code-bg: #f9f2f4 | ||
840 | |||
841 | // $kbd-color: #fff | ||
842 | // $kbd-bg: #333 | ||
843 | |||
844 | // $pre-bg: #f5f5f5 | ||
845 | // $pre-color: $gray-dark | ||
846 | // $pre-border-color: #ccc | ||
847 | // $pre-scrollable-max-height: 340px | ||
848 | |||
849 | |||
850 | //== Type | ||
851 | // | ||
852 | //## | ||
853 | |||
854 | //** Horizontal offset for forms and lists. | ||
855 | // $component-offset-horizontal: 180px | ||
856 | //** Text muted color | ||
857 | // $text-muted: $gray-light | ||
858 | //** Abbreviations and acronyms border color | ||
859 | // $abbr-border-color: $gray-light | ||
860 | //** Headings small color | ||
861 | // $headings-small-color: $gray-light | ||
862 | //** Blockquote small color | ||
863 | // $blockquote-small-color: $gray-light | ||
864 | //** Blockquote font size | ||
865 | // $blockquote-font-size: ($font-size-base * 1.25) | ||
866 | //** Blockquote border color | ||
867 | // $blockquote-border-color: $gray-lighter | ||
868 | //** Page header border color | ||
869 | // $page-header-border-color: $gray-lighter | ||
870 | //** Width of horizontal description list titles | ||
871 | // $dl-horizontal-offset: $component-offset-horizontal | ||
872 | //** Point at which .dl-horizontal becomes horizontal | ||
873 | // $dl-horizontal-breakpoint: $grid-float-breakpoint | ||
874 | //** Horizontal line color. | ||
875 | // $hr-border: $gray-lighter | ||
diff --git a/client/app/stylesheets/index.scss b/client/app/stylesheets/index.scss new file mode 100644 index 000000000..d13dcfa90 --- /dev/null +++ b/client/app/stylesheets/index.scss | |||
@@ -0,0 +1,88 @@ | |||
1 | .span_action { | ||
2 | margin: 5px; | ||
3 | cursor: pointer; | ||
4 | } | ||
5 | |||
6 | header div { | ||
7 | height: 50px; | ||
8 | line-height: 25px; | ||
9 | margin-bottom: 50px; | ||
10 | } | ||
11 | |||
12 | menu { | ||
13 | margin-right: 20px; | ||
14 | border-right: 1px solid rgba(0, 0, 0, 0.2); | ||
15 | } | ||
16 | |||
17 | menu .panel_button { | ||
18 | margin: 8px; | ||
19 | cursor: pointer; | ||
20 | transition: margin 0.2s; | ||
21 | } | ||
22 | |||
23 | menu .panel_button:hover { | ||
24 | margin-left: 15px; | ||
25 | } | ||
26 | |||
27 | menu .glyphicon { | ||
28 | margin: 5px; | ||
29 | } | ||
30 | |||
31 | #ajax_load { | ||
32 | min-height: 500px; | ||
33 | } | ||
34 | |||
35 | .loading { | ||
36 | display: inline-block; | ||
37 | margin-top: 100px; | ||
38 | } | ||
39 | |||
40 | .video { | ||
41 | margin-bottom: 10px; | ||
42 | transition: margin 0.5s ease; | ||
43 | } | ||
44 | |||
45 | .video:hover { | ||
46 | margin-left: 5px; | ||
47 | } | ||
48 | |||
49 | .video_name { | ||
50 | cursor: pointer; | ||
51 | margin-right: 5px; | ||
52 | } | ||
53 | |||
54 | .video_pod_url { | ||
55 | font-size: small; | ||
56 | color: rgba(0, 0, 0, 0.5); | ||
57 | } | ||
58 | |||
59 | .video_description { | ||
60 | font-size: small; | ||
61 | font-style: italic; | ||
62 | margin-left: 7px; | ||
63 | } | ||
64 | |||
65 | .btn-file { | ||
66 | position: relative; | ||
67 | overflow: hidden; | ||
68 | } | ||
69 | .btn-file input[type=file] { | ||
70 | position: absolute; | ||
71 | top: 0; | ||
72 | right: 0; | ||
73 | min-width: 100%; | ||
74 | min-height: 100%; | ||
75 | font-size: 100px; | ||
76 | text-align: right; | ||
77 | filter: alpha(opacity=0); | ||
78 | opacity: 0; | ||
79 | outline: none; | ||
80 | background: white; | ||
81 | cursor: inherit; | ||
82 | display: block; | ||
83 | } | ||
84 | |||
85 | .name_file { | ||
86 | display: inline-block; | ||
87 | margin-left: 10px; | ||
88 | } \ No newline at end of file | ||