.
9 |
10 | .list-group {
11 | // No need to set list-style: none; since .list-group-item is block level
12 | margin-bottom: 20px;
13 | padding-left: 0; // reset padding because ul and ol
14 | }
15 |
16 |
17 | // Individual list items
18 | //
19 | // Use on `li`s or `div`s within the `.list-group` parent.
20 |
21 | .list-group-item {
22 | position: relative;
23 | display: block;
24 | padding: 10px 15px;
25 | // Place the border on the list items and negative margin up for better styling
26 | margin-bottom: -1px;
27 | background-color: @list-group-bg;
28 | border: 1px solid @list-group-border;
29 |
30 | // Round the first and last items
31 | &:first-child {
32 | .border-top-radius(@list-group-border-radius);
33 | }
34 | &:last-child {
35 | margin-bottom: 0;
36 | .border-bottom-radius(@list-group-border-radius);
37 | }
38 |
39 | // Align badges within list items
40 | > .badge {
41 | float: right;
42 | }
43 | > .badge + .badge {
44 | margin-right: 5px;
45 | }
46 | }
47 |
48 |
49 | // Linked list items
50 | //
51 | // Use anchor elements instead of `li`s or `div`s to create linked list items.
52 | // Includes an extra `.active` modifier class for showing selected items.
53 |
54 | a.list-group-item {
55 | color: @list-group-link-color;
56 |
57 | .list-group-item-heading {
58 | color: @list-group-link-heading-color;
59 | }
60 |
61 | // Hover state
62 | &:hover,
63 | &:focus {
64 | text-decoration: none;
65 | background-color: @list-group-hover-bg;
66 | }
67 |
68 | // Active class on item itself, not parent
69 | &.active,
70 | &.active:hover,
71 | &.active:focus {
72 | z-index: 2; // Place active items above their siblings for proper border styling
73 | color: @list-group-active-color;
74 | background-color: @list-group-active-bg;
75 | border-color: @list-group-active-border;
76 |
77 | // Force color to inherit for custom content
78 | .list-group-item-heading {
79 | color: inherit;
80 | }
81 | .list-group-item-text {
82 | color: @list-group-active-text-color;
83 | }
84 | }
85 | }
86 |
87 |
88 | // Contextual variants
89 | //
90 | // Add modifier classes to change text and background color on individual items.
91 | // Organizationally, this must come after the `:hover` states.
92 |
93 | .list-group-item-variant(success; @state-success-bg; @state-success-text);
94 | .list-group-item-variant(info; @state-info-bg; @state-info-text);
95 | .list-group-item-variant(warning; @state-warning-bg; @state-warning-text);
96 | .list-group-item-variant(danger; @state-danger-bg; @state-danger-text);
97 |
98 |
99 | // Custom content options
100 | //
101 | // Extra classes for creating well-formatted content within `.list-group-item`s.
102 |
103 | .list-group-item-heading {
104 | margin-top: 0;
105 | margin-bottom: 5px;
106 | }
107 | .list-group-item-text {
108 | margin-bottom: 0;
109 | line-height: 1.3;
110 | }
111 |
--------------------------------------------------------------------------------
/assets/css/less/media.less:
--------------------------------------------------------------------------------
1 | // Media objects
2 | // Source: http://stubbornella.org/content/?p=497
3 | // --------------------------------------------------
4 |
5 |
6 | // Common styles
7 | // -------------------------
8 |
9 | // Clear the floats
10 | .media,
11 | .media-body {
12 | overflow: hidden;
13 | zoom: 1;
14 | }
15 |
16 | // Proper spacing between instances of .media
17 | .media,
18 | .media .media {
19 | margin-top: 15px;
20 | }
21 | .media:first-child {
22 | margin-top: 0;
23 | }
24 |
25 | // For images and videos, set to block
26 | .media-object {
27 | display: block;
28 | }
29 |
30 | // Reset margins on headings for tighter default spacing
31 | .media-heading {
32 | margin: 0 0 5px;
33 | }
34 |
35 |
36 | // Media image alignment
37 | // -------------------------
38 |
39 | .media {
40 | > .pull-left {
41 | margin-right: 10px;
42 | }
43 | > .pull-right {
44 | margin-left: 10px;
45 | }
46 | }
47 |
48 |
49 | // Media list variation
50 | // -------------------------
51 |
52 | // Undo default ul/ol styles
53 | .media-list {
54 | padding-left: 0;
55 | list-style: none;
56 | }
57 |
--------------------------------------------------------------------------------
/assets/css/less/modals.less:
--------------------------------------------------------------------------------
1 | //
2 | // Modals
3 | // --------------------------------------------------
4 |
5 | // .modal-open - body class for killing the scroll
6 | // .modal - container to scroll within
7 | // .modal-dialog - positioning shell for the actual modal
8 | // .modal-content - actual modal w/ bg and corners and shit
9 |
10 | // Kill the scroll on the body
11 | .modal-open {
12 | overflow: hidden;
13 | }
14 |
15 | // Container that the modal scrolls within
16 | .modal {
17 | display: none;
18 | overflow: auto;
19 | overflow-y: scroll;
20 | position: fixed;
21 | top: 0;
22 | right: 0;
23 | bottom: 0;
24 | left: 0;
25 | z-index: @zindex-modal;
26 | -webkit-overflow-scrolling: touch;
27 |
28 | // Prevent Chrome on Windows from adding a focus outline. For details, see
29 | // https://github.com/twbs/bootstrap/pull/10951.
30 | outline: 0;
31 |
32 | // When fading in the modal, animate it to slide down
33 | &.fade .modal-dialog {
34 | .translate(0, -25%);
35 | .transition-transform(~"0.3s ease-out");
36 | }
37 | &.in .modal-dialog { .translate(0, 0)}
38 | }
39 |
40 | // Shell div to position the modal with bottom padding
41 | .modal-dialog {
42 | position: relative;
43 | width: auto;
44 | margin: 10px;
45 | }
46 |
47 | // Actual modal
48 | .modal-content {
49 | position: relative;
50 | background-color: @modal-content-bg;
51 | border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
52 | border: 1px solid @modal-content-border-color;
53 | border-radius: @border-radius-large;
54 | .box-shadow(0 3px 9px rgba(0,0,0,.5));
55 | background-clip: padding-box;
56 | // Remove focus outline from opened modal
57 | outline: none;
58 | }
59 |
60 | // Modal background
61 | .modal-backdrop {
62 | position: fixed;
63 | top: 0;
64 | right: 0;
65 | bottom: 0;
66 | left: 0;
67 | z-index: @zindex-modal-background;
68 | background-color: @modal-backdrop-bg;
69 | // Fade for backdrop
70 | &.fade { .opacity(0); }
71 | &.in { .opacity(@modal-backdrop-opacity); }
72 | }
73 |
74 | // Modal header
75 | // Top section of the modal w/ title and dismiss
76 | .modal-header {
77 | padding: @modal-title-padding;
78 | border-bottom: 1px solid @modal-header-border-color;
79 | min-height: (@modal-title-padding + @modal-title-line-height);
80 | }
81 | // Close icon
82 | .modal-header .close {
83 | margin-top: -2px;
84 | }
85 |
86 | // Title text within header
87 | .modal-title {
88 | margin: 0;
89 | line-height: @modal-title-line-height;
90 | }
91 |
92 | // Modal body
93 | // Where all modal content resides (sibling of .modal-header and .modal-footer)
94 | .modal-body {
95 | position: relative;
96 | padding: @modal-inner-padding;
97 | }
98 |
99 | // Footer (for actions)
100 | .modal-footer {
101 | margin-top: 15px;
102 | padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;
103 | text-align: right; // right align buttons
104 | border-top: 1px solid @modal-footer-border-color;
105 | &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
106 |
107 | // Properly space out buttons
108 | .btn + .btn {
109 | margin-left: 5px;
110 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
111 | }
112 | // but override that for button groups
113 | .btn-group .btn + .btn {
114 | margin-left: -1px;
115 | }
116 | // and override it for block buttons as well
117 | .btn-block + .btn-block {
118 | margin-left: 0;
119 | }
120 | }
121 |
122 | // Scale up the modal
123 | @media (min-width: @screen-sm-min) {
124 | // Automatically set modal's width for larger viewports
125 | .modal-dialog {
126 | width: @modal-md;
127 | margin: 30px auto;
128 | }
129 | .modal-content {
130 | .box-shadow(0 5px 15px rgba(0,0,0,.5));
131 | }
132 |
133 | // Modal sizes
134 | .modal-sm { width: @modal-sm; }
135 | }
136 |
137 | @media (min-width: @screen-md-min) {
138 | .modal-lg { width: @modal-lg; }
139 | }
140 |
--------------------------------------------------------------------------------
/assets/css/less/navs.less:
--------------------------------------------------------------------------------
1 | //
2 | // Navs
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | // --------------------------------------------------
8 |
9 | .nav {
10 | margin-bottom: 0;
11 | padding-left: 0; // Override default ul/ol
12 | list-style: none;
13 | &:extend(.clearfix all);
14 |
15 | > li {
16 | position: relative;
17 | display: block;
18 |
19 | > a {
20 | position: relative;
21 | display: block;
22 | padding: @nav-link-padding;
23 | &:hover,
24 | &:focus {
25 | text-decoration: none;
26 | background-color: @nav-link-hover-bg;
27 | }
28 | }
29 |
30 | // Disabled state sets text to gray and nukes hover/tab effects
31 | &.disabled > a {
32 | color: @nav-disabled-link-color;
33 |
34 | &:hover,
35 | &:focus {
36 | color: @nav-disabled-link-hover-color;
37 | text-decoration: none;
38 | background-color: transparent;
39 | cursor: not-allowed;
40 | }
41 | }
42 | }
43 |
44 | // Open dropdowns
45 | .open > a {
46 | &,
47 | &:hover,
48 | &:focus {
49 | background-color: @nav-link-hover-bg;
50 | border-color: @link-color;
51 | }
52 | }
53 |
54 | // Nav dividers (deprecated with v3.0.1)
55 | //
56 | // This should have been removed in v3 with the dropping of `.nav-list`, but
57 | // we missed it. We don't currently support this anywhere, but in the interest
58 | // of maintaining backward compatibility in case you use it, it's deprecated.
59 | .nav-divider {
60 | .nav-divider();
61 | }
62 |
63 | // Prevent IE8 from misplacing imgs
64 | //
65 | // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
66 | > li > a > img {
67 | max-width: none;
68 | }
69 | }
70 |
71 |
72 | // Tabs
73 | // -------------------------
74 |
75 | // Give the tabs something to sit on
76 | .nav-tabs {
77 | border-bottom: 1px solid @nav-tabs-border-color;
78 | > li {
79 | float: left;
80 | // Make the list-items overlay the bottom border
81 | margin-bottom: -1px;
82 |
83 | // Actual tabs (as links)
84 | > a {
85 | margin-right: 2px;
86 | line-height: @line-height-base;
87 | border: 1px solid transparent;
88 | border-radius: @border-radius-base @border-radius-base 0 0;
89 | &:hover {
90 | border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
91 | }
92 | }
93 |
94 | // Active state, and its :hover to override normal :hover
95 | &.active > a {
96 | &,
97 | &:hover,
98 | &:focus {
99 | color: @nav-tabs-active-link-hover-color;
100 | background-color: @nav-tabs-active-link-hover-bg;
101 | border: 1px solid @nav-tabs-active-link-hover-border-color;
102 | border-bottom-color: transparent;
103 | cursor: default;
104 | }
105 | }
106 | }
107 | // pulling this in mainly for less shorthand
108 | &.nav-justified {
109 | .nav-justified();
110 | .nav-tabs-justified();
111 | }
112 | }
113 |
114 |
115 | // Pills
116 | // -------------------------
117 | .nav-pills {
118 | > li {
119 | float: left;
120 |
121 | // Links rendered as pills
122 | > a {
123 | border-radius: @nav-pills-border-radius;
124 | }
125 | + li {
126 | margin-left: 2px;
127 | }
128 |
129 | // Active state
130 | &.active > a {
131 | &,
132 | &:hover,
133 | &:focus {
134 | color: @nav-pills-active-link-hover-color;
135 | background-color: @nav-pills-active-link-hover-bg;
136 | }
137 | }
138 | }
139 | }
140 |
141 |
142 | // Stacked pills
143 | .nav-stacked {
144 | > li {
145 | float: none;
146 | + li {
147 | margin-top: 2px;
148 | margin-left: 0; // no need for this gap between nav items
149 | }
150 | }
151 | }
152 |
153 |
154 | // Nav variations
155 | // --------------------------------------------------
156 |
157 | // Justified nav links
158 | // -------------------------
159 |
160 | .nav-justified {
161 | width: 100%;
162 |
163 | > li {
164 | float: none;
165 | > a {
166 | text-align: center;
167 | margin-bottom: 5px;
168 | }
169 | }
170 |
171 | > .dropdown .dropdown-menu {
172 | top: auto;
173 | left: auto;
174 | }
175 |
176 | @media (min-width: @screen-sm-min) {
177 | > li {
178 | display: table-cell;
179 | width: 1%;
180 | > a {
181 | margin-bottom: 0;
182 | }
183 | }
184 | }
185 | }
186 |
187 | // Move borders to anchors instead of bottom of list
188 | //
189 | // Mixin for adding on top the shared `.nav-justified` styles for our tabs
190 | .nav-tabs-justified {
191 | border-bottom: 0;
192 |
193 | > li > a {
194 | // Override margin from .nav-tabs
195 | margin-right: 0;
196 | border-radius: @border-radius-base;
197 | }
198 |
199 | > .active > a,
200 | > .active > a:hover,
201 | > .active > a:focus {
202 | border: 1px solid @nav-tabs-justified-link-border-color;
203 | }
204 |
205 | @media (min-width: @screen-sm-min) {
206 | > li > a {
207 | border-bottom: 1px solid @nav-tabs-justified-link-border-color;
208 | border-radius: @border-radius-base @border-radius-base 0 0;
209 | }
210 | > .active > a,
211 | > .active > a:hover,
212 | > .active > a:focus {
213 | border-bottom-color: @nav-tabs-justified-active-link-border-color;
214 | }
215 | }
216 | }
217 |
218 |
219 | // Tabbable tabs
220 | // -------------------------
221 |
222 | // Hide tabbable panes to start, show them when `.active`
223 | .tab-content {
224 | > .tab-pane {
225 | display: none;
226 | }
227 | > .active {
228 | display: block;
229 | }
230 | }
231 |
232 |
233 | // Dropdowns
234 | // -------------------------
235 |
236 | // Specific dropdowns
237 | .nav-tabs .dropdown-menu {
238 | // make dropdown border overlap tab border
239 | margin-top: -1px;
240 | // Remove the top rounded corners here since there is a hard edge above the menu
241 | .border-top-radius(0);
242 | }
243 |
--------------------------------------------------------------------------------
/assets/css/less/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | &:extend(.clearfix all);
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pager-bg;
19 | border: 1px solid @pager-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pager-bg;
51 | cursor: not-allowed;
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/assets/css/less/pagination.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pagination (multiple pages)
3 | // --------------------------------------------------
4 | .pagination {
5 | display: inline-block;
6 | padding-left: 0;
7 | margin: @line-height-computed 0;
8 | border-radius: @border-radius-base;
9 |
10 | > li {
11 | display: inline; // Remove list-style and block-level defaults
12 | > a,
13 | > span {
14 | position: relative;
15 | float: left; // Collapse white-space
16 | padding: @padding-base-vertical @padding-base-horizontal;
17 | line-height: @line-height-base;
18 | text-decoration: none;
19 | color: @pagination-color;
20 | background-color: @pagination-bg;
21 | border: 1px solid @pagination-border;
22 | margin-left: -1px;
23 | }
24 | &:first-child {
25 | > a,
26 | > span {
27 | margin-left: 0;
28 | .border-left-radius(@border-radius-base);
29 | }
30 | }
31 | &:last-child {
32 | > a,
33 | > span {
34 | .border-right-radius(@border-radius-base);
35 | }
36 | }
37 | }
38 |
39 | > li > a,
40 | > li > span {
41 | &:hover,
42 | &:focus {
43 | color: @pagination-hover-color;
44 | background-color: @pagination-hover-bg;
45 | border-color: @pagination-hover-border;
46 | }
47 | }
48 |
49 | > .active > a,
50 | > .active > span {
51 | &,
52 | &:hover,
53 | &:focus {
54 | z-index: 2;
55 | color: @pagination-active-color;
56 | background-color: @pagination-active-bg;
57 | border-color: @pagination-active-border;
58 | cursor: default;
59 | }
60 | }
61 |
62 | > .disabled {
63 | > span,
64 | > span:hover,
65 | > span:focus,
66 | > a,
67 | > a:hover,
68 | > a:focus {
69 | color: @pagination-disabled-color;
70 | background-color: @pagination-disabled-bg;
71 | border-color: @pagination-disabled-border;
72 | cursor: not-allowed;
73 | }
74 | }
75 | }
76 |
77 | // Sizing
78 | // --------------------------------------------------
79 |
80 | // Large
81 | .pagination-lg {
82 | .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
83 | }
84 |
85 | // Small
86 | .pagination-sm {
87 | .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
88 | }
89 |
--------------------------------------------------------------------------------
/assets/css/less/panels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Panels
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .panel {
8 | margin-bottom: @line-height-computed;
9 | background-color: @panel-bg;
10 | border: 1px solid transparent;
11 | border-radius: @panel-border-radius;
12 | .box-shadow(0 1px 1px rgba(0,0,0,.05));
13 | }
14 |
15 | // Panel contents
16 | .panel-body {
17 | padding: @panel-body-padding;
18 | &:extend(.clearfix all);
19 | }
20 |
21 | // Optional heading
22 | .panel-heading {
23 | padding: 10px 15px;
24 | border-bottom: 1px solid transparent;
25 | .border-top-radius((@panel-border-radius - 1));
26 |
27 | > .dropdown .dropdown-toggle {
28 | color: inherit;
29 | }
30 | }
31 |
32 | // Within heading, strip any `h*` tag of its default margins for spacing.
33 | .panel-title {
34 | margin-top: 0;
35 | margin-bottom: 0;
36 | font-size: ceil((@font-size-base * 1.125));
37 | color: inherit;
38 |
39 | > a {
40 | color: inherit;
41 | }
42 | }
43 |
44 | // Optional footer (stays gray in every modifier class)
45 | .panel-footer {
46 | padding: 10px 15px;
47 | background-color: @panel-footer-bg;
48 | border-top: 1px solid @panel-inner-border;
49 | .border-bottom-radius((@panel-border-radius - 1));
50 | }
51 |
52 |
53 | // List groups in panels
54 | //
55 | // By default, space out list group content from panel headings to account for
56 | // any kind of custom content between the two.
57 |
58 | .panel {
59 | > .list-group {
60 | margin-bottom: 0;
61 |
62 | .list-group-item {
63 | border-width: 1px 0;
64 | border-radius: 0;
65 | }
66 |
67 | // Add border top radius for first one
68 | &:first-child {
69 | .list-group-item:first-child {
70 | border-top: 0;
71 | .border-top-radius((@panel-border-radius - 1));
72 | }
73 | }
74 | // Add border bottom radius for last one
75 | &:last-child {
76 | .list-group-item:last-child {
77 | border-bottom: 0;
78 | .border-bottom-radius((@panel-border-radius - 1));
79 | }
80 | }
81 | }
82 | }
83 | // Collapse space between when there's no additional content.
84 | .panel-heading + .list-group {
85 | .list-group-item:first-child {
86 | border-top-width: 0;
87 | }
88 | }
89 |
90 |
91 | // Tables in panels
92 | //
93 | // Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
94 | // watch it go full width.
95 |
96 | .panel {
97 | > .table,
98 | > .table-responsive > .table {
99 | margin-bottom: 0;
100 | }
101 | // Add border top radius for first one
102 | > .table:first-child,
103 | > .table-responsive:first-child > .table:first-child {
104 | .border-top-radius((@panel-border-radius - 1));
105 |
106 | > thead:first-child,
107 | > tbody:first-child {
108 | > tr:first-child {
109 | td:first-child,
110 | th:first-child {
111 | border-top-left-radius: (@panel-border-radius - 1);
112 | }
113 | td:last-child,
114 | th:last-child {
115 | border-top-right-radius: (@panel-border-radius - 1);
116 | }
117 | }
118 | }
119 | }
120 | // Add border bottom radius for last one
121 | > .table:last-child,
122 | > .table-responsive:last-child > .table:last-child {
123 | .border-bottom-radius((@panel-border-radius - 1));
124 |
125 | > tbody:last-child,
126 | > tfoot:last-child {
127 | > tr:last-child {
128 | td:first-child,
129 | th:first-child {
130 | border-bottom-left-radius: (@panel-border-radius - 1);
131 | }
132 | td:last-child,
133 | th:last-child {
134 | border-bottom-right-radius: (@panel-border-radius - 1);
135 | }
136 | }
137 | }
138 | }
139 | > .panel-body + .table,
140 | > .panel-body + .table-responsive {
141 | border-top: 1px solid @table-border-color;
142 | }
143 | > .table > tbody:first-child > tr:first-child th,
144 | > .table > tbody:first-child > tr:first-child td {
145 | border-top: 0;
146 | }
147 | > .table-bordered,
148 | > .table-responsive > .table-bordered {
149 | border: 0;
150 | > thead,
151 | > tbody,
152 | > tfoot {
153 | > tr {
154 | > th:first-child,
155 | > td:first-child {
156 | border-left: 0;
157 | }
158 | > th:last-child,
159 | > td:last-child {
160 | border-right: 0;
161 | }
162 | }
163 | }
164 | > thead,
165 | > tbody {
166 | > tr:first-child {
167 | > td,
168 | > th {
169 | border-bottom: 0;
170 | }
171 | }
172 | }
173 | > tbody,
174 | > tfoot {
175 | > tr:last-child {
176 | > td,
177 | > th {
178 | border-bottom: 0;
179 | }
180 | }
181 | }
182 | }
183 | > .table-responsive {
184 | border: 0;
185 | margin-bottom: 0;
186 | }
187 | }
188 |
189 |
190 | // Collapsable panels (aka, accordion)
191 | //
192 | // Wrap a series of panels in `.panel-group` to turn them into an accordion with
193 | // the help of our collapse JavaScript plugin.
194 |
195 | .panel-group {
196 | margin-bottom: @line-height-computed;
197 |
198 | // Tighten up margin so it's only between panels
199 | .panel {
200 | margin-bottom: 0;
201 | border-radius: @panel-border-radius;
202 | overflow: hidden; // crop contents when collapsed
203 | + .panel {
204 | margin-top: 5px;
205 | }
206 | }
207 |
208 | .panel-heading {
209 | border-bottom: 0;
210 | + .panel-collapse .panel-body {
211 | border-top: 1px solid @panel-inner-border;
212 | }
213 | }
214 | .panel-footer {
215 | border-top: 0;
216 | + .panel-collapse .panel-body {
217 | border-bottom: 1px solid @panel-inner-border;
218 | }
219 | }
220 | }
221 |
222 |
223 | // Contextual variations
224 | .panel-default {
225 | .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
226 | }
227 | .panel-primary {
228 | .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
229 | }
230 | .panel-success {
231 | .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
232 | }
233 | .panel-info {
234 | .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
235 | }
236 | .panel-warning {
237 | .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
238 | }
239 | .panel-danger {
240 | .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
241 | }
242 |
--------------------------------------------------------------------------------
/assets/css/less/popovers.less:
--------------------------------------------------------------------------------
1 | //
2 | // Popovers
3 | // --------------------------------------------------
4 |
5 |
6 | .popover {
7 | position: absolute;
8 | top: 0;
9 | left: 0;
10 | z-index: @zindex-popover;
11 | display: none;
12 | max-width: @popover-max-width;
13 | padding: 1px;
14 | text-align: left; // Reset given new insertion method
15 | background-color: @popover-bg;
16 | background-clip: padding-box;
17 | border: 1px solid @popover-fallback-border-color;
18 | border: 1px solid @popover-border-color;
19 | border-radius: @border-radius-large;
20 | .box-shadow(0 5px 10px rgba(0,0,0,.2));
21 |
22 | // Overrides for proper insertion
23 | white-space: normal;
24 |
25 | // Offset the popover to account for the popover arrow
26 | &.top { margin-top: -@popover-arrow-width; }
27 | &.right { margin-left: @popover-arrow-width; }
28 | &.bottom { margin-top: @popover-arrow-width; }
29 | &.left { margin-left: -@popover-arrow-width; }
30 | }
31 |
32 | .popover-title {
33 | margin: 0; // reset heading margin
34 | padding: 8px 14px;
35 | font-size: @font-size-base;
36 | font-weight: normal;
37 | line-height: 18px;
38 | background-color: @popover-title-bg;
39 | border-bottom: 1px solid darken(@popover-title-bg, 5%);
40 | border-radius: 5px 5px 0 0;
41 | }
42 |
43 | .popover-content {
44 | padding: 9px 14px;
45 | }
46 |
47 | // Arrows
48 | //
49 | // .arrow is outer, .arrow:after is inner
50 |
51 | .popover > .arrow {
52 | &,
53 | &:after {
54 | position: absolute;
55 | display: block;
56 | width: 0;
57 | height: 0;
58 | border-color: transparent;
59 | border-style: solid;
60 | }
61 | }
62 | .popover > .arrow {
63 | border-width: @popover-arrow-outer-width;
64 | }
65 | .popover > .arrow:after {
66 | border-width: @popover-arrow-width;
67 | content: "";
68 | }
69 |
70 | .popover {
71 | &.top > .arrow {
72 | left: 50%;
73 | margin-left: -@popover-arrow-outer-width;
74 | border-bottom-width: 0;
75 | border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
76 | border-top-color: @popover-arrow-outer-color;
77 | bottom: -@popover-arrow-outer-width;
78 | &:after {
79 | content: " ";
80 | bottom: 1px;
81 | margin-left: -@popover-arrow-width;
82 | border-bottom-width: 0;
83 | border-top-color: @popover-arrow-color;
84 | }
85 | }
86 | &.right > .arrow {
87 | top: 50%;
88 | left: -@popover-arrow-outer-width;
89 | margin-top: -@popover-arrow-outer-width;
90 | border-left-width: 0;
91 | border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
92 | border-right-color: @popover-arrow-outer-color;
93 | &:after {
94 | content: " ";
95 | left: 1px;
96 | bottom: -@popover-arrow-width;
97 | border-left-width: 0;
98 | border-right-color: @popover-arrow-color;
99 | }
100 | }
101 | &.bottom > .arrow {
102 | left: 50%;
103 | margin-left: -@popover-arrow-outer-width;
104 | border-top-width: 0;
105 | border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
106 | border-bottom-color: @popover-arrow-outer-color;
107 | top: -@popover-arrow-outer-width;
108 | &:after {
109 | content: " ";
110 | top: 1px;
111 | margin-left: -@popover-arrow-width;
112 | border-top-width: 0;
113 | border-bottom-color: @popover-arrow-color;
114 | }
115 | }
116 |
117 | &.left > .arrow {
118 | top: 50%;
119 | right: -@popover-arrow-outer-width;
120 | margin-top: -@popover-arrow-outer-width;
121 | border-right-width: 0;
122 | border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
123 | border-left-color: @popover-arrow-outer-color;
124 | &:after {
125 | content: " ";
126 | right: 1px;
127 | border-right-width: 0;
128 | border-left-color: @popover-arrow-color;
129 | bottom: -@popover-arrow-width;
130 | }
131 | }
132 |
133 | }
134 |
--------------------------------------------------------------------------------
/assets/css/less/print.less:
--------------------------------------------------------------------------------
1 | //
2 | // Basic print styles
3 | // --------------------------------------------------
4 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
5 |
6 | @media print {
7 |
8 | * {
9 | text-shadow: none !important;
10 | color: #000 !important; // Black prints faster: h5bp.com/s
11 | background: transparent !important;
12 | box-shadow: none !important;
13 | }
14 |
15 | a,
16 | a:visited {
17 | text-decoration: underline;
18 | }
19 |
20 | a[href]:after {
21 | content: " (" attr(href) ")";
22 | }
23 |
24 | abbr[title]:after {
25 | content: " (" attr(title) ")";
26 | }
27 |
28 | // Don't show links for images, or javascript/internal links
29 | a[href^="javascript:"]:after,
30 | a[href^="#"]:after {
31 | content: "";
32 | }
33 |
34 | pre,
35 | blockquote {
36 | border: 1px solid #999;
37 | page-break-inside: avoid;
38 | }
39 |
40 | thead {
41 | display: table-header-group; // h5bp.com/t
42 | }
43 |
44 | tr,
45 | img {
46 | page-break-inside: avoid;
47 | }
48 |
49 | img {
50 | max-width: 100% !important;
51 | }
52 |
53 | p,
54 | h2,
55 | h3 {
56 | orphans: 3;
57 | widows: 3;
58 | }
59 |
60 | h2,
61 | h3 {
62 | page-break-after: avoid;
63 | }
64 |
65 | // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
66 | // Once fixed, we can just straight up remove this.
67 | select {
68 | background: #fff !important;
69 | }
70 |
71 | // Bootstrap components
72 | .navbar {
73 | display: none;
74 | }
75 | .table {
76 | td,
77 | th {
78 | background-color: #fff !important;
79 | }
80 | }
81 | .btn,
82 | .dropup > .btn {
83 | > .caret {
84 | border-top-color: #000 !important;
85 | }
86 | }
87 | .label {
88 | border: 1px solid #000;
89 | }
90 |
91 | .table {
92 | border-collapse: collapse !important;
93 | }
94 | .table-bordered {
95 | th,
96 | td {
97 | border: 1px solid #ddd !important;
98 | }
99 | }
100 |
101 | }
102 |
--------------------------------------------------------------------------------
/assets/css/less/progress-bars.less:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // WebKit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Spec and IE10+
16 | @keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 |
22 |
23 | // Bar itself
24 | // -------------------------
25 |
26 | // Outer container
27 | .progress {
28 | overflow: hidden;
29 | height: @line-height-computed;
30 | margin-bottom: @line-height-computed;
31 | background-color: @progress-bg;
32 | border-radius: @border-radius-base;
33 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
34 | }
35 |
36 | // Bar of progress
37 | .progress-bar {
38 | float: left;
39 | width: 0%;
40 | height: 100%;
41 | font-size: @font-size-small;
42 | line-height: @line-height-computed;
43 | color: @progress-bar-color;
44 | text-align: center;
45 | background-color: @progress-bar-bg;
46 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
47 | .transition(width .6s ease);
48 | }
49 |
50 | // Striped bars
51 | .progress-striped .progress-bar {
52 | #gradient > .striped();
53 | background-size: 40px 40px;
54 | }
55 |
56 | // Call animation for the active one
57 | .progress.active .progress-bar {
58 | .animation(progress-bar-stripes 2s linear infinite);
59 | }
60 |
61 |
62 |
63 | // Variations
64 | // -------------------------
65 |
66 | .progress-bar-success {
67 | .progress-bar-variant(@progress-bar-success-bg);
68 | }
69 |
70 | .progress-bar-info {
71 | .progress-bar-variant(@progress-bar-info-bg);
72 | }
73 |
74 | .progress-bar-warning {
75 | .progress-bar-variant(@progress-bar-warning-bg);
76 | }
77 |
78 | .progress-bar-danger {
79 | .progress-bar-variant(@progress-bar-danger-bg);
80 | }
81 |
--------------------------------------------------------------------------------
/assets/css/less/responsive-utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Responsive: Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // IE10 in Windows (Phone) 8
7 | //
8 | // Support for responsive views via media queries is kind of borked in IE10, for
9 | // Surface/desktop in split view and for Windows Phone 8. This particular fix
10 | // must be accompanied by a snippet of JavaScript to sniff the user agent and
11 | // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
12 | // our Getting Started page for more information on this bug.
13 | //
14 | // For more information, see the following:
15 | //
16 | // Issue: https://github.com/twbs/bootstrap/issues/10497
17 | // Docs: http://getbootstrap.com/getting-started/#browsers
18 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
19 |
20 | @-ms-viewport {
21 | width: device-width;
22 | }
23 |
24 |
25 | // Visibility utilities
26 | .visible-xs,
27 | .visible-sm,
28 | .visible-md,
29 | .visible-lg {
30 | .responsive-invisibility();
31 | }
32 |
33 | .visible-xs {
34 | @media (max-width: @screen-xs-max) {
35 | .responsive-visibility();
36 | }
37 | }
38 | .visible-sm {
39 | @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
40 | .responsive-visibility();
41 | }
42 | }
43 | .visible-md {
44 | @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
45 | .responsive-visibility();
46 | }
47 | }
48 | .visible-lg {
49 | @media (min-width: @screen-lg-min) {
50 | .responsive-visibility();
51 | }
52 | }
53 |
54 | .hidden-xs {
55 | @media (max-width: @screen-xs-max) {
56 | .responsive-invisibility();
57 | }
58 | }
59 | .hidden-sm {
60 | @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
61 | .responsive-invisibility();
62 | }
63 | }
64 | .hidden-md {
65 | @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
66 | .responsive-invisibility();
67 | }
68 | }
69 | .hidden-lg {
70 | @media (min-width: @screen-lg-min) {
71 | .responsive-invisibility();
72 | }
73 | }
74 |
75 |
76 | // Print utilities
77 | //
78 | // Media queries are placed on the inside to be mixin-friendly.
79 |
80 | .visible-print {
81 | .responsive-invisibility();
82 |
83 | @media print {
84 | .responsive-visibility();
85 | }
86 | }
87 |
88 | .hidden-print {
89 | @media print {
90 | .responsive-invisibility();
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/assets/css/less/scaffolding.less:
--------------------------------------------------------------------------------
1 | //
2 | // Scaffolding
3 | // --------------------------------------------------
4 |
5 |
6 | // Reset the box-sizing
7 | //
8 | // Heads up! This reset may cause conflicts with some third-party widgets.
9 | // For recommendations on resolving such conflicts, see
10 | // http://getbootstrap.com/getting-started/#third-box-sizing
11 | * {
12 | .box-sizing(border-box);
13 | }
14 | *:before,
15 | *:after {
16 | .box-sizing(border-box);
17 | }
18 |
19 |
20 | // Body reset
21 |
22 | html {
23 | font-size: 62.5%;
24 | -webkit-tap-highlight-color: rgba(0,0,0,0);
25 | }
26 |
27 | body {
28 | font-family: @font-family-base;
29 | font-size: @font-size-base;
30 | line-height: @line-height-base;
31 | color: @text-color;
32 | background-color: @body-bg;
33 | }
34 |
35 | // Reset fonts for relevant elements
36 | input,
37 | button,
38 | select,
39 | textarea {
40 | font-family: inherit;
41 | font-size: inherit;
42 | line-height: inherit;
43 | }
44 |
45 |
46 | // Links
47 |
48 | a {
49 | color: @link-color;
50 | text-decoration: none;
51 |
52 | &:hover,
53 | &:focus {
54 | color: @link-hover-color;
55 | text-decoration: underline;
56 | }
57 |
58 | &:focus {
59 | .tab-focus();
60 | }
61 | }
62 |
63 |
64 | // Figures
65 | //
66 | // We reset this here because previously Normalize had no `figure` margins. This
67 | // ensures we don't break anyone's use of the element.
68 |
69 | figure {
70 | margin: 0;
71 | }
72 |
73 |
74 | // Images
75 |
76 | img {
77 | vertical-align: middle;
78 | }
79 |
80 | // Responsive images (ensure images don't scale beyond their parents)
81 | .img-responsive {
82 | .img-responsive();
83 | }
84 |
85 | // Rounded corners
86 | .img-rounded {
87 | border-radius: @border-radius-large;
88 | }
89 |
90 | // Image thumbnails
91 | //
92 | // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
93 | .img-thumbnail {
94 | padding: @thumbnail-padding;
95 | line-height: @line-height-base;
96 | background-color: @thumbnail-bg;
97 | border: 1px solid @thumbnail-border;
98 | border-radius: @thumbnail-border-radius;
99 | .transition(all .2s ease-in-out);
100 |
101 | // Keep them at most 100% wide
102 | .img-responsive(inline-block);
103 | }
104 |
105 | // Perfect circle
106 | .img-circle {
107 | border-radius: 50%; // set radius in percents
108 | }
109 |
110 |
111 | // Horizontal rules
112 |
113 | hr {
114 | margin-top: @line-height-computed;
115 | margin-bottom: @line-height-computed;
116 | border: 0;
117 | border-top: 1px solid @hr-border;
118 | }
119 |
120 |
121 | // Only display content to screen readers
122 | //
123 | // See: http://a11yproject.com/posts/how-to-hide-content/
124 |
125 | .sr-only {
126 | position: absolute;
127 | width: 1px;
128 | height: 1px;
129 | margin: -1px;
130 | padding: 0;
131 | overflow: hidden;
132 | clip: rect(0,0,0,0);
133 | border: 0;
134 | }
135 |
--------------------------------------------------------------------------------
/assets/css/less/tables.less:
--------------------------------------------------------------------------------
1 | //
2 | // Tables
3 | // --------------------------------------------------
4 |
5 |
6 | table {
7 | max-width: 100%;
8 | background-color: @table-bg;
9 | }
10 | th {
11 | text-align: left;
12 | }
13 |
14 |
15 | // Baseline styles
16 |
17 | .table {
18 | width: 100%;
19 | margin-bottom: @line-height-computed;
20 | // Cells
21 | > thead,
22 | > tbody,
23 | > tfoot {
24 | > tr {
25 | > th,
26 | > td {
27 | padding: @table-cell-padding;
28 | line-height: @line-height-base;
29 | vertical-align: top;
30 | border-top: 1px solid @table-border-color;
31 | }
32 | }
33 | }
34 | // Bottom align for column headings
35 | > thead > tr > th {
36 | vertical-align: bottom;
37 | border-bottom: 2px solid @table-border-color;
38 | }
39 | // Remove top border from thead by default
40 | > caption + thead,
41 | > colgroup + thead,
42 | > thead:first-child {
43 | > tr:first-child {
44 | > th,
45 | > td {
46 | border-top: 0;
47 | }
48 | }
49 | }
50 | // Account for multiple tbody instances
51 | > tbody + tbody {
52 | border-top: 2px solid @table-border-color;
53 | }
54 |
55 | // Nesting
56 | .table {
57 | background-color: @body-bg;
58 | }
59 | }
60 |
61 |
62 | // Condensed table w/ half padding
63 |
64 | .table-condensed {
65 | > thead,
66 | > tbody,
67 | > tfoot {
68 | > tr {
69 | > th,
70 | > td {
71 | padding: @table-condensed-cell-padding;
72 | }
73 | }
74 | }
75 | }
76 |
77 |
78 | // Bordered version
79 | //
80 | // Add borders all around the table and between all the columns.
81 |
82 | .table-bordered {
83 | border: 1px solid @table-border-color;
84 | > thead,
85 | > tbody,
86 | > tfoot {
87 | > tr {
88 | > th,
89 | > td {
90 | border: 1px solid @table-border-color;
91 | }
92 | }
93 | }
94 | > thead > tr {
95 | > th,
96 | > td {
97 | border-bottom-width: 2px;
98 | }
99 | }
100 | }
101 |
102 |
103 | // Zebra-striping
104 | //
105 | // Default zebra-stripe styles (alternating gray and transparent backgrounds)
106 |
107 | .table-striped {
108 | > tbody > tr:nth-child(odd) {
109 | > td,
110 | > th {
111 | background-color: @table-bg-accent;
112 | }
113 | }
114 | }
115 |
116 |
117 | // Hover effect
118 | //
119 | // Placed here since it has to come after the potential zebra striping
120 |
121 | .table-hover {
122 | > tbody > tr:hover {
123 | > td,
124 | > th {
125 | background-color: @table-bg-hover;
126 | }
127 | }
128 | }
129 |
130 |
131 | // Table cell sizing
132 | //
133 | // Reset default table behavior
134 |
135 | table col[class*="col-"] {
136 | position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
137 | float: none;
138 | display: table-column;
139 | }
140 | table {
141 | td,
142 | th {
143 | &[class*="col-"] {
144 | position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
145 | float: none;
146 | display: table-cell;
147 | }
148 | }
149 | }
150 |
151 |
152 | // Table backgrounds
153 | //
154 | // Exact selectors below required to override `.table-striped` and prevent
155 | // inheritance to nested tables.
156 |
157 | // Generate the contextual variants
158 | .table-row-variant(active; @table-bg-active);
159 | .table-row-variant(success; @state-success-bg);
160 | .table-row-variant(info; @state-info-bg);
161 | .table-row-variant(warning; @state-warning-bg);
162 | .table-row-variant(danger; @state-danger-bg);
163 |
164 |
165 | // Responsive tables
166 | //
167 | // Wrap your tables in `.table-responsive` and we'll make them mobile friendly
168 | // by enabling horizontal scrolling. Only applies <768px. Everything above that
169 | // will display normally.
170 |
171 | @media (max-width: @screen-xs-max) {
172 | .table-responsive {
173 | width: 100%;
174 | margin-bottom: (@line-height-computed * 0.75);
175 | overflow-y: hidden;
176 | overflow-x: scroll;
177 | -ms-overflow-style: -ms-autohiding-scrollbar;
178 | border: 1px solid @table-border-color;
179 | -webkit-overflow-scrolling: touch;
180 |
181 | // Tighten up spacing
182 | > .table {
183 | margin-bottom: 0;
184 |
185 | // Ensure the content doesn't wrap
186 | > thead,
187 | > tbody,
188 | > tfoot {
189 | > tr {
190 | > th,
191 | > td {
192 | white-space: nowrap;
193 | }
194 | }
195 | }
196 | }
197 |
198 | // Special overrides for the bordered tables
199 | > .table-bordered {
200 | border: 0;
201 |
202 | // Nuke the appropriate borders so that the parent can handle them
203 | > thead,
204 | > tbody,
205 | > tfoot {
206 | > tr {
207 | > th:first-child,
208 | > td:first-child {
209 | border-left: 0;
210 | }
211 | > th:last-child,
212 | > td:last-child {
213 | border-right: 0;
214 | }
215 | }
216 | }
217 |
218 | // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
219 | // chances are there will be only one `tr` in a `thead` and that would
220 | // remove the border altogether.
221 | > tbody,
222 | > tfoot {
223 | > tr:last-child {
224 | > th,
225 | > td {
226 | border-bottom: 0;
227 | }
228 | }
229 | }
230 |
231 | }
232 | }
233 | }
234 |
--------------------------------------------------------------------------------
/assets/css/less/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: @thumbnail-padding;
10 | margin-bottom: @line-height-computed;
11 | line-height: @line-height-base;
12 | background-color: @thumbnail-bg;
13 | border: 1px solid @thumbnail-border;
14 | border-radius: @thumbnail-border-radius;
15 | .transition(all .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | &:extend(.img-responsive);
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // Add a hover state for linked versions only
25 | a&:hover,
26 | a&:focus,
27 | a&.active {
28 | border-color: @link-color;
29 | }
30 |
31 | // Image captions
32 | .caption {
33 | padding: @thumbnail-caption-padding;
34 | color: @thumbnail-caption-color;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/assets/css/less/tooltip.less:
--------------------------------------------------------------------------------
1 | //
2 | // Tooltips
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .tooltip {
8 | position: absolute;
9 | z-index: @zindex-tooltip;
10 | display: block;
11 | visibility: visible;
12 | font-size: @font-size-small;
13 | line-height: 1.4;
14 | .opacity(0);
15 |
16 | &.in { .opacity(@tooltip-opacity); }
17 | &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
18 | &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
19 | &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
20 | &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
21 | }
22 |
23 | // Wrapper for the tooltip content
24 | .tooltip-inner {
25 | max-width: @tooltip-max-width;
26 | padding: 3px 8px;
27 | color: @tooltip-color;
28 | text-align: center;
29 | text-decoration: none;
30 | background-color: @tooltip-bg;
31 | border-radius: @border-radius-base;
32 | }
33 |
34 | // Arrows
35 | .tooltip-arrow {
36 | position: absolute;
37 | width: 0;
38 | height: 0;
39 | border-color: transparent;
40 | border-style: solid;
41 | }
42 | .tooltip {
43 | &.top .tooltip-arrow {
44 | bottom: 0;
45 | left: 50%;
46 | margin-left: -@tooltip-arrow-width;
47 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
48 | border-top-color: @tooltip-arrow-color;
49 | }
50 | &.top-left .tooltip-arrow {
51 | bottom: 0;
52 | left: @tooltip-arrow-width;
53 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
54 | border-top-color: @tooltip-arrow-color;
55 | }
56 | &.top-right .tooltip-arrow {
57 | bottom: 0;
58 | right: @tooltip-arrow-width;
59 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
60 | border-top-color: @tooltip-arrow-color;
61 | }
62 | &.right .tooltip-arrow {
63 | top: 50%;
64 | left: 0;
65 | margin-top: -@tooltip-arrow-width;
66 | border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
67 | border-right-color: @tooltip-arrow-color;
68 | }
69 | &.left .tooltip-arrow {
70 | top: 50%;
71 | right: 0;
72 | margin-top: -@tooltip-arrow-width;
73 | border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
74 | border-left-color: @tooltip-arrow-color;
75 | }
76 | &.bottom .tooltip-arrow {
77 | top: 0;
78 | left: 50%;
79 | margin-left: -@tooltip-arrow-width;
80 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
81 | border-bottom-color: @tooltip-arrow-color;
82 | }
83 | &.bottom-left .tooltip-arrow {
84 | top: 0;
85 | left: @tooltip-arrow-width;
86 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
87 | border-bottom-color: @tooltip-arrow-color;
88 | }
89 | &.bottom-right .tooltip-arrow {
90 | top: 0;
91 | right: @tooltip-arrow-width;
92 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93 | border-bottom-color: @tooltip-arrow-color;
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/assets/css/less/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .center-block {
13 | .center-block();
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | .text-hide();
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | visibility: hidden !important;
48 | }
49 |
50 |
51 | // For Affix plugin
52 | // -------------------------
53 |
54 | .affix {
55 | position: fixed;
56 | }
57 |
--------------------------------------------------------------------------------
/assets/css/less/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid @well-border;
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/assets/css/lightbox.min.css:
--------------------------------------------------------------------------------
1 | body:after{content:url(../img/lightbox/close.png) url(../img/lightbox/loading.gif) url(../img/lightbox/prev.png) url(../img/lightbox/next.png);display:none}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}.lightbox a img{border:none}.lb-outerContainer{position:relative;background-color:#fff;*zoom:1;width:250px;height:250px;margin:0 auto;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-container{padding:4px}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../img/lightbox/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../img/lightbox/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../img/lightbox/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;*zoom:1;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../img/lightbox/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
--------------------------------------------------------------------------------
/assets/fonts/ElegantIcons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/ElegantIcons.eot
--------------------------------------------------------------------------------
/assets/fonts/ElegantIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/ElegantIcons.ttf
--------------------------------------------------------------------------------
/assets/fonts/ElegantIcons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/ElegantIcons.woff
--------------------------------------------------------------------------------
/assets/fonts/Pe-icon-7-stroke.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/Pe-icon-7-stroke.eot
--------------------------------------------------------------------------------
/assets/fonts/Pe-icon-7-stroke.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/Pe-icon-7-stroke.ttf
--------------------------------------------------------------------------------
/assets/fonts/Pe-icon-7-stroke.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/fonts/Pe-icon-7-stroke.woff
--------------------------------------------------------------------------------
/assets/img/16684326949_3f300eacf7_z.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/16684326949_3f300eacf7_z.jpg
--------------------------------------------------------------------------------
/assets/img/16685244587_dc6defba93_z.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/16685244587_dc6defba93_z.jpg
--------------------------------------------------------------------------------
/assets/img/16704948658_0dff7bd62c_z.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/16704948658_0dff7bd62c_z.jpg
--------------------------------------------------------------------------------
/assets/img/3dprinter.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/3dprinter.JPG
--------------------------------------------------------------------------------
/assets/img/Asia Open Source Event FOSSASIA_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Asia Open Source Event FOSSASIA_0.JPG
--------------------------------------------------------------------------------
/assets/img/Badgeyay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Badgeyay.png
--------------------------------------------------------------------------------
/assets/img/DSC_0291_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0291_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0446_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0446_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0450_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0450_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0502_1_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0502_1_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0508_1_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0508_1_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0525_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0525_0.JPG
--------------------------------------------------------------------------------
/assets/img/DSC_0567_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/DSC_0567_0.JPG
--------------------------------------------------------------------------------
/assets/img/FFII.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/FFII.png
--------------------------------------------------------------------------------
/assets/img/FOSSASIA 2011 Open Source Software Conference_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/FOSSASIA 2011 Open Source Software Conference_0.JPG
--------------------------------------------------------------------------------
/assets/img/FOSSASIA Open Source Hong Phuc Dang Free Software Community_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/FOSSASIA Open Source Hong Phuc Dang Free Software Community_0.JPG
--------------------------------------------------------------------------------
/assets/img/FOSSASIA Social Event on Boat_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/FOSSASIA Social Event on Boat_0.JPG
--------------------------------------------------------------------------------
/assets/img/Free Open Source Summit Asia FOSSASIA_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Free Open Source Summit Asia FOSSASIA_0.JPG
--------------------------------------------------------------------------------
/assets/img/Girls in Open Source and IT FOSSASIA_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Girls in Open Source and IT FOSSASIA_0.JPG
--------------------------------------------------------------------------------
/assets/img/Google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Google.png
--------------------------------------------------------------------------------
/assets/img/HongPhucFOSSASIA.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/HongPhucFOSSASIA.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1132_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1132_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1146_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1146_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1154_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1154_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1165_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1165_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1175_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1175_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1180_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1180_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1215_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1215_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1243_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1243_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_1250_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_1250_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_4460.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_4460.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_4947_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_4947_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_4972_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_4972_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_5111_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_5111_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_5368_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_5368_0.JPG
--------------------------------------------------------------------------------
/assets/img/IMG_6615.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/IMG_6615.jpg
--------------------------------------------------------------------------------
/assets/img/Internet_Society_SG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Internet_Society_SG.png
--------------------------------------------------------------------------------
/assets/img/Libre-Graphics-Jon-Phillips-Participants-fossasia2010.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Libre-Graphics-Jon-Phillips-Participants-fossasia2010.JPG
--------------------------------------------------------------------------------
/assets/img/Linuxpilot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Linuxpilot.png
--------------------------------------------------------------------------------
/assets/img/OpenEventAndroidApp.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/OpenEventAndroidApp.jpg
--------------------------------------------------------------------------------
/assets/img/OpenEventAndroidApp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/OpenEventAndroidApp.png
--------------------------------------------------------------------------------
/assets/img/OpenEventAndroidApp2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/OpenEventAndroidApp2.png
--------------------------------------------------------------------------------
/assets/img/OpenTechSummit-LinuxCommunity.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/OpenTechSummit-LinuxCommunity.jpg
--------------------------------------------------------------------------------
/assets/img/SoumyaDeb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/SoumyaDeb.jpg
--------------------------------------------------------------------------------
/assets/img/Wordpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/Wordpress.png
--------------------------------------------------------------------------------
/assets/img/asksusi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/asksusi.png
--------------------------------------------------------------------------------
/assets/img/ayab-knitting.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/ayab-knitting.jpg
--------------------------------------------------------------------------------
/assets/img/bodyapps-3d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/bodyapps-3d.png
--------------------------------------------------------------------------------
/assets/img/bodyapps-female-3d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/bodyapps-female-3d.jpg
--------------------------------------------------------------------------------
/assets/img/bodyapps-ui-3d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/bodyapps-ui-3d.jpg
--------------------------------------------------------------------------------
/assets/img/cambodia-vietnamese-malaysian-participants-fossasia-2010.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/cambodia-vietnamese-malaysian-participants-fossasia-2010.jpg
--------------------------------------------------------------------------------
/assets/img/chooser.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/chooser.jpg
--------------------------------------------------------------------------------
/assets/img/citybg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/citybg.jpg
--------------------------------------------------------------------------------
/assets/img/community-map.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/community-map.jpg
--------------------------------------------------------------------------------
/assets/img/community-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/community-map.png
--------------------------------------------------------------------------------
/assets/img/engelsystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/engelsystem.png
--------------------------------------------------------------------------------
/assets/img/flappy-svg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/flappy-svg.jpg
--------------------------------------------------------------------------------
/assets/img/fossasia-2010-group-foto-contributors.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossasia-2010-group-foto-contributors.JPG
--------------------------------------------------------------------------------
/assets/img/fossasia-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossasia-dark.png
--------------------------------------------------------------------------------
/assets/img/fossasia-long.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossasia-long.png
--------------------------------------------------------------------------------
/assets/img/fossasia-squarewhite-path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossasia-squarewhite-path.png
--------------------------------------------------------------------------------
/assets/img/fossaspa-app.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossaspa-app.jpg
--------------------------------------------------------------------------------
/assets/img/fossaspa-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/fossaspa-app.png
--------------------------------------------------------------------------------
/assets/img/grey-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/grey-bg.jpg
--------------------------------------------------------------------------------
/assets/img/hackerspacesg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hackerspacesg.png
--------------------------------------------------------------------------------
/assets/img/header-fossasia.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/header-fossasia.jpg
--------------------------------------------------------------------------------
/assets/img/hero1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero1.jpg
--------------------------------------------------------------------------------
/assets/img/hero2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero2.jpg
--------------------------------------------------------------------------------
/assets/img/hero3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero3.jpg
--------------------------------------------------------------------------------
/assets/img/hero4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero4.jpg
--------------------------------------------------------------------------------
/assets/img/hero5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero5.jpg
--------------------------------------------------------------------------------
/assets/img/hero6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero6.jpg
--------------------------------------------------------------------------------
/assets/img/hero7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero7.jpg
--------------------------------------------------------------------------------
/assets/img/hero8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hero8.jpg
--------------------------------------------------------------------------------
/assets/img/hongphucdang.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hongphucdang.jpg
--------------------------------------------------------------------------------
/assets/img/hotel1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/hotel1.jpg
--------------------------------------------------------------------------------
/assets/img/ida-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/ida-logo.png
--------------------------------------------------------------------------------
/assets/img/kaiyuanshe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/kaiyuanshe.png
--------------------------------------------------------------------------------
/assets/img/kaiyuanshe_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/kaiyuanshe_big.png
--------------------------------------------------------------------------------
/assets/img/knittingeditor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/knittingeditor.png
--------------------------------------------------------------------------------
/assets/img/knittingpattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/knittingpattern.png
--------------------------------------------------------------------------------
/assets/img/labyrinth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/labyrinth.png
--------------------------------------------------------------------------------
/assets/img/lb1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb1.jpg
--------------------------------------------------------------------------------
/assets/img/lb2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb2.jpg
--------------------------------------------------------------------------------
/assets/img/lb3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb3.jpg
--------------------------------------------------------------------------------
/assets/img/lb4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb4.jpg
--------------------------------------------------------------------------------
/assets/img/lb5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb5.jpg
--------------------------------------------------------------------------------
/assets/img/lb6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb6.jpg
--------------------------------------------------------------------------------
/assets/img/lb7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb7.jpg
--------------------------------------------------------------------------------
/assets/img/lb8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lb8.jpg
--------------------------------------------------------------------------------
/assets/img/lightbox/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lightbox/close.png
--------------------------------------------------------------------------------
/assets/img/lightbox/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lightbox/loading.gif
--------------------------------------------------------------------------------
/assets/img/lightbox/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lightbox/next.png
--------------------------------------------------------------------------------
/assets/img/lightbox/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lightbox/prev.png
--------------------------------------------------------------------------------
/assets/img/logo-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/logo-dark.png
--------------------------------------------------------------------------------
/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/logo.png
--------------------------------------------------------------------------------
/assets/img/loklak-fossasia.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/loklak-fossasia.jpg
--------------------------------------------------------------------------------
/assets/img/loklak.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/loklak.jpg
--------------------------------------------------------------------------------
/assets/img/lubuntu-fossasia-julien-lavergne_0.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lubuntu-fossasia-julien-lavergne_0.JPG
--------------------------------------------------------------------------------
/assets/img/lubuntu-netbook.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/lubuntu-netbook.jpg
--------------------------------------------------------------------------------
/assets/img/machine-knitting.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/machine-knitting.jpg
--------------------------------------------------------------------------------
/assets/img/meilix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/meilix.png
--------------------------------------------------------------------------------
/assets/img/open-event-orga-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/open-event-orga-app.png
--------------------------------------------------------------------------------
/assets/img/open-event.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/open-event.jpg
--------------------------------------------------------------------------------
/assets/img/phimpme.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/phimpme.jpg
--------------------------------------------------------------------------------
/assets/img/phimpme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/phimpme.png
--------------------------------------------------------------------------------
/assets/img/pierros-papadeas-with-fossasia-participants.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/pierros-papadeas-with-fossasia-participants.JPG
--------------------------------------------------------------------------------
/assets/img/pocketscience.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/pocketscience.jpg
--------------------------------------------------------------------------------
/assets/img/pslab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/pslab.png
--------------------------------------------------------------------------------
/assets/img/query-server.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/query-server.jpg
--------------------------------------------------------------------------------
/assets/img/side1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/side1.jpg
--------------------------------------------------------------------------------
/assets/img/side2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/side2.jpg
--------------------------------------------------------------------------------
/assets/img/side3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/side3.jpg
--------------------------------------------------------------------------------
/assets/img/siliconstraits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/siliconstraits.png
--------------------------------------------------------------------------------
/assets/img/soareschen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/soareschen.jpg
--------------------------------------------------------------------------------
/assets/img/speaker1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/speaker1.jpg
--------------------------------------------------------------------------------
/assets/img/speaker2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/speaker2.jpg
--------------------------------------------------------------------------------
/assets/img/speaker3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/speaker3.jpg
--------------------------------------------------------------------------------
/assets/img/speaker4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/speaker4.jpg
--------------------------------------------------------------------------------
/assets/img/sponsor1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor1.png
--------------------------------------------------------------------------------
/assets/img/sponsor2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor2.png
--------------------------------------------------------------------------------
/assets/img/sponsor3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor3.png
--------------------------------------------------------------------------------
/assets/img/sponsor4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor4.png
--------------------------------------------------------------------------------
/assets/img/sponsor5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor5.png
--------------------------------------------------------------------------------
/assets/img/sponsor6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/sponsor6.png
--------------------------------------------------------------------------------
/assets/img/susi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susi.png
--------------------------------------------------------------------------------
/assets/img/susi_android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susi_android.png
--------------------------------------------------------------------------------
/assets/img/susi_android_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susi_android_a.png
--------------------------------------------------------------------------------
/assets/img/susi_ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susi_ios.png
--------------------------------------------------------------------------------
/assets/img/susi_ios2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susi_ios2.png
--------------------------------------------------------------------------------
/assets/img/susper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/susper.png
--------------------------------------------------------------------------------
/assets/img/travel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/travel.jpg
--------------------------------------------------------------------------------
/assets/img/venue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/venue.jpg
--------------------------------------------------------------------------------
/assets/img/webapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/webapp.png
--------------------------------------------------------------------------------
/assets/img/women-panel-fossasia-2010-Hong-Phuc-Dang-middle-and-Lilly-Nguyen-right.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/women-panel-fossasia-2010-Hong-Phuc-Dang-middle-and-Lilly-Nguyen-right.jpg
--------------------------------------------------------------------------------
/assets/img/yaydoc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fossasia/fossasia-jekyll-theme/75a283deb6c4658a81bc1cd4ab6bca8c8cacf2bd/assets/img/yaydoc.jpg
--------------------------------------------------------------------------------
/assets/js/bootstrap/affix.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: affix.js v3.1.0
3 | * http://getbootstrap.com/javascript/#affix
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // AFFIX CLASS DEFINITION
14 | // ======================
15 |
16 | var Affix = function (element, options) {
17 | this.options = $.extend({}, Affix.DEFAULTS, options)
18 | this.$window = $(window)
19 | .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
20 | .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
21 |
22 | this.$element = $(element)
23 | this.affixed =
24 | this.unpin =
25 | this.pinnedOffset = null
26 |
27 | this.checkPosition()
28 | }
29 |
30 | Affix.RESET = 'affix affix-top affix-bottom'
31 |
32 | Affix.DEFAULTS = {
33 | offset: 0
34 | }
35 |
36 | Affix.prototype.getPinnedOffset = function () {
37 | if (this.pinnedOffset) return this.pinnedOffset
38 | this.$element.removeClass(Affix.RESET).addClass('affix')
39 | var scrollTop = this.$window.scrollTop()
40 | var position = this.$element.offset()
41 | return (this.pinnedOffset = position.top - scrollTop)
42 | }
43 |
44 | Affix.prototype.checkPositionWithEventLoop = function () {
45 | setTimeout($.proxy(this.checkPosition, this), 1)
46 | }
47 |
48 | Affix.prototype.checkPosition = function () {
49 | if (!this.$element.is(':visible')) return
50 |
51 | var scrollHeight = $(document).height()
52 | var scrollTop = this.$window.scrollTop()
53 | var position = this.$element.offset()
54 | var offset = this.options.offset
55 | var offsetTop = offset.top
56 | var offsetBottom = offset.bottom
57 |
58 | if (this.affixed == 'top') position.top += scrollTop
59 |
60 | if (typeof offset != 'object') offsetBottom = offsetTop = offset
61 | if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
62 | if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
63 |
64 | var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
65 | offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
66 | offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
67 |
68 | if (this.affixed === affix) return
69 | if (this.unpin) this.$element.css('top', '')
70 |
71 | var affixType = 'affix' + (affix ? '-' + affix : '')
72 | var e = $.Event(affixType + '.bs.affix')
73 |
74 | this.$element.trigger(e)
75 |
76 | if (e.isDefaultPrevented()) return
77 |
78 | this.affixed = affix
79 | this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
80 |
81 | this.$element
82 | .removeClass(Affix.RESET)
83 | .addClass(affixType)
84 | .trigger($.Event(affixType.replace('affix', 'affixed')))
85 |
86 | if (affix == 'bottom') {
87 | this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() })
88 | }
89 | }
90 |
91 |
92 | // AFFIX PLUGIN DEFINITION
93 | // =======================
94 |
95 | var old = $.fn.affix
96 |
97 | $.fn.affix = function (option) {
98 | return this.each(function () {
99 | var $this = $(this)
100 | var data = $this.data('bs.affix')
101 | var options = typeof option == 'object' && option
102 |
103 | if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
104 | if (typeof option == 'string') data[option]()
105 | })
106 | }
107 |
108 | $.fn.affix.Constructor = Affix
109 |
110 |
111 | // AFFIX NO CONFLICT
112 | // =================
113 |
114 | $.fn.affix.noConflict = function () {
115 | $.fn.affix = old
116 | return this
117 | }
118 |
119 |
120 | // AFFIX DATA-API
121 | // ==============
122 |
123 | $(window).on('load', function () {
124 | $('[data-spy="affix"]').each(function () {
125 | var $spy = $(this)
126 | var data = $spy.data()
127 |
128 | data.offset = data.offset || {}
129 |
130 | if (data.offsetBottom) data.offset.bottom = data.offsetBottom
131 | if (data.offsetTop) data.offset.top = data.offsetTop
132 |
133 | $spy.affix(data)
134 | })
135 | })
136 |
137 | }(jQuery);
138 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/alert.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: alert.js v3.1.0
3 | * http://getbootstrap.com/javascript/#alerts
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // ALERT CLASS DEFINITION
14 | // ======================
15 |
16 | var dismiss = '[data-dismiss="alert"]'
17 | var Alert = function (el) {
18 | $(el).on('click', dismiss, this.close)
19 | }
20 |
21 | Alert.prototype.close = function (e) {
22 | var $this = $(this)
23 | var selector = $this.attr('data-target')
24 |
25 | if (!selector) {
26 | selector = $this.attr('href')
27 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
28 | }
29 |
30 | var $parent = $(selector)
31 |
32 | if (e) e.preventDefault()
33 |
34 | if (!$parent.length) {
35 | $parent = $this.hasClass('alert') ? $this : $this.parent()
36 | }
37 |
38 | $parent.trigger(e = $.Event('close.bs.alert'))
39 |
40 | if (e.isDefaultPrevented()) return
41 |
42 | $parent.removeClass('in')
43 |
44 | function removeElement() {
45 | $parent.trigger('closed.bs.alert').remove()
46 | }
47 |
48 | $.support.transition && $parent.hasClass('fade') ?
49 | $parent
50 | .one($.support.transition.end, removeElement)
51 | .emulateTransitionEnd(150) :
52 | removeElement()
53 | }
54 |
55 |
56 | // ALERT PLUGIN DEFINITION
57 | // =======================
58 |
59 | var old = $.fn.alert
60 |
61 | $.fn.alert = function (option) {
62 | return this.each(function () {
63 | var $this = $(this)
64 | var data = $this.data('bs.alert')
65 |
66 | if (!data) $this.data('bs.alert', (data = new Alert(this)))
67 | if (typeof option == 'string') data[option].call($this)
68 | })
69 | }
70 |
71 | $.fn.alert.Constructor = Alert
72 |
73 |
74 | // ALERT NO CONFLICT
75 | // =================
76 |
77 | $.fn.alert.noConflict = function () {
78 | $.fn.alert = old
79 | return this
80 | }
81 |
82 |
83 | // ALERT DATA-API
84 | // ==============
85 |
86 | $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
87 |
88 | }(jQuery);
89 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/bootstrap.mix.js:
--------------------------------------------------------------------------------
1 | @import "transition.js";
2 | @import "alert.js";
3 | @import "button.js";
4 | @import "carousel.js";
5 | @import "collapse.js";
6 | @import "dropdown.js";
7 | @import "modal.js";
8 | @import "tooltip.js";
9 | @import "popover.js";
10 | @import "scrollspy.js";
11 | @import "tab.js";
12 | @import "affix.js";
--------------------------------------------------------------------------------
/assets/js/bootstrap/button.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: button.js v3.1.0
3 | * http://getbootstrap.com/javascript/#buttons
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // BUTTON PUBLIC CLASS DEFINITION
14 | // ==============================
15 |
16 | var Button = function (element, options) {
17 | this.$element = $(element)
18 | this.options = $.extend({}, Button.DEFAULTS, options)
19 | this.isLoading = false
20 | }
21 |
22 | Button.DEFAULTS = {
23 | loadingText: 'loading...'
24 | }
25 |
26 | Button.prototype.setState = function (state) {
27 | var d = 'disabled'
28 | var $el = this.$element
29 | var val = $el.is('input') ? 'val' : 'html'
30 | var data = $el.data()
31 |
32 | state = state + 'Text'
33 |
34 | if (!data.resetText) $el.data('resetText', $el[val]())
35 |
36 | $el[val](data[state] || this.options[state])
37 |
38 | // push to event loop to allow forms to submit
39 | setTimeout($.proxy(function () {
40 | if (state == 'loadingText') {
41 | this.isLoading = true
42 | $el.addClass(d).attr(d, d)
43 | } else if (this.isLoading) {
44 | this.isLoading = false
45 | $el.removeClass(d).removeAttr(d)
46 | }
47 | }, this), 0)
48 | }
49 |
50 | Button.prototype.toggle = function () {
51 | var changed = true
52 | var $parent = this.$element.closest('[data-toggle="buttons"]')
53 |
54 | if ($parent.length) {
55 | var $input = this.$element.find('input')
56 | if ($input.prop('type') == 'radio') {
57 | if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
58 | else $parent.find('.active').removeClass('active')
59 | }
60 | if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
61 | }
62 |
63 | if (changed) this.$element.toggleClass('active')
64 | }
65 |
66 |
67 | // BUTTON PLUGIN DEFINITION
68 | // ========================
69 |
70 | var old = $.fn.button
71 |
72 | $.fn.button = function (option) {
73 | return this.each(function () {
74 | var $this = $(this)
75 | var data = $this.data('bs.button')
76 | var options = typeof option == 'object' && option
77 |
78 | if (!data) $this.data('bs.button', (data = new Button(this, options)))
79 |
80 | if (option == 'toggle') data.toggle()
81 | else if (option) data.setState(option)
82 | })
83 | }
84 |
85 | $.fn.button.Constructor = Button
86 |
87 |
88 | // BUTTON NO CONFLICT
89 | // ==================
90 |
91 | $.fn.button.noConflict = function () {
92 | $.fn.button = old
93 | return this
94 | }
95 |
96 |
97 | // BUTTON DATA-API
98 | // ===============
99 |
100 | $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
101 | var $btn = $(e.target)
102 | if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
103 | $btn.button('toggle')
104 | e.preventDefault()
105 | })
106 |
107 | }(jQuery);
108 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/carousel.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: carousel.js v3.1.0
3 | * http://getbootstrap.com/javascript/#carousel
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // CAROUSEL CLASS DEFINITION
14 | // =========================
15 |
16 | var Carousel = function (element, options) {
17 | this.$element = $(element)
18 | this.$indicators = this.$element.find('.carousel-indicators')
19 | this.options = options
20 | this.paused =
21 | this.sliding =
22 | this.interval =
23 | this.$active =
24 | this.$items = null
25 |
26 | this.options.pause == 'hover' && this.$element
27 | .on('mouseenter', $.proxy(this.pause, this))
28 | .on('mouseleave', $.proxy(this.cycle, this))
29 | }
30 |
31 | Carousel.DEFAULTS = {
32 | interval: 5000,
33 | pause: 'hover',
34 | wrap: true
35 | }
36 |
37 | Carousel.prototype.cycle = function (e) {
38 | e || (this.paused = false)
39 |
40 | this.interval && clearInterval(this.interval)
41 |
42 | this.options.interval
43 | && !this.paused
44 | && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
45 |
46 | return this
47 | }
48 |
49 | Carousel.prototype.getActiveIndex = function () {
50 | this.$active = this.$element.find('.item.active')
51 | this.$items = this.$active.parent().children()
52 |
53 | return this.$items.index(this.$active)
54 | }
55 |
56 | Carousel.prototype.to = function (pos) {
57 | var that = this
58 | var activeIndex = this.getActiveIndex()
59 |
60 | if (pos > (this.$items.length - 1) || pos < 0) return
61 |
62 | if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
63 | if (activeIndex == pos) return this.pause().cycle()
64 |
65 | return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
66 | }
67 |
68 | Carousel.prototype.pause = function (e) {
69 | e || (this.paused = true)
70 |
71 | if (this.$element.find('.next, .prev').length && $.support.transition) {
72 | this.$element.trigger($.support.transition.end)
73 | this.cycle(true)
74 | }
75 |
76 | this.interval = clearInterval(this.interval)
77 |
78 | return this
79 | }
80 |
81 | Carousel.prototype.next = function () {
82 | if (this.sliding) return
83 | return this.slide('next')
84 | }
85 |
86 | Carousel.prototype.prev = function () {
87 | if (this.sliding) return
88 | return this.slide('prev')
89 | }
90 |
91 | Carousel.prototype.slide = function (type, next) {
92 | var $active = this.$element.find('.item.active')
93 | var $next = next || $active[type]()
94 | var isCycling = this.interval
95 | var direction = type == 'next' ? 'left' : 'right'
96 | var fallback = type == 'next' ? 'first' : 'last'
97 | var that = this
98 |
99 | if (!$next.length) {
100 | if (!this.options.wrap) return
101 | $next = this.$element.find('.item')[fallback]()
102 | }
103 |
104 | if ($next.hasClass('active')) return this.sliding = false
105 |
106 | var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
107 | this.$element.trigger(e)
108 | if (e.isDefaultPrevented()) return
109 |
110 | this.sliding = true
111 |
112 | isCycling && this.pause()
113 |
114 | if (this.$indicators.length) {
115 | this.$indicators.find('.active').removeClass('active')
116 | this.$element.one('slid.bs.carousel', function () {
117 | var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
118 | $nextIndicator && $nextIndicator.addClass('active')
119 | })
120 | }
121 |
122 | if ($.support.transition && this.$element.hasClass('slide')) {
123 | $next.addClass(type)
124 | $next[0].offsetWidth // force reflow
125 | $active.addClass(direction)
126 | $next.addClass(direction)
127 | $active
128 | .one($.support.transition.end, function () {
129 | $next.removeClass([type, direction].join(' ')).addClass('active')
130 | $active.removeClass(['active', direction].join(' '))
131 | that.sliding = false
132 | setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
133 | })
134 | .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
135 | } else {
136 | $active.removeClass('active')
137 | $next.addClass('active')
138 | this.sliding = false
139 | this.$element.trigger('slid.bs.carousel')
140 | }
141 |
142 | isCycling && this.cycle()
143 |
144 | return this
145 | }
146 |
147 |
148 | // CAROUSEL PLUGIN DEFINITION
149 | // ==========================
150 |
151 | var old = $.fn.carousel
152 |
153 | $.fn.carousel = function (option) {
154 | return this.each(function () {
155 | var $this = $(this)
156 | var data = $this.data('bs.carousel')
157 | var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
158 | var action = typeof option == 'string' ? option : options.slide
159 |
160 | if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
161 | if (typeof option == 'number') data.to(option)
162 | else if (action) data[action]()
163 | else if (options.interval) data.pause().cycle()
164 | })
165 | }
166 |
167 | $.fn.carousel.Constructor = Carousel
168 |
169 |
170 | // CAROUSEL NO CONFLICT
171 | // ====================
172 |
173 | $.fn.carousel.noConflict = function () {
174 | $.fn.carousel = old
175 | return this
176 | }
177 |
178 |
179 | // CAROUSEL DATA-API
180 | // =================
181 |
182 | $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
183 | var $this = $(this), href
184 | var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
185 | var options = $.extend({}, $target.data(), $this.data())
186 | var slideIndex = $this.attr('data-slide-to')
187 | if (slideIndex) options.interval = false
188 |
189 | $target.carousel(options)
190 |
191 | if (slideIndex = $this.attr('data-slide-to')) {
192 | $target.data('bs.carousel').to(slideIndex)
193 | }
194 |
195 | e.preventDefault()
196 | })
197 |
198 | $(window).on('load', function () {
199 | $('[data-ride="carousel"]').each(function () {
200 | var $carousel = $(this)
201 | $carousel.carousel($carousel.data())
202 | })
203 | })
204 |
205 | }(jQuery);
206 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/collapse.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: collapse.js v3.1.0
3 | * http://getbootstrap.com/javascript/#collapse
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // COLLAPSE PUBLIC CLASS DEFINITION
14 | // ================================
15 |
16 | var Collapse = function (element, options) {
17 | this.$element = $(element)
18 | this.options = $.extend({}, Collapse.DEFAULTS, options)
19 | this.transitioning = null
20 |
21 | if (this.options.parent) this.$parent = $(this.options.parent)
22 | if (this.options.toggle) this.toggle()
23 | }
24 |
25 | Collapse.DEFAULTS = {
26 | toggle: true
27 | }
28 |
29 | Collapse.prototype.dimension = function () {
30 | var hasWidth = this.$element.hasClass('width')
31 | return hasWidth ? 'width' : 'height'
32 | }
33 |
34 | Collapse.prototype.show = function () {
35 | if (this.transitioning || this.$element.hasClass('in')) return
36 |
37 | var startEvent = $.Event('show.bs.collapse')
38 | this.$element.trigger(startEvent)
39 | if (startEvent.isDefaultPrevented()) return
40 |
41 | var actives = this.$parent && this.$parent.find('> .panel > .in')
42 |
43 | if (actives && actives.length) {
44 | var hasData = actives.data('bs.collapse')
45 | if (hasData && hasData.transitioning) return
46 | actives.collapse('hide')
47 | hasData || actives.data('bs.collapse', null)
48 | }
49 |
50 | var dimension = this.dimension()
51 |
52 | this.$element
53 | .removeClass('collapse')
54 | .addClass('collapsing')
55 | [dimension](0)
56 |
57 | this.transitioning = 1
58 |
59 | var complete = function () {
60 | this.$element
61 | .removeClass('collapsing')
62 | .addClass('collapse in')
63 | [dimension]('auto')
64 | this.transitioning = 0
65 | this.$element.trigger('shown.bs.collapse')
66 | }
67 |
68 | if (!$.support.transition) return complete.call(this)
69 |
70 | var scrollSize = $.camelCase(['scroll', dimension].join('-'))
71 |
72 | this.$element
73 | .one($.support.transition.end, $.proxy(complete, this))
74 | .emulateTransitionEnd(350)
75 | [dimension](this.$element[0][scrollSize])
76 | }
77 |
78 | Collapse.prototype.hide = function () {
79 | if (this.transitioning || !this.$element.hasClass('in')) return
80 |
81 | var startEvent = $.Event('hide.bs.collapse')
82 | this.$element.trigger(startEvent)
83 | if (startEvent.isDefaultPrevented()) return
84 |
85 | var dimension = this.dimension()
86 |
87 | this.$element
88 | [dimension](this.$element[dimension]())
89 | [0].offsetHeight
90 |
91 | this.$element
92 | .addClass('collapsing')
93 | .removeClass('collapse')
94 | .removeClass('in')
95 |
96 | this.transitioning = 1
97 |
98 | var complete = function () {
99 | this.transitioning = 0
100 | this.$element
101 | .trigger('hidden.bs.collapse')
102 | .removeClass('collapsing')
103 | .addClass('collapse')
104 | }
105 |
106 | if (!$.support.transition) return complete.call(this)
107 |
108 | this.$element
109 | [dimension](0)
110 | .one($.support.transition.end, $.proxy(complete, this))
111 | .emulateTransitionEnd(350)
112 | }
113 |
114 | Collapse.prototype.toggle = function () {
115 | this[this.$element.hasClass('in') ? 'hide' : 'show']()
116 | }
117 |
118 |
119 | // COLLAPSE PLUGIN DEFINITION
120 | // ==========================
121 |
122 | var old = $.fn.collapse
123 |
124 | $.fn.collapse = function (option) {
125 | return this.each(function () {
126 | var $this = $(this)
127 | var data = $this.data('bs.collapse')
128 | var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
129 |
130 | if (!data && options.toggle && option == 'show') option = !option
131 | if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
132 | if (typeof option == 'string') data[option]()
133 | })
134 | }
135 |
136 | $.fn.collapse.Constructor = Collapse
137 |
138 |
139 | // COLLAPSE NO CONFLICT
140 | // ====================
141 |
142 | $.fn.collapse.noConflict = function () {
143 | $.fn.collapse = old
144 | return this
145 | }
146 |
147 |
148 | // COLLAPSE DATA-API
149 | // =================
150 |
151 | $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
152 | var $this = $(this), href
153 | var target = $this.attr('data-target')
154 | || e.preventDefault()
155 | || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
156 | var $target = $(target)
157 | var data = $target.data('bs.collapse')
158 | var option = data ? 'toggle' : $this.data()
159 | var parent = $this.attr('data-parent')
160 | var $parent = parent && $(parent)
161 |
162 | if (!data || !data.transitioning) {
163 | if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
164 | $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
165 | }
166 |
167 | $target.collapse(option)
168 | })
169 |
170 | }(jQuery);
171 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/dropdown.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: dropdown.js v3.1.0
3 | * http://getbootstrap.com/javascript/#dropdowns
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // DROPDOWN CLASS DEFINITION
14 | // =========================
15 |
16 | var backdrop = '.dropdown-backdrop'
17 | var toggle = '[data-toggle=dropdown]'
18 | var Dropdown = function (element) {
19 | $(element).on('click.bs.dropdown', this.toggle)
20 | }
21 |
22 | Dropdown.prototype.toggle = function (e) {
23 | var $this = $(this)
24 |
25 | if ($this.is('.disabled, :disabled')) return
26 |
27 | var $parent = getParent($this)
28 | var isActive = $parent.hasClass('open')
29 |
30 | clearMenus()
31 |
32 | if (!isActive) {
33 | if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
34 | // if mobile we use a backdrop because click events don't delegate
35 | $('
').insertAfter($(this)).on('click', clearMenus)
36 | }
37 |
38 | var relatedTarget = { relatedTarget: this }
39 | $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
40 |
41 | if (e.isDefaultPrevented()) return
42 |
43 | $parent
44 | .toggleClass('open')
45 | .trigger('shown.bs.dropdown', relatedTarget)
46 |
47 | $this.focus()
48 | }
49 |
50 | return false
51 | }
52 |
53 | Dropdown.prototype.keydown = function (e) {
54 | if (!/(38|40|27)/.test(e.keyCode)) return
55 |
56 | var $this = $(this)
57 |
58 | e.preventDefault()
59 | e.stopPropagation()
60 |
61 | if ($this.is('.disabled, :disabled')) return
62 |
63 | var $parent = getParent($this)
64 | var isActive = $parent.hasClass('open')
65 |
66 | if (!isActive || (isActive && e.keyCode == 27)) {
67 | if (e.which == 27) $parent.find(toggle).focus()
68 | return $this.click()
69 | }
70 |
71 | var desc = ' li:not(.divider):visible a'
72 | var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc)
73 |
74 | if (!$items.length) return
75 |
76 | var index = $items.index($items.filter(':focus'))
77 |
78 | if (e.keyCode == 38 && index > 0) index-- // up
79 | if (e.keyCode == 40 && index < $items.length - 1) index++ // down
80 | if (!~index) index = 0
81 |
82 | $items.eq(index).focus()
83 | }
84 |
85 | function clearMenus(e) {
86 | $(backdrop).remove()
87 | $(toggle).each(function () {
88 | var $parent = getParent($(this))
89 | var relatedTarget = { relatedTarget: this }
90 | if (!$parent.hasClass('open')) return
91 | $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
92 | if (e.isDefaultPrevented()) return
93 | $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
94 | })
95 | }
96 |
97 | function getParent($this) {
98 | var selector = $this.attr('data-target')
99 |
100 | if (!selector) {
101 | selector = $this.attr('href')
102 | selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
103 | }
104 |
105 | var $parent = selector && $(selector)
106 |
107 | return $parent && $parent.length ? $parent : $this.parent()
108 | }
109 |
110 |
111 | // DROPDOWN PLUGIN DEFINITION
112 | // ==========================
113 |
114 | var old = $.fn.dropdown
115 |
116 | $.fn.dropdown = function (option) {
117 | return this.each(function () {
118 | var $this = $(this)
119 | var data = $this.data('bs.dropdown')
120 |
121 | if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
122 | if (typeof option == 'string') data[option].call($this)
123 | })
124 | }
125 |
126 | $.fn.dropdown.Constructor = Dropdown
127 |
128 |
129 | // DROPDOWN NO CONFLICT
130 | // ====================
131 |
132 | $.fn.dropdown.noConflict = function () {
133 | $.fn.dropdown = old
134 | return this
135 | }
136 |
137 |
138 | // APPLY TO STANDARD DROPDOWN ELEMENTS
139 | // ===================================
140 |
141 | $(document)
142 | .on('click.bs.dropdown.data-api', clearMenus)
143 | .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
144 | .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
145 | .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown)
146 |
147 | }(jQuery);
148 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/popover.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: popover.js v3.1.0
3 | * http://getbootstrap.com/javascript/#popovers
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // POPOVER PUBLIC CLASS DEFINITION
14 | // ===============================
15 |
16 | var Popover = function (element, options) {
17 | this.init('popover', element, options)
18 | }
19 |
20 | if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
21 |
22 | Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
23 | placement: 'right',
24 | trigger: 'click',
25 | content: '',
26 | template: '
'
27 | })
28 |
29 |
30 | // NOTE: POPOVER EXTENDS tooltip.js
31 | // ================================
32 |
33 | Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
34 |
35 | Popover.prototype.constructor = Popover
36 |
37 | Popover.prototype.getDefaults = function () {
38 | return Popover.DEFAULTS
39 | }
40 |
41 | Popover.prototype.setContent = function () {
42 | var $tip = this.tip()
43 | var title = this.getTitle()
44 | var content = this.getContent()
45 |
46 | $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
47 | $tip.find('.popover-content')[ // we use append for html objects to maintain js events
48 | this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
49 | ](content)
50 |
51 | $tip.removeClass('fade top bottom left right in')
52 |
53 | // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
54 | // this manually by checking the contents.
55 | if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
56 | }
57 |
58 | Popover.prototype.hasContent = function () {
59 | return this.getTitle() || this.getContent()
60 | }
61 |
62 | Popover.prototype.getContent = function () {
63 | var $e = this.$element
64 | var o = this.options
65 |
66 | return $e.attr('data-content')
67 | || (typeof o.content == 'function' ?
68 | o.content.call($e[0]) :
69 | o.content)
70 | }
71 |
72 | Popover.prototype.arrow = function () {
73 | return this.$arrow = this.$arrow || this.tip().find('.arrow')
74 | }
75 |
76 | Popover.prototype.tip = function () {
77 | if (!this.$tip) this.$tip = $(this.options.template)
78 | return this.$tip
79 | }
80 |
81 |
82 | // POPOVER PLUGIN DEFINITION
83 | // =========================
84 |
85 | var old = $.fn.popover
86 |
87 | $.fn.popover = function (option) {
88 | return this.each(function () {
89 | var $this = $(this)
90 | var data = $this.data('bs.popover')
91 | var options = typeof option == 'object' && option
92 |
93 | if (!data && option == 'destroy') return
94 | if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
95 | if (typeof option == 'string') data[option]()
96 | })
97 | }
98 |
99 | $.fn.popover.Constructor = Popover
100 |
101 |
102 | // POPOVER NO CONFLICT
103 | // ===================
104 |
105 | $.fn.popover.noConflict = function () {
106 | $.fn.popover = old
107 | return this
108 | }
109 |
110 | }(jQuery);
111 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/scrollspy.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: scrollspy.js v3.1.0
3 | * http://getbootstrap.com/javascript/#scrollspy
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // SCROLLSPY CLASS DEFINITION
14 | // ==========================
15 |
16 | function ScrollSpy(element, options) {
17 | var href
18 | var process = $.proxy(this.process, this)
19 |
20 | this.$element = $(element).is('body') ? $(window) : $(element)
21 | this.$body = $('body')
22 | this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
23 | this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
24 | this.selector = (this.options.target
25 | || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
26 | || '') + ' .nav li > a'
27 | this.offsets = $([])
28 | this.targets = $([])
29 | this.activeTarget = null
30 |
31 | this.refresh()
32 | this.process()
33 | }
34 |
35 | ScrollSpy.DEFAULTS = {
36 | offset: 10
37 | }
38 |
39 | ScrollSpy.prototype.refresh = function () {
40 | var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
41 |
42 | this.offsets = $([])
43 | this.targets = $([])
44 |
45 | var self = this
46 | var $targets = this.$body
47 | .find(this.selector)
48 | .map(function () {
49 | var $el = $(this)
50 | var href = $el.data('target') || $el.attr('href')
51 | var $href = /^#./.test(href) && $(href)
52 |
53 | return ($href
54 | && $href.length
55 | && $href.is(':visible')
56 | && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
57 | })
58 | .sort(function (a, b) { return a[0] - b[0] })
59 | .each(function () {
60 | self.offsets.push(this[0])
61 | self.targets.push(this[1])
62 | })
63 | }
64 |
65 | ScrollSpy.prototype.process = function () {
66 | var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
67 | var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
68 | var maxScroll = scrollHeight - this.$scrollElement.height()
69 | var offsets = this.offsets
70 | var targets = this.targets
71 | var activeTarget = this.activeTarget
72 | var i
73 |
74 | if (scrollTop >= maxScroll) {
75 | return activeTarget != (i = targets.last()[0]) && this.activate(i)
76 | }
77 |
78 | if (activeTarget && scrollTop <= offsets[0]) {
79 | return activeTarget != (i = targets[0]) && this.activate(i)
80 | }
81 |
82 | for (i = offsets.length; i--;) {
83 | activeTarget != targets[i]
84 | && scrollTop >= offsets[i]
85 | && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
86 | && this.activate( targets[i] )
87 | }
88 | }
89 |
90 | ScrollSpy.prototype.activate = function (target) {
91 | this.activeTarget = target
92 |
93 | $(this.selector)
94 | .parentsUntil(this.options.target, '.active')
95 | .removeClass('active')
96 |
97 | var selector = this.selector +
98 | '[data-target="' + target + '"],' +
99 | this.selector + '[href="' + target + '"]'
100 |
101 | var active = $(selector)
102 | .parents('li')
103 | .addClass('active')
104 |
105 | if (active.parent('.dropdown-menu').length) {
106 | active = active
107 | .closest('li.dropdown')
108 | .addClass('active')
109 | }
110 |
111 | active.trigger('activate.bs.scrollspy')
112 | }
113 |
114 |
115 | // SCROLLSPY PLUGIN DEFINITION
116 | // ===========================
117 |
118 | var old = $.fn.scrollspy
119 |
120 | $.fn.scrollspy = function (option) {
121 | return this.each(function () {
122 | var $this = $(this)
123 | var data = $this.data('bs.scrollspy')
124 | var options = typeof option == 'object' && option
125 |
126 | if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
127 | if (typeof option == 'string') data[option]()
128 | })
129 | }
130 |
131 | $.fn.scrollspy.Constructor = ScrollSpy
132 |
133 |
134 | // SCROLLSPY NO CONFLICT
135 | // =====================
136 |
137 | $.fn.scrollspy.noConflict = function () {
138 | $.fn.scrollspy = old
139 | return this
140 | }
141 |
142 |
143 | // SCROLLSPY DATA-API
144 | // ==================
145 |
146 | $(window).on('load', function () {
147 | $('[data-spy="scroll"]').each(function () {
148 | var $spy = $(this)
149 | $spy.scrollspy($spy.data())
150 | })
151 | })
152 |
153 | }(jQuery);
154 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/tab.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: tab.js v3.1.0
3 | * http://getbootstrap.com/javascript/#tabs
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // TAB CLASS DEFINITION
14 | // ====================
15 |
16 | var Tab = function (element) {
17 | this.element = $(element)
18 | }
19 |
20 | Tab.prototype.show = function () {
21 | var $this = this.element
22 | var $ul = $this.closest('ul:not(.dropdown-menu)')
23 | var selector = $this.data('target')
24 |
25 | if (!selector) {
26 | selector = $this.attr('href')
27 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
28 | }
29 |
30 | if ($this.parent('li').hasClass('active')) return
31 |
32 | var previous = $ul.find('.active:last a')[0]
33 | var e = $.Event('show.bs.tab', {
34 | relatedTarget: previous
35 | })
36 |
37 | $this.trigger(e)
38 |
39 | if (e.isDefaultPrevented()) return
40 |
41 | var $target = $(selector)
42 |
43 | this.activate($this.parent('li'), $ul)
44 | this.activate($target, $target.parent(), function () {
45 | $this.trigger({
46 | type: 'shown.bs.tab',
47 | relatedTarget: previous
48 | })
49 | })
50 | }
51 |
52 | Tab.prototype.activate = function (element, container, callback) {
53 | var $active = container.find('> .active')
54 | var transition = callback
55 | && $.support.transition
56 | && $active.hasClass('fade')
57 |
58 | function next() {
59 | $active
60 | .removeClass('active')
61 | .find('> .dropdown-menu > .active')
62 | .removeClass('active')
63 |
64 | element.addClass('active')
65 |
66 | if (transition) {
67 | element[0].offsetWidth // reflow for transition
68 | element.addClass('in')
69 | } else {
70 | element.removeClass('fade')
71 | }
72 |
73 | if (element.parent('.dropdown-menu')) {
74 | element.closest('li.dropdown').addClass('active')
75 | }
76 |
77 | callback && callback()
78 | }
79 |
80 | transition ?
81 | $active
82 | .one($.support.transition.end, next)
83 | .emulateTransitionEnd(150) :
84 | next()
85 |
86 | $active.removeClass('in')
87 | }
88 |
89 |
90 | // TAB PLUGIN DEFINITION
91 | // =====================
92 |
93 | var old = $.fn.tab
94 |
95 | $.fn.tab = function ( option ) {
96 | return this.each(function () {
97 | var $this = $(this)
98 | var data = $this.data('bs.tab')
99 |
100 | if (!data) $this.data('bs.tab', (data = new Tab(this)))
101 | if (typeof option == 'string') data[option]()
102 | })
103 | }
104 |
105 | $.fn.tab.Constructor = Tab
106 |
107 |
108 | // TAB NO CONFLICT
109 | // ===============
110 |
111 | $.fn.tab.noConflict = function () {
112 | $.fn.tab = old
113 | return this
114 | }
115 |
116 |
117 | // TAB DATA-API
118 | // ============
119 |
120 | $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
121 | e.preventDefault()
122 | $(this).tab('show')
123 | })
124 |
125 | }(jQuery);
126 |
--------------------------------------------------------------------------------
/assets/js/bootstrap/transition.js:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * Bootstrap: transition.js v3.1.0
3 | * http://getbootstrap.com/javascript/#transitions
4 | * ========================================================================
5 | * Copyright 2011-2014 Twitter, Inc.
6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 | * ======================================================================== */
8 |
9 |
10 | +function ($) {
11 | 'use strict';
12 |
13 | // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
14 | // ============================================================
15 |
16 | function transitionEnd() {
17 | var el = document.createElement('bootstrap')
18 |
19 | var transEndEventNames = {
20 | 'WebkitTransition' : 'webkitTransitionEnd',
21 | 'MozTransition' : 'transitionend',
22 | 'OTransition' : 'oTransitionEnd otransitionend',
23 | 'transition' : 'transitionend'
24 | }
25 |
26 | for (var name in transEndEventNames) {
27 | if (el.style[name] !== undefined) {
28 | return { end: transEndEventNames[name] }
29 | }
30 | }
31 |
32 | return false // explicit for ie8 ( ._.)
33 | }
34 |
35 | // http://blog.alexmaccaw.com/css-transitions
36 | $.fn.emulateTransitionEnd = function (duration) {
37 | var called = false, $el = this
38 | $(this).one($.support.transition.end, function () { called = true })
39 | var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
40 | setTimeout(callback, duration)
41 | return this
42 | }
43 |
44 | $(function () {
45 | $.support.transition = transitionEnd()
46 | })
47 |
48 | }(jQuery);
49 |
--------------------------------------------------------------------------------
/assets/js/jquery.plugin.min.js:
--------------------------------------------------------------------------------
1 | /** Abstract base class for collection plugins v1.0.1.
2 | Written by Keith Wood (kbwood{at}iinet.com.au) December 2013.
3 | Licensed under the MIT (https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt) license. */
4 | (function(){var j=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function extender(f){var g=this.prototype;j=true;var h=new this();j=false;for(var i in f){h[i]=typeof f[i]=='function'&&typeof g[i]=='function'?(function(d,e){return function(){var b=this._super;this._super=function(a){return g[d].apply(this,a||[])};var c=e.apply(this,arguments);this._super=b;return c}})(i,f[i]):f[i]}function JQClass(){if(!j&&this._init){this._init.apply(this,arguments)}}JQClass.prototype=h;JQClass.prototype.constructor=JQClass;JQClass.extend=extender;return JQClass}})();(function($){JQClass.classes.JQPlugin=JQClass.extend({name:'plugin',defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return'is-'+this.name},_init:function(){$.extend(this.defaultOptions,(this.regionalOptions&&this.regionalOptions[''])||{});var c=camelCase(this.name);$[c]=this;$.fn[c]=function(a){var b=Array.prototype.slice.call(arguments,1);if($[c]._isNotChained(a,b)){return $[c][a].apply($[c],[this[0]].concat(b))}return this.each(function(){if(typeof a==='string'){if(a[0]==='_'||!$[c][a]){throw'Unknown method: '+a;}$[c][a].apply($[c],[this].concat(b))}else{$[c]._attach(this,a)}})}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_isNotChained:function(a,b){if(a==='option'&&(b.length===0||(b.length===1&&typeof b[0]==='string'))){return true}return $.inArray(a,this._getters)>-1},_attach:function(a,b){a=$(a);if(a.hasClass(this._getMarker())){return}a.addClass(this._getMarker());b=$.extend({},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c);this._postAttach(a,c);this.option(a,b)},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(d){try{var f=d.data(this.name.toLowerCase())||'';f=f.replace(/'/g,'"');f=f.replace(/([a-zA-Z0-9]+):/g,function(a,b,i){var c=f.substring(0,i).match(/"/g);return(!c||c.length%2===0?'"'+b+'":':b+':')});f=$.parseJSON('{'+f+'}');for(var g in f){var h=f[g];if(typeof h==='string'&&h.match(/^new Date\((.*)\)$/)){f[g]=eval(h)}}return f}catch(e){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name);if(!b||(typeof b==='string'&&c==null)){var e=(d||{}).options;return(e&&b?e[b]:e)}if(!a.hasClass(this._getMarker())){return}var e=b||{};if(typeof b==='string'){e={};e[b]=c}this._optionsChanged(a,d,e);$.extend(d.options,e)},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}this._preDestroy(a,this._getInst(a));a.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(a,b){}});function camelCase(c){return c.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}$.JQPlugin={createPlugin:function(a,b){if(typeof a==='object'){b=a;a='JQPlugin'}a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b);new JQClass.classes[c]()}}})(jQuery);
--------------------------------------------------------------------------------
/assets/js/placeholders.min.js:
--------------------------------------------------------------------------------
1 | /* Placeholders.js v3.0.2 */
2 | (function(t){"use strict";function e(t,e,r){return t.addEventListener?t.addEventListener(e,r,!1):t.attachEvent?t.attachEvent("on"+e,r):void 0}function r(t,e){var r,n;for(r=0,n=t.length;n>r;r++)if(t[r]===e)return!0;return!1}function n(t,e){var r;t.createTextRange?(r=t.createTextRange(),r.move("character",e),r.select()):t.selectionStart&&(t.focus(),t.setSelectionRange(e,e))}function a(t,e){try{return t.type=e,!0}catch(r){return!1}}t.Placeholders={Utils:{addEventListener:e,inArray:r,moveCaret:n,changeType:a}}})(this),function(t){"use strict";function e(){}function r(){try{return document.activeElement}catch(t){}}function n(t,e){var r,n,a=!!e&&t.value!==e,u=t.value===t.getAttribute(V);return(a||u)&&"true"===t.getAttribute(D)?(t.removeAttribute(D),t.value=t.value.replace(t.getAttribute(V),""),t.className=t.className.replace(R,""),n=t.getAttribute(F),parseInt(n,10)>=0&&(t.setAttribute("maxLength",n),t.removeAttribute(F)),r=t.getAttribute(P),r&&(t.type=r),!0):!1}function a(t){var e,r,n=t.getAttribute(V);return""===t.value&&n?(t.setAttribute(D,"true"),t.value=n,t.className+=" "+I,r=t.getAttribute(F),r||(t.setAttribute(F,t.maxLength),t.removeAttribute("maxLength")),e=t.getAttribute(P),e?t.type="text":"password"===t.type&&M.changeType(t,"text")&&t.setAttribute(P,"password"),!0):!1}function u(t,e){var r,n,a,u,i,l,o;if(t&&t.getAttribute(V))e(t);else for(a=t?t.getElementsByTagName("input"):b,u=t?t.getElementsByTagName("textarea"):f,r=a?a.length:0,n=u?u.length:0,o=0,l=r+n;l>o;o++)i=r>o?a[o]:u[o-r],e(i)}function i(t){u(t,n)}function l(t){u(t,a)}function o(t){return function(){m&&t.value===t.getAttribute(V)&&"true"===t.getAttribute(D)?M.moveCaret(t,0):n(t)}}function c(t){return function(){a(t)}}function s(t){return function(e){return A=t.value,"true"===t.getAttribute(D)&&A===t.getAttribute(V)&&M.inArray(C,e.keyCode)?(e.preventDefault&&e.preventDefault(),!1):void 0}}function d(t){return function(){n(t,A),""===t.value&&(t.blur(),M.moveCaret(t,0))}}function g(t){return function(){t===r()&&t.value===t.getAttribute(V)&&"true"===t.getAttribute(D)&&M.moveCaret(t,0)}}function v(t){return function(){i(t)}}function p(t){t.form&&(T=t.form,"string"==typeof T&&(T=document.getElementById(T)),T.getAttribute(U)||(M.addEventListener(T,"submit",v(T)),T.setAttribute(U,"true"))),M.addEventListener(t,"focus",o(t)),M.addEventListener(t,"blur",c(t)),m&&(M.addEventListener(t,"keydown",s(t)),M.addEventListener(t,"keyup",d(t)),M.addEventListener(t,"click",g(t))),t.setAttribute(j,"true"),t.setAttribute(V,x),(m||t!==r())&&a(t)}var b,f,m,h,A,y,E,x,L,T,N,S,w,B=["text","search","url","tel","email","password","number","textarea"],C=[27,33,34,35,36,37,38,39,40,8,46],k="#ccc",I="placeholdersjs",R=RegExp("(?:^|\\s)"+I+"(?!\\S)"),V="data-placeholder-value",D="data-placeholder-active",P="data-placeholder-type",U="data-placeholder-submit",j="data-placeholder-bound",q="data-placeholder-focus",z="data-placeholder-live",F="data-placeholder-maxlength",G=document.createElement("input"),H=document.getElementsByTagName("head")[0],J=document.documentElement,K=t.Placeholders,M=K.Utils;if(K.nativeSupport=void 0!==G.placeholder,!K.nativeSupport){for(b=document.getElementsByTagName("input"),f=document.getElementsByTagName("textarea"),m="false"===J.getAttribute(q),h="false"!==J.getAttribute(z),y=document.createElement("style"),y.type="text/css",E=document.createTextNode("."+I+" { color:"+k+"; }"),y.styleSheet?y.styleSheet.cssText=E.nodeValue:y.appendChild(E),H.insertBefore(y,H.firstChild),w=0,S=b.length+f.length;S>w;w++)N=b.length>w?b[w]:f[w-b.length],x=N.attributes.placeholder,x&&(x=x.nodeValue,x&&M.inArray(B,N.type)&&p(N));L=setInterval(function(){for(w=0,S=b.length+f.length;S>w;w++)N=b.length>w?b[w]:f[w-b.length],x=N.attributes.placeholder,x?(x=x.nodeValue,x&&M.inArray(B,N.type)&&(N.getAttribute(j)||p(N),(x!==N.getAttribute(V)||"password"===N.type&&!N.getAttribute(P))&&("password"===N.type&&!N.getAttribute(P)&&M.changeType(N,"text")&&N.setAttribute(P,"password"),N.value===N.getAttribute(V)&&(N.value=x),N.setAttribute(V,x)))):N.getAttribute(D)&&(n(N),N.removeAttribute(V));h||clearInterval(L)},100)}M.addEventListener(t,"beforeunload",function(){K.disable()}),K.disable=K.nativeSupport?e:i,K.enable=K.nativeSupport?e:l}(this);
--------------------------------------------------------------------------------
/assets/js/smooth-scroll.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Smooth Scroll - v1.4.10 - 2013-03-02
3 | * https://github.com/kswedberg/jquery-smooth-scroll
4 | * Copyright (c) 2013 Karl Swedberg
5 | * Licensed MIT (https://github.com/kswedberg/jquery-smooth-scroll/blob/master/LICENSE-MIT)
6 | */
7 | !function(l){function t(l){return l.replace(/(:|\.)/g,"\\$1")}var e="1.4.10",o={exclude:[],excludeWithin:[],offset:0,direction:"top",scrollElement:null,scrollTarget:null,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficent:2},r=function(t){var e=[],o=!1,r=t.dir&&"left"==t.dir?"scrollLeft":"scrollTop";return this.each(function(){if(this!=document&&this!=window){var t=l(this);t[r]()>0?e.push(this):(t[r](1),o=t[r]()>0,o&&e.push(this),t[r](0))}}),e.length||this.each(function(){"BODY"===this.nodeName&&(e=[this])}),"first"===t.el&&e.length>1&&(e=[e[0]]),e};l.fn.extend({scrollable:function(l){var t=r.call(this,{dir:l});return this.pushStack(t)},firstScrollable:function(l){var t=r.call(this,{el:"first",dir:l});return this.pushStack(t)},smoothScroll:function(e){e=e||{};var o=l.extend({},l.fn.smoothScroll.defaults,e),r=l.smoothScroll.filterPath(location.pathname);return this.unbind("click.smoothscroll").bind("click.smoothscroll",function(e){var n=this,s=l(this),c=o.exclude,i=o.excludeWithin,a=0,f=0,h=!0,u={},d=location.hostname===n.hostname||!n.hostname,m=o.scrollTarget||(l.smoothScroll.filterPath(n.pathname)||r)===r,p=t(n.hash);if(o.scrollTarget||d&&m&&p){for(;h&&c.length>a;)s.is(t(c[a++]))&&(h=!1);for(;h&&i.length>f;)s.closest(i[f++]).length&&(h=!1)}else h=!1;h&&(e.preventDefault(),l.extend(u,o,{scrollTarget:o.scrollTarget||p,link:n}),l.smoothScroll(u))}),this}}),l.smoothScroll=function(t,e){var o,r,n,s,c=0,i="offset",a="scrollTop",f={},h={};"number"==typeof t?(o=l.fn.smoothScroll.defaults,n=t):(o=l.extend({},l.fn.smoothScroll.defaults,t||{}),o.scrollElement&&(i="position","static"==o.scrollElement.css("position")&&o.scrollElement.css("position","relative"))),o=l.extend({link:null},o),a="left"==o.direction?"scrollLeft":a,o.scrollElement?(r=o.scrollElement,c=r[a]()):r=l("html, body").firstScrollable(),o.beforeScroll.call(r,o),n="number"==typeof t?t:e||l(o.scrollTarget)[i]()&&l(o.scrollTarget)[i]()[o.direction]||0,f[a]=n+c+o.offset,s=o.speed,"auto"===s&&(s=f[a]||r.scrollTop(),s/=o.autoCoefficent),h={duration:s,easing:o.easing,complete:function(){o.afterScroll.call(o.link,o)}},o.step&&(h.step=o.step),r.length?r.stop().animate(f,h):o.afterScroll.call(o.link,o)},l.smoothScroll.version=e,l.smoothScroll.filterPath=function(l){return l.replace(/^\//,"").replace(/(index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},l.fn.smoothScroll.defaults=o}(jQuery);
--------------------------------------------------------------------------------
/assets/js/spectragram.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery - Spectragram by Adrian Quevedo
3 | * http://adrianquevedo.com/ - http://lab.adrianquevedo.com/ - http://elnucleo.com.co/
4 | *
5 | * Dual licensed under the MIT or GPL Version 2 licenses.
6 | * You are free to use this plugin in commercial projects as long as the copyright header is left intact.
7 | *
8 | * This plugin uses the Instagram(tm) API and is not endorsed or certified by Instagram or Burbn, inc.
9 | * All Instagram(tm) logos and trademarks displayed on this plugin are property of Burbn, Inc.
10 | *
11 | * Date: Thu Jul 15 14:05:02 2012 -0500
12 | */
13 | "function"!=typeof Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),function(e){var t={init:function(t,a){var n=this;n.elem=a,n.$elem=e(a),n.api="https://api.instagram.com/v1",n.accessData=e.fn.spectragram.accessData,n.options=e.extend({},e.fn.spectragram.options,t)},getRecentMedia:function(e){var t=this,a="/users/"+e+"/media/recent/?"+t.accessData.clientID+"&access_token="+t.accessData.accessToken;t.fetch(a).done(function(e){t.display(e)})},getUserFeed:function(){var t=this,a="/users/search?q="+t.options.query+"&count="+t.options.max+"&access_token="+t.accessData.accessToken;t.fetch(a).done(function(a){a.data.length?t.getRecentMedia(a.data[0].id):e.error("Spectagram.js - Error: the username "+t.options.query+" does not exist.")})},getPopular:function(){var e=this,t="/media/popular?client_id="+e.accessData.clientID+"&access_token="+e.accessData.accessToken;e.fetch(t).done(function(t){e.display(t)})},getRecentTagged:function(){var t=this,a="/tags/"+t.options.query+"/media/recent?client_id="+t.accessData.clientID+"&access_token="+t.accessData.accessToken;t.fetch(a).done(function(a){a.data.length?t.display(a):e.error("Spectagram.js - Error: the tag "+t.options.query+" does not have results.")})},fetch:function(t){var a=this,n=a.api+t;return e.ajax({type:"GET",dataType:"jsonp",cache:!1,url:n})},display:function(t){var a,n=this,s=n.options.size,c=n.options.max>=t.data.length?t.data.length:n.options.max;if(0===t.data.length)n.$elem.append(e(n.options.wrapEachWith).append(n.options.notFoundMsg));else for(var o=0;c>o;o++)a="small"==s?t.data[o].images.thumbnail.url:"medium"==s?t.data[o].images.low_resolution.url:t.data[o].images.standard_resolution.url,n.$elem.append(e(n.options.wrapEachWith).append("

"));"function"==typeof n.options.complete&&n.options.complete.call(n)}};jQuery.fn.spectragram=function(a,n){jQuery.fn.spectragram.accessData.clientID?this.each(function(){var s=Object.create(t);return s.init(n,this),s[a]?s[a](this):(e.error("Method "+a+" does not exist on jQuery.spectragram"),void 0)}):e.error("You must define an accessToken and a clientID on jQuery.spectragram")},jQuery.fn.spectragram.options={max:10,query:"coffee",size:"medium",wrapEachWith:"
",complete:null},jQuery.fn.spectragram.accessData={accessToken:null,clientID:null}}(jQuery,window,document);
--------------------------------------------------------------------------------
/assets/js/twitterfetcher.min.js:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * #### Twitter Post Fetcher v10.0 ####
3 | * Coded by Jason Mayes 2013. A present to all the developers out there.
4 | * www.jasonmayes.com
5 | * Please keep this disclaimer with my code if you use it. Thanks. :-)
6 | * Got feedback or questions, ask here:
7 | * http://www.jasonmayes.com/projects/twitterApi/
8 | * Updates will be posted to this site.
9 | *********************************************************************/
10 | var twitterFetcher=function(){function x(e){return e.replace(/
]*>(.*?)<\/b>/gi,function(c,e){return e}).replace(/class=".*?"|data-query-source=".*?"|dir=".*?"|rel=".*?"/gi,"")}function p(e,c){for(var g=[],f=RegExp("(^| )"+c+"( |$)"),a=e.getElementsByTagName("*"),h=0,d=a.length;hl&&(e.splice(l,e.length-l),g.splice(l,g.length-l),f.splice(l,f.length-l),a.splice(l,a.length-l));c=[];d=e.length;for(a=0;a'+x(g[a].innerHTML)+" "),b+='",q&&(b+='