').append(e.clone()).remove().html().replace(/type="password"/i, 'type="text"').replace(/type=password/i, 'type=text')); if (e.attr('id') != '') x.attr('id', e.attr('id') + '_fakeformerizefield'); if (e.attr('name') != '') x.attr('name', e.attr('name') + '_fakeformerizefield'); x.addClass('formerize-placeholder').val(x.attr('placeholder')).insertAfter(e); if (e.val() == '') e.hide(); else x.hide(); e.blur(function(event) { event.preventDefault(); var e = $(this); var x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } }); x.focus(function(event) { event.preventDefault(); var x = $(this); var e = x.parent().find('input[name=' + x.attr('name').replace('_fakeformerizefield', '') + ']'); x.hide(); e.show().focus(); }); x.keypress(function(event) { event.preventDefault(); x.val(''); }); }); _form.submit(function() { $(this).find('input[type=text],input[type=password],textarea').each(function(event) { var e = $(this); if (e.attr('name').match(/_fakeformerizefield$/)) e.attr('name', ''); if (e.val() == e.attr('placeholder')) { e.removeClass('formerize-placeholder'); e.val(''); } }); }).bind("reset", function(event) { event.preventDefault(); $(this).find('select').val($('option:first').val()); $(this).find('input,textarea').each(function() { var e = $(this); var x; e.removeClass('formerize-placeholder'); switch (this.type) { case 'submit': case 'reset': break; case 'password': e.val(e.attr('defaultValue')); x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } else { e.show(); x.hide(); } break; case 'checkbox': case 'radio': e.attr('checked', e.attr('defaultValue')); break; case 'text': case 'textarea': e.val(e.attr('defaultValue')); if (e.val() == '') { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } break; default: e.val(e.attr('defaultValue')); break; } }); window.setTimeout(function() { for (x in _fakes) _fakes[x].trigger('formerize_sync'); }, 10); }); return _form; };
89 | $form.n33_formerize();
90 | }
91 |
92 | }
93 |
94 | // Header.
95 | var $header = $('#header'),
96 | $headerTitle = $header.find('header'),
97 | $headerContainer = $header.find('.container');
98 |
99 | // Make title fixed.
100 | if (!skel.vars.isMobile) {
101 |
102 | $window.on('load.hl_headerTitle', function() {
103 |
104 | skel.on('-medium !medium', function() {
105 |
106 | $headerTitle
107 | .css('position', 'fixed')
108 | .css('height', 'auto')
109 | .css('top', '50%')
110 | .css('left', '0')
111 | .css('width', '100%')
112 | .css('margin-top', ($headerTitle.outerHeight() / -2));
113 |
114 | });
115 |
116 | skel.on('+medium', function() {
117 |
118 | $headerTitle
119 | .css('position', '')
120 | .css('height', '')
121 | .css('top', '')
122 | .css('left', '')
123 | .css('width', '')
124 | .css('margin-top', '');
125 |
126 | });
127 |
128 | $window.off('load.hl_headerTitle');
129 |
130 | });
131 |
132 | }
133 |
134 | // Scrollex.
135 | skel.on('-small !small', function() {
136 | $header.scrollex({
137 | terminate: function() {
138 |
139 | $headerTitle.css('opacity', '');
140 |
141 | },
142 | scroll: function(progress) {
143 |
144 | // Fade out title as user scrolls down.
145 | if (progress > 0.5)
146 | x = 1 - progress;
147 | else
148 | x = progress;
149 |
150 | $headerTitle.css('opacity', Math.max(0, Math.min(1, x * 2)));
151 |
152 | }
153 | });
154 | });
155 |
156 | skel.on('+small', function() {
157 |
158 | $header.unscrollex();
159 |
160 | });
161 |
162 | // Main sections.
163 | $('.main').each(function() {
164 |
165 | var $this = $(this),
166 | $primaryImg = $this.find('.image.primary > img'),
167 | $bg,
168 | options;
169 |
170 | // No primary image? Bail.
171 | if ($primaryImg.length == 0)
172 | return;
173 |
174 | // Hack: IE8 fallback.
175 | if (skel.vars.IEVersion < 9) {
176 |
177 | $this
178 | .css('background-image', 'url("' + $primaryImg.attr('src') + '")')
179 | .css('-ms-behavior', 'url("css/ie/backgroundsize.min.htc")');
180 |
181 | return;
182 |
183 | }
184 |
185 | // Create bg and append it to body.
186 | $bg = $('
')
187 | .css('background-image', (
188 | 'url("css/images/overlay.png"), url("' + $primaryImg.attr('src') + '")'
189 | ))
190 | .appendTo($body);
191 |
192 | // Scrollex.
193 | options = {
194 | mode: 'middle',
195 | delay: 200,
196 | top: '-10vh',
197 | bottom: '-10vh'
198 | };
199 |
200 | if (skel.canUseProperty('transition')) {
201 |
202 | options.init = function() { $bg.removeClass('active'); };
203 | options.enter = function() { $bg.addClass('active'); };
204 | options.leave = function() { $bg.removeClass('active'); };
205 |
206 | }
207 | else {
208 |
209 | $bg
210 | .css('opacity', 1)
211 | .hide();
212 |
213 | options.init = function() { $bg.fadeOut(0); };
214 | options.enter = function() { $bg.fadeIn(400); };
215 | options.leave = function() { $bg.fadeOut(400); };
216 |
217 | }
218 |
219 | $this.scrollex(options);
220 |
221 | });
222 |
223 | });
224 |
225 | })(jQuery);
--------------------------------------------------------------------------------
/Phase3/src/database.php:
--------------------------------------------------------------------------------
1 | connection = $connection;
19 | }
20 |
21 | function doQuery($query)
22 | {
23 | $result = mysqli_query($this->connection, $query);
24 | return $result;
25 | }
26 |
27 | function add_user($username, $password)
28 | {
29 | $result = $this->doQuery("
30 | SELECT username
31 | FROM user
32 | WHERE username = $username");
33 |
34 | $value = mysqli_fetch_assoc($result);
35 | if(mysqli_num_rows($value))
36 | {
37 | return false;
38 | }
39 |
40 | $this->doQuery("
41 | INSERT INTO user (username, password)
42 | VALUES ('$username', '$password');");
43 | if(mysqli_error($this->connection))
44 | return false;
45 | return true;
46 | }
47 |
48 | function login($username, $password)
49 | {
50 | if(!empty($password)) {
51 | $result = $this->doQuery("
52 | SELECT username
53 | FROM user
54 | WHERE username = '$username' AND password = '$password'");
55 |
56 | if (mysqli_error($this->connection))
57 | die(mysqli_error($this->connection));
58 |
59 | if (mysqli_num_rows($result)) {
60 | $check = $this->doQuery("
61 | SELECT isdebarred
62 | FROM user join studentfaculty on user.username = studentfaculty.username
63 | WHERE user.username = '$username'
64 | ");
65 | $row = mysqli_fetch_assoc($check);
66 | if($row['isdebarred'] == null) {
67 | $_SESSION['hasprofile'] = false;
68 | }
69 | elseif($row['isdebarred'] == '1')
70 | return false;
71 | else
72 | $_SESSION['hasprofile'] = true;
73 | $_SESSION['isstaff'] = false;
74 | return true;
75 | }
76 | }
77 | else{
78 | $result = $this->doQuery("
79 | SELECT username
80 | FROM staff
81 | WHERE username = '$username'
82 | ");
83 | if (mysqli_error($this->connection))
84 | die(mysqli_error($this->connection));
85 |
86 | if (mysqli_num_rows($result)) {
87 | $_SESSION['isstaff'] = true;
88 | return true;
89 | }
90 | }
91 | return false;
92 | }
93 |
94 | function create_profile($username, $name, $DOB, $gender, $email, $is_faculty, $address, $dept)
95 | {
96 | $this->doQuery("
97 | INSERT INTO studentfaculty(username, name, dob, gender, isdebarred, email, address, isfaculty, dept, penalty)
98 | VALUES ('$username', '$name', '$DOB', '$gender', '0', '$email', '$address', '$is_faculty', '$dept', '0');
99 | ");
100 | if(mysqli_error($this->connection))
101 | return false;
102 | return true;
103 | }
104 |
105 | function search_book($isbn, $title, $author)
106 | {
107 | echo $isbn.$title.$author;
108 | $query = "
109 | SELECT title, isreserve, book.isbn, edition, count(copyid) as 'copies', min(copyid) as 'copy'
110 | from book join bookcopy on book.isbn=bookcopy.isbn
111 | where bookcopy.isdamage = '0' AND bookcopy.ishold= '0'
112 | AND bookcopy.ischeck = '0' AND book.isreserve = '0'
113 | ";
114 |
115 | if($isbn) {
116 | $query .= "
117 | AND book.isbn='$isbn'
118 | ";
119 | }
120 | if($title)
121 | {
122 | $query .= "
123 | AND book.title LIKE '%$title%'
124 | ";
125 | }
126 | if($author)
127 | {
128 | $query = "
129 | AND author.author LIKE '%$author%'
130 | ";
131 | }
132 | $query .= " group by book.isbn;";
133 | $result = $this->doQuery($query);
134 | return $result;
135 | }
136 |
137 | function request_hold($username, $isbn, $copy_id)
138 | {
139 | $this->doQuery("
140 | update bookcopy set ishold = '1', requester = '$username'
141 | where bookcopy.isbn = '$isbn' AND bookcopy.copyid = '$copy_id' LIMIT 1
142 | ");
143 | if(mysqli_error($this->connection))
144 | die(mysqli_error($this->connection));
145 |
146 | $this->doQuery("
147 | INSERT INTO issue(username, issuedate, redate, copyid, isbn)
148 | VALUES ('$username', CURDATE(), DATE_ADD(CURDATE(),INTERVAL 17 DAY), $copy_id, '$isbn')
149 | ");
150 | if(mysqli_error($this->connection))
151 | die(mysqli_error($this->connection));
152 | }
153 |
154 | function generatePopular()
155 | {
156 | $query = "
157 | select subname, count(issueid) from book join issue on issue.isbn=book.isbn where MONTH(issuedate)=1 group by book.subname order by count(issueid) DESC limit 3";
158 |
159 |
160 | $result = $this->doQuery($query);
161 | if(mysqli_error($this->connection))
162 | die(mysqli_error($this->connection));
163 | return $result;
164 | }
165 |
166 | function generatePopularSecond()
167 | {
168 | $query = "
169 | select subname, count(issueid) from book join issue on issue.isbn=book.isbn where MONTH(issuedate)=2 group by book.subname order by count(issueid) DESC limit 3";
170 |
171 |
172 | $result = $this->doQuery($query);
173 | if(mysqli_error($this->connection))
174 | die(mysqli_error($this->connection));
175 | return $result;
176 | }
177 |
178 | function generateUserReport()
179 | {
180 | $query = "select name, count(issue.username) from issue join studentfaculty on issue.username=studentfaculty.username where month(issuedate)=1 GROUP BY issue.username ORDER BY count(issue.username) DESC limit 5";
181 |
182 |
183 | $result = $this->doQuery($query);
184 | if (mysqli_error($this->connection))
185 | die(mysqli_error($this->connection));
186 | return $result;
187 | }
188 |
189 | function get_issue_date($username, $issue_id){
190 | $result = $this->doQuery("
191 | select issuedate, extdate, redate
192 | from issue join bookcopy on issue.isbn = bookcopy.isbn and issue.copyid = bookcopy.copyid
193 | where ishold='0' and username = '$username' and extcount <= 1
194 | and issueid = '$issue_id' and redate>=CURDATE() and ischeck= '1'
195 | ");
196 | if(mysqli_error($this->connection))
197 | die(mysqli_error($this->connection));
198 | return $result;
199 | }
200 |
201 | function request_ext($issue_id)
202 | {
203 | if(!$_SESSION['isfaculty']){
204 | $this->doQuery("
205 | update issue set extdate = CURDATE(), extcount=extcount+1, redate=least(DATE_ADD(CURDATE(), INTERVAL 14 DAY), DATE_ADD(issuedate, INTERVAL 28 DAY))
206 | where issueid='$issue_id' LIMIT 1
207 | ");
208 | if(mysqli_error($this->connection))
209 | die(mysqli_error($this->connection));
210 | }
211 | elseif($_SESSION['isfaculty']) {
212 | $this->doQuery("
213 | update issue set extdate = CURDATE(), extcount=extcount+1, redate=least(DATE_ADD(CURDATE(), INTERVAL 14 DAY), DATE_ADD(issuedate, INTERVAL 28 DAY))
214 | where issueid='$issue_id' LIMIT 1
215 | ");
216 | if(mysqli_error($this->connection))
217 | die(mysqli_error($this->connection));
218 | }
219 | }
220 |
221 | function generateUserReportSecond()
222 | {
223 | $query = "select name , count(issue.username) from issue join studentfaculty on issue.username=studentfaculty.username where month(issuedate)=2 GROUP BY issue.username ORDER BY count(issue.username) DESC limit 5";
224 |
225 |
226 | $result = $this->doQuery($query);
227 | if(mysqli_error($this->connection))
228 | die(mysqli_error($this->connection));
229 | return $result;
230 |
231 | }
232 |
233 | function get_future_book($isbn)
234 | {
235 | $result = $this->doQuery("
236 | select issue.redate as 'redate', bookcopy.copyid as 'copy_id'
237 | from issue join bookcopy on issue.isbn = bookcopy.isbn and issue.copyid = bookcopy.copyid
238 | WHERE bookcopy.isbn = '$isbn' AND ischeck = '1' AND ishold='0' order by issue.redate limit 1
239 | ");
240 | if(mysqli_error($this->connection))
241 | die(mysqli_error($this->connection));
242 | return $result;
243 |
244 | }
245 |
246 | function generatePopularBook()
247 | {
248 | $query = "select title, count(issueid) from book join issue on issue.isbn=book.isbn where MONTH(issuedate)=1 group by book.isbn order by count(issueid) DESC limit 3";
249 |
250 |
251 | $result = $this->doQuery($query);
252 | if(mysqli_error($this->connection))
253 | die(mysqli_error($this->connection));
254 | return $result;
255 |
256 | }
257 |
258 | function future_hold($copy_id, $isbn, $username, $redate)
259 | {
260 | $this->doQuery("
261 | update bookcopy
262 | set ishold = '1', requester = '$username'
263 | where bookcopy.isbn = '$isbn' AND bookcopy.copyid = '$copy_id' LIMIT 1
264 | ");
265 | if(mysqli_error($this->connection))
266 | die(mysqli_error($this->connection));
267 |
268 | $this->doQuery("
269 | INSERT INTO issue(username, issuedate, redate, copyid, isbn)
270 | VALUES ('$username', '$redate', DATE_ADD('$redate',INTERVAL 17 DAY), '$copy_id', '$isbn')
271 | ");
272 | if(mysqli_error($this->connection))
273 | die(mysqli_error($this->connection));
274 | }
275 |
276 | function track_book($isbn)
277 | {
278 | $query = "
279 | select floorid, aisleid, shelf.shelfid as shelfid, subname
280 | from book join shelf on book.shelfid = shelf.shelfid
281 | where isbn = '$isbn'
282 | ";
283 | $result = $this->doQuery($query);
284 | if(mysqli_error($this->connection))
285 | die(mysqli_error($this->connection));
286 | return $result;
287 | }
288 |
289 | function generatePopularBookSecond()
290 | {
291 | $query = "select title, count(issueid) from book join issue on issue.isbn=book.isbn where MONTH(issuedate)=2 group by book.isbn order by count(issueid) DESC limit 3";
292 |
293 |
294 | $result = $this->doQuery($query);
295 | if(mysqli_error($this->connection))
296 | die(mysqli_error($this->connection));
297 | return $result;
298 |
299 | }
300 |
301 | function checkOut($issueid){
302 | $result = $this->doQuery("
303 | select username, issue.copyid, issuedate, issue.isbn
304 | from issue join bookcopy on bookcopy.isbn=issue.isbn and bookcopy.copyid=issue.copyid
305 | where issueid = '$issueid'
306 | ");
307 | if(mysqli_error($this->connection))
308 | die(mysqli_error($this->connection));
309 | return $result;
310 | }
311 |
312 | function doCheckOut($isbn, $copyid){
313 | echo $isbn.$copyid;
314 | $this->doQuery("
315 | update bookcopy set ishold='0', requester = NULL, ischeck = '1' where isbn = '$isbn' and copyid='$copyid'
316 | ");
317 | if(mysqli_error($this->connection))
318 | die(mysqli_error($this->connection));
319 | }
320 | }
321 | ?>
--------------------------------------------------------------------------------
/Phase3/test.sql:
--------------------------------------------------------------------------------
1 | /*figure 1*/
2 | /*The GRHI login screen is shown in Figure 1. Restaurant operators
3 | and state health inspectors can log into the system and are required
4 | to enter a password for the security of the database. Others who are
5 | just looking for restaurant inspection reports/scores can simply login in as a guest.*/
6 |
7 | /*Condition 1: the successful login should return a user name*/
8 | SELECT username
9 | FROM registereduser
10 | WHERE username = "chuney" AND password = "1234";
11 | /*Condition 2: otherwise, nothing is going to be returned*/
12 | SELECT username
13 | FROM registereduser
14 | WHERE username = "chuney" AND password = "1345";
15 |
16 | /* figure 2 */
17 | /*find a restaurant(s) based on the conjunction of health inspection score and zipcode with (0, 1 or both) of the following: restaurant name, cuisine.
18 | health inspection score-->inspection.totalscore
19 | zipcode→restaurant.zipcode
20 | restaurant name→restaurant.name
21 | cuisine→ restaurant.cuisine & cuisines.cuisine
22 | */
23 | /*show all the cuisines to the users*/
24 | SELECT *
25 | FROM cuisines;
26 | /*First, create a view specifying all the last inspection date of the restaurants*/
27 | CREATE OR REPLACE VIEW lastI AS
28 | SELECT i.rid AS rid, i.idate AS idate
29 | FROM inspection i
30 | WHERE NOT EXISTS
31 | (SELECT i.rid, i.idate
32 | FROM inspection b
33 | WHERE i.rid = b.rid AND i.idate < b.idate
34 | );
35 |
36 | /*Constraint 1.inspection score (less than or greater than)and zipcode*/
37 | SELECT R.name AS Restaurant, R.street, R.city, R.state,R.zipcode, R.cuisine AS Cuisine,
38 | I.totalscore AS LastInspectionScore, I.idate AS LastInspectionDate
39 | FROM inspection I, restaurant R, lastI
40 | WHERE I.rid=R.rid AND lastI.idate = I.idate
41 | AND (I.totalscore >25) AND (R.zipcode=30339);
42 |
43 | /*Constraint 2.inspection score(less than or greater than) and zipcode and restaurant name*/
44 | SELECT R.name AS Restaurant, R.street, R.city, R.state,R.zipcode, R.cuisine AS Cuisine,
45 | I.totalscore AS LastInspectionScore, I.idate AS LastInspectionDate
46 | FROM inspection I, restaurant R, lastI
47 | WHERE I.rid=R.rid AND lastI.idate = I.idate
48 | AND (I.totalscore >25) AND (R.zipcode=30339) AND (R.name = 'Heirloom');
49 |
50 | /*another example of constraint 2*/
51 | SELECT R.name AS Restaurant, R.street, R.city, R.state,R.zipcode, R.cuisine AS Cuisine,
52 | I.totalscore AS LastInspectionScore, I.idate AS LastInspectionDate
53 | FROM inspection I, restaurant R, lastI
54 | WHERE I.rid=R.rid AND lastI.idate = I.idate
55 | AND (I.totalscore >25) AND (R.zipcode=30080) AND (R.name = 'Mezza Luna');
56 |
57 | /*Constraint 3.inspection score(less than or greater than) and zipcode and cuisine*/
58 | SELECT R.name AS Restaurant, R.street, R.city, R.state,R.zipcode, R.cuisine AS Cuisine,
59 | I.totalscore AS LastInspectionScore, I.idate AS LastInspectionDate
60 | FROM inspection I, restaurant R, lastI
61 | WHERE I.rid=R.rid AND lastI.idate = I.idate
62 | AND (I.totalscore >25) AND (R.cuisine = "Chinese") AND (R.zipcode=30339);
63 |
64 | /*Constraint 4.inspection score(less than or greater than) and zipcode and cuisine and restaurant name*/
65 | SELECT R.name AS Restaurant, R.street, R.city, R.state,R.zipcode, R.cuisine AS Cuisine,
66 | I.totalscore AS LastInspectionScore, I.idate AS LastInspectionDate
67 | FROM inspection I, restaurant R, lastI
68 | WHERE I.rid=R.rid AND lastI.idate = I.idate
69 | AND (I.totalscore >25) AND (R.cuisine = "American") AND (R.zipcode=30318) AND (R.name = "Bocado");
70 |
71 |
72 | /*Figure 3*/
73 | /*allows a user to enter food/safety complaint information about a restaurant. */
74 | /*show user all the available restaurants frst*/
75 | SELECT *
76 | FROM restaurant;
77 | /*Note: customer need to exist first*/
78 | /*When inserting a customer, make sure the phone num is unique in db*/
79 | INSERT INTO customer
80 | VALUES ('1234567890', 'aaa', 'bbb');
81 | /*When inserting a customer, make sure the phone num exist*/
82 | INSERT INTO complaint
83 | VALUES ('1', '1234567890', '2015-08-19', 'TESTING INSERT COMPLAINT');
84 |
85 |
86 | /*Figure 4 */
87 | /*Operator insert information about their restaurant*/
88 | /*show users all the cuisines*/
89 | SELECT *
90 | FROM cuisines;
91 | /*when inserting into a restaurant, make sure RID is unique and cuisine type is legal and email*/
92 | INSERT INTO restaurant
93 | VALUES (21,4041234567, "Elephant Bar", "Fulton", "245 North Ave", "Atlanta", "GA", 30332, "American", "ppatel@gmail.com");
94 |
95 |
96 | /*Figure 5a*/
97 | /*the user(operator) will select the
98 | search criteria from a dropdown that lists
99 | all the restaurant information associated with him/her.*/
100 | SELECT R.rid, R.name, R.street, R.city, R.state, R.zipcode
101 | FROM operatorowner O, restaurant R
102 | WHERE R.email=O.email AND O.username = "ppatel";
103 |
104 |
105 | /*Figure 5b*/
106 | /*get health inspection report results for the last two inspections */
107 | CREATE OR REPLACE VIEW theRestaurantIns AS
108 | SELECT i.idate, it.itemnum, it.description, c.score, i.totalscore, i.passfail
109 | FROM containing AS c, item AS it, inspection AS i
110 | WHERE i.rid = 19 AND c.idate = i.idate AND c.rid = i.rid AND it.itemnum = c.itemnum;
111 | /*find the last inspection*/
112 | CREATE OR REPLACE VIEW lastI AS
113 | SELECT i.idate, i.itemnum, i.description, i.score, i.totalscore, i.passfail
114 | FROM theRestaurantIns i
115 | WHERE NOT EXISTS
116 | (SELECT i.idate
117 | FROM theRestaurantIns b
118 | WHERE i.idate < b.idate
119 | );
120 | /*find the inspections without the last one*/
121 | CREATE OR REPLACE VIEW nolastI AS
122 | SELECT DISTINCT allI.idate, allI.itemnum, allI.description, allI.score, allI.totalscore, allI.passfail
123 | FROM lastI i, theRestaurantIns allI
124 | WHERE i.idate > allI.idate;
125 | /*find the inspections with the second last one*/
126 | CREATE OR REPLACE VIEW secLastI AS
127 | SELECT DISTINCT i.idate, i.itemnum, i.description, i.score, i.totalscore, i.passfail
128 | FROM nolastI i
129 | WHERE NOT EXISTS
130 | (SELECT i.idate
131 | FROM nolastI b
132 | WHERE i.idate < b.idate
133 | );
134 | /* finally we get the last 2 idate*/
135 | SELECT DISTINCT i.idate AS InspectionDate, i.itemnum AS ItemNumber, i.description AS ItemDescription, i.score AS Score,
136 | i.passfail AS Result, i.totalscore AS TotalScore
137 | FROM theRestaurantIns i, secLastI, lastI
138 | WHERE i.idate = lastI.idate OR i.idate = secLastI.idate;
139 |
140 |
141 | /*Figure 6a*/
142 | /*inserting a restaurant inspection report*/
143 | /* first show the user all the items with discreption*/
144 | SELECT i.itemnum AS ItemNumber, i.description AS ItemDescription, i.critical AS Critical
145 | FROM item i;
146 | /*before insert into containing make sure the inespction report exist*/
147 | /*before creating the inspection report, make sure rid idate combination is unique and iid exists*/
148 | INSERT INTO inspection
149 | VALUES (2, 2, "2015-7-7", 100, "PASS");
150 | /*before insert into containing make sure the rid idate combination exists, make sure 1to8 < 9(perfect score), 9to15<4(perfect score)*/
151 | INSERT INTO containing
152 | VALUES (1, 2, "2015-7-7", 9);
153 | INSERT INTO containing
154 | VALUES (2, 2, "2015-7-7", 9);
155 | INSERT INTO containing
156 | VALUES (3, 2, "2015-7-7", 9);
157 | INSERT INTO containing
158 | VALUES (4, 2, "2015-7-7", 9);
159 | INSERT INTO containing
160 | VALUES (5, 2, "2015-7-7", 9);
161 | INSERT INTO containing
162 | VALUES (6, 2, "2015-7-7", 9);
163 | INSERT INTO containing
164 | VALUES (7, 2, "2015-7-7", 9);
165 | INSERT INTO containing
166 | VALUES (8, 2, "2015-7-7", 9);
167 | INSERT INTO containing
168 | VALUES (9, 2, "2015-7-7", 4);
169 | INSERT INTO containing
170 | VALUES (10, 2, "2015-7-7", 4);
171 | INSERT INTO containing
172 | VALUES (11, 2, "2015-7-7", 4);
173 | INSERT INTO containing
174 | VALUES (12, 2, "2015-7-7", 4);
175 | INSERT INTO containing
176 | VALUES (13, 2, "2015-7-7", 4);
177 | INSERT INTO containing
178 | VALUES (14, 2, "2015-7-7", 4);
179 | INSERT INTO containing
180 | VALUES (15, 2, "2015-7-7", 4);
181 |
182 |
183 | /*Figure 6b*/
184 | /*In figure 6b, an Inspector can enter additional comments about the observed
185 | condition of any item on the inspection list.
186 | He/she will enter Inspector ID, Restaurant ID, Date and Item number with associated Comments.*/
187 | /*make sure the itemnum is unique. rid and iid combination is unique*/
188 | INSERT INTO includes
189 | VALUES (1, 16, "2015-3-18", "Eggs are rotten!");
190 | `
191 |
192 | /*figure 7a*/
193 | /*In figure 7a, an inspector can run a summary report about restaurant inspections
194 | for a specified month and year. The summary data is organized by County and Cuisine in sorted order.*/
195 | CREATE OR REPLACE VIEW numRest AS
196 | SELECT r.county, r.cuisine, COUNT(*) AS NumOfRestaurantInspected
197 | FROM restaurant r, inspection i
198 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01')
199 | GROUP BY r.county, r.cuisine;
200 | CREATE OR REPLACE VIEW numFail AS
201 | SELECT r.county, r.cuisine, COUNT(*) AS NumFail
202 | FROM restaurant r, inspection i
203 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01') AND (i.passfail = "FAIL")
204 | GROUP BY r.county, r.cuisine;
205 | /*this has all the result except the grandtotal*/
206 | /*if the county with the cuisine has no inspection fail, the NumFail column will be NULL*/
207 | /*CREATE OR REPLACE VIEW raw7a AS*/
208 | SELECT numRest.county, numRest.cuisine, numRest.NumOfRestaurantInspected, numFail.NumFail
209 | FROM numRest
210 | LEFT OUTER JOIN numFail
211 | ON numRest.county = numFail.county AND numRest.cuisine = numFail.cuisine;
212 | /*count all the fails*/
213 | CREATE OR REPLACE VIEW totalFail AS
214 | SELECT count(*) AS NumFail
215 | FROM restaurant r, inspection i
216 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01') AND (i.passfail = "FAIL");
217 | /*count all the inspections*/
218 | CREATE OR REPLACE VIEW totalInspected AS
219 | SELECT COUNT(*) AS NumOfRestaurantInspected
220 | FROM restaurant r, inspection i
221 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01');
222 | /*combine the grandtotal and display*/
223 | /*CREATE OR REPLACE VIEW grandTotal */
224 | SELECT totalInspected.NumOfRestaurantInspected AS TotalNumOfRestaurantInspected,totalFail.NumFail AS TotalNumFail
225 | FROM totalInspected, totalFail;
226 | /*count sub fails num*/
227 | CREATE OR REPLACE VIEW SubNumFail AS
228 | SELECT r.county AS County, COUNT(*) AS SubNumFail
229 | FROM restaurant r, inspection i
230 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01') AND (i.passfail = "FAIL")
231 | GROUP BY r.county;
232 | /*count sub inspected num*/
233 | CREATE OR REPLACE VIEW SubNumInspected AS
234 | SELECT r.county AS County, COUNT(*) AS SubNumInspected
235 | FROM restaurant r, inspection i
236 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01')
237 | GROUP BY r.county;
238 | /*this is all the subtotal results*/
239 | SELECT i.County, i.SubNumInspected, f.SubNumFail
240 | FROM SubNumInspected i, SubNumFail f
241 | WHERE i.County = f.County;
242 |
243 |
244 | /*figure 7b*/
245 | /*an inspector can run a summary report about restaurant inspections for a specified county and year.*/
246 | SELECT R.county AS County, MONTHNAME(S.idate) AS Month,COUNT(R.rid) AS RestaurantInspected
247 | FROM restaurant R, inspection S
248 | Where (S.rid=R.rid) AND (R.county="Fulton")
249 | AND (YEAR(S.idate)=2015)
250 | GROUP BY MONTH(S.idate),R.rid;
251 | /*count grandtotal of restaurant has been inspected in the year*/
252 | SELECT R.county AS County, COUNT(R.rid) AS TotalInspected
253 | FROM restaurant R, inspection S
254 | Where (S.rid=R.rid) AND (R.county="Fulton")
255 | AND (YEAR(S.idate)=2015);
256 |
257 |
258 | /*figure 7c*/
259 | SELECT r.cuisine AS Cuisine, r.name, r.street, r.city, r.state, r.zipcode, MAX(i.totalscore) AS InspectionScore
260 | FROM restaurant r, inspection i
261 | WHERE (r.rid = i.rid) AND (i.idate < '2015-12-01') AND (i.idate >= '2015-01-01')
262 | GROUP BY r.cuisine;
263 |
264 |
265 | /*figure 7d*/
266 | /*count the complaints*/
267 | CREATE OR REPLACE VIEW countComplaint AS
268 | SELECT c.rid AS rid, COUNT(*) AS numComplaints
269 | FROM complaint c
270 | GROUP BY c.rid;
271 | /*select complaints more than some number*/
272 | CREATE OR REPLACE VIEW complaintsMoreThan AS
273 | SELECT c.rid AS rid, c.numComplaints AS numComplaints, complaint.description AS complaintDescription
274 | FROM countComplaint c, complaint
275 | WHERE c.rid = complaint.rid AND c.numComplaints > 1;
276 | /*a less than perfect score was given on at least one critical item*/
277 | CREATE OR REPLACE VIEW lessThanPerfectCritical AS
278 | SELECT i.rid, c.score, it.perfectscore
279 | FROM inspection i, containing c, item it
280 | WHERE i.rid = c.rid AND i.idate = c.idate AND
281 | c.itemnum = it.itemnum AND it.critical = 'Y' AND c.score < it.perfectscore;
282 | /*select total score smaller than some number from the last inspection report
283 | in a specific year
284 | where a less than perfect score was given on at least one critical item*/
285 | CREATE OR REPLACE VIEW smaller AS
286 | SELECT i.rid AS rid, MAX(i.idate) AS idate, i.totalscore AS score
287 | FROM inspection i, lessThanPerfectCritical l
288 | WHERE i.totalscore<80 AND l.rid = i.rid AND i.idate < '2016-01-01' AND i.idate >= '2015-01-01'
289 | GROUP BY i.rid;
290 | /*get final result*/
291 | SELECT r.name AS restaurantName, r.street AS restStreet,
292 | r.city AS restCity, r.state AS restState, r.zipcode AS restZipcode, c.numComplaints, c.complaintDescription, o.email, o.firstname, o.lastname,s.score
293 | FROM restaurant r , smaller s, complaintsMoreThan c, operatorowner o
294 | WHERE r.rid = s.rid and r.rid = c.rid and r.email = o.email;
295 |
296 |
297 |
298 |
--------------------------------------------------------------------------------
/Phase3/src/css/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}
--------------------------------------------------------------------------------
/Phase3/src/js/skel.min.js:
--------------------------------------------------------------------------------
1 | /* skel.js v2.2.1 | (c) n33 | getskel.com | MIT licensed */
2 | var skel=function(){var e="breakpoints",t="config",n="iterate",r="elements",i="stateId",s="stateElements",o="getElementsByClassName",u=!1,a="getElementsByTagName",f="length",l="gridLevelMax",c=null,h="getCachedElement",p="viewport",d=" 0 -1px ",v="cacheNewElement",m="config_breakpoint",g="createElement",y=!0,b="gutters",w="vars",E="insertBefore",S="newInline",x="substring",T="}",N="parentNode",C="cache",k="locations",L="gridLevelMap",A="orientationChange",O="deviceType",M="className",_=" 0 0 ",D="object",P="isArray",H="match",B="grid",j="+*,",F="replace",I="head",q="newElement",R="canUseProperty_element",U="indexOf",z="_skel_isReversed",W="push",X="extend",V="matchesMedia",$="DOMReady",J="containers",K="onorientationchange",Q="defaults",G="lock",Y="getComputedStyle",Z="addEventListener",et="^head",tt="{display:none!important}",nt="parseMeasurement",rt="isActive",it="charAt",st="registerLocation",ot="trigger",ut="IEVersion",at="documentElement",ft="events",lt="placeholder",ct="level",ht="attachElements",pt="isStatic",dt="attachElement",vt="plugins",mt="DOMContentLoaded",gt="text/css",yt="device-width",bt="states",wt="initial-scale=1",Et="_skel_attach",St="removeEventListener",xt="split",Tt="resize",Nt="attached",Ct="location",kt="change",Lt="normalize",At="collapse",Ot="applyRowTransforms",Mt="media",_t="previousSibling",Dt="(min-width: ",Pt="html",Ht="style",Bt="firstChild",jt="forceDefaultState",Ft="_skel_placeholder",It="querySelectorAll",qt="min-height",Rt="max-height",Ut="min-width",zt="innerHTML",Wt="prototype",Xt="max-width",Vt="nextSibling",$t="hasOwnProperty",Jt="domready",Kt="onresize",Qt="priority",Gt="href",Yt=".\\3$1 ",Zt="android",en="readyState",tn="height=",nn={breakpoints:[],breakpointList:[],cache:{elements:{},states:{},stateElements:{}},config:{breakpoints:{"*":{href:u,media:""}},containers:1140,defaultState:c,events:{},grid:{level:1,collapse:u,gutters:[40,0]},lock:{path:u,permanent:y},plugins:{},pollOnce:u,preload:u,reset:Lt,RTL:u,viewport:{width:yt,height:"",scalable:y}},css:{bm:"*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}",n:"html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}",r:"html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}",gc:function(e){return".\\31 2u"+e+",.\\31 2u\\24"+e+"{width:100%;clear:none;margin-left:0}"+".\\31 1u"+e+",.\\31 1u\\24"+e+"{width:91.6666666667%;clear:none;margin-left:0}"+".\\31 0u"+e+",.\\31 0u\\24"+e+"{width:83.3333333333%;clear:none;margin-left:0}"+".\\39 u"+e+",.\\39 u\\24"+e+"{width:75%;clear:none;margin-left:0}"+".\\38 u"+e+",.\\38 u\\24"+e+"{width:66.6666666667%;clear:none;margin-left:0}"+".\\37 u"+e+",.\\37 u\\24"+e+"{width:58.3333333333%;clear:none;margin-left:0}"+".\\36 u"+e+",.\\36 u\\24"+e+"{width:50%;clear:none;margin-left:0}"+".\\35 u"+e+",.\\35 u\\24"+e+"{width:41.6666666667%;clear:none;margin-left:0}"+".\\34 u"+e+",.\\34 u\\24"+e+"{width:33.3333333333%;clear:none;margin-left:0}"+".\\33 u"+e+",.\\33 u\\24"+e+"{width:25%;clear:none;margin-left:0}"+".\\32 u"+e+",.\\32 u\\24"+e+"{width:16.6666666667%;clear:none;margin-left:0}"+".\\31 u"+e+",.\\31 u\\24"+e+"{width:8.3333333333%;clear:none;margin-left:0}"+".\\31 2u\\24"+e+j+".\\31 1u\\24"+e+j+".\\31 0u\\24"+e+j+".\\39 u\\24"+e+j+".\\38 u\\24"+e+j+".\\37 u\\24"+e+j+".\\36 u\\24"+e+j+".\\35 u\\24"+e+j+".\\34 u\\24"+e+j+".\\33 u\\24"+e+j+".\\32 u\\24"+e+j+".\\31 u\\24"+e+"+*{"+"clear:left;"+T+".\\-11u"+e+"{margin-left:91.6666666667%}"+".\\-10u"+e+"{margin-left:83.3333333333%}"+".\\-9u"+e+"{margin-left:75%}"+".\\-8u"+e+"{margin-left:66.6666666667%}"+".\\-7u"+e+"{margin-left:58.3333333333%}"+".\\-6u"+e+"{margin-left:50%}"+".\\-5u"+e+"{margin-left:41.6666666667%}"+".\\-4u"+e+"{margin-left:33.3333333333%}"+".\\-3u"+e+"{margin-left:25%}"+".\\-2u"+e+"{margin-left:16.6666666667%}"+".\\-1u"+e+"{margin-left:8.3333333333%}"}},defaults:{breakpoint:{config:c,elements:c,test:c},config_breakpoint:{containers:"100%",grid:{},href:u,media:"",viewport:{}}},events:[],forceDefaultState:u,gridLevelMap:{k:{},v:{}},gridLevelMax:1,isInit:u,isStatic:u,locations:{body:c,head:c,html:c},lcn:"_skel_lock",me:c,plugins:{},sd:"/",stateId:"",vars:{},DOMReady:c,getElementsByClassName:c,indexOf:c,isArray:c,iterate:c,matchesMedia:c,extend:function(e,t){var r;nn[n](t,function(n){nn[P](t[n])?(nn[P](e[n])||(e[n]=[]),nn[X](e[n],t[n])):typeof t[n]==D?(typeof e[n]!=D&&(e[n]={}),nn[X](e[n],t[n])):e[n]=t[n]})},getArray:function(e){return nn[P](e)?e:[e]},parseMeasurement:function(e){var t,n;if(typeof e!="string")t=[e,"px"];else if(e=="fluid")t=[100,"%"];else{var n;n=e[H](/([0-9\.]+)([^\s]*)/),n[f]<3||!n[2]?t=[parseFloat(e),"px"]:t=[parseFloat(n[1]),n[2]]}return t},canUseProperty_element:c,canUse:function(t){return nn[e][t]&&nn[e][t].test()},canUseProperty:function(e){nn[R]||(nn[R]=document[g]("div"));var t=nn[R][Ht],n=e[it](0).toUpperCase()+e.slice(1);return e in t||"Moz"+n in t||"Webkit"+n in t||"O"+n in t||"ms"+n in t},hasActive:function(e){var t=u;return nn[n](e,function(n){t=t||nn[rt](e[n])}),t},isActive:function(e){return nn[U](nn[i],nn.sd+e)!==-1},isLocked:function(){return!!nn[w][G]&&nn[P](nn[w][G])},lock:function(e,n){nn[w][G]=[e,n],document.cookie=nn.lcn+"="+nn[w][G].join("_")+(nn[t][G].path?";path="+nn[t][G].path:"")+(nn[t][G].permanent?";expires=Tue, 19 Jan 2038 03:14:07 GMT":""),window[Ct].reload()},unlock:function(){nn[w][G]=c,document.cookie=nn.lcn+"="+(nn[t][G].path?";path="+nn[t][G].path:"")+";expires=Thu, 01 Jan 1970 01:02:03 GMT",window[Ct].reload()},useActive:function(e){if(typeof e!==D)return e;var t=c;return nn[n](e,function(n){if(t!==c)return;nn[rt](n)&&(t=e[n])}),t},wasActive:function(e){return nn[U](nn[w].lastStateId,nn.sd+e)!==-1},applyRowTransforms:function(e){nn[t].RTL&&(nn.unreverseRows(),e[t][B][At]&&nn.reverseRows());var r="_skel_important",i=[],s,a;for(s=1;s<=nn[l];s++)a=nn[o]("important("+nn[L].k[s]+")"),nn[n](a,function(e){i[W](a[e])});a=nn[o]("important(collapse)"),nn[n](a,function(e){i[W](a[e])}),nn[n](i,function(n){if(n===f)return;var s=i[n],o=s[N],a,l=u,c,h;if(!o)return;if(!s[$t](r)||s[r]===u){e[t][B][At]&&s[M][H](/important\(collapse\)/)?l="c":s[M][H](/important\((.+)\)/)&&(h=parseInt(nn[L].v[RegExp.$1]))<=e[t][B][ct]&&(l="l");if(!l)return;c=nn[t].RTL?Vt:_t,a=s[c];while(a&&a.nodeName=="#text")a=a[c];if(!a)return;o[E](s,nn[t].RTL&&l=="l"?o.lastChild:o[Bt]),s[r]={placeholder:a,mode:l,level:h}}else{a=s[r][lt],l=s[r].mode;if(l=="c"&&e[t][B][At]||l=="l"&&s[r][ct]<=e[t][B][ct])return;o[E](s,nn[t].RTL&&l=="l"?a[_t]:a[Vt]),s[r]=u}})},reverseRows:function(){var e=nn[o]("row");nn[n](e,function(t){if(t===f)return;var n=e[t];if(n[z])return;var r=n.children,i;for(i=1;i
0&&nn[$](function(){nn[n](r,function(e){nn[dt](r[e])})})},cacheElement:function(e){return nn[C][r][e.id]=e,e},cacheNewElement:function(e,t,n,r){var i;return t[N]&&t[N].removeChild(t),i=nn[q](e,t,n,r),nn.cacheElement(i)},detachAllElements:function(e){var t,i,s={};nn[n](e,function(t){s[e[t].id]=y}),nn[n](nn[C][r],function(e){if(e in s)return;nn.detachElement(e)})},detachElement:function(e){var t=nn[C][r][e],n;if(!t[Nt])return;n=t[D];if(!n[N]||n[N]&&!n[N].tagName)return;n[N].removeChild(n),t[Nt]=u,t.onDetach&&t.onDetach()},getCachedElement:function(e){return nn[C][r][e]?nn[C][r][e]:c},newElement:function(e,t,n,r){return{id:e,object:t,location:n,priority:r,attached:u}},removeCachedElementFromBreakpoint:function(t,i){return nn[n](nn[e][t][r],function(n){nn[e][t][r][n].id==i&&delete nn[e][t][r][n]}),y},removeCachedElementFromState:function(e,t){return nn[n](nn[C][s][e],function(n){nn[C][s][e][n].id==t&&delete nn[C][s][e][n]}),y},uncacheElement:function(e){return e in nn[C][r]?(delete nn[C][r][e],y):u},changeState:function(o){var a,l,c,g,E,N,k,A,O;nn[w].lastStateId=nn[i],nn[i]=o;if(!nn[C][bt][nn[i]]){nn[C][bt][nn[i]]={config:{},elements:[],values:{}},c=nn[C][bt][nn[i]],nn[i]===nn.sd?a=[]:a=nn[i][x](1)[xt](nn.sd),nn[X](c[t],nn[Q][m]),nn[n](a,function(n){nn[X](c[t],nn[e][a[n]][t])}),k="mV"+nn[i],c[t][p].content?A=c[t][p].content:nn.isLocked()?(g=[],g[W]("user-scalable=yes"),nn[w][G][0]&&g[W]("width="+nn[w][G][0]),nn[w][G][1]&&g[W](tn+nn[w][G][1]),A=g.join(","),window.setTimeout(function(){nn.poll()},0)):(g=[],g[W]("user-scalable="+(c[t][p].scalable?"yes":"no")),c[t][p].width&&g[W]("width="+c[t][p].width),c[t][p].height&&g[W](tn+c[t][p].height),c[t][p].width==yt&&g[W](wt),A=g.join(",")),(E=nn[h](k))||(E=nn[v](k,nn.newMeta(p,A),et,4)),c[r][W](E);var M,D,P=u;g=nn[nt](c[t][J]),M=g[0],D=g[1],c.values[J]=M+D,k="iC"+c.values[J],D.substr(-1)=="!"&&(P=y,D=D.substr(0,D[f]-1)),(E=nn[h](k))||(E=nn[v](k,nn[S](".container{margin-left:auto;margin-right:auto;width:"+M*1+D+(P?"!important;max-width:none!important;min-width:0!important"+T:T+".container.\\31 25\\25{width:100%;max-width:"+M*1.25+D+";min-width:"+M+D+T+".container.\\37 5\\25{width:"+M*.75+D+T+".container.\\35 0\\25{width:"+M*.5+D+T+".container.\\32 5\\25{width:"+M*.25+D+T)),I,3)),c[r][W](E),k="iGG"+c[t][B][b][0]+"_"+c[t][B][b][1];if(!(E=nn[h](k))){var H,j;g=nn[nt](c[t][B][b][0]),H=g[0],j=g[1];var q,R;g=nn[nt](c[t][B][b][1]),q=g[0],R=g[1],E=nn[v]("iGG"+c[t][B][b][0]+"_"+c[t][B][b][1],nn[S](".row>*{padding:"+q*1+R+_+H*1+j+T+".row{margin:"+q*-1+R+d+H*-1+j+T+".row.uniform>*{padding:"+H*1+j+_+H*1+j+T+".row.uniform{margin:"+H*-1+j+d+H*-1+j+T+".row.\\32 00\\25>*{padding:"+q*2+R+_+H*2+j+T+".row.\\32 00\\25{margin:"+q*-2+R+d+H*-2+j+T+".row.uniform.\\32 00\\25>*{padding:"+H*2+j+_+H*2+j+T+".row.uniform.\\32 00\\25{margin:"+H*-2+j+d+H*-2+j+T+".row.\\31 50\\25>*{padding:"+q*1.5+R+_+H*1.5+j+T+".row.\\31 50\\25{margin:"+q*-1.5+R+d+H*-1.5+j+T+".row.uniform.\\31 50\\25>*{padding:"+H*1.5+j+_+H*1.5+j+T+".row.uniform.\\31 50\\25{margin:"+H*-1.5+j+d+H*-1.5+j+T+".row.\\35 0\\25>*{padding:"+q*.5+R+_+H*.5+j+T+".row.\\35 0\\25{margin:"+q*-0.5+R+d+H*-0.5+j+T+".row.uniform.\\35 0\\25>*{padding:"+H*.5+j+_+H*.5+j+T+".row.uniform.\\35 0\\25{margin:"+H*-0.5+j+d+H*-0.5+j+T+".row.\\32 5\\25>*{padding:"+q*.25+R+_+H*.25+j+T+".row.\\32 5\\25{margin:"+q*-0.25+R+d+H*-0.25+j+T+".row.uniform.\\32 5\\25>*{padding:"+H*.25+j+_+H*.25+j+T+".row.uniform.\\32 5\\25{margin:"+H*-0.25+j+d+H*-0.25+j+T+".row.\\30 \\25>*{padding:0}"+".row.\\30 \\25{margin:0 0 -1px 0}"),I,3)}c[r][W](E);if(c[t][B][ct]>1){k="igZ"+c[t][B][ct];if(!(E=nn[h](k))){A="";for(N=2;N<=c[t][B][ct];N++)A+=nn.css.gc("\\28 "+nn[L].k[N]+"\\29");E=nn[v](k,nn[S](A),I,3)}c[r][W](E)}c[t][B][At]&&(k="igC"+c[t][J],(E=nn[h](k))||(E=nn[v](k,nn[S](".row:not(.no-collapse)>*{width:100%!important;margin-left:0!important"+T),I,3)),c[r][W](E));if(!nn[pt]){k="iCd"+nn[i];if(!(E=nn[h](k))){A=[],O=[],nn[n](nn[e],function(e){nn[U](a,e)!==-1?A[W](".not-"+e):O[W](".only-"+e)});var z=(A[f]>0?A.join(",")+tt:"")+(O[f]>0?O.join(",")+tt:"");E=nn[v](k,nn[S](z[F](/\.([0-9])/,Yt)),I,3),c[r][W](E)}}nn[n](a,function(i){nn[e][a[i]][t][Gt]&&(k="ss"+a[i],(E=nn[h](k))||(E=nn[v](k,nn.newStyleSheet(nn[e][a[i]][t][Gt]),I,5)),c[r][W](E)),nn[e][a[i]][r][f]>0&&nn[n](nn[e][a[i]][r],function(t){c[r][W](nn[e][a[i]][r][t])})}),nn[C][s][nn[i]]&&(nn[n](nn[C][s][nn[i]],function(e){c[r][W](nn[C][s][nn[i]][e])}),nn[C][s][nn[i]]=[])}else c=nn[C][bt][nn[i]];nn.detachAllElements(c[r]),nn[ht](c[r]),nn[$](function(){nn[Ot](c)}),nn[w].state=nn[C][bt][nn[i]],nn[w][i]=nn[i],nn[ot](kt),nn[n](nn[e],function(e){nn[rt](e)?nn.wasActive(e)||nn[ot]("+"+e):nn.wasActive(e)&&nn[ot]("-"+e)})},getStateId:function(){if(nn[jt]&&nn[t].defaultState)return nn[t].defaultState;var r="";return nn[n](nn[e],function(t){nn[e][t].test()&&(r+=nn.sd+t)}),r},poll:function(){var e="";e=nn.getStateId(),e===""&&(e=nn.sd),e!==nn[i]&&(nn[pt]?nn.changeState(e):(nn[k][Pt][M]=nn[k][Pt][M][F](nn[i][x](1)[F](new RegExp(nn.sd,"g")," "),""),nn.changeState(e),nn[k][Pt][M]=nn[k][Pt][M]+" "+nn[i][x](1)[F](new RegExp(nn.sd,"g")," "),nn[k][Pt][M][it](0)==" "&&(nn[k][Pt][M]=nn[k][Pt][M][x](1))))},updateState:function(){var t,o,u,a,l=[];if(nn[i]==nn.sd)return;t=nn[i][x](1)[xt](nn.sd),nn[n](t,function(s){o=nn[e][t[s]];if(o[r][f]==0)return;nn[n](o[r],function(e){nn[C][bt][nn[i]][r][W](o[r][e]),l[W](o[r][e])})}),nn[C][s][nn[i]]&&(nn[n](nn[C][s][nn[i]],function(e){nn[C][bt][nn[i]][r][W](nn[C][s][nn[i]][e]),l[W](nn[C][s][nn[i]][e])}),nn[C][s][nn[i]]=[]),l[f]>0&&nn[ht](l)},newDiv:function(e){var t=document[g]("div");return t[zt]=e,t},newInline:function(e){var t;return t=document[g](Ht),t.type=gt,t[zt]=e,t},newMeta:function(e,t){var n=document[g]("meta");return n.name=e,n.content=t,n},newStyleSheet:function(e){var t=document[g]("link");return t.rel="stylesheet",t.type=gt,t[Gt]=e,t},initPlugin:function(e,n){typeof n==D&&nn[X](e[t],n),e.init&&e.init()},registerPlugin:function(e,t){if(!t)return u;nn[vt][e]=t,t._=this,t.register&&t.register()},init:function(e,r){nn.initConfig(e),nn.initElements(),nn.initEvents(),nn.poll(),r&&typeof r==D&&(nn[t][vt]=r),nn[n](nn[vt],function(e){nn.initPlugin(nn[vt][e],e in nn[t][vt]?nn[t][vt][e]:c)}),nn.isInit=y,nn[ot]("init")},initAPI:function(){var e,t,r=navigator.userAgent;nn[w][ut]=99,e="other",r[H](/Firefox/)?e="firefox":r[H](/Chrome/)?e="chrome":r[H](/Safari/)&&!r[H](/Chrome/)?e="safari":r[H](/(OPR|Opera)/)?e="opera":r[H](/MSIE ([0-9]+)/)?(e="ie",nn[w][ut]=RegExp.$1):r[H](/Trident\/.+rv:([0-9]+)/)&&(e="ie",nn[w][ut]=RegExp.$1),nn[w].browser=e,nn[w][O]="other",t={ios:"(iPad|iPhone|iPod)",android:"Android",mac:"Macintosh",wp:"Windows Phone",windows:"Windows NT"},nn[n](t,function(e){r[H](new RegExp(t[e],"g"))&&(nn[w][O]=e)});switch(nn[w][O]){case"ios":r[H](/([0-9_]+) like Mac OS X/),e=parseFloat(RegExp.$1[F]("_",".")[F]("_",""));break;case Zt:r[H](/Android ([0-9\.]+)/),e=parseFloat(RegExp.$1);break;case"mac":r[H](/Mac OS X ([0-9_]+)/),e=parseFloat(RegExp.$1[F]("_",".")[F]("_",""));break;case"wp":r[H](/IEMobile\/([0-9\.]+)/),e=parseFloat(RegExp.$1);break;case"windows":r[H](/Windows NT ([0-9\.]+)/),e=parseFloat(RegExp.$1);break;default:e=99}nn[w].deviceVersion=e,nn[w].isTouch=nn[w][O]=="wp"?navigator.msMaxTouchPoints>0:"ontouchstart"in window,nn[w].isMobile=nn[w][O]=="wp"||nn[w][O]==Zt||nn[w][O]=="ios",e=document.cookie[xt](";"),nn[n](e,function(t){var n=e[t][xt]("=");if(n[0][F](/^\s+|\s+$/g,"")==nn.lcn&&n[1][f]>0){nn[w][G]=n[1][xt]("_");return}})},initConfig:function(i){var s=[],o=[],c;if(!i||!(e in i))nn[pt]=y,nn[t][p].width="",nn[t][p].height="",nn[t][p].scalable=y;typeof i==D&&(i[e]&&(nn[t][e]={}),nn[X](nn[t],i)),B in nn[t]&&b in nn[t][B]&&!nn[P](nn[t][B][b])&&(nn[t][B][b]=[nn[t][B][b],nn[t][B][b]]),nn[X](nn[Q][m][B],nn[t][B]),nn[l]=Math.max(nn[l],nn[t][B][ct]),nn[X](nn[Q][m][p],nn[t][p]),nn[Q][m][J]=nn[t][J],nn[n](nn[t][e],function(n){var i,s={},u,a;nn[X](s,nn[t][e][n]),Gt in s||(s[Gt]=nn[Q][m][Gt]),Mt in s||(s[Mt]=nn[Q][m][Mt]),"range"in s&&(u=s.range,u=="*"?a="":u[it](0)=="-"?a="(max-width: "+parseInt(u[x](1))+"px)":u[it](u[f]-1)=="-"?a=Dt+parseInt(u[x](0,u[f]-1))+"px)":nn[U](u,"-")!=-1&&(u=u[xt]("-"),a=Dt+parseInt(u[0])+"px) and (max-width: "+parseInt(u[1])+"px)"),s[Mt]=a),B in s&&(b in s[B]&&!nn[P](s[B][b])&&(s[B][b]=[s[B][b],s[B][b]]),"zoom"in s[B]&&(s[B][ct]=s[B].zoom),ct in s[B]&&(nn[l]=Math.max(nn[l],s[B][ct]))),nn[t][e][n]=s,i={},nn[X](i,nn[Q].breakpoint),i[t]=nn[t][e][n],i.test=function(){return nn[V](s[Mt])},i[r]=[],nn[t].preload&&i[t][Gt]&&o[W](i[t][Gt]),nn[e][n]=i,nn.breakpointList[W](n)});if(nn[l]>1||nn[pt])for(c=2;c<=nn[l];c++)nn[L].k[c]=nn[L].v[c]=c;else nn[n](nn[t][e],function(n){var r=nn[t][e][n];nn[l]++,B in r||(r[B]={}),r[B][ct]=nn[l],nn[L].k[nn[l]]=n,nn[L].v[n]=nn[l]});nn[n](nn[t][ft],function(e){nn.on(e,nn[t][ft][e])}),o[f]>0&&window[Ct].protocol!="file:"&&nn[$](function(){var e,t=document[a](I)[0],r=new XMLHttpRequest;nn[n](o,function(e){r.open("GET",o[e],u),r.send("")})})},initElements:function(){var e=[];e[W](nn[q]("mV",nn.newMeta(p,wt),et,1));switch(nn[t].reset){case"full":e[W](nn[q]("iR",nn[S](nn.css.r),et,2));break;case Lt:e[W](nn[q]("iN",nn[S](nn.css.n),et,2))}e[W](nn[q]("iBM",nn[S](nn.css.bm),et,1)),e[W](nn[q]("iG",nn[S]('.row{border-bottom:solid 1px transparent}.row>*{float:left}.row:after,.row:before{content:"";display:block;clear:both;height:0}.row.uniform>*>:first-child{margin-top:0}.row.uniform>*>:last-child{margin-bottom:0}'+nn.css.gc("")),I,3)),nn[ht](e)},initEvents:function(){var e;!nn[t].pollOnce&&!nn[pt]&&(nn.on(Tt,function(){nn.poll()}),nn.on(A,function(){nn.poll()})),nn[w][O]=="ios"&&nn[$](function(){nn.on(A,function(){var e=document[a]("input");nn[n](e,function(t){e[t][Ft]=e[t][lt],e[t][lt]=""}),window.setTimeout(function(){nn[n](e,function(t){e[t][lt]=e[t][Ft]})},100)})}),nn[$](function(){nn[ot]("ready")}),window[Kt]&&nn.on(Tt,window[Kt]),window[Kt]=function(){nn[ot](Tt)},window[K]&&nn.on(A,window[K]),window[K]=function(){nn[ot](A)}},initUtilityMethods:function(){document[Z]?!function(e,t){nn[$]=t()}(Jt,function(){function e(e){s=1;while(e=t.shift())e()}var t=[],n,r=document,i=mt,s=/^loaded|^c/.test(r[en]);return r[Z](i,n=function(){r[St](i,n),e()}),function(e){s?e():t[W](e)}}):!function(e,t){nn[$]=t()}(Jt,function(e){function t(e){p=1;while(e=n.shift())e()}var n=[],r,i=!1,s=document,o=s[at],u=o.doScroll,a=mt,f=Z,l="onreadystatechange",c=en,h=u?/^loaded|^c/:/^loaded|c/,p=h.test(s[c]);return s[f]&&s[f](a,r=function(){s[St](a,r,i),t()},i),u&&s.attachEvent(l,r=function(){/^c/.test(s[c])&&(s.detachEvent(l,r),t())}),e=u?function(t){self!=top?p?t():n[W](t):function(){try{o.doScroll("left")}catch(n){return setTimeout(function(){e(t)},50)}t()}()}:function(e){p?e():n[W](e)}}),document[o]?nn[o]=function(e){return document[o](e)}:nn[o]=function(e){var t=document;return t[It]?t[It](("."+e[F](" "," ."))[F](/\.([0-9])/,Yt)):[]},Array[Wt][U]?nn[U]=function(e,t){return e[U](t)}:nn[U]=function(e,t){if(typeof e=="string")return e[U](t);var n,r=t?t:0,i;if(!this)throw new TypeError;i=this[f];if(i===0||r>=i)return-1;r<0&&(r=i-Math.abs(r));for(n=r;ns[Xt]||s[qt]!==c&&ls[Rt]?u:y})},preInit:function(){var e=document[a]("script");nn.me=e[e[f]-1],nn.initUtilityMethods(),nn.initAPI(),nn[st](Pt,document[a](Pt)[0]),nn[st](I,document[a](I)[0]),nn[$](function(){nn[st]("body",document[a]("body")[0])}),nn[w].browser=="ie"&&nn[w][ut]>=10&&nn[dt](nn[q]("msie-viewport-fix",nn[S]("@-ms-viewport{width:device-width}"),et,1))}};return nn.preInit(),nn[w][ut]<9&&(nn[Ot]=function(e){},nn[S]=function(e){var t;return t=document[g]("span"),t[zt]=' ",t}),nn}();(function(e,t){typeof define=="function"&&define.amd?define([],t):typeof exports=="object"?module.exports=t():e.skel=t()})(this,function(){return skel});
--------------------------------------------------------------------------------
/Phase3/src/css/style.css:
--------------------------------------------------------------------------------
1 | @import url(font-awesome.min.css);
2 | @import url("http://fonts.googleapis.com/css?family=Raleway:400,400italic,700,800");
3 |
4 | /*
5 | Highlights by HTML5 UP
6 | html5up.net | @n33co
7 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
8 | */
9 |
10 | /* Basic */
11 |
12 | html {
13 | background-color: #313a3d;
14 | background-attachment: fixed, fixed;
15 | background-image: url("images/overlay.png"), url("../images/bg.jpg");
16 | background-position: top left, center center;
17 | background-repeat: repeat, none;
18 | background-size: auto, cover;
19 | }
20 |
21 | html.is-loading body *, html.is-loading body *:before, html.is-loading body *:after {
22 | -moz-animation: none !important;
23 | -webkit-animation: none !important;
24 | -o-animation: none !important;
25 | -ms-animation: none !important;
26 | animation: none !important;
27 | -moz-transition: none !important;
28 | -webkit-transition: none !important;
29 | -o-transition: none !important;
30 | -ms-transition: none !important;
31 | transition: none !important;
32 | }
33 |
34 | html.is-touch {
35 | height: 100vh;
36 | overflow: hidden;
37 | }
38 |
39 | html.is-touch #wrapper {
40 | -webkit-backface-visibility: hidden;
41 | -webkit-overflow-scrolling: touch;
42 | -webkit-transform: translate3d(0, 0, 0);
43 | height: 100vh;
44 | overflow: auto;
45 | }
46 |
47 | body, input, select, textarea {
48 | color: #6f7577;
49 | font-family: "Raleway", "Helvetica", sans-serif;
50 | font-size: 15pt;
51 | font-weight: 400;
52 | line-height: 1.75em;
53 | }
54 |
55 | a {
56 | -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
57 | -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
58 | -o-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
59 | -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
60 | transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
61 | border-bottom: dotted 1px;
62 | color: #8cd1a8;
63 | text-decoration: none;
64 | }
65 |
66 | a:hover {
67 | border-bottom-color: transparent !important;
68 | color: #8cd1a8 !important;
69 | text-decoration: none;
70 | }
71 |
72 | strong, b {
73 | color: #61686b;
74 | font-weight: 700;
75 | }
76 |
77 | em, i {
78 | font-style: italic;
79 | }
80 |
81 | p {
82 | margin: 0 0 2em 0;
83 | }
84 |
85 | h1, h2, h3, h4, h5, h6 {
86 | color: #61686b;
87 | font-weight: 800;
88 | letter-spacing: 0.075em;
89 | line-height: 1em;
90 | margin: 0 0 1em 0;
91 | text-transform: uppercase;
92 | }
93 |
94 | h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
95 | color: inherit;
96 | text-decoration: none;
97 | }
98 |
99 | h2 {
100 | font-size: 1.75em;
101 | line-height: 1.5em;
102 | }
103 |
104 | h3 {
105 | font-size: 1em;
106 | line-height: 1.5em;
107 | }
108 |
109 | h4 {
110 | font-size: 0.9em;
111 | line-height: 1.5em;
112 | }
113 |
114 | h5 {
115 | font-size: 0.8em;
116 | line-height: 1.5em;
117 | }
118 |
119 | h6 {
120 | font-size: 0.7em;
121 | line-height: 1.5em;
122 | }
123 |
124 | sub {
125 | font-size: 0.8em;
126 | position: relative;
127 | top: 0.5em;
128 | }
129 |
130 | sup {
131 | font-size: 0.8em;
132 | position: relative;
133 | top: -0.5em;
134 | }
135 |
136 | hr {
137 | border: 0;
138 | border-bottom: solid 1px #dddddd;
139 | margin: 2em 0;
140 | }
141 |
142 | hr.major {
143 | margin: 3em 0;
144 | }
145 |
146 | blockquote {
147 | border-left: solid 6px #dddddd;
148 | font-style: italic;
149 | margin: 0 0 2em 0;
150 | padding: 0.5em 0 0.5em 1.5em;
151 | }
152 |
153 | code {
154 | background: rgba(144, 144, 144, 0.075);
155 | font-family: "Courier New", monospace;
156 | font-size: 0.9em;
157 | margin: 0 0.25em;
158 | padding: 0.25em 0.65em;
159 | }
160 |
161 | pre {
162 | -webkit-overflow-scrolling: touch;
163 | font-family: "Courier New", monospace;
164 | font-size: 0.9em;
165 | margin: 0 0 2em 0;
166 | }
167 |
168 | pre code {
169 | display: block;
170 | line-height: 1.75em;
171 | padding: 1em 1.5em;
172 | overflow-x: auto;
173 | }
174 |
175 | .align-left {
176 | text-align: left;
177 | }
178 |
179 | .align-center {
180 | text-align: center;
181 | }
182 |
183 | .align-right {
184 | text-align: right;
185 | }
186 |
187 | /* Loader */
188 | @-moz-keyframes spinner-show { 0% { opacity: 0; } 100% { opacity: 1; } }
189 | @-webkit-keyframes spinner-show { 0% { opacity: 0; } 100% { opacity: 1; } }
190 | @-o-keyframes spinner-show { 0% { opacity: 0; } 100% { opacity: 1; } }
191 | @-ms-keyframes spinner-show { 0% { opacity: 0; } 100% { opacity: 1; } }
192 | @keyframes spinner-show { 0% { opacity: 0; } 100% { opacity: 1; } }
193 | @-moz-keyframes spinner-hide { 0% { color: #454d50; z-index: 10001; -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 99% { color: #313a3d; z-index: 10001; -moz-transform: scale(0.5) rotate(360deg); -webkit-transform: scale(0.5) rotate(360deg); -o-transform: scale(0.5) rotate(360deg); -ms-transform: scale(0.5) rotate(360deg); transform: scale(0.5) rotate(360deg); } 100% { color: #313a3d; z-index: -1; -moz-transform: scale(0) rotate(360deg); -webkit-transform: scale(0) rotate(360deg); -o-transform: scale(0) rotate(360deg); -ms-transform: scale(0) rotate(360deg); transform: scale(0) rotate(360deg); } }
194 | @-webkit-keyframes spinner-hide { 0% { color: #454d50; z-index: 10001; -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 99% { color: #313a3d; z-index: 10001; -moz-transform: scale(0.5) rotate(360deg); -webkit-transform: scale(0.5) rotate(360deg); -o-transform: scale(0.5) rotate(360deg); -ms-transform: scale(0.5) rotate(360deg); transform: scale(0.5) rotate(360deg); } 100% { color: #313a3d; z-index: -1; -moz-transform: scale(0) rotate(360deg); -webkit-transform: scale(0) rotate(360deg); -o-transform: scale(0) rotate(360deg); -ms-transform: scale(0) rotate(360deg); transform: scale(0) rotate(360deg); } }
195 | @-o-keyframes spinner-hide { 0% { color: #454d50; z-index: 10001; -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 99% { color: #313a3d; z-index: 10001; -moz-transform: scale(0.5) rotate(360deg); -webkit-transform: scale(0.5) rotate(360deg); -o-transform: scale(0.5) rotate(360deg); -ms-transform: scale(0.5) rotate(360deg); transform: scale(0.5) rotate(360deg); } 100% { color: #313a3d; z-index: -1; -moz-transform: scale(0) rotate(360deg); -webkit-transform: scale(0) rotate(360deg); -o-transform: scale(0) rotate(360deg); -ms-transform: scale(0) rotate(360deg); transform: scale(0) rotate(360deg); } }
196 | @-ms-keyframes spinner-hide { 0% { color: #454d50; z-index: 10001; -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 99% { color: #313a3d; z-index: 10001; -moz-transform: scale(0.5) rotate(360deg); -webkit-transform: scale(0.5) rotate(360deg); -o-transform: scale(0.5) rotate(360deg); -ms-transform: scale(0.5) rotate(360deg); transform: scale(0.5) rotate(360deg); } 100% { color: #313a3d; z-index: -1; -moz-transform: scale(0) rotate(360deg); -webkit-transform: scale(0) rotate(360deg); -o-transform: scale(0) rotate(360deg); -ms-transform: scale(0) rotate(360deg); transform: scale(0) rotate(360deg); } }
197 | @keyframes spinner-hide { 0% { color: #454d50; z-index: 10001; -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 99% { color: #313a3d; z-index: 10001; -moz-transform: scale(0.5) rotate(360deg); -webkit-transform: scale(0.5) rotate(360deg); -o-transform: scale(0.5) rotate(360deg); -ms-transform: scale(0.5) rotate(360deg); transform: scale(0.5) rotate(360deg); } 100% { color: #313a3d; z-index: -1; -moz-transform: scale(0) rotate(360deg); -webkit-transform: scale(0) rotate(360deg); -o-transform: scale(0) rotate(360deg); -ms-transform: scale(0) rotate(360deg); transform: scale(0) rotate(360deg); } }
198 | @-moz-keyframes spinner-rotate { 0% { -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 100% { -moz-transform: scale(1) rotate(360deg); -webkit-transform: scale(1) rotate(360deg); -o-transform: scale(1) rotate(360deg); -ms-transform: scale(1) rotate(360deg); transform: scale(1) rotate(360deg); } }
199 | @-webkit-keyframes spinner-rotate { 0% { -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 100% { -moz-transform: scale(1) rotate(360deg); -webkit-transform: scale(1) rotate(360deg); -o-transform: scale(1) rotate(360deg); -ms-transform: scale(1) rotate(360deg); transform: scale(1) rotate(360deg); } }
200 | @-o-keyframes spinner-rotate { 0% { -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 100% { -moz-transform: scale(1) rotate(360deg); -webkit-transform: scale(1) rotate(360deg); -o-transform: scale(1) rotate(360deg); -ms-transform: scale(1) rotate(360deg); transform: scale(1) rotate(360deg); } }
201 | @-ms-keyframes spinner-rotate { 0% { -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 100% { -moz-transform: scale(1) rotate(360deg); -webkit-transform: scale(1) rotate(360deg); -o-transform: scale(1) rotate(360deg); -ms-transform: scale(1) rotate(360deg); transform: scale(1) rotate(360deg); } }
202 | @keyframes spinner-rotate { 0% { -moz-transform: scale(1) rotate(0deg); -webkit-transform: scale(1) rotate(0deg); -o-transform: scale(1) rotate(0deg); -ms-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } 100% { -moz-transform: scale(1) rotate(360deg); -webkit-transform: scale(1) rotate(360deg); -o-transform: scale(1) rotate(360deg); -ms-transform: scale(1) rotate(360deg); transform: scale(1) rotate(360deg); } }
203 | @-moz-keyframes overlay-hide { 0% { opacity: 1; z-index: 10000; } 15% { opacity: 1; z-index: 10000; } 99% { opacity: 0; z-index: 10000; } 100% { opacity: 0; z-index: -1; } }
204 | @-webkit-keyframes overlay-hide { 0% { opacity: 1; z-index: 10000; } 15% { opacity: 1; z-index: 10000; } 99% { opacity: 0; z-index: 10000; } 100% { opacity: 0; z-index: -1; } }
205 | @-o-keyframes overlay-hide { 0% { opacity: 1; z-index: 10000; } 15% { opacity: 1; z-index: 10000; } 99% { opacity: 0; z-index: 10000; } 100% { opacity: 0; z-index: -1; } }
206 | @-ms-keyframes overlay-hide { 0% { opacity: 1; z-index: 10000; } 15% { opacity: 1; z-index: 10000; } 99% { opacity: 0; z-index: 10000; } 100% { opacity: 0; z-index: -1; } }
207 | @keyframes overlay-hide { 0% { opacity: 1; z-index: 10000; } 15% { opacity: 1; z-index: 10000; } 99% { opacity: 0; z-index: 10000; } 100% { opacity: 0; z-index: -1; } }
208 |
209 | html body {
210 | text-decoration: none;
211 | }
212 |
213 | html body:before {
214 | -moz-osx-font-smoothing: grayscale;
215 | -webkit-font-smoothing: antialiased;
216 | font-family: FontAwesome;
217 | font-style: normal;
218 | font-weight: normal;
219 | text-transform: none !important;
220 | }
221 |
222 | html body:before {
223 | -moz-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
224 | -webkit-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
225 | -o-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
226 | -ms-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
227 | animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-hide 0.25s ease-in-out forwards !important;
228 | -moz-transform-origin: 50% 50%;
229 | -webkit-transform-origin: 50% 50%;
230 | -o-transform-origin: 50% 50%;
231 | -ms-transform-origin: 50% 50%;
232 | transform-origin: 50% 50%;
233 | color: #454d50;
234 | content: '\f1ce';
235 | cursor: default;
236 | display: block;
237 | font-size: 2em;
238 | height: 2em;
239 | left: 50%;
240 | opacity: 0;
241 | line-height: 2em;
242 | margin: -1em 0 0 -1em;
243 | position: fixed;
244 | text-align: center;
245 | top: 50%;
246 | width: 2em;
247 | z-index: -1;
248 | }
249 |
250 | html body:after {
251 | -moz-animation: overlay-hide 1s ease-in forwards !important;
252 | -webkit-animation: overlay-hide 1s ease-in forwards !important;
253 | -o-animation: overlay-hide 1s ease-in forwards !important;
254 | -ms-animation: overlay-hide 1s ease-in forwards !important;
255 | animation: overlay-hide 1s ease-in forwards !important;
256 | background: #313a3d;
257 | content: '';
258 | display: block;
259 | height: 100%;
260 | left: 0;
261 | opacity: 0;
262 | position: fixed;
263 | top: 0;
264 | width: 100%;
265 | z-index: -1;
266 | }
267 |
268 | html.is-loading body:before {
269 | -moz-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
270 | -webkit-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
271 | -o-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
272 | -ms-animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
273 | animation: spinner-show 1.5s 1 0.25s ease forwards, spinner-rotate 0.75s infinite linear !important;
274 | z-index: 10001;
275 | }
276 |
277 | html.is-loading body:after {
278 | -moz-animation: none !important;
279 | -webkit-animation: none !important;
280 | -o-animation: none !important;
281 | -ms-animation: none !important;
282 | animation: none !important;
283 | opacity: 1;
284 | z-index: 10000;
285 | }
286 | @media (-webkit-min-device-pixel-ratio: 2) {
287 | html body:before {
288 | line-height: 2.025em;
289 |
290 | }
291 | }
292 |
293 | /* Section/Article */
294 |
295 | section.special, article.special {
296 | text-align: center;
297 | }
298 |
299 | header p {
300 | color: #a8b0b3;
301 | letter-spacing: 0.05em;
302 | text-transform: uppercase;
303 | }
304 |
305 | header h1 + p {
306 | margin-top: -1em;
307 | }
308 |
309 | header h2 + p {
310 | margin-top: -1em;
311 | }
312 |
313 | header h3 + p {
314 | margin-top: -0.8em;
315 | }
316 |
317 | header h4 + p,
318 | header h5 + p,
319 | header h6 + p {
320 | font-size: 0.8em;
321 | margin-top: -0.6em;
322 | }
323 |
324 | header.major {
325 | text-align: center;
326 | }
327 |
328 | header.major h1, header.major h2, header.major h3, header.major h4, header.major h5, header.major h6 {
329 | position: relative;
330 | }
331 |
332 | header.major h1:after, header.major h2:after, header.major h3:after, header.major h4:after, header.major h5:after, header.major h6:after {
333 | background: #dddddd;
334 | content: '';
335 | display: block;
336 | height: 2px;
337 | margin: 0.75em auto 0 auto;
338 | position: relative;
339 | width: 4em;
340 | }
341 |
342 | header.major p {
343 | margin-top: 0;
344 | }
345 |
346 | /* Form */
347 |
348 | form {
349 | margin: 0 0 2em 0;
350 | }
351 |
352 | label {
353 | color: #61686b;
354 | display: block;
355 | font-size: 0.9em;
356 | font-weight: 700;
357 | margin: 0 0 1em 0;
358 | }
359 |
360 | input[type="text"],
361 | input[type="password"],
362 | input[type="email"],
363 | select,
364 | textarea {
365 | -moz-appearance: none;
366 | -webkit-appearance: none;
367 | -o-appearance: none;
368 | -ms-appearance: none;
369 | appearance: none;
370 | background: rgba(144, 144, 144, 0.15);
371 | border-radius: 0;
372 | border: none;
373 | color: inherit;
374 | display: block;
375 | outline: 0;
376 | padding: 0 1em;
377 | text-decoration: none;
378 | width: 100%;
379 | }
380 |
381 | input[type="text"]:invalid,
382 | input[type="password"]:invalid,
383 | input[type="email"]:invalid,
384 | select:invalid,
385 | textarea:invalid {
386 | box-shadow: none;
387 | }
388 |
389 | input[type="text"]:focus,
390 | input[type="password"]:focus,
391 | input[type="email"]:focus,
392 | select:focus,
393 | textarea:focus {
394 | box-shadow: inset 0 0 0 2px #8cd1a8;
395 | }
396 |
397 | .select-wrapper {
398 | text-decoration: none;
399 | display: block;
400 | position: relative;
401 | }
402 |
403 | .select-wrapper:before {
404 | -moz-osx-font-smoothing: grayscale;
405 | -webkit-font-smoothing: antialiased;
406 | font-family: FontAwesome;
407 | font-style: normal;
408 | font-weight: normal;
409 | text-transform: none !important;
410 | }
411 |
412 | .select-wrapper:before {
413 | color: #a8b0b3;
414 | content: '\f078';
415 | display: block;
416 | height: 3em;
417 | line-height: 3em;
418 | pointer-events: none;
419 | position: absolute;
420 | right: 0;
421 | text-align: center;
422 | top: 0;
423 | width: 3em;
424 | }
425 |
426 | .select-wrapper select::-ms-expand {
427 | display: none;
428 | }
429 |
430 | input[type="text"],
431 | input[type="password"],
432 | input[type="email"],
433 | select {
434 | height: 3em;
435 | }
436 |
437 | textarea {
438 | padding: 0.75em 1em;
439 | }
440 |
441 | input[type="checkbox"],
442 | input[type="radio"] {
443 | -moz-appearance: none;
444 | -webkit-appearance: none;
445 | -o-appearance: none;
446 | -ms-appearance: none;
447 | appearance: none;
448 | display: block;
449 | float: left;
450 | margin-right: -2em;
451 | opacity: 0;
452 | width: 1em;
453 | z-index: -1;
454 | }
455 |
456 | input[type="checkbox"] + label,
457 | input[type="radio"] + label {
458 | text-decoration: none;
459 | color: #6f7577;
460 | cursor: pointer;
461 | display: inline-block;
462 | font-size: 1em;
463 | font-weight: 400;
464 | padding-left: 2.55em;
465 | padding-right: 0.75em;
466 | position: relative;
467 | }
468 |
469 | input[type="checkbox"] + label:before,
470 | input[type="radio"] + label:before {
471 | -moz-osx-font-smoothing: grayscale;
472 | -webkit-font-smoothing: antialiased;
473 | font-family: FontAwesome;
474 | font-style: normal;
475 | font-weight: normal;
476 | text-transform: none !important;
477 | }
478 |
479 | input[type="checkbox"] + label:before,
480 | input[type="radio"] + label:before {
481 | background: rgba(144, 144, 144, 0.15);
482 | content: '';
483 | display: inline-block;
484 | height: 1.8em;
485 | left: 0;
486 | line-height: 1.725em;
487 | position: absolute;
488 | text-align: center;
489 | top: 0;
490 | width: 1.8em;
491 | }
492 |
493 | input[type="checkbox"]:checked + label:before,
494 | input[type="radio"]:checked + label:before {
495 | background: #313a3d;
496 | color: #ffffff;
497 | content: '\f00c';
498 | }
499 |
500 | input[type="checkbox"]:focus + label:before,
501 | input[type="radio"]:focus + label:before {
502 | box-shadow: inset 0 0 0 2px #8cd1a8;
503 | }
504 |
505 | input[type="radio"] + label:before {
506 | border-radius: 100%;
507 | }
508 |
509 | ::-webkit-input-placeholder {
510 | color: #a8b0b3 !important;
511 | opacity: 1.0;
512 | }
513 |
514 | :-moz-placeholder {
515 | color: #a8b0b3 !important;
516 | opacity: 1.0;
517 | }
518 |
519 | ::-moz-placeholder {
520 | color: #a8b0b3 !important;
521 | opacity: 1.0;
522 | }
523 |
524 | :-ms-input-placeholder {
525 | color: #a8b0b3 !important;
526 | opacity: 1.0;
527 | }
528 |
529 | .formerize-placeholder {
530 | color: #a8b0b3 !important;
531 | opacity: 1.0;
532 | }
533 |
534 | /* Box */
535 |
536 | .box {
537 | border: solid 2px #dddddd;
538 | margin-bottom: 2em;
539 | padding: 1.5em;
540 | }
541 |
542 | .box > :last-child,
543 | .box > :last-child > :last-child,
544 | .box > :last-child > :last-child > :last-child {
545 | margin-bottom: 0;
546 | }
547 |
548 | .box.alt {
549 | border: 0;
550 | border-radius: 0;
551 | padding: 0;
552 | }
553 |
554 | /* Icon */
555 |
556 | .icon {
557 | text-decoration: none;
558 | border-bottom: none;
559 | position: relative;
560 | }
561 |
562 | .icon:before {
563 | -moz-osx-font-smoothing: grayscale;
564 | -webkit-font-smoothing: antialiased;
565 | font-family: FontAwesome;
566 | font-style: normal;
567 | font-weight: normal;
568 | text-transform: none !important;
569 | }
570 |
571 | .icon > .label {
572 | display: none;
573 | }
574 |
575 | .icon.major {
576 | display: block;
577 | margin: 0 0 1em 0;
578 | }
579 |
580 | .icon.major:before {
581 | font-size: 2.5em;
582 | }
583 |
584 | /* Image */
585 |
586 | .image {
587 | border: 0;
588 | display: inline-block;
589 | position: relative;
590 | }
591 |
592 | .image:before {
593 | background: url("images/overlay.png");
594 | content: '';
595 | display: block;
596 | height: 100%;
597 | left: 0;
598 | position: absolute;
599 | top: 0;
600 | width: 100%;
601 | }
602 |
603 | .image img {
604 | display: block;
605 | }
606 |
607 | .image.left {
608 | float: left;
609 | margin: 0 1.5em 1em 0;
610 | top: 0.25em;
611 | }
612 |
613 | .image.right {
614 | float: right;
615 | margin: 0 0 1em 1.5em;
616 | top: 0.25em;
617 | }
618 |
619 | .image.left, .image.right {
620 | max-width: 40%;
621 | }
622 |
623 | .image.left img, .image.right img {
624 | width: 100%;
625 | }
626 |
627 | .image.fit {
628 | display: block;
629 | margin: 0 0 2em 0;
630 | width: 100%;
631 | }
632 |
633 | .image.fit img {
634 | width: 100%;
635 | }
636 |
637 | /* List */
638 |
639 | ol {
640 | list-style: decimal;
641 | margin: 0 0 2em 0;
642 | padding-left: 1.25em;
643 | }
644 |
645 | ol li {
646 | padding-left: 0.25em;
647 | }
648 |
649 | ul {
650 | list-style: disc;
651 | margin: 0 0 2em 0;
652 | padding-left: 1em;
653 | }
654 |
655 | ul li {
656 | padding-left: 0.5em;
657 | }
658 |
659 | ul.alt {
660 | list-style: none;
661 | padding-left: 0;
662 | }
663 |
664 | ul.alt li {
665 | border-top: solid 1px #dddddd;
666 | padding: 0.5em 0;
667 | }
668 |
669 | ul.alt li:first-child {
670 | border-top: 0;
671 | padding-top: 0;
672 | }
673 |
674 | ul.icons {
675 | cursor: default;
676 | list-style: none;
677 | padding-left: 0;
678 | }
679 |
680 | ul.icons li {
681 | display: inline-block;
682 | padding: 0 1.5em 0 0;
683 | }
684 |
685 | ul.icons li:last-child {
686 | padding-right: 0;
687 | }
688 |
689 | ul.icons li .icon:before {
690 | font-size: 1.5em;
691 | }
692 |
693 | ul.icons-grid {
694 | list-style: none;
695 | padding: 0;
696 | position: relative;
697 | }
698 |
699 | ul.icons-grid li {
700 | display: block;
701 | float: left;
702 | padding: 3em 0;
703 | width: 50%;
704 | }
705 |
706 | ul.icons-grid li h3 {
707 | margin: 0;
708 | }
709 |
710 | ul.icons-grid li:nth-child(2n + 1) {
711 | box-shadow: inset -1px 0 0 0 #dddddd, 1px 0 0 0 #dddddd;
712 | }
713 |
714 | ul.icons-grid li:nth-child(2n + 3):before {
715 | background: #dddddd;
716 | content: '';
717 | display: block;
718 | height: 2px;
719 | margin-top: -3em;
720 | position: absolute;
721 | width: 100%;
722 | }
723 |
724 | ul.icons-grid:after {
725 | clear: both;
726 | content: '';
727 | display: block;
728 | }
729 |
730 | ul.actions {
731 | cursor: default;
732 | list-style: none;
733 | padding-left: 0;
734 | }
735 |
736 | ul.actions li {
737 | display: inline-block;
738 | padding: 0 1em 0 0;
739 | vertical-align: middle;
740 | }
741 |
742 | ul.actions li:last-child {
743 | padding-right: 0;
744 | }
745 |
746 | ul.actions.small li {
747 | padding: 0 0.5em 0 0;
748 | }
749 |
750 | ul.actions.vertical li {
751 | display: block;
752 | padding: 1em 0 0 0;
753 | }
754 |
755 | ul.actions.vertical li:first-child {
756 | padding-top: 0;
757 | }
758 |
759 | ul.actions.vertical li > * {
760 | margin-bottom: 0;
761 | }
762 |
763 | ul.actions.vertical.small li {
764 | padding: 0.5em 0 0 0;
765 | }
766 |
767 | ul.actions.vertical.small li:first-child {
768 | padding-top: 0;
769 | }
770 |
771 | ul.actions.fit {
772 | display: table;
773 | margin-left: -1em;
774 | padding: 0;
775 | table-layout: fixed;
776 | width: calc(100% + 1em);
777 | }
778 |
779 | ul.actions.fit li {
780 | display: table-cell;
781 | padding: 0 0 0 1em;
782 | }
783 |
784 | ul.actions.fit li > * {
785 | margin-bottom: 0;
786 | min-width: 0;
787 | }
788 |
789 | ul.actions.fit.small {
790 | margin-left: -0.5em;
791 | width: calc(100% + 0.5em);
792 | }
793 |
794 | ul.actions.fit.small li {
795 | padding: 0 0 0 0.5em;
796 | }
797 |
798 | dl {
799 | margin: 0 0 2em 0;
800 | }
801 |
802 | /* Table */
803 |
804 | .table-wrapper {
805 | -webkit-overflow-scrolling: touch;
806 | overflow-x: auto;
807 | }
808 |
809 | table {
810 | margin: 0 0 2em 0;
811 | width: 100%;
812 | }
813 |
814 | table tbody tr {
815 | border: solid 1px #dddddd;
816 | border-left: 0;
817 | border-right: 0;
818 | }
819 |
820 | table tbody tr:nth-child(2n + 1) {
821 | background-color: rgba(144, 144, 144, 0.075);
822 | }
823 |
824 | table td {
825 | padding: 0.75em 0.75em;
826 | }
827 |
828 | table th {
829 | color: #61686b;
830 | font-size: 0.9em;
831 | font-weight: 700;
832 | padding: 0 0.75em 0.75em 0.75em;
833 | text-align: left;
834 | }
835 |
836 | table thead {
837 | border-bottom: solid 2px #dddddd;
838 | }
839 |
840 | table tfoot {
841 | border-top: solid 2px #dddddd;
842 | }
843 |
844 | table.alt {
845 | border-collapse: separate;
846 | }
847 |
848 | table.alt tbody tr td {
849 | border: solid 1px #dddddd;
850 | border-left-width: 0;
851 | border-top-width: 0;
852 | }
853 |
854 | table.alt tbody tr td:first-child {
855 | border-left-width: 1px;
856 | }
857 |
858 | table.alt tbody tr:first-child td {
859 | border-top-width: 1px;
860 | }
861 |
862 | table.alt thead {
863 | border-bottom: 0;
864 | }
865 |
866 | table.alt tfoot {
867 | border-top: 0;
868 | }
869 |
870 | /* Button */
871 |
872 | input[type="submit"],
873 | input[type="reset"],
874 | input[type="button"],
875 | button,
876 | .button {
877 | -moz-appearance: none;
878 | -webkit-appearance: none;
879 | -o-appearance: none;
880 | -ms-appearance: none;
881 | appearance: none;
882 | -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
883 | -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
884 | -o-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
885 | -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
886 | transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
887 | background-color: transparent;
888 | border-radius: 0;
889 | border: 0;
890 | box-shadow: inset 0 0 0 2px #dddddd;
891 | color: #61686b !important;
892 | cursor: pointer;
893 | display: inline-block;
894 | font-weight: 700;
895 | height: 3em;
896 | letter-spacing: 0.05em;
897 | line-height: 3.15em;
898 | padding: 0 2em;
899 | text-align: center;
900 | text-decoration: none;
901 | text-transform: uppercase;
902 | white-space: nowrap;
903 | }
904 |
905 | input[type="submit"]:hover,
906 | input[type="reset"]:hover,
907 | input[type="button"]:hover,
908 | button:hover,
909 | .button:hover {
910 | background-color: rgba(144, 144, 144, 0.075);
911 | color: #61686b !important;
912 | }
913 |
914 | input[type="submit"]:active,
915 | input[type="reset"]:active,
916 | input[type="button"]:active,
917 | button:active,
918 | .button:active {
919 | background-color: rgba(144, 144, 144, 0.15);
920 | color: #61686b !important;
921 | }
922 |
923 | input[type="submit"].icon,
924 | input[type="reset"].icon,
925 | input[type="button"].icon,
926 | button.icon,
927 | .button.icon {
928 | padding-left: 1.35em;
929 | }
930 |
931 | input[type="submit"].icon:before,
932 | input[type="reset"].icon:before,
933 | input[type="button"].icon:before,
934 | button.icon:before,
935 | .button.icon:before {
936 | color: #a8b0b3;
937 | margin-right: 0.5em;
938 | }
939 |
940 | input[type="submit"].fit,
941 | input[type="reset"].fit,
942 | input[type="button"].fit,
943 | button.fit,
944 | .button.fit {
945 | display: block;
946 | margin: 0 0 1em 0;
947 | width: 100%;
948 | }
949 |
950 | input[type="submit"].small,
951 | input[type="reset"].small,
952 | input[type="button"].small,
953 | button.small,
954 | .button.small {
955 | font-size: 0.8em;
956 | }
957 |
958 | input[type="submit"].big,
959 | input[type="reset"].big,
960 | input[type="button"].big,
961 | button.big,
962 | .button.big {
963 | font-size: 1.35em;
964 | }
965 |
966 | input[type="submit"].special,
967 | input[type="reset"].special,
968 | input[type="button"].special,
969 | button.special,
970 | .button.special {
971 | background-color: #8cd1a8;
972 | border: 0;
973 | box-shadow: none;
974 | color: #ffffff !important;
975 | }
976 |
977 | input[type="submit"].special:hover,
978 | input[type="reset"].special:hover,
979 | input[type="button"].special:hover,
980 | button.special:hover,
981 | .button.special:hover {
982 | background-color: #9ed8b6;
983 | }
984 |
985 | input[type="submit"].special:active,
986 | input[type="reset"].special:active,
987 | input[type="button"].special:active,
988 | button.special:active,
989 | .button.special:active {
990 | background-color: #7aca9a;
991 | }
992 |
993 | input[type="submit"].special.icon:before,
994 | input[type="reset"].special.icon:before,
995 | input[type="button"].special.icon:before,
996 | button.special.icon:before,
997 | .button.special.icon:before {
998 | color: #d1ecdc;
999 | }
1000 |
1001 | input[type="submit"].disabled, input[type="submit"]:disabled,
1002 | input[type="reset"].disabled,
1003 | input[type="reset"]:disabled,
1004 | input[type="button"].disabled,
1005 | input[type="button"]:disabled,
1006 | button.disabled,
1007 | button:disabled,
1008 | .button.disabled,
1009 | .button:disabled {
1010 | background-color: #6f7577 !important;
1011 | box-shadow: none !important;
1012 | color: #fff !important;
1013 | cursor: default;
1014 | opacity: 0.25;
1015 | }
1016 |
1017 | /* Main BG */
1018 |
1019 | .main-bg {
1020 | -moz-transition: opacity 0.5s ease-out;
1021 | -webkit-transition: opacity 0.5s ease-out;
1022 | -o-transition: opacity 0.5s ease-out;
1023 | -ms-transition: opacity 0.5s ease-out;
1024 | transition: opacity 0.5s ease-out;
1025 | background-attachment: fixed, fixed;
1026 | background-position: top left, center center;
1027 | background-repeat: repeat, none;
1028 | background-size: auto, cover;
1029 | height: 100%;
1030 | left: 0;
1031 | opacity: 0;
1032 | position: fixed;
1033 | top: 0;
1034 | width: 100%;
1035 | z-index: -1;
1036 | }
1037 |
1038 | .main-bg.active {
1039 | opacity: 1;
1040 | }
1041 |
1042 | /* Main */
1043 |
1044 | .main {
1045 | position: relative;
1046 | }
1047 |
1048 | .main .image.primary {
1049 | display: none;
1050 | }
1051 |
1052 | .main .container {
1053 | padding: 5em 2.5em 8em 2.5em;
1054 | background: rgba(255, 255, 255, 0.95);
1055 | box-shadow: inset 0 1px 0 0 #dddddd;
1056 | }
1057 |
1058 | .main .container:before {
1059 | min-height: calc( 100vh - 13em );
1060 | content: '';
1061 | display: inline-block;
1062 | vertical-align: middle;
1063 | width: 1px;
1064 | }
1065 |
1066 | .main .container .content {
1067 | display: inline-block;
1068 | margin-right: 1px;
1069 | vertical-align: middle;
1070 | width: calc(100% - 10px);
1071 | }
1072 |
1073 | .main .goto-next {
1074 | -moz-transition: background-color 0.2s ease-in-out;
1075 | -webkit-transition: background-color 0.2s ease-in-out;
1076 | -o-transition: background-color 0.2s ease-in-out;
1077 | -ms-transition: background-color 0.2s ease-in-out;
1078 | transition: background-color 0.2s ease-in-out;
1079 | background-color: rgba(144, 144, 144, 0.075);
1080 | background-image: url("images/arrow.svg");
1081 | background-position: center center;
1082 | background-repeat: no-repeat;
1083 | border-radius: 100%;
1084 | border: 0;
1085 | bottom: 3em;
1086 | display: block;
1087 | height: 4em;
1088 | left: 50%;
1089 | line-height: 4em;
1090 | margin-left: -2em;
1091 | overflow: hidden;
1092 | position: absolute;
1093 | text-indent: 4em;
1094 | white-space: nowrap;
1095 | width: 4em;
1096 | }
1097 |
1098 | .main .goto-next:hover {
1099 | background-color: rgba(144, 144, 144, 0.15);
1100 | }
1101 |
1102 | /* Header */
1103 |
1104 | #header {
1105 | height: 100vh;
1106 | position: relative;
1107 | text-align: center;
1108 | }
1109 |
1110 | #header:after {
1111 | content: '';
1112 | display: inline-block;
1113 | height: 100vh;
1114 | vertical-align: middle;
1115 | }
1116 |
1117 | #header header {
1118 | color: rgba(255, 255, 255, 0.5);
1119 | display: inline-block;
1120 | padding-bottom: 8em;
1121 | vertical-align: middle;
1122 | }
1123 |
1124 | #header header h1, #header header h2, #header header h3, #header header h4, #header header h5, #header header h6, #header header strong, #header header b {
1125 | color: #ffffff;
1126 | }
1127 |
1128 | #header header a {
1129 | color: inherit;
1130 | }
1131 |
1132 | #header header a:hover {
1133 | color: #ffffff !important;
1134 | }
1135 |
1136 | #header header h1 {
1137 | font-size: 3em;
1138 | line-height: 1.25em;
1139 | margin: 0;
1140 | }
1141 |
1142 | #header header h1:after {
1143 | margin-top: 0.5em;
1144 | }
1145 |
1146 | #header header p {
1147 | color: #ffffff;
1148 | font-weight: 700;
1149 | margin: 1.5em 0 0 0;
1150 | }
1151 |
1152 | #header .container {
1153 | background: rgba(255, 255, 255, 0.95);
1154 | bottom: 0;
1155 | left: 50%;
1156 | margin-left: -17.5em;
1157 | padding: 2.5em;
1158 | position: absolute;
1159 | }
1160 |
1161 | #header .container > :last-child {
1162 | margin-bottom: 0;
1163 | }
1164 |
1165 | #header .container .button {
1166 | min-width: 12em;
1167 | }
1168 |
1169 | /* Footer */
1170 |
1171 | #footer {
1172 | min-height: 100vh;
1173 | padding: 0 0 12em 0;
1174 | position: relative;
1175 | text-align: center;
1176 | }
1177 |
1178 | #footer .container {
1179 | padding: 5em 2.5em 3em 2.5em;
1180 | background: rgba(255, 255, 255, 0.95);
1181 | box-shadow: inset 0 1px 0 0 #dddddd;
1182 | }
1183 |
1184 | #footer footer {
1185 | bottom: 2em;
1186 | color: rgba(255, 255, 255, 0.5);
1187 | left: 0;
1188 | position: absolute;
1189 | text-align: center;
1190 | width: 100%;
1191 | }
1192 |
1193 | #footer footer h1, #footer footer h2, #footer footer h3, #footer footer h4, #footer footer h5, #footer footer h6, #footer footer strong, #footer footer b {
1194 | color: #ffffff;
1195 | }
1196 |
1197 | #footer footer a {
1198 | color: inherit;
1199 | }
1200 |
1201 | #footer footer a:hover {
1202 | color: #ffffff !important;
1203 | }
1204 |
1205 | #footer footer .copyright {
1206 | font-size: 0.8em;
1207 | line-height: 1em;
1208 | padding: 0;
1209 | }
1210 |
1211 | #footer footer .copyright li {
1212 | border-left: solid 1px rgba(255, 255, 255, 0.2);
1213 | display: inline-block;
1214 | margin: 0 0 0 1em;
1215 | padding: 0 0 0 1em;
1216 | }
1217 |
1218 | #footer footer .copyright li:first-child {
1219 | border-left: 0;
1220 | margin-left: 0;
1221 | padding-left: 0;
1222 | }
--------------------------------------------------------------------------------