diff --git a/new-racket-web/.gitignore b/new-racket-web/.gitignore index 3df341b7b6..ec79affdb7 100644 --- a/new-racket-web/.gitignore +++ b/new-racket-web/.gitignore @@ -1,50 +1,7 @@ -# Numerous always-ignore extensions -*.bak -*.diff -*.err -*.orig -*.log -*.rej -*.swo -*.swp -*.vi -.sass-cache - -# OS or Editor folders -.DS_Store -._* -Thumbs.db -.cache -.project -.settings -.tmproj -nbproject -*.sublime-project -*.sublime-workspace - -# Dreamweaver added files -_notes -dwsync.xml - -# Komodo -*.komodoproject -.komodotools - -# Espresso -*.esproj -*.espressostorage - -# Rubinius -*.rbc - -# Folders to ignore -.hg -.svn -.CVS -.idea - -output -*/compiled compiled/ -web/out *~ +\#* +.#* +.DS_Store +*.bak +TAGS diff --git a/new-racket-web/Makefile b/new-racket-web/Makefile deleted file mode 100644 index 9ed09b404d..0000000000 --- a/new-racket-web/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -all: index.rkt - r index.rkt > index2.html - diff --git a/new-racket-web/README.md b/new-racket-web/README.md deleted file mode 100644 index 465950f5d8..0000000000 --- a/new-racket-web/README.md +++ /dev/null @@ -1,4 +0,0 @@ -New Racket Web Page -=================== - -This is a revision of the existing Racket web page, based on the Gumby framework. diff --git a/new-racket-web/TODO b/new-racket-web/TODO deleted file mode 100644 index 2235609ff1..0000000000 --- a/new-racket-web/TODO +++ /dev/null @@ -1,7 +0,0 @@ -* Mention stackoverflow -* Research page? -* People page -* RacketCon page -* Fix arrows/code for small widths -* More code snippets -* Add "Help" page? diff --git a/new-racket-web/apple-touch-icon-precomposed.png b/new-racket-web/apple-touch-icon-precomposed.png deleted file mode 100644 index 6373f48316..0000000000 Binary files a/new-racket-web/apple-touch-icon-precomposed.png and /dev/null differ diff --git a/new-racket-web/apple-touch-icon.png b/new-racket-web/apple-touch-icon.png deleted file mode 100644 index d3ba013330..0000000000 Binary files a/new-racket-web/apple-touch-icon.png and /dev/null differ diff --git a/new-racket-web/bower.json b/new-racket-web/bower.json deleted file mode 100644 index 1f36b654bc..0000000000 --- a/new-racket-web/bower.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "gumby", - "version": "2.3.4", - "main": ["./js/libs/gumby.min.js", "./css/gumby.css"] -} diff --git a/new-racket-web/build-web b/new-racket-web/build-web deleted file mode 100755 index 17debda813..0000000000 --- a/new-racket-web/build-web +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh - -PLTHOME="/home/scheme/plt" -WEBSRC="collects/meta/web" # relative to PLTHOME -SRCDIR="$HOME/src/plt/$WEBSRC" # empty => use code in PLTHOME -DIFFTO="/tmp/w" # empty => no diffing -WEBDIR="/home/scheme/web" -export GIT_DIR="$HOME/src/plt/.git" # for tag info -EXTRA="$HOME/work/iplt/web/all.rkt" -export KNOWN_MIRRORS_FILE="/home/scheme/known-mirror-urls" # to poll mirrors - -# Build from here, to here -HERE="$(cd $(dirname "$0"); pwd)" -SRCDIR="$HERE/web" -WEBDIR="$HERE/output" -PLTHOME="$HOME/src/plt" -WEBSRC="pkgs/plt-services/meta/web" -DIFFTO="/tmp/nw" -# PLTHOME="/home/scheme/plt"; SRCDIR="" - -# clear - -if [ "x$SRCDIR" != "x" ]; then - echo -n "Copying web sources from $SRCDIR" - mv "$PLTHOME/$WEBSRC" "$PLTHOME/$WEBSRC.orig" - cp -a "$SRCDIR" "$PLTHOME/$WEBSRC" - echo "" -fi -cleanup() { - if [ -d "$PLTHOME/$WEBSRC.orig" ] && [ "x$SRCDIR" != "x" ]; then - echo -n "Restoring web sources" - rm -rf "$PLTHOME/$WEBSRC" - mv "$PLTHOME/$WEBSRC.orig" "$PLTHOME/$WEBSRC" - echo "" - fi -} -trap cleanup 0 3 9 15 - -EXE="$PLTHOME/bin/racket" -if [ ! -x "$EXE" ]; then EXE="$PLTHOME/racket/bin/racket"; fi -if [ ! -x "$EXE" ]; then - echo "racket executable not found" 2>&1; cleanup; exit 1; -fi - -"$EXE" -l meta/web/build -- \ - --local --extra "$EXTRA" --force --output "$WEBDIR" "$@" \ -|| { cleanup; exit 1; } - -symlinks2files() { - find "$1" -type l | - while read F; do - L="`readlink \"$F\"`" - rm "$F" - echo "$L" > "$F...symlink" - done -} -files2symlinks() { - find "$1" -type f -name "*...symlink" | - while read F; do - L="`cat \"$F\"`" - rm "$F" - F="${F%%...symlink}" - ln -s "$L" "$F" - done -} -if [ "x$DIFFTO" != "x" ]; then - echo "---- diff ----" - symlinks2files "$DIFFTO" - symlinks2files "$WEBDIR" - diff -rq "$DIFFTO" "$WEBDIR" 2>& 1 \ - | grep -v "^Only in .*captcha[0-9].jpg...symlink$" \ - | grep -v "httpd/bug-report-captcha and .* differ$" \ - | grep -v "bugs/index.html and .* differ$" \ - | grep -v "internal/build.html and .* differ" - files2symlinks "$DIFFTO" - files2symlinks "$WEBDIR" - echo "--------------" -fi - -cleanup diff --git a/new-racket-web/config.rb b/new-racket-web/config.rb deleted file mode 100644 index 0fb7f414a8..0000000000 --- a/new-racket-web/config.rb +++ /dev/null @@ -1,33 +0,0 @@ -# Require any additional compass plugins here. - -# Tell compass where to find local extensions -# If you followed directions and ran 'gem install modular-scale' comment the next two lines out: -extensions_dir = "sass/extensions" - -Compass::Frameworks.register('modular-scale', :path => File.expand_path("#{extensions_dir}/modular-scale")) - -# Uncomment these to use regular Ruby gems. -# require 'modular-scale' -# require 'sassy-math' - -# Set this to the root of your project when deployed: -http_path = "/" -css_dir = "css" -sass_dir = "sass" -images_dir = "img" - -# You can select your preferred output style here (can be overridden via the command line) :nested or :expanded or :compact or :compressed: -output_style = :compact - -# To enable relative paths to assets via compass helper functions. Uncomment: -# relative_assets = true - -# To disable debugging comments that display the original location of your selectors. Uncomment: -line_comments = false - - -# If you prefer the indented syntax, you might want to regenerate this -# project again passing --syntax sass, or you can uncomment this: -# preferred_syntax = :sass -# and then run: -# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/new-racket-web/css/style.css b/new-racket-web/css/style.css deleted file mode 100644 index d63bb01c39..0000000000 --- a/new-racket-web/css/style.css +++ /dev/null @@ -1,22 +0,0 @@ -/* -We highly recommend you use SASS and write your custom styles in sass/_custom.scss. -However, this blank file is available if you prefer -*/ - - body { background: url(img/loud.png) center 60% no-repeat fixed; } - - .modal h2, .modal .btn { margin: 10px 0 0px; } - .navbar div ul li a:hover { background: #292929; } - - #growboxes { margin-top: 10pt; } - .panetitle { color: red; font-size: 120%; margin-bottom: 4pt } - - pre.codesnip { font-size: 140%; } - - .wide_only { display: block; } - .narrow_only { display: none; } - -@media only screen and (max-width: 767px) { - .wide_only { display: none; } - .narrow_only { display: block; } -} \ No newline at end of file diff --git a/new-racket-web/demo.html b/new-racket-web/demo.html deleted file mode 100755 index de98664a03..0000000000 --- a/new-racket-web/demo.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - - - - - - - - - - Gumby - A Flexible, Responsive CSS Framework - Powered by SASS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-

Gumby

-

A responsive 960 grid - from Digital Surgeons

-
-
- -
-
-

940px

-
-
- -
-
-

60px

-
-
-

860px

-
-
- -
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
-

60px

-
-
- -
-
-

140px

-
-
-

780px

-
-
- -
-
-

140px

-
-
-

140px

-
-
-

140px

-
-
-

140px

-
-
-

140px

-
-
-

140px

-
-
- -
-
-

220px

-
-
-

700px

-
-
- -
-
-

220px

-
-
-

220px

-
-
-

220px

-
-
-

220px

-
-
- -
-
-

300px

-
-
-

620px

-
-
- -
-
-

300px

-
-
-

300px

-
-
-

300px

-
-
- -
-
-

380px

-
-
-

540px

-
-
- -
-
-

460px

-
-
-

460px

-
-
- - - -
-
-

Columns pushed right by 'x'

-
-
-
-
-

11 Columns Push 1

-
-
-
-
-

60px

-
-
-

10 Columns Push 1

-
-
-
-
-

10 Columns Push 2

-
-
-
-
-

60px

-
-
-

9 Columns Push 2

-
-
-
-
-

9 Columns Push 3

-
-
-
-
-

60px

-
-
-

8 Columns Push 3

-
-
-
-
-

8 Columns Push 4

-
-
-
-
-

60px

-
-
-

7 Columns Push 4

-
-
-
-
-

7 Columns Push 5

-
-
-
-
-

60px

-
-
-

6 Columns Push 5

-
-
-
-
-

6 Columns Push 6

-
-
-
-
-

60px

-
-
-

5 Columns Push 6

-
-
-
-
-

5 Columns Push 7

-
-
-
-
-

60px

-
-
-

4 Columns Push 7

-
-
- -
-
-

4 Columns Push 8

-
-
-
-
-

60px

-
-
-

3 Col Push 8

-
-
- -
-
-

3 Col Push 9

-
-
-
-
-

60px

-
-
-

2 - Push 9

-
-
- - -
-
-

2 - Push 10

-
-
-
-
-

60px

-
-
-

60px

-
-
- - -
-
-

60px

-
-
- - - -
-
-

Centered Columns

-
-
- -
-
-

11 Columns

-
-
- -
-
-

10 Columns

-
-
- -
-
-

9 Columns

-
-
- -
-
-

8 Columns

-
-
- -
-
-

7 Columns

-
-
- -
-
-

6 Columns

-
-
- -
-
-

5 Columns

-
-
- -
-
-

4 Columns

-
-
- -
-
-

3 Columns

-
-
- -
-
-

2 Columns

-
-
- -
-
-

1 Col

-
-
- -
- - - - - -
- - -
- -
-
-

Responsive 16 Column Grid

-
-
- -
-
-

940px

-
-
- -
-
-

40

-
-
-

880px

-
-
- -
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
-

40

-
-
- -
-
-

100px

-
-
-

820px

-
-
- -
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
-

100px

-
-
- -
-
-

160px

-
-
-

760px

-
-
- -
-
-

160px

-
-
-

160px

-
-
-

220px

-
-
-

160px

-
-
-

160px

-
-
- -
-
-

220px

-
-
-

700px

-
-
- -
-
-

220px

-
-
-

220px

-
-
-

220px

-
-
-

220px

-
-
- -
-
-

280px

-
-
-

640px

-
-
- -
-
-

280px

-
-
-

340px

-
-
-

280px

-
-
- -
-
-

340px

-
-
-

580px

-
-
- -
-
-

340px

-
-
-

220px

-
-
-

340px

-
-
- -
-
-

400px

-
-
-

520px

-
-
- -
-
-

400px

-
-
-

100px

-
-
-

400px

-
-
- -
-
-

460px

-
-
-

460px

-
-
- - - -
-
-

Columns pushed right by 'x'

-
-
-
-
-

15 Columns Push 1

-
-
-
-
-

40px

-
-
-

14 Columns Push 1

-
-
-
-
-

14 Columns Push 2

-
-
-
-
-

40px

-
-
-

13 Columns Push 2

-
-
-
-
-

13 Columns Push 3

-
-
-
-
-

40px

-
-
-

12 Columns Push 3

-
-
-
-
-

12 Columns Push 4

-
-
-
-
-

40px

-
-
-

11 Columns Push 4

-
-
-
-
-

11 Columns Push 5

-
-
-
-
-

40px

-
-
-

10 Columns Push 5

-
-
-
-
-

10 Columns Push 6

-
-
-
-
-

40px

-
-
-

9 Columns Push 6

-
-
-
-
-

9 Columns Push 7

-
-
-
-
-

40px

-
-
-

8 Columns Push 7

-
-
-
-
-

8 Columns Push 8

-
-
-
-
-

40px

-
-
-

7 Columns Push 8

-
-
-
-
-

7 Columns Push 9

-
-
-
-
-

40px

-
-
-

6 Columns Push 9

-
-
-
-
-

6 Columns Push 10

-
-
-
-
-

40px

-
-
-

5 Columns Push 10

-
-
-
-
-

5 Columns Push 11

-
-
-
-
-

40px

-
-
-

4 Columns Push 11

-
-
- -
-
-

4 Columns Push 12

-
-
-
-
-

40px

-
-
-

3 Col Push 12

-
-
- -
-
-

3 Col Push 13

-
-
-
-
-

40px

-
-
-

2 - Push 13

-
-
-
-
-

2 - Push 14

-
-
-
-
-

40px

-
-
-

40px

-
-
-
-
-

40px

-
-
- - - - -
-
-

Centered Columns

-
-
- -
-
-

15 Columns

-
-
- -
-
-

14 Columns

-
-
- -
-
-

13 Columns

-
-
- -
-
-

12 Columns

-
-
- -
-
-

11 Columns

-
-
- -
-
-

10 Columns

-
-
- -
-
-

9 Columns

-
-
- -
-
-

8 Columns

-
-
- -
-
-

7 Columns

-
-
- -
-
-

6 Columns

-
-
- -
-
-

5 Columns

-
-
- -
-
-

4 Columns

-
-
- -
-
-

3 Columns

-
-
- -
-
-

2 Columns

-
-
- -
-
-

1 Col

-
-
- -
- -
- - - - - - - - - - - - - - - - - - - diff --git a/new-racket-web/demo2.html b/new-racket-web/demo2.html deleted file mode 100644 index 483d8c5f26..0000000000 --- a/new-racket-web/demo2.html +++ /dev/null @@ -1,1251 +0,0 @@ - - - - - - - - - - - - - - - -Gumby - A Flexible, Responsive CSS Framework - Powered by Sass - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

Typography

-
-

-

My Cool First Level Headline reaalllyyy long headline

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-

My Cool Second Level Headline

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-

My Cool Third Level Headline

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-

My Cool Fourth Level Headline

-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-
My Cool Fifth Level Headline
-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-
My Cool Sixth Level Headline
-

This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

-
-
-

Responsive text will expand to fill the available space

-
-
-
-

ul.disc

-
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
      -
    • Nested item
    • -
    • Nested item
    • -
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
  • List item
  • -
-
-
-

ul.circle

-
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
      -
    • Nested item
    • -
    • Nested item
    • -
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
  • List item
  • -
-
-
-

ul.square

-
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
      -
    • Nested item
    • -
    • Nested item
    • -
    -
  • List item
  • -
  • List item
  • -
  • List item
  • -
  • List item
  • -
-
-
-
-
-

ol

-
    -
  1. List item
  2. -
  3. List item
  4. -
  5. List item
  6. -
      -
    • Nested item
    • -
    • Nested item
    • -
    -
  7. List item
  8. -
  9. List item
  10. -
  11. List item
  12. -
  13. List item
  14. -
-
-
-

Definition list

-
-
Definition Term
-
Definition text, you can add as many of these as you need. The line-height matches paragraphs.
-
-
-
- -
-
-

Buttons

-
- -
-

Metro Style

- - - - - - - - - -
-
-
-
-

Pretty Style

- - - - - - - - - -
-
-
-
-
-
-

Indicators

-
-
-

Badges

-
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
    -
    -

    Labels

    -
  • Primary
  • -
  • Secondary
  • -
  • Default
  • -
  • Info
  • -
  • Important
  • -
  • Warning
  • -
  • Success
  • -
  • Light
  • -
  • Dark
  • -
    -
    -

    Alerts

    -
  • KHAAAAAAAAAAAAAAANNNN!!!!
  • -
  • We are the Silence. And Silence will fall!
  • -
  • Fez's are cool.
  • -
  • Don't blink. Blink and you're dead.
  • -
  • I’m sorry, Dave. I’m afraid I can’t do that.
  • -
  • My spidey sense is tingling...
  • -
  • Great Success! Very nice!
  • -
    -
    -
    -
    -

    Forms

    -
    -
    -

    Text Inputs

    -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -

    Conjoined Inputs

    -
    -
      -
    • - @ - -
    • -
    • - - @ -
    • -
    • - $ - - .00 -
    • -
    • - - -
    • -
    • - - -
    • -
    • - $ - - -
    • -
    • - - -
    • -
    -
    -
    -
    -

    Input Sizes

    -
    -
      -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    -
    - Fieldset with legend -
      -
    • - - -
    • -
    • - - -
    • -
    -
    -
    -
    -
    -
    -
    -

    Picker (<select>)

    -
    -
      -
    • -
      - -
      -
    • -
    -
    -
    -
    -

    Radio Buttons

    -
    -
      -
    • - - - -
    • -
    -
    -
    -
    -

    Check Boxes

    -
    -
      -
    • - - - -
    • -
    -
    -
    -
    -
    -

    Tabs

    -
    -
    -
    -

    Basic Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio.

    - -
    -
    -
    -
    -
    -

    Pill Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    - -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    -
    -
    -
    -
    -
    -
    -
    -

    Vertical Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    - -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio.

    -
    -
    -
    -
    -
    -
    -

    Drawers

    -

    - Open Top Drawer -

    -

    - Toggle Bottom Drawers -

    -

    - Close All Drawers -

    -
    - -
    -
    - - -
    -
    -
    -

    Modals

    -

    Open Modal

    -
    -
    -

    Skip Links

    -
    -
    - - - -
    -
    -
    -
    -

    Images

    -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -

    Tiles

    -
    -
    -

    2-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -

    3-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -

    4-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -
    -

    5-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -
    -

    Parallax Backgrounds

    -
    -
    -
    -

    Intrinsic Ratio Video Embed

    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Icon Map

    -

    All icons are (class="icon-*")

    -
    -
      -
    • note
    • -
    • note-beamed
    • -
    • music
    • -
    • search
    • -
    • flashlight
    • -
    • mail
    • -
    -
      -
    • heart
    • -
    • heart-empty
    • -
    • star
    • -
    • star-empty
    • -
    • user
    • -
    • users
    • -
    -
      -
    • user-add
    • -
    • video
    • -
    • picture
    • -
    • camera
    • -
    • layout
    • -
    • menu
    • -
    -
      -
    • check
    • -
    • cancel
    • -
    • cancel-circled
    • -
    • cancel-square
    • -
    • plus
    • -
    • plus-circled
    • -
    -
      -
    • plus-squared
    • -
    • minus
    • -
    • minus-circled
    • -
    • minus-square
    • -
    • help
    • -
    • help-circled
    • -
    -
      -
    • info
    • -
    • info-circled
    • -
    • back
    • -
    • home
    • -
    • link
    • -
    • attach
    • -
    -
      -
    • lock
    • -
    • lock-open
    • -
    • eye
    • -
    • tag
    • -
    • bookmark
    • -
    • bookmarks
    • -
    -
      -
    • flag
    • -
    • thumbs-up
    • -
    • thumbs-down
    • -
    • download
    • -
    • upload
    • -
    • upload-cloud
    • -
    -
      -
    • reply
    • -
    • reply-all
    • -
    • forward
    • -
    • quote
    • -
    • code
    • -
    • export
    • -
    -
      -
    • pencil
    • -
    • feather
    • -
    • print
    • -
    • retweet
    • -
    • keyboard
    • -
    • comment
    • -
    -
      -
    • chat
    • -
    • bell
    • -
    • attention
    • -
    • alert
    • -
    • vcard
    • -
    • address
    • -
    -
      -
    • location
    • -
    • map
    • -
    • direction
    • -
    • compass
    • -
    • cup
    • -
    • trash
    • -
    -
      -
    • doc
    • -
    • docs
    • -
    • doc-landscape
    • -
    • doc-text
    • -
    • doc-text-inv
    • -
    • newspaper
    • -
    -
      -
    • book
    • -
    • book-open
    • -
    • folder
    • -
    • archive
    • -
    • box
    • -
    • rss
    • -
    -
      -
    • phone
    • -
    • cog
    • -
    • tools
    • -
    • share
    • -
    • shareable
    • -
    • basket
    • -
    -
      -
    • bag
    • -
    • calendar
    • -
    • login
    • -
    • logout
    • -
    • mic
    • -
    • mute
    • -
    -
      -
    • sound
    • -
    • volume
    • -
    • clock
    • -
    • hourglass
    • -
    • lamp
    • -
    • light-down
    • -
    -
      -
    • light-up
    • -
    • adjust
    • -
    • block
    • -
    • resize-full
    • -
    • resize-small
    • -
    • popup
    • -
    -
      -
    • publish
    • -
    • window
    • -
    • arrow-combo
    • -
    • down-circled
    • -
    • left-circled
    • -
    • right-circled
    • -
    -
      -
    • up-circled
    • -
    • up-open
    • -
    • down-open
    • -
    • left-open
    • -
    • right-open
    • -
    • up-open-mini
    • -
    -
      -
    • down-open-mini
    • -
    • left-open-mini
    • -
    • right-open-mini
    • -
    • up-open-big
    • -
    • down-open-big
    • -
    • left-open-big
    • -
    -
      -
    • right-open-big
    • -
    • down
    • -
    • arrow-left
    • -
    • arrow-right
    • -
    • up
    • -
    • up-dir
    • -
    -
      -
    • down-dir
    • -
    • left-dir
    • -
    • right-dir
    • -
    • up-bold
    • -
    • down-bold
    • -
    • left-bold
    • -
    -
      -
    • right-bold
    • -
    • up-thin
    • -
    • down-thin
    • -
    • left-thin
    • -
    • right-thin
    • -
    • ccw
    • -
    -
      -
    • cw
    • -
    • arrows-ccw
    • -
    • level-down
    • -
    • level-up
    • -
    • shuffle
    • -
    • loop
    • -
    -
      -
    • switch
    • -
    • play
    • -
    • stop
    • -
    • pause
    • -
    • record
    • -
    • to-end
    • -
    - -
      -
    • to-start
    • -
    • fast-forward
    • -
    • fast-backward
    • -
    • progress-0
    • -
    • progress-1
    • -
    • progress-2
    • -
    -
      -
    • progress-3
    • -
    • target
    • -
    • palette
    • -
    • list
    • -
    • list-add
    • -
    • signal
    • -
    -
      -
    • trophy
    • -
    • battery
    • -
    • back-in-time
    • -
    • monitor
    • -
    • mobile
    • -
    • network
    • -
    -
      -
    • cd
    • -
    • inbox
    • -
    • install
    • -
    • globe
    • -
    • cloud
    • -
    • cloud-thunder
    • -
    -
      -
    • flash
    • -
    • moon
    • -
    • flight
    • -
    • paper-plane
    • -
    • leaf
    • -
    • lifebuoy
    • -
    -
      -
    • mouse
    • -
    • briefcase
    • -
    • suitcase
    • -
    • dot
    • -
    • dot-2
    • -
    • dot-3
    • -
    -
      -
    • brush
    • -
    • magnet
    • -
    • infinity
    • -
    • erase
    • -
    • chart-pie
    • -
    • chart-line
    • -
    -
      -
    • chart-bar
    • -
    • chart-area
    • -
    • tape
    • -
    • graduation-cap
    • -
    • language
    • -
    • ticket
    • -
    -
      -
    • water
    • -
    • droplet
    • -
    • air
    • -
    • credit-card
    • -
    • floppy
    • -
    • clipboard
    • -
    -
      -
    • megaphone
    • -
    • database
    • -
    • drive
    • -
    • bucket
    • -
    • thermometer
    • -
    • key
    • -
    -
      -
    • flow-cascade
    • -
    • flow-branch
    • -
    • flow-tree
    • -
    • flow-line
    • -
    • flow-parallel
    • -
    • rocket
    • -
    - -
      -
    • gauge
    • -
    • traffic-cone
    • -
    • cc
    • -
    • cc-by
    • -
    • cc-nc
    • -
    • cc-nc-eu
    • -
    -
      -
    • cc-nc-jp
    • -
    • cc-sa
    • -
    • cc-nd
    • -
    • cc-pd
    • -
    • cc-zero
    • -
    • cc-share
    • -
    -
      -
    • cc-remix
    • -
    • github
    • -
    • github-circled
    • -
    • flickr
    • -
    • flickr-circled
    • -
    • vimeo
    • -
    -
      -
    • vimeo-circled
    • -
    • gplus
    • -
    • gplus-circled
    • -
    • pinterest
    • -
    • pinterest-circled
    • -
    • tumblr
    • -
    -
      -
    • tumblr-circled
    • -
    • linkedin
    • -
    • linkedin-circled
    • -
    • dribbble
    • -
    • dribbble-circled
    • -
    • facebook
    • -
    -
      -
    • facebook-circled
    • -
    • facebook-squared
    • -
    • twitter
    • -
    • twitter-circled
    • -
    • lastfm
    • -
    • lastfm-circled
    • -
    -
      -
    • rdio
    • -
    • rdio-circled
    • -
    • spotify
    • -
    • spotify-circled
    • -
    • instagram
    • -
    • qq
    • -
    -
      -
    • dropbox
    • -
    • evernote
    • -
    • skype
    • -
    • skype-circled
    • -
    • flattr
    • -
    • renren
    • -
    -
      -
    • sina-weibo
    • -
    • paypal
    • -
    • picasa
    • -
    • soundcloud
    • -
    • mixi
    • -
    • behance
    • -
    -
      -
    • google-circles
    • -
    • vkontakte
    • -
    • smashing
    • -
    • sweden
    • -
    • db-shape
    • -
    • logo-db
    • -
    - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/new-racket-web/facebook.jpg b/new-racket-web/facebook.jpg deleted file mode 100644 index 25a9598aa7..0000000000 Binary files a/new-racket-web/facebook.jpg and /dev/null differ diff --git a/new-racket-web/favicon.ico b/new-racket-web/favicon.ico deleted file mode 100644 index d6abc58646..0000000000 Binary files a/new-racket-web/favicon.ico and /dev/null differ diff --git a/new-racket-web/favicon.png b/new-racket-web/favicon.png deleted file mode 100644 index 33c0b19972..0000000000 Binary files a/new-racket-web/favicon.png and /dev/null differ diff --git a/new-racket-web/humans.txt b/new-racket-web/humans.txt deleted file mode 100644 index 9dcdda9a69..0000000000 --- a/new-racket-web/humans.txt +++ /dev/null @@ -1,47 +0,0 @@ -/* TEAM */ - -Digital Surgeons -Twitter: @digitalsurgeons -Twitter: @gumbycss -Web: www.digitalsurgeons.com -Web: www.gumbyframework.com - -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:~~~====~,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=================+,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,:==================,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+=================:,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================:,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~=================~,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~=================~,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=================~,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==================,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~==============:,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,==========:,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,:~=========:,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,:================,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,:=====================,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,=======================,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,=======================:,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,=======================~,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,=~====================~,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,=~~~~~~~~~~~~~~~~~~~~~=,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,~~==~~~~~~~~~~~~~~=====,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,=~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,=~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~:,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,~~~~~~~~~~~~~:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,~~~~:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.... -,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..... - \ No newline at end of file diff --git a/new-racket-web/img/loud.png b/new-racket-web/img/loud.png deleted file mode 100644 index 4c17978d44..0000000000 Binary files a/new-racket-web/img/loud.png and /dev/null differ diff --git a/new-racket-web/index-TODO.html b/new-racket-web/index-TODO.html deleted file mode 100644 index 906f05dacc..0000000000 --- a/new-racket-web/index-TODO.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - -
    -
    -

    - Racket  —  - a programmable programming - language -

    -
    -
    -
    - -Racket is a wide-spectrum programming language that inherits from Lisp -and Scheme but also provides dialects that support objects, types, -laziness, and many other paradigms. Racket's module system allows -programmers to write and link together components written in different -dialects. Racket's libraries range from web servers to distributed -computing and from databases to charts. -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    -
    -
    - - -
    -

    Start - Quickly

    -
    -

    - -

    - - - - - - - - - - - - - - - - - - -
    -#lang racket
    -;; Report each unique line from stdin
    -(let ([saw (make-hash)])
    -  (for ([line (in-lines)])
    -    (unless (hash-ref saw line #f)
    -      (displayln line))
    -    (hash-set! saw line #t)))
    -
    - - - - - -
    -#lang racket ; Simple web scraper
    -(require net/url net/uri-codec)
    -(define (let-me-google-that-for-you str)
    -  (let* ([g "http://www.google.com/search?q="]
    -         [u (string-append g (uri-encode str))]
    -         [rx #rx"(?<=<h3 class=\"r\">).*?(?=</h3>)"])
    -    (regexp-match* rx (get-pure-port (string->url u)))))
    -
    -
    -
    - -
    - - -
    -

    News

    -

    Racket version 5.3.5 has been released.

    -

    Racket videos are now available.

    -

    RacketCon 2013 will be in September in Boston.

    -
    - - - -
    - - -
    -

    -Draw more pictures or -build a web server from scratch. Racket includes both -batteries and a programming environment, -so get started! -

    -
    -
    - - -
    -
    -

    Go Further

    -
    -
    - - -
    - -
    -
    Grow your Program

    Racket's -interactive mode -encourages experimentation, and quick scripts easily compose into -larger systems. Small scripts and large systems both benefit from -native-code JIT compilation. -When a system gets too big to keep in your head, you can add -static types.

    -
    - -
    -
    Grow your Language

    Extend Racket whenever you need to. -Mold it to better suit your tasks without sacrificing -interoperability with existing -libraries and without having to modify the -tool chain. When less is more, you can -remove parts of a language or start over and build a new one.

    -
    - -
    - -
    Grow your Skills

    Whether you're just starting out, want to know more about -programming language applications or models, -looking to expand your horizons, or ready to dive into -research, Racket can help you become a better programmer -and system builder.

    -
    -
    - - -
    -
    -

    Documentation

    -
    -
    - -
    -
    -
    For getting started
    -

    Quick: - An Introduction to Racket with - Pictures - gives you a taste of Racket. -

    - -

    More: - Systems Programming with Racket - dives - much deeper and much faster, showing how to build a complete - continuation-based web server.

    - -

    Guide: - Racket starts with a tutorial on Racket basics, and then it - describes the rest of the Racket language. -

    -
    - -
    -
    For experienced Racketeers
    -

    - Reference: - Racket provides comprehensive coverage of all of Racket. -

    - -

    Continue: - Web Applications in Racket - describes how to use the - Racket web - server to build dynamic web applications. -

    - -

    Package - Management explains how to install - packages, and how to - build and distribute your own.

    -
    - -
    - - - -
    -
    -

    Community

    -
    -
    - -
    - - -
    -
    News & Events
    - -

    RacketCon — the annual - Racket meeting, coming up in September. Previously - in 2012 - and 2011.

    - -

    Blog - — announcements, helpful hints, and thoughtful rants.

    -

    Twitter -— short bits of Racket news.

    -
    - -
    -
    Discussion
    -

    Mailing lists - — discussion for using and developing Racket.

    -

    IRC — -Chat in the #racket channel on -freenode.net — an informal -discussion channel for all things related to Racket. -(Browse the logs.)

    - -

    People — -The people behind Racket.

    -
    - - - -
    -
    Contributing
    -

    Code - — the Racket source code on GitHub.

    -

    Wiki — -Useful pages - include Intro - Projects - and Videos, - including tutorials, interviews, and more.

    -

    Snapshot builds — -The freshest versions of Racket.

    - -

    Bug reports — -File, query and maybe fix existing reports.

    - -
    - -
    - - -
    -
    -

    Learning

    -
    -
    - -
    - -
    -
    - -
    -
    -
    How to Design Programs
    -

    A principled approach to program design

    -
      -
    • Teaching language support built-in to DrRacket
    • -
    • Aimed at the programming novice
    • -
    -
    - -
    -
    Realm of Racket
    -

    Learn Racket and programming, one game at a time

    -
      -
    • Sample game code comes with the Racket distribution
    • -
    • For those just starting out with Racket
    • -
    -
    -
    - -
    -
    -
    - -
    - -
    - -
    -
    PLAI
    -

    Foundations of programming languages

    -
      -
    • Understand the features that make languages tick
    • -
    • For undergraduates, graduate students, and experts
    • -
    -
    - -
    -
    Semantics Engineering with PLT Redex
    -

    Lightweight automation for semantics

    -
      -
    • Model your own programming language semantics
    • -
    • For the working language engineer
    • -
    -
    - -
    - -
    diff --git a/new-racket-web/index.html b/new-racket-web/index.html deleted file mode 100644 index 848c44c9d2..0000000000 --- a/new-racket-web/index.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - - - - - - - - -The Racket Language - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -

    - Racket  —  - a programmable programming - language -

    -
    -
    -
    - -Racket is a wide-spectrum programming language that inherits from Lisp -and Scheme but also provides dialects that support objects, types, -laziness, and many other paradigms. Racket's module system allows -programmers to write and link together components written in different -dialects. Racket's libraries range from web servers to distributed -computing and from databases to charts. -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    -
    -
    - - -
    -

    Start - Quickly

    -
    -

    - -

    - - - - - - - - - - - - - - - - - - -
    -#lang racket
    -;; Report each unique line from stdin
    -(let ([saw (make-hash)])
    -  (for ([line (in-lines)])
    -    (unless (hash-ref saw line #f)
    -      (displayln line))
    -    (hash-set! saw line #t)))
    -
    - - - - - -
    -#lang racket ; Simple web scraper
    -(require net/url net/uri-codec)
    -(define (let-me-google-that-for-you str)
    -  (let* ([g "http://www.google.com/search?q="]
    -         [u (string-append g (uri-encode str))]
    -         [rx #rx"(?<=<h3 class=\"r\">).*?(?=</h3>)"])
    -    (regexp-match* rx (get-pure-port (string->url u)))))
    -
    -
    -
    - -
    - - -
    -

    News

    -

    Racket version 5.3.5 has been released.

    -

    Racket videos are now available.

    -

    RacketCon 2013 will be in September in Boston.

    -
    - - - -
    - - -
    -

    -Draw more pictures or -build a web server from scratch. Racket includes both -batteries and a programming environment, -so get started! -

    -
    -
    - - -
    -
    -

    Go Further

    -
    -
    - - -
    - -
    -
    Grow your Program

    Racket's -interactive mode -encourages experimentation, and quick scripts easily compose into -larger systems. Small scripts and large systems both benefit from -native-code JIT compilation. -When a system gets too big to keep in your head, you can add -static types.

    -
    - -
    -
    Grow your Language

    Extend Racket whenever you need to. -Mold it to better suit your tasks without sacrificing -interoperability with existing -libraries and without having to modify the -tool chain. When less is more, you can -remove parts of a language or start over and build a new one.

    -
    - -
    - -
    Grow your Skills

    Whether you're just starting out, want to know more about -programming language applications or models, -looking to expand your horizons, or ready to dive into -research, Racket can help you become a better programmer -and system builder.

    -
    -
    - - -
    -
    -

    Documentation

    -
    -
    - -
    -
    -
    For getting started
    -

    Quick: - An Introduction to Racket with - Pictures - gives you a taste of Racket. -

    - -

    More: - Systems Programming with Racket - dives - much deeper and much faster, showing how to build a complete - continuation-based web server.

    - -

    Guide: - Racket starts with a tutorial on Racket basics, and then it - describes the rest of the Racket language. -

    -
    - -
    -
    For experienced Racketeers
    -

    - Reference: - Racket provides comprehensive coverage of all of Racket. -

    - -

    Continue: - Web Applications in Racket - describes how to use the - Racket web - server to build dynamic web applications. -

    - -

    Package - Management explains how to install - packages, and how to - build and distribute your own.

    -
    - -
    - - - -
    -
    -

    Community

    -
    -
    - -
    - - -
    -
    News & Events
    - -

    RacketCon — the annual - Racket meeting, coming up in September. Previously - in 2012 - and 2011.

    - -

    Blog - — announcements, helpful hints, and thoughtful rants.

    -

    Twitter -— short bits of Racket news.

    -
    - -
    -
    Discussion
    -

    Mailing lists - — discussion for using and developing Racket.

    -

    IRC — -Chat in the #racket channel on -freenode.net — an informal -discussion channel for all things related to Racket. -(Browse the logs.)

    - -

    People — -The people behind Racket.

    -
    - - - -
    -
    Contributing
    -

    Code - — the Racket source code on GitHub.

    -

    Wiki — -Useful pages - include Intro - Projects - and Videos, - including tutorials, interviews, and more.

    -

    Snapshot builds — -The freshest versions of Racket.

    - -

    Bug reports — -File, query and maybe fix existing reports.

    - -
    - -
    - - -
    -
    -

    Learning

    -
    -
    - -
    - -
    -
    - -
    -
    -
    How to Design Programs
    -

    A principled approach to program design

    -
      -
    • Teaching language support built-in to DrRacket
    • -
    • Aimed at the programming novice
    • -
    -
    - -
    -
    Realm of Racket
    -

    Learn Racket and programming, one game at a time

    -
      -
    • Sample game code comes with the Racket distribution
    • -
    • For those just starting out with Racket
    • -
    -
    -
    - -
    -
    -
    - -
    - -
    - -
    -
    PLAI
    -

    Foundations of programming languages

    -
      -
    • Understand the features that make languages tick
    • -
    • For undergraduates, graduate students, and experts
    • -
    -
    - -
    -
    Semantics Engineering with PLT Redex
    -

    Lightweight automation for semantics

    -
      -
    • Model your own programming language semantics
    • -
    • For the working language engineer
    • -
    -
    - -
    - -
    - - - - - - - - - - - - - - diff --git a/new-racket-web/index.rkt b/new-racket-web/index.rkt deleted file mode 100644 index f794f7028d..0000000000 --- a/new-racket-web/index.rkt +++ /dev/null @@ -1,298 +0,0 @@ -#lang scribble/html -@(require racket/format) -@(define (css url) @link[href: url rel: "stylesheet" type: "text/css"]{}) -@(define (icon name) @i[class: name]{}) -@(define (row . content) (apply div class: "row" content)) -@(define (js . args) @script[type: "text/javascript" @(apply literal args) "\n"]) -@(define (tagline l) @span[style: "font-style: italic" l]) - -@(define (panetitle l) @div[class: "panetitle" l]) - -@(define (growbox title . body) - @columns[4 (panetitle (string-append "Grow your " title)) (apply p body)]) -@(define (docelem kw name link . text) - (apply p @a[href: link]{@strong[kw]: @|name| } text)) - -@(define (sectitle name) @columns[10 #:center? #t #:row? #t]{@h3[name]}) - -@(define (print-num n) - (list-ref - '("one" "two" "three" "four" "five" "six" "seven" "eight" "nine" "ten" "eleven" "twelve" "thirteen") - (sub1 n))) -@(define (columns n #:row? [row? #f] #:center? [center? #f] #:tag [tag div] #:push [push #f] . body) - (define d (apply tag class: (~a (print-num n) " columns" - (if center? " centered" "") - (if push (~a " push_" (print-num push)) "")) body)) - (if row? (row d) d)) - -@(define prev @img[src: "img/prev.png" style: "width: 50px"]) -@(define next @img[src: "img/next.png" style: "width: 50px"]) - -@; The new racket web pages - -@doctype['html] - -@html{ - @head{ - @meta[charset: "utf-8"] - - @;-- Use the .htaccess and remove these lines to avoid edge case issues. - @; More info: h5bp.com/b/378 -- - @meta[http-equiv: "X-UA-Compatible" content: "IE=edge,chrome=1"] - - @title{The Racket Language} - @link[rel: "shortcut icon" href: "favicon.ico" type: "image/x-icon"] - - @; - @meta[name: "viewport" - content: "width=device-width, initial-scale=1.0, maximum-scale=1"] - - @; - - @; - @css["css/gumby.css"] - @css["css/style.css"] - @css["css/scribble.css"] - - - @; - @script[src: "js/libs/modernizr-2.6.2.min.js"] - } - - -@div[class: "navbar" gumby-fixed: "top" id: "nav1"]{ - @row{ - @a[class: "toggle" gumby-trigger: "#nav1 > .row > ul" href: "#"]{ - @icon{icon-menu}} - @a[class: "five columns logo" href: ""]{ - @img[class: "logo" src: "img/logo.png"]} - @ul[class: "five columns"]{ - @li{@a[href: "https://pkg.racket-lang.org"]{Packages}} - @li{@a[href: "https://docs.racket-lang.org"]{Documentation}} - @li{@a[href: "https://blog.racket-lang.org"]{Blog}} - @li{@button[class: "medium metro info btn icon-left entypo icon-install"]{ - @a[href: "#"]{Download}}}}}} - - @columns[10 #:row? #t #:center? #t]{ - @h2[style: "font-size: 180%; margin-bottom: 10pt"]{ - @strong{Racket} @|nbsp mdash nbsp| - @tagline{a programmable programming language}}} - -@columns[8 #:center? #t #:row? #t - style: "margin-bottom: 10pt; font-size: 120%; text-align:justify;"]{ -Racket is a full-spectrum programming language that inherits from Lisp -and Scheme but also provides dialects that support objects, types, -laziness, and many other paradigms. Racket's module system allows -programmers to write and link together components written in different -dialects. Racket's libraries range from web servers to distributed -computing and from databases to charts. -} - -@div[id: "topcontent"]{ -@row{ - @columns[1] - @columns[7]{ - @h2[style: "font-size: 180%; margin-bottom: 10pt"]{Start Quickly} - @div[style: "position: relative"]{ - @p[class: "metro primary btn" - style: "position: absolute; top: -10%; right: 0%;"]{ - @a[href: "#" class: "switch" gumby-trigger: "#modal1"]{ - @icon["icon-help"]}} - @a[href: "#" class: "toggle narrow_only" - gumby-trigger: ".unique_lines|.web_scraper" - style: "position: absolute; top: -40%; left: 35%"]{@prev} - - @a[href: "#" class: "toggle narrow_only" - gumby-trigger: ".unique_lines|.web_scraper" - style: "position: absolute; top: -40%; right: 35%"]{@next} - - @a[href: "#" class: "toggle wide_only" - gumby-trigger: ".unique_lines|.web_scraper" - style: "position: absolute; top: 40%; left: -15%"]{@prev} - - @a[href: "#" class: "toggle wide_only" - gumby-trigger: ".unique_lines|.web_scraper" - style: "position: absolute; top: 40%; right: -15%"]{@next}}} - -@columns[1] - -@columns[3 style: "text-color: black"]{ - @h2[style: "font-size: 180%; margin-bottom: 10pt"]{News} - @p{Racket version 5.3.5 has been released.} - @p{Racket videos are now available.} - @p{@a[href: "racketcon.html"]{RacketCon 2013} will be in September in Boston.}}} - - -@columns[12 #:row? #t #:center? #t style: "text-align:justify;font-size: 120%; margin-top: 20pt; "]{ -@a[href: "http://docs.racket-lang.org/quick/"]{Draw more pictures} or -@a[href: "http://docs.racket-lang.org/more/"]{build a web server from scratch}. Racket includes both -@a[href: "http://docs.racket-lang.org/"]{batteries} and a @a[href: "http://docs.racket-lang.org/drracket/"]{programming environment}, -so @a[href: "http://docs.racket-lang.org/getting-started/"]{get started}! -}} - -@sectitle{Go Further} - -@row[id: 'growboxes]{ - - -@growbox["Program"]{Racket's -@a[href: "http://docs.racket-lang.org/guide/intro.html#(part._.Interacting_with_.Racket)"]{interactive -mode} encourages experimentation, and quick scripts easily compose -into larger systems. Small scripts and large systems both benefit -from -@a[href: "http://docs.racket-lang.org/guide/performance.html"]{native-code -JIT compilation} When a system gets too big to keep in your head, you -can add -@a[href: "http://docs.racket-lang.org/ts-guide/index.html"]{static -types}.} - -@growbox["Language"]{@a[href: "http://docs.racket-lang.org/guide/languages.html"]{Extend -Racket} whenever you need to. Mold it to better suit your tasks -without sacrificing -@a[href: "http://docs.racket-lang.org/guide/dialects.html"]{interoperability} -with existing libraries and without having to modify the -@a[href: "http://docs.racket-lang.org/guide/intro.html"]{tool chain}. -When less is more, you can remove parts of a language or start over -and build a new one.} - -@growbox["Skills"]{Whether you're just -@a[href: "http://htdp.org/"]{starting out}, want to know more about -programming language @a[href: "http://www.plai.org/"]{applications} or -@a[href: "http://redex.racket-lang.org/"]{models}, looking to -@a[href: "http://docs.racket-lang.org/continue/"]{expand your -horizons}, or ready to dive into @a[href: "learning.html"]{research}, -Racket can help you become a better programmer and system builder.}} - -@sectitle{Documentation} - -@row{ -@columns[5]{ - @panetitle{For getting started} - @docelem['Quick "An Introduction to Racket with Pictures" "http://docs.racket-lang.org/quick/"]{ - gives you a taste of Racket.} - @docelem['More "Systems Programming with Racket" "http://docs.racket-lang.org/more/"]{ - dives much deeper and much faster, showing how to build a complete - continuation-based web server.} - @docelem['Guide "Racket" "http://docs.racket-lang.org/guide/"]{ - starts with a tutorial on Racket basics, and then it - describes the rest of the Racket language.}} - - -@columns[5 #:push 2]{ - @panetitle{For experienced Racketeers} - @docelem['Reference "Racket" "http://docs.racket-lang.org/reference/"]{ -provides comprehensive coverage of all of Racket.} - @docelem['Continue "Web Applications in Racket" "http://docs.racket-lang.org/continue/"]{ - describes how to use the - Racket @a[href: "http://docs.racket-lang.org/web-server/"]{web - server} to build dynamic web applications.} - @docelem["Package Management" "Racket" "http://docs.racket-lang.org/pkg/"]{ -explains how to install - @a[href: "https://pkg.racket-lang.org"]{packages}, and how to - build and distribute your own.}} -} - -@sectitle{Community} - -@row{ -@columns[4]{ -@panetitle{News & Events} -@p{@a[href: "racketcon.html"]{RacketCon} — the annual - Racket meeting, coming up in September. Previously - in @a[href: "http://con.racket-lang.org/2012"]{2012} - and @a[href: "http://con.racket-lang.org/2012"]{2011}.} - -@p{@a[href: "http://blog.racket-lang.org/"]{Blog} - — announcements, helpful hints, and thoughtful rants.} -@p{@a[href: "http://twitter.com/#!/racketlang"]{Twitter} -— short bits of Racket news.} -} - -@columns[4]{ -@panetitle{Discussion} -@p{@a[href: "http://lists.racket-lang.org/"]{Mailing lists} - — discussion for using and developing Racket.} -@p{@a[href: "http://racket-lang.org/irc-chat.html"]{IRC} — -Chat in the @tt[style: "background-color: #d8d8e8;"]{@big{@strong{#racket}}} channel on -@a[href: "http://freenode.net"]{@tt{freenode.net}} — an informal -discussion channel for all things related to Racket. -(@a[href: "https://botbot.me/freenode/racket/"]{Browse the logs}.)} - -@p{@a[href: "http://racket-lang.org/people.html"]{People} — -The people behind Racket.} -} - - - -@columns[4]{ -@panetitle{Contributing} -@p{@a[href: "https://github.com/plt/racket/"]{Code} - — the Racket source code on GitHub.} -@p{@a[href: "https://github.com/plt/racket/wiki"]{Wiki} — -Useful pages - include @a[href: "https://github.com/plt/racket/wiki/Intro-Projects"]{Intro - Projects} - and @a[href: "https://github.com/plt/racket/wiki/Videos"]{Videos}, - including tutorials, interviews, and more.} -@p{@a[href: "http://www.cs.utah.edu/plt/snapshots"]{Snapshot builds} — -The freshest versions of Racket.} - -@p{@a[href: "http://bugs.racket-lang.org"]{Bug reports} — -File, query and maybe fix existing reports.}}} - -@sectitle{Learning} - -@row{ -@row{ -@div[class: "two columns image rounded" style: "margin-top: 2pt"]{ - @a[href: "http://www.htdp.org"]{@img[src: "img/htdp-cover.gif"]}} -@columns[4]{@panetitle{How to Design Programs} -@p{A principled approach to program design} -@ul{ - @li{Teaching language support built-in to DrRacket} - @li{Aimed at the programming novice}}} - -@columns[4]{@panetitle{Realm of Racket} - @p{Learn Racket and programming, one game at a time} - @ul{ - @li{Sample game code comes with the Racket distribution} - @li{For those just starting out with Racket} -}} -@div[class: "two columns image rounded" style: "margin-top: 2pt"]{ - @a[href: "http://www.realmofracket.com"]{@img[src: "img/racket_cover_web.png"]}} -}} - -@row{ -@row{ -@div[class: "two columns image rounded" style: "margin-top: 2pt"]{ - @a[href: "http://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/"]{@img[src: "img/plai-cover.jpg"]}} -@columns[4]{@panetitle{PLAI} -@p{Foundations of programming languages} -@ul{ - @li{Understand the features that make languages tick} - @li{For undergraduates, graduate students, and experts}}} - -@columns[4]{@panetitle{Semantics Engineering with PLT Redex} - @p{Lightweight automation for semantics} - @ul{ - @li{Model your own programming language semantics} - @li{For the working language engineer} -}} -@div[class: "two columns image rounded" style: "margin-top: 2pt"]{ - @a[href: "http://redex.racket-lang.org/"]{@img[src: "img/redex-cover.jpg"]}} -}} - - - @; - @script[src: "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"] - @js{window.jQuery || document.write(' - - - - - - -
    - -
    -
    -

    Gumby

    -

    A responsive 960 grid - from Digital Surgeons

    -
    -
    - -
    -
    -

    940px

    -
    -
    - -
    -
    -

    60px

    -
    -
    -

    860px

    -
    -
    - -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    - -
    -
    -

    140px

    -
    -
    -

    780px

    -
    -
    - -
    -
    -

    140px

    -
    -
    -

    140px

    -
    -
    -

    140px

    -
    -
    -

    140px

    -
    -
    -

    140px

    -
    -
    -

    140px

    -
    -
    - -
    -
    -

    220px

    -
    -
    -

    700px

    -
    -
    - -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    - -
    -
    -

    300px

    -
    -
    -

    620px

    -
    -
    - -
    -
    -

    300px

    -
    -
    -

    300px

    -
    -
    -

    300px

    -
    -
    - -
    -
    -

    380px

    -
    -
    -

    540px

    -
    -
    - -
    -
    -

    460px

    -
    -
    -

    460px

    -
    -
    - - - -
    -
    -

    Columns pushed right by 'x'

    -
    -
    -
    -
    -

    11 Columns Push 1

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    10 Columns Push 1

    -
    -
    -
    -
    -

    10 Columns Push 2

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    9 Columns Push 2

    -
    -
    -
    -
    -

    9 Columns Push 3

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    8 Columns Push 3

    -
    -
    -
    -
    -

    8 Columns Push 4

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    7 Columns Push 4

    -
    -
    -
    -
    -

    7 Columns Push 5

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    6 Columns Push 5

    -
    -
    -
    -
    -

    6 Columns Push 6

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    5 Columns Push 6

    -
    -
    -
    -
    -

    5 Columns Push 7

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    4 Columns Push 7

    -
    -
    - -
    -
    -

    4 Columns Push 8

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    3 Col Push 8

    -
    -
    - -
    -
    -

    3 Col Push 9

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    2 - Push 9

    -
    -
    - - -
    -
    -

    2 - Push 10

    -
    -
    -
    -
    -

    60px

    -
    -
    -

    60px

    -
    -
    - - -
    -
    -

    60px

    -
    -
    - - - -
    -
    -

    Centered Columns

    -
    -
    - -
    -
    -

    11 Columns

    -
    -
    - -
    -
    -

    10 Columns

    -
    -
    - -
    -
    -

    9 Columns

    -
    -
    - -
    -
    -

    8 Columns

    -
    -
    - -
    -
    -

    7 Columns

    -
    -
    - -
    -
    -

    6 Columns

    -
    -
    - -
    -
    -

    5 Columns

    -
    -
    - -
    -
    -

    4 Columns

    -
    -
    - -
    -
    -

    3 Columns

    -
    -
    - -
    -
    -

    2 Columns

    -
    -
    - -
    -
    -

    1 Col

    -
    -
    - -
    - - - - - -
    - - -
    - -
    -
    -

    Responsive 16 Column Grid

    -
    -
    - -
    -
    -

    940px

    -
    -
    - -
    -
    -

    40

    -
    -
    -

    880px

    -
    -
    - -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    -

    40

    -
    -
    - -
    -
    -

    100px

    -
    -
    -

    820px

    -
    -
    - -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    -

    100px

    -
    -
    - -
    -
    -

    160px

    -
    -
    -

    760px

    -
    -
    - -
    -
    -

    160px

    -
    -
    -

    160px

    -
    -
    -

    220px

    -
    -
    -

    160px

    -
    -
    -

    160px

    -
    -
    - -
    -
    -

    220px

    -
    -
    -

    700px

    -
    -
    - -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    -

    220px

    -
    -
    - -
    -
    -

    280px

    -
    -
    -

    640px

    -
    -
    - -
    -
    -

    280px

    -
    -
    -

    340px

    -
    -
    -

    280px

    -
    -
    - -
    -
    -

    340px

    -
    -
    -

    580px

    -
    -
    - -
    -
    -

    340px

    -
    -
    -

    220px

    -
    -
    -

    340px

    -
    -
    - -
    -
    -

    400px

    -
    -
    -

    520px

    -
    -
    - -
    -
    -

    400px

    -
    -
    -

    100px

    -
    -
    -

    400px

    -
    -
    - -
    -
    -

    460px

    -
    -
    -

    460px

    -
    -
    - - - -
    -
    -

    Columns pushed right by 'x'

    -
    -
    -
    -
    -

    15 Columns Push 1

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    14 Columns Push 1

    -
    -
    -
    -
    -

    14 Columns Push 2

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    13 Columns Push 2

    -
    -
    -
    -
    -

    13 Columns Push 3

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    12 Columns Push 3

    -
    -
    -
    -
    -

    12 Columns Push 4

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    11 Columns Push 4

    -
    -
    -
    -
    -

    11 Columns Push 5

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    10 Columns Push 5

    -
    -
    -
    -
    -

    10 Columns Push 6

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    9 Columns Push 6

    -
    -
    -
    -
    -

    9 Columns Push 7

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    8 Columns Push 7

    -
    -
    -
    -
    -

    8 Columns Push 8

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    7 Columns Push 8

    -
    -
    -
    -
    -

    7 Columns Push 9

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    6 Columns Push 9

    -
    -
    -
    -
    -

    6 Columns Push 10

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    5 Columns Push 10

    -
    -
    -
    -
    -

    5 Columns Push 11

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    4 Columns Push 11

    -
    -
    - -
    -
    -

    4 Columns Push 12

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    3 Col Push 12

    -
    -
    - -
    -
    -

    3 Col Push 13

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    2 - Push 13

    -
    -
    -
    -
    -

    2 - Push 14

    -
    -
    -
    -
    -

    40px

    -
    -
    -

    40px

    -
    -
    -
    -
    -

    40px

    -
    -
    - - - - -
    -
    -

    Centered Columns

    -
    -
    - -
    -
    -

    15 Columns

    -
    -
    - -
    -
    -

    14 Columns

    -
    -
    - -
    -
    -

    13 Columns

    -
    -
    - -
    -
    -

    12 Columns

    -
    -
    - -
    -
    -

    11 Columns

    -
    -
    - -
    -
    -

    10 Columns

    -
    -
    - -
    -
    -

    9 Columns

    -
    -
    - -
    -
    -

    8 Columns

    -
    -
    - -
    -
    -

    7 Columns

    -
    -
    - -
    -
    -

    6 Columns

    -
    -
    - -
    -
    -

    5 Columns

    -
    -
    - -
    -
    -

    4 Columns

    -
    -
    - -
    -
    -

    3 Columns

    -
    -
    - -
    -
    -

    2 Columns

    -
    -
    - -
    -
    -

    1 Col

    -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - diff --git a/new-racket-web/racketcon.html b/new-racket-web/racketcon.html deleted file mode 100644 index 56c81efb21..0000000000 --- a/new-racket-web/racketcon.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - - - - - - - -Racket: RacketCon 2013 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -

    - RacketCon: 29 September 2013

    -
    -
    - -
    -
    -RacketCon is a public meeting for everyone interested in Racket: -developers, contributors, programmers, educators, and by-standers. It -is an opportunity for all members of the community to come together to -share plans, ideas, and enthusiasm. RacketCon will enable the entire -Racket community to mingle: to update each other, to exchange ideas, to -collaborate, and to help shape the future of Racket. -
    -
    - -
    -

    Overview

    -
    -
    -
    -
    Where
    -

    RacketCon will be hosted by the -College of Computer and Information Science -of Northeastern University, in Boston, -Massachusetts. See Getting to RacketCon below.

    -
    -
    -
    Register
    -

    Registration will open during the summer.

    -
    -
    -
    Hackathon
    -

    We will also run a Hackathon on Saturday (28th) in the same room as -RacketCon. For details, see the -wiki page.

    -
    -
    - -
    -

    Schedule

    -
    -
    -
    - - - - - - - - - - - - - - -
    SlotSpeaker
    TBATBA
    - -
    -
    - - -
    -

    Getting to RacketCon

    -
    -
    -
    - -
    The Venue
    - RacketCon will be held in West Village H, Room 108, at - Northeastern University. West Village H is located - at 440 Huntington Ave, Boston Massachusetts, and is building - #23H on - the campus map. - See also the building on - Google Maps - -
    Transport
    -
    by Car:
    -
    There is very little on-street parking near Northeastern. -Visitor parking -is available at the -Renaissance Garage, -a few minutes walk from the conference. Driving directions from many -points are available - here.
    -
    by Subway:
    -
    Northeastern is conveniently located near both the Green and Orange -subway lines. The MBTA has more -information. On the Green ‘E’ line, the Northeastern stop is the -closest, and appears on the campus map below as the ‘T’ symbol on -Huntington Avenue. On the Orange line, the Ruggles stop is closest -and appears on the campus map below as the ‘T’ symbol in the -middle-left of the illustration.
    -
    by Bicycle, Commuter Rail, Amtrak:
    -
    Northeastern is located near the major Amtrak lines, and is also -accessible by commuter rail and bicycle. Please contact the organizers for -more information.
    -
    - -
    - -
    -
    - - -
    -

    Accommodation

    -
    - -
    -
    -
    Where to eat
    -

    While there are no conference dinner plans, there are numerous -restaurants near Northeastern:

    -
    Symphony Sushi
    -
    A sushi restaurant, 5 minutes walk
    -
    Pho and I
    -
    Thai and Vietnamese food, 5 minutes walk.
    -
    Pizzeria Uno
    -
    Deep dish pizza, 5 minutes walk.
    -
    Punter's Pub
    -
    A bar, adjacent to Northeastern.
    -
    The Squealing Pig
    -
    A bar with food, 15 minutes walk.
    -
    Woody's Grill and Tap
    -
    Brick oven pizza, 15 minutes walk.
    -

    This is just a small selection; -Google -and -Yelp -have many more.

    -
    - -
    -
    Where to stay
    -

    Numerous hotels are located close to Northeastern. The three closest -are:

    -
    The Colonnade Hotel
    -
    A ten minute walk from RacketCon. Ask for the Northeastern -discounted rate. Even with the discount, this is likely to be -expensive.
    -
    The Midtown Hotel
    -
    A ten minute walk from RacketCon. A less expensive and less fancy -option.
    -
    The Best Western Inn at Longwood
    -
    A fifteen minute walk from RacketCon.
    -
    -
    - -
    -
    -

    Frequently Asked Questions

    -
    Do I have to be a Racket programmer to attend?
    -
    No. We welcome anyone interested in or curious about Racket to come -to RacketCon and learn about why we're all so excited about Racket.
    -
    Will there be a registration fee?
    -
    No. RacketCon is free to everyone who wants to attend. We - ask that you register ahead of time, so that we can - plan appropriately.
    -
    Will the conference provide lunch?
    -
    Yes! We will provide complimentary lunch -to registered attendees.
    -
    Will the talks be recorded?
    -
    We hope to record and post the talks given at RacketCon. If you are -interested in assisting with this, please let the organizers know.
    -
    Who is in charge of RacketCon?
    -
    RacketCon is organized by -Asumu Takikawa -and the rest of the Racket development team.
    -
    -
    - -
    -
    -

    Sponsors

    -

    Support for RacketCon is generously provided by:

    -
    Northeastern University
    -
    -
    - - - - - - - - - - - - - - diff --git a/new-racket-web/sass/_base.scss b/new-racket-web/sass/_base.scss deleted file mode 100644 index 0526bb8e7e..0000000000 --- a/new-racket-web/sass/_base.scss +++ /dev/null @@ -1,71 +0,0 @@ -@import "compass/typography/vertical_rhythm"; - -@include establish-baseline; - -html * { - @include box-sizing(border-box); -} - -body { - background: $global-bg-color; - font-family: $font-family; - font-weight: $body-font-weight; - color: $body-font-color; - position: relative; - -webkit-font-smoothing: $font-smoothing; - @include respond(all-phones) { - -webkit-text-size-adjust: none; - -ms-text-size-adjust: none; - width: 100%; - min-width: 0; - } -} - -html, body { - height: 100%; -} - -.ie9 { - font-family: $font-family; - * { - font-family: $font-family; - } -} - -.hide { - display: none; -} - -.hide.active, .show { - display: block; -} - -.fixed { - position: fixed; - &.pinned { - position: absolute; - } - @include respond(portrait-tablets) { - position: relative !important; - top: auto !important; - left: auto !important; - } -} - -.unfixed { - position: relative !important; - top: auto !important; - left: auto !important; -} - -.text-center { - text-align: center; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} diff --git a/new-racket-web/sass/_custom.scss b/new-racket-web/sass/_custom.scss deleted file mode 100644 index 0d5d753451..0000000000 --- a/new-racket-web/sass/_custom.scss +++ /dev/null @@ -1,3 +0,0 @@ -// Your custom SCSS should be written here... - - diff --git a/new-racket-web/sass/_fonts.scss b/new-racket-web/sass/_fonts.scss deleted file mode 100644 index ae51ae5db3..0000000000 --- a/new-racket-web/sass/_fonts.scss +++ /dev/null @@ -1,29 +0,0 @@ -/* Fonts */ - -// Import Google Web Fonts -@import url(http://fonts.googleapis.com/css?family=Open+Sans:500,400,300,600,700); -@import url(http://fonts.googleapis.com/css?family=Inconsolata); - - -// Set local icon font -@font-face { - font-family: '#{$icons}'; - font-style: normal; - font-weight: 400; - src: url(../fonts/icons/#{$icons}.eot); - src: url('../fonts/icons/#{$icons}.eot?#iefix') format('ie9-skip-eot'), - url('../fonts/icons/#{$icons}.woff') format('woff'), - url('../fonts/icons/#{$icons}.ttf') format('truetype'); -} - -// To include your own, local copies of fonts, use the following template -// -//@font-face { -// font-family: '#{$some-font-variable}'; -// font-style: normal; -// font-weight: 400; -// src: url(../fonts/icons/#{$some-font-variable}.eot); -// src: url('../fonts/icons/#{$some-font-variable}.eot?#iefix') format('ie9-skip-eot'), -// url('../fonts/icons/#{$some-font-variable}.woff') format('woff'), -// url('../fonts/icons/#{$some-font-variable}.ttf') format('truetype'); -//} diff --git a/new-racket-web/sass/_grid.scss b/new-racket-web/sass/_grid.scss deleted file mode 100755 index 2db88ed164..0000000000 --- a/new-racket-web/sass/_grid.scss +++ /dev/null @@ -1,273 +0,0 @@ - - - -/*================================================= - - +++ LE GRID +++ - A Responsive Grid -- Gumby defaults to a standard 960 grid, - but you can change it to whatever you'd like. - - ==================================================*/ - -// We're removing the container class in favor -// of adding padding to rows at the $device-width -// breakpoint. - -/*.container { - padding: 0px $gutter-in-px; -}*/ - -.row { - width: 100%; - max-width: $row-max-width; - min-width: $min-device-width; - margin: 0 auto; - @include respond(document-width) { - padding: 0 $gutter-in-px; - } - .row { - min-width: 0px; - @include respond(document-width) { - padding: 0; - } - } -} - -/* To fix the grid into a different size, set max-width to your desired width */ - -.column, .columns { - margin-left: $gutter; - float: $default-float; - min-height: 1px; - @include box-sizing(border-box); -} - -.column:first-child, .columns:first-child, .alpha { - margin-left: 0px; -} - -.column.omega, .columns.omega { - float: $switch-float; -} - -// Generate the Grid - -/* Column Classes */ - -// Generate Column Classes -.row { - @for $i from 1 through $cols{ - @if $i == 1 { - .one.column { - width: columns($i); - } - } - .#{number-as-word($i)}.columns { - width: columns($i); - } - } -} - -/* Push Classes */ - -// Generate Push Classes -.row { - @for $i from 1 through $cols - 1 { - .push_#{number-as-word($i)} { - margin-left: push_x($i); - &:first-child { - margin-left: push_x($i, true); - } - } - } -} - -/* Centered Classes */ - -// Generate Centered Classes -.row { - @for $i from 1 through $cols - 1 { - .#{number-as-word($i)}.centered { - margin-left: centered($i); - } - } -} - -/* Hybrid Grid Columns */ - -// Generate Hybrid Grid Column Classes -.#{number-as-word($hybrid)}.colgrid .row { - @for $i from 1 through $hybrid{ - @if $i == 1 { - .one.column { - width: columns($i, true); - } - } - .#{number-as-word($i)}.columns{ - width: columns($i, true); - } - } -} - -/* Hybrid Push Classes */ - -// Generate Hybrid Push Classes -.#{number-as-word($hybrid)}.colgrid .row { - @for $i from 1 through $hybrid - 1{ - .push_#{number-as-word($i)} { - margin-left: push_x($i, false, true); - &:first-child { - margin-left: push_x($i, true, true); - } - } - } -} - -/* Hybrid Centered Classes */ - -// Generate Centered Classes -.#{number-as-word($hybrid)}.colgrid .row { - @for $i from 1 through $hybrid - 1 { - .#{number-as-word($i)}.centered { - margin-left: centered($i, true); - } - } -} - -.pull_right { float: right; } - -.pull_left { float: left; } - -img, object, embed { - max-width: 100%; - height: auto; -} - -img { - -ms-interpolation-mode: bicubic; -} - -#map_canvas img, .map_canvas img { - max-width: none !important; -} - -/* Tile Grid */ - -.tiles { - display: block; - overflow: hidden; - > li { - display: block; - height: auto; - float: left; - padding-bottom:0; - } - &.two_up { - margin-left: -4%; - > li { - margin-left: 4%; - width: 46%; - } - } - &.three_up, &.four_up { - margin-left: -2%; - } - &.three_up > li { - margin-left: 2%; - width: 31.3%; - } - &.four_up > li { - margin-left: 2%; - width: 23%; - } - &.five_up { - margin-left: -1.5%; - > li { - margin-left: 1.5%; - width: 18.5%; - } - } -} - -/* Nicolas Gallagher's micro clearfix */ - -.clearfix { - @include clearfix(); -} - -.row { - @include clearfix(); -} - - -// vertically align stuff - -.valign { - display: table; - width: 100%; - > div { - display: table-cell; - vertical-align: middle; - }​ - > article { - display: table-cell; - vertical-align: middle; - } -} - -/* Mobile */ - -@include respond(all-phones) { - body { - -webkit-text-size-adjust: none; - -ms-text-size-adjust: none; - width: 100%; - min-width: 0; - } - .container { - min-width: 0; - margin-left: 0; - margin-right: 0; - } - .row { - width: 100%; - min-width: 0; - margin-left: 0; - margin-right: 0; - .row { - .column, .columns { - padding: 0; - } - } - .centered { - margin-left: 0 !important; - } - } - .column, .columns { - width: auto !important; - float: none; - margin-left: 0; - margin-right: 0; - } - .column:last-child, .columns:last-child { - margin-right: 0; - float: none; - } - - [class*="column"] { - + [class*="column"]:last-child { - float: none; - } - &:before { - display: table; - } - &:after { - display: table; - clear: both; - } - } - [class^="push_"], - [class*="push_"] { - margin-left: 0 !important; - } -} diff --git a/new-racket-web/sass/_typography.scss b/new-racket-web/sass/_typography.scss deleted file mode 100644 index 22d9516ca4..0000000000 --- a/new-racket-web/sass/_typography.scss +++ /dev/null @@ -1,281 +0,0 @@ - -h1,h2,h3,h4,h5,h6 { - font-family: $font-family; - font-weight: $header-font-weight; - color: $header-font-color; - text-rendering: optimizeLegibility; - @include padding-leader($rhythm-spacing); - @include adjust-leading-to($rhythm-height); - @include padding-trailer($rhythm-spacing); - a { - color: $header-link-color; - } -} - -@include respond(all-phones) { - - h1,h2,h3,h4,h5,h6 { word-wrap: break-word;} - -} - -h1 { - @include font-size($xxxlarge); - &.xlarge { - @include font-size($reallybig); - } - &.xxlarge { - @include font-size($tremendous); - } - &.absurd { - @include font-size($absurd); - } -} -h2 { @include font-size($xlarge); padding-top: $med; padding-bottom: $norm; } -h3 { @include font-size($larger); padding-top: $norm; padding-bottom: $norm; } -h4 { @include font-size($large);} -h5 { @include font-size($med);} -h6 { @include font-size($norm);} - -@include respond(all-phones) { - - h1 { @include font-size($xlarge);} - h2 { @include font-size($larger + 6);} - -} - -.subhead { - color: #777; - font-weight: normal; - margin-bottom: 20px; -} - -/*===================================================== - - Links & Paragraph styles - - ======================================================*/ - -p { - font-family: $font-family; - font-weight: $body-font-weight; - color: black; - @include font-size($base-font-size); - margin-bottom: $base-line-height / 2; - @include adjust-leading-to(1); - &.lead { - @include font-size(ms(0) * 1.25); - margin-bottom: ms(1); - } - @include respond(portrait-tablets) { - @include font-size($base-font-size * 1.1); - @include adjust-leading-to(1); - } -} - -a { - color: $body-link-color; - text-decoration: none; - outline: 0; - line-height: inherit; - &:hover { - color: $body-link-hover-color; - } -} - -/*===================================================== - - Lists - - ======================================================*/ - -ul, ol { - @include margin-trailer($rhythm-spacing); -} - -ul { - list-style: none outside; -} - -ol { - list-style: decimal; - margin-left: 30px; -} - -ul { - &.square, &.circle, &.disc { - margin-left: 25px; - } - &.square { - list-style: square outside; - } - &.circle { - list-style: circle outside; - } - &.disc { - list-style: disc outside; - } - ul { - margin: 4px 0 5px 25px; - } -} - -ol ol { - margin: 4px 0 5px 30px; -} - -li { - @include padding-trailer($rhythm-spacing); -} - -ul.large li { - line-height: 21px; -} - -dl dt { - font-weight: bold; - @include font-size($norm); -} - -@include respond(portrait-tablets) { - - ul, ol, dl, p { text-align: left;} - -} - -/* Mobile */ - -em { - font-style: italic; - line-height: inherit; -} - -strong { - font-weight: $font-weight-bold; - line-height: inherit; -} - -small { - font-size: 56.4%; - line-height: inherit; -} - -h1 small, h2 small, h3 small, h4 small, h5 small { - color: #777; -} - -/* Blockquotes */ - -blockquote { - line-height: 20px; - color: #777; - p { - line-height: 20px; - color: #777; - } - margin: 0 0 18px; - padding: 9px 20px 0 19px; - border-left: 5px solid $horizontal-rule-color; - cite { - display: block; - font-size: 12px; - font-size: 1.2rem; - color: $body-font-color; - &:before { - content: "\2014 \0020"; - } - a { - color: $body-font-color; - &:visited { - color: $body-font-color; - } - } - } -} - -hr { - border: 1px solid $horizontal-rule-color; - clear: both; - margin: 16px 0 18px; - height: 0; -} - -abbr, acronym { - text-transform: uppercase; - font-size: 90%; - color: #222; - border-bottom: 1px solid $horizontal-rule-color; - cursor: help; -} - -abbr { - text-transform: none; -} - -pre, code { - color: black; - font-family: 'Inconsolata'; -} - -/** - * Print styles. - * - * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ - * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) - */ - -@media print { - * { - background: transparent !important; - color: black !important; - text-shadow: none !important; - filter: none !important; - -ms-filter: none !important; - } - /* Black prints faster: sanbeiji.com/archives/953 */ - p a { - color: $body-font-color !important; - text-decoration: underline; - &:visited { - color: $body-font-color !important; - text-decoration: underline; - } - &[href]:after { - content: " (" attr(href) ")"; - } - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - .ir a:after { - content: ""; - } - a { - &[href^="javascript:"]:after, &[href^="#"]:after { - content: ""; - } - } - /* Don't show links for images, or javascript/internal links */ - pre, blockquote { - border: 1px solid #999; - page-break-inside: avoid; - color: black; - } - thead { - display: table-header-group; - } - /* css-discuss.incutio.com/wiki/Printing_Tables */ - tr, img { - page-break-inside: avoid; - } - @page { - margin: 0.5cm; - } - - p, h2, h3 { - orphans: 3; - widows: 3; - } - h2, h3 { - page-break-after: avoid; - } -} diff --git a/new-racket-web/sass/extensions/modular-scale/lib/modular-scale.rb b/new-racket-web/sass/extensions/modular-scale/lib/modular-scale.rb deleted file mode 100755 index e4484253fb..0000000000 --- a/new-racket-web/sass/extensions/modular-scale/lib/modular-scale.rb +++ /dev/null @@ -1,129 +0,0 @@ -require 'compass' -Compass::Frameworks.register('sassy-math', :path => File.expand_path("../..")) - - -# This tells Compass what your Compass extension is called, and where to find -# its files -# Replace 'extension' with the name of your extension. Spaces allowed. -extension_path = File.expand_path(File.join(File.dirname(__FILE__), "..")) -Compass::Frameworks.register('modular-scale', :path => extension_path) - -# Version and date of version for your Compass extension. -# Replace Extension with the name of your extension -# Letters, numbers, and underscores only -# Version is a number. If a version contains alphas, it will be created as -# a prerelease version -# Date is in the form of YYYY-MM-DD -module ModularScale - VERSION = "1.0.6" - DATE = "2012-08-13" -end - -# This is where any custom SassScript should be placed. The functions will be -# available on require of your extension without the need for users to import -# any partials. Uncomment below. - -# Modular Scale Sass Script -module Sass::Script - class Number < Literal - # Comparison - def <=>(other) - value <=> other.value - end - end -end - -module Sass::Script::Functions - # Modular Scale - def double_octave - value = 4 / 1.0 - Sass::Script::Number.new(value) - end - def major_twelfth - value = 3 / 1.0 - Sass::Script::Number.new(value) - end - def major_eleventh - value = 8 / 3.0 - Sass::Script::Number.new(value) - end - def major_tenth - value = 5 / 2.0 - Sass::Script::Number.new(value) - end - def octave - value = 2 / 1.0 - Sass::Script::Number.new(value) - end - def major_seventh - value = 15 / 8.0 - Sass::Script::Number.new(value) - end - def minor_seventh - value = 16 /9.0 - Sass::Script::Number.new(value) - end - def major_sixth - value = 5 / 3.0 - Sass::Script::Number.new(value) - end - def minor_sixth - value = 8 / 5.0 - Sass::Script::Number.new(value) - end - def fifth - value = 3 / 2.0 - Sass::Script::Number.new(value) - end - def augmented_fourth - value = Math.sqrt(2) / 1.0 - Sass::Script::Number.new(value) - end - def fourth - value = 4 / 3.0 - Sass::Script::Number.new(value) - end - def major_third - value = 5 / 4.0 - Sass::Script::Number.new(value) - end - def minor_third - value = 6 / 5.0 - Sass::Script::Number.new(value) - end - def major_second - value = 9 / 8.0 - Sass::Script::Number.new(value) - end - def minor_second - value = 16 / 15.0 - Sass::Script::Number.new(value) - end - - # Lists - def sort_list(list) - sep = list.separator if list.is_a?(Sass::Script::List) - list = list.to_a.sort - Sass::Script::List.new(list, sep) - end - def reverse_list(list) - sep = list.separator if list.is_a?(Sass::Script::List) - list = list.to_a.reverse - Sass::Script::List.new(list, sep) - end - def trim_list(list, threshold, ascending) - # remove list items above or below a threshold - sep = list.separator if list.is_a?(Sass::Script::List) - list = list.to_a - if ascending.value - list = list.delete_if { - |x| x.value <= threshold.value - } - else - list = list.delete_if { - |x| x.value >= threshold.value - } - end - Sass::Script::List.new(list, sep) - end -end diff --git a/new-racket-web/sass/extensions/modular-scale/stylesheets/_modular-scale.scss b/new-racket-web/sass/extensions/modular-scale/stylesheets/_modular-scale.scss deleted file mode 100755 index 3d60722c98..0000000000 --- a/new-racket-web/sass/extensions/modular-scale/stylesheets/_modular-scale.scss +++ /dev/null @@ -1,310 +0,0 @@ -// SASSY MODULAR-SCALE -// https://github.com/scottkellum/modular-scale - -// Defaults -$ratio: golden_ratio() !default; -$base-size: 16px !default; -$round-pixels: true !default; - -// Modular Scale function -@function modular-scale($multiple, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - - // return the $base-size if $multiple is zero - @if $multiple == 0 { - @if type-of($base-size) == "list" { - $base-size: sort_list($base-size); - @return nth($base-size, 1); - } - - // return just the simple $base-size value if it's not a list - @return $base-size; - } - - // if multiple base-sizes are passed in as a list - // and multiple ratios are passed in as a list - // calculate values in using each base-size / ratio combination - @if type-of($base-size) == "list" and type-of($ratio) == "list" { - @if unit(ms-multibase-multiratio($multiple, $base-size, $ratio)) == "px" and $round-pixels == true { - @return round(ms-multibase-multiratio($multiple, $base-size, $ratio)); - } - @return ms-multibase-multiratio($multiple, $base-size, $ratio); - } - - // if multiple base-sizes are passed in as a list - // calculate values in using each base-size - @if type-of($base-size) == "list" and type-of($ratio) == "number" { - @if unit(ms-multibase($multiple, $base-size, $ratio)) == "px" and $round-pixels == true { - @return round(ms-multibase($multiple, $base-size, $ratio)); - } - @return ms-multibase($multiple, $base-size, $ratio); - } - - // if multiple ratios are passed in as a list - // calculate values in using each ratio - @if type-of($base-size) == "number" and type-of($ratio) == "list" { - @if unit(ms-multiratio($multiple, $base-size, $ratio)) == "px" and $round-pixels == true { - @return round(ms-multiratio($multiple, $base-size, $ratio)); - } - @return ms-multiratio($multiple, $base-size, $ratio); - } - - // If there are no lists just run the simple function - @if unit(power($ratio, $multiple) * $base-size) == "px" and $round-pixels == true { - @return round(power($ratio, $multiple) * $base-size); - } - @return power($ratio, $multiple) * $base-size; -} - -// calculate values in using each base-size / ratio combination -@function ms-multibase-multiratio($multiple, $base-size: $base-size, $ratio: $ratio) { - - // start with an empty list to place all values in - $scale-values: (); - - // make sure base sizes are in ascending order - $base-size: sort_list($base-size); - - // take each base-size in turn - $k: 1; - @while $k <= length($base-size) { - - // add each $base-size to the list except the first - @if $k > 1 { - $scale-values: append($scale-values, nth($base-size, $k)); - } - - // take each ratio in turn - $j: 1; - @while $j <= length($ratio) { - - // reset $modular-scale for each set - $modular-scale: nth($base-size, $k); - - // do the scale for each base-size using this ratio - @if $multiple > 0 { - - // up $multiple times - // and add the result to $scale-values - @for $i from 1 through $multiple { - $modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - } - - // and down until the value is lower than the lowest $base-size - // and add the result to $scale-values - $i: -1; - $modular-scale: nth($base-size, $k); - @while $modular-scale >= nth($base-size, 1) { - $modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - $i: $i - 1; - } - } - @if $multiple < 0 { - - // do the scale down for each set to below 1px - $i: 0; - $modular-scale: nth($base-size, $k); - @while $i >= $multiple { - $modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - $i: $i - 1; - } - } - $j: $j + 1; - } - $k: $k + 1; - } - - // return trimmed and sorted final list - @return trim-sort($multiple, $scale-values, $base-size); -} - -// calculate values in using each base-size -@function ms-multibase($multiple, $base-size: $base-size, $ratio: $ratio) { - - // start with an empty list to place all values in - $scale-values: (); - - // make sure base sizes are in ascending order - $base-size: sort_list($base-size); - - // take each base-size in turn - $k: 1; - @while $k <= length($base-size) { - - // add each $base-size to the list except the first - @if $k > 1 { - $scale-values: append($scale-values, nth($base-size, $k)); - } - - // reset $modular-scale for each set - $modular-scale: nth($base-size, $k); - - // do the scale for each base-size using this ratio - @if $multiple > 0 { - - // up $multiple times - // and add the result to $scale-values - @for $i from 1 through $multiple { - $modular-scale: power($ratio, $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - } - - // and down until the value is lower than the lowest $base-size - // and add the result to $scale-values - $i: -1; - $modular-scale: nth($base-size, $k); - @while $modular-scale >= nth($base-size, 1) { - $modular-scale: power($ratio, $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - $i: $i - 1; - } - } - @if $multiple < 0 { - - // do the scale down for each set to below 1px - $i: 0; - $modular-scale: nth($base-size, $k); - @while $i >= $multiple { - $modular-scale: power($ratio, $i) * nth($base-size, $k); - $scale-values: append($scale-values, $modular-scale); - $i: $i - 1; - } - } - $k: $k + 1; - } - - // return trimmed and sorted final list - @return trim-sort($multiple, $scale-values, $base-size); -} - -// calculate values in using each ratio -@function ms-multiratio($multiple, $base-size: $base-size, $ratio: $ratio) { - - // start with an empty list to place all values in - $scale-values: (); - - // If $multiple is a positive integer (up the scale) - @if $multiple > 0 { - - // take each ratio in turn - $j: 1; - @while $j <= length($ratio) { - - // reset $modular-scale for each set - $modular-scale: $base-size; - - // do the scale using this ratio thru the multiple, and add the result to $scale-values - @for $i from 1 through $multiple { - $modular-scale: power(nth($ratio, $j), $i) * $base-size; - $scale-values: append($scale-values, $modular-scale); - } - $j: $j + 1; - } - - // sort acsending - $scale-values: sort_list($scale-values); - - // return the final value using the laced list - @return nth($scale-values, $multiple); - } - - // If $multiple is a negative integer (down the scale) - @if $multiple < 0 { - - // take each ratio in turn - $j: 1; - @while $j <= length($ratio) { - - // reset $modular-scale for each set - $modular-scale: $base-size; - - // do the scale using this ratio thru the multiple, and add the result to $scale-values - @for $i from 1 through $multiple * -1 { - $modular-scale: power(nth($ratio, $j), -$i) * $base-size; - $scale-values: append($scale-values, $modular-scale); - } - $j: $j + 1; - } - - // sort decending - $scale-values: reverse_list(sort_list($scale-values)); - - // return the final value using the laced list - @return nth($scale-values, $multiple * -1); - } -} - -// trim and sort the final list -@function trim-sort($multiple, $scale-values: $scale-values, $base-size: $base-size) { - @if $multiple > 0 { - - // trim list so we can count from the lowest $base-size - $scale-values: trim_list($scale-values, nth($base-size, 1), true); - - // sort acsending - $scale-values: sort_list($scale-values); - - // return the final value using the laced list - @return nth($scale-values, $multiple); - } - @else { - - // trim list so we can count from the lowest $base-size - $scale-values: trim_list($scale-values, nth($base-size, 1), false); - - // sort acsending - $scale-values: reverse_list(sort_list($scale-values)); - - // return the final value using the laced list - @return nth($scale-values, -$multiple); - } -} - -///////////////////////////////////////////////////////////////////////// - -// alias for golden_ratio() -@function golden() { - @return golden_ratio(); -} - -// Shortcut -@function ms($multiple, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - // Return the value from the Modular Scale function - @return modular-scale($multiple, $base-size, $ratio, $round-pixels); -} - -// Write Modular Scale List -@function modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - $ms-list: unquote("MS-LIST:"); - @for $i from $start through $finish { - $ms-list: append($ms-list, ms($i, $base-size, $ratio, $round-pixels)); - } - @return $ms-list; -} - -@function ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - @return modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels); -} - -@mixin modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - @debug modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels); -} - -@mixin ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - @debug modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels); -} - -@mixin modular-scale-list-output($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - MODULAR-SCALE-LIST { - ms-list: modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels); - } - } - -@mixin ms-list-output($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels) { - @include modular-scale-list-output($start, $finish, $base-size, $ratio, $round-pixels); -} - -// Other libraries can easily query if this function is avalible -$modular-scale-loaded: true; \ No newline at end of file diff --git a/new-racket-web/sass/extensions/sassy-math/lib/sassy-math.rb b/new-racket-web/sass/extensions/sassy-math/lib/sassy-math.rb deleted file mode 100644 index c7ad32fe69..0000000000 --- a/new-racket-web/sass/extensions/sassy-math/lib/sassy-math.rb +++ /dev/null @@ -1,159 +0,0 @@ -require 'compass' -Compass::Frameworks.register("sassy-math", :path => "#{File.dirname(__FILE__)}/..") - -# Sassy math Functions -module Sass::Script::Functions - # Exponents - def exponent(base, powerNum, powerDen) - base = base.value.to_f - powerNum = powerNum.value.to_f - powerDen = powerDen.value.to_f - result = base ** (powerNum / powerDen) - Sass::Script::Number.new(result) - end - def power(base, exponent) - base = base.value.to_f - exponent = exponent.value.to_f - result = base ** exponent - Sass::Script::Number.new(result) - end - def sqrt(number) - number = number.value.to_f - result = Math.sqrt(number) - Sass::Script::Number.new(result) - end - def nth_root(number, root) - number = number.value.to_f - root = root.value.to_f - result = number ** (1.0 / root) - Sass::Script::Number.new(result) - end - # Logarithms - def ln(num) - result = Math.log(num.value) - Sass::Script::Number.new(result) - end - def log10(num) - result = Math.log10(num.value) - Sass::Script::Number.new(result) - end - # Miscellaneous - def factorial(number) - result = 1 - number = number.value - if number > 0 - (1..number).each do |i| - result = result * i - end - end - Sass::Script::Number.new(result) - end - def random(max = Sass::Script::Number.new(100)) ## shamelessly taken from here: https://gist.github.com/1561650 - Sass::Script::Number.new(rand(max.value), max.numerator_units, max.denominator_units) - end - def hypot(a, b) - a = a.value.to_f - b = b.value.to_f - result = Math.hypot(a, b) - Sass::Script::Number.new(result) - end - # Constants - def pi - pi = Math::PI - Sass::Script::Number.new(pi) - end - def e - e = Math::E - Sass::Script::Number.new(e) - end - def golden_ratio() - result = (1.0 / 2.0) + (Math.sqrt(5) / 2.0) - Sass::Script::Number.new(result) - end - # Comparative Functions - def is_int(number) - number = number.value.to_f - if number - number.floor != 0 - result = false - else - result = true - end - Sass::Script::Bool.new(result) - end - def is_float(number) - number = number.value - if number - number.floor != 0 - result = true - else - result = false - end - Sass::Script::Bool.new(result) - end - # Trigonometric Functions - def deg_to_rad(degree) - result = degree.value.to_f * Math::PI / 180 - Sass::Script::Number.new(result) - end - def rad_to_deg(rad) - result = rad.value.to_f * 180 / Math::PI - Sass::Script::Number.new(result) - end - def cosh(rad) - rad = rad.value.to_f - result = Math.cosh(rad) - Sass::Script::Number.new(result) - end - def acos(rad) - rad = rad.value.to_f - result = Math.acos(rad) - Sass::Script::Number.new(result) - end - def acosh(rad) - rad = rad.value.to_f - result = Math.acosh(rad) - Sass::Script::Number.new(result) - end - def sinh(rad) - rad = rad.value.to_f - result = Math.sinh(rad) - Sass::Script::Number.new(result) - end - def asin(rad) - rad = rad.value.to_f - result = Math.asin(rad) - Sass::Script::Number.new(result) - end - def asinh(rad) - rad = rad.value.to_f - result = Math.asinh(rad) - Sass::Script::Number.new(result) - end - def tanh(rad) - rad = rad.value.to_f - result = Math.tanh(rad) - Sass::Script::Number.new(result) - end - def atan(rad) - rad = rad.value.to_f - result = Math.atan(rad) - Sass::Script::Number.new(result) - end - def atan2(y, x) - y = y.value.to_f - x = x.value.to_f - result = Math.atan2(y, x) - Sass::Script::Number.new(result) - end - def atanh(rad) - rad = rad.value.to_f - result = Math.atanh(rad) - Sass::Script::Number.new(result) - end -end - -module SassyMath - - VERSION = "1.5" - DATE = "2012-07-29" - -end \ No newline at end of file diff --git a/new-racket-web/sass/extensions/sassy-math/stylesheets/_math.scss b/new-racket-web/sass/extensions/sassy-math/stylesheets/_math.scss deleted file mode 100644 index df020e97e3..0000000000 --- a/new-racket-web/sass/extensions/sassy-math/stylesheets/_math.scss +++ /dev/null @@ -1,310 +0,0 @@ -// SASSY MATH - -@charset "UTF-8"; - -////////////////////////////// -// Variables -////////////////////////////// -$pi: 3.1415926535897932384626433832795028841971693993751; -$π: $pi; -$e: 2.71828182845904523536028747135266249775724709369995; - -$iter: 50; - -////////////////////////////// -// Random Number -// Working from http://xkcd.com/221/ -// Chosen by fair dice roll. -// Guarenteed to be random. -////////////////////////////// -@function rand() { - @return 4; -} - -////////////////////////////// -// Percent -////////////////////////////// -@function percent($number) { - @return $number * 0.01; -} - -////////////////////////////// -// Exponent -////////////////////////////// -@function exponent($base, $exponent) { - // reset value - $value: $base; - // positive intergers get multiplied - @if $exponent > 1 { - @for $i from 2 through $exponent { - $value: $value * $base; } } - // negitive intergers get divided. A number divided by itself is 1 - @if $exponent < 1 { - @for $i from 0 through -$exponent { - $value: $value / $base; } } - // return the last value written - @return $value; -} - -@function pow($base, $exponent) { - @return exponent($base, $exponent); -} - -////////////////////////////// -// Factorial -////////////////////////////// -@function factorial($number) { - // reset value - $value: 1; - // positive intergers get multiplied - @if $number > 0 { - @for $i from 1 through $number { - $value: $value * $i; - } - } - @return $value; -} - -@function fact($number) { - @return factorial($number); -} - - -////////////////////////////// -// Polynomial Approximation -////////////////////////////// -// Maclaurin series can be used to estimate Sine and Consine -@function maclaurin($start, $key, $number) { - $value: $start; - $add: 0; - - @for $i from 1 through $iter { - @if $add == 0 { - $value: $value - ( exponent($number, $key) / factorial($key) ); - $add: 1; - } - @else { - $value: $value + ( exponent($number, $key) / factorial($key) ); - $add: 0; - } - - $key: $key + 2; - } - - @return $value; -} -// Taylor series can be used to estiamte ln -@function taylor($number) { - @return taylor; -} - -////////////////////////////// -// Basic Trig Functions -////////////////////////////// -// Bundled in Compass: http://compass-style.org/reference/compass/helpers/trig/ -// References for implementing using MacLaurin series below: - -//@function sin($number, $unit: 'deg') { -// @if $unit == 'deg' { -// $number: deg-to-rad($number); -// } -// @return maclaurin($number, 3, $number); -//} -// -//@function cos($number, $unit: 'deg') { -// @if $unit == 'deg' { -// $number: deg-to-rad($number); -// } -// @return maclaurin(1, 2, $number); -//} -// -//// Trig Identity: Tangent = Sine divided by Cosine. -//@function tan($number, $unit: 'deg') { -// @if $unit == 'deg' { -// $number: deg-to-rad($number); -// } -// @return sin($number) / cos($number); -//} - -////////////////////////////// -// Reciprocal Trig Functions -////////////////////////////// -@function csc($number, $unit: 'deg') { - @if $unit == 'deg' { - $number: deg-to-rad($number); - } - @return 1 / sin($number); -} - -@function scs($number, $unit: 'deg') { - @if $unit == 'deg' { - $number: deg-to-rad($number); - } - @return 1 / cos($number); -} - -@function cot($number, $unit: 'deg') { - @if $unit == 'deg' { - $number: deg-to-rad($number); - } - @return 1 / tan($number); -} - -////////////////////////////// -// Hyperbolic Functions -////////////////////////////// -@function sinh($number) { - $top: exponent($e, (2 * $number)) - 1; - $bottom: 2 * exponent($e, $number); - @return $top / $bottom; -} - -@function cosh($number) { - $top: exponent($e, (2 * $number)) + 1; - $bottom: 2 * exponent($e, $number); - @return $top / $bottom; -} - -@function tanh($number) { - $top: exponent($e, (2 * $number)) - 1; - $bottom: exponent($e, (2 * $number)) + 1; - @return $top / $bottom; -} - -////////////////////////////// -// Reciprocal Hyperbolic Functions -////////////////////////////// -@function csch($number) { - @return 1 / sinh($number); -} - -@function sech($number) { - @return 1 / cosh($number); -} - -@function coth($number) { - @return 1/ tanh($number); -} - - -@function log($number) { - @return $number; -} - -@function ln($number) { - @if $number > 0 and $number < 1 { - $value: 0; - @for $i from 1 through $iter { - $value: $value + ( pow(-1, $i) * pow(-1 * (1 - $number), $i)) / $i; - } - $value: -1 * $value; - - @return $value; - } - @else if $number == 1 { - @return 0; - } - @else { - @return ERROR; - @warn ln input must be greater than zero and less than or equal to 1; - } -} - - -////////////////////////////// -// Degree/Radian Conversion -////////////////////////////// -@function deg-to-rad($number) { - @return $number * $pi / 180deg; -} - -@function rad-to-deg($number) { - @return $number * 180deg / $pi; -} - -////////////////////////////// -// Root Functions -////////////////////////////// -// Basic General-Purpose Root Function -@function n-root($number, $n) { - @if $number < 1 { - @return ERROR; - @warn ROOT ERROR; - } - // If a whole number, generate it quickly - @for $i from 1 through $number { - @if exponent($i, $n) == $number { - @return $i; - } - } - // Else, run through other options - @for $i from 1 through $number * 1000 / 2 { - @if round(exponent($i / 1000, $n) * 100) == round($number * 100) { - @return $i / 1000; - } - } -} - -@function root($number, $n) { - @return n-root($number, $n); -} - -// Square Roots -@function √($number) { - @return sqrt($number); -} - -@function sqrt($number) { - $guess: rand(); - $root: $guess; - @for $i from 1 through $iter { - $root: $root - (pow($root, 2) - $number) / (2 * $root); - } - @return $root; -} - -////////////////////////////// -// Golden Ratio -////////////////////////////// -@function golden() { - @return 1/2 + sqrt(5) / 2; -} -@function ϕ() { - @return golden(); -} - -$golden-ratio: golden(); -$ϕ: $golden-ratio; - -////////////////////////////// -// Is Int and Is Float -////////////////////////////// -@function is-int($number) { - @if type-of($number) != 'number' { - @warn '#{$number} is not a number! It cannot be an integer if it is not a number!'; - @return false; - } - @if $number - floor($number) != 0 { - @return false; - } - @else { - @return true; - } -} - -@function is-float($number) { - @if type-of($number) != 'number' { - @warn '#{$number} is not a number! It cannot be an decimal if it is not a number!'; - @return false; - } - @if $number - floor($number) != 0 { - @return true; - } - @else { - @return false; - } -} - -@function is-decimal($number) { - @return is-float($number); -} \ No newline at end of file diff --git a/new-racket-web/sass/functions/_all.scss b/new-racket-web/sass/functions/_all.scss deleted file mode 100644 index 5b0dda2dc8..0000000000 --- a/new-racket-web/sass/functions/_all.scss +++ /dev/null @@ -1,15 +0,0 @@ -// Global Gumby Functions - -@import "breakpoints"; -@import "strip-units"; -@import "grid-calc"; - -// Global Gumby Mixins - -@import "clearfix"; -@import "typography"; -@import "responsivity"; -@import "line-and-height"; -@import "height-calc"; -@import "semantic-grid"; -@import "visibility"; diff --git a/new-racket-web/sass/functions/_breakpoints.scss b/new-racket-web/sass/functions/_breakpoints.scss deleted file mode 100644 index 426099c72d..0000000000 --- a/new-racket-web/sass/functions/_breakpoints.scss +++ /dev/null @@ -1,11 +0,0 @@ -@function breakpoint($breakpoint) { - @if $breakpoint == $document-width { - @return $document-width - 1; - } - @if $breakpoint == $tablet-device-width { - @return $tablet-device-width - 1; - } - @if $breakpoint == $min-device-width { - @return $min-device-width + 1; - } -} \ No newline at end of file diff --git a/new-racket-web/sass/functions/_buttons.scss b/new-racket-web/sass/functions/_buttons.scss deleted file mode 100644 index 182f999237..0000000000 --- a/new-racket-web/sass/functions/_buttons.scss +++ /dev/null @@ -1,44 +0,0 @@ -@mixin button-size($size) { - $n: 0; - @if $size == xlarge { - $n: $xlarge-button-font-size; - } - @if $size == large { - $n: $large-button-font-size; - } - @if $size == medium { - $n: $medium-button-font-size; - } - @if $size == small { - $n: $small-button-font-size; - } - $button-font-size: $n; - $button-height: ms($ratio, $button-font-size) + 1; - $line-height: $button-height - 2; - - @include font-size($button-font-size); - @include line-and-height($button-height); - - a { - position:relative; - padding: 0 ms(0, $button-font-size); - } - - &.icon-left { - a { - padding-left: $button-height; - &:before { - left: $button-font-size / 1.5; - } - } - } - - &.icon-right { - a { - padding-right: $button-height; - &:after { - right: $button-font-size / 1.5; - } - } - } -} diff --git a/new-racket-web/sass/functions/_clearfix.scss b/new-racket-web/sass/functions/_clearfix.scss deleted file mode 100644 index 3db859767c..0000000000 --- a/new-racket-web/sass/functions/_clearfix.scss +++ /dev/null @@ -1,25 +0,0 @@ -@mixin clearfix() { - *zoom:1; - &:before, &:after { - content: ""; - display: table; - } - &:after { - clear: both; - } -} - -@mixin mobilefix() { - @include respond(all-phones) { - &:before, &:after { - content: " "; - display: table; - } - &:after { - clear: both; - } - &:last-child { - float: none; - } - } -} \ No newline at end of file diff --git a/new-racket-web/sass/functions/_forms.scss b/new-racket-web/sass/functions/_forms.scss deleted file mode 100644 index 4c4f08d42d..0000000000 --- a/new-racket-web/sass/functions/_forms.scss +++ /dev/null @@ -1,18 +0,0 @@ -@mixin input-size($size) { - @if $size == xxwide { $size: 100%; } - @if $size == xwide { $size: 82.6666666667%; } - @if $size == wide { $size: 65.3333333333%; } - @if $size == normal { $size: 48%; } - @if $size == narrow { $size: 30.6666666667%; } - @if $size == xnarrow { $size: 13.3333333333%; } - - width: $size; -} - -@mixin input-sizes-list() { - $sizes: (); - @each $item in $field-sizes { - $sizes: join($sizes, unquote(".#{$item} "), comma); - } - #{$sizes} { @content } -} diff --git a/new-racket-web/sass/functions/_grid-calc.scss b/new-racket-web/sass/functions/_grid-calc.scss deleted file mode 100755 index b7f1975476..0000000000 --- a/new-racket-web/sass/functions/_grid-calc.scss +++ /dev/null @@ -1,59 +0,0 @@ -// Calculate grid values -$gutter: percentage($gutter-in-px / $row-max-width); // 2.1276596 - -// Return single column width -@function oneCol($hybrid-grid: false) { - @if ($hybrid-grid == true){ - @return (100% - ($gutter * ($hybrid - 1))) / $hybrid; - } - @else{ - @return (100% - ($gutter * ($cols - 1))) / $cols; - } -} - -// Calculate Grid Column Widths -@function columns($num, $hybrid-grid: false){ - @if ($hybrid-grid == true) { - @return (oneCol(true) * $num) + ($gutter * ($num - 1)); - } - @else { - @return (oneCol() * $num) + ($gutter * ($num - 1)); // (One column * 'x') + (gutter * ('x' - 1)) = Column Width - } -} - - -// Calculate Push Class Margins -@function push_x($num, $first-child: false, $is-hybrid: false) { - @if $first-child and $is-hybrid { - @return (oneCol(true) * $num) + ($gutter * ($num - 1)) + $gutter; // Column width + gutter - } - @else if $first-child != true and $is_hybrid{ - @return (oneCol(true) * $num) + ($gutter * ($num - 1)) + ($gutter * 2); // Column width + (gutter * 2) - } - @else if $first-child and $is_hybrid != true{ - @return (oneCol() * $num) + ($gutter * ($num - 1)) + $gutter; - } - @else { - @return (oneCol() * $num) + ($gutter * ($num - 1)) + ($gutter * 2); // Column width + (gutter * 2) - } -} - -// Calculate Centered Class Margins -@function centered($num, $hybrid-grid: false) { - @if $hybrid-grid{ - @return 50% - ((($num * (oneCol(true))) + (($num - 1) * $gutter)) / 2); - } - @else{ - @return 50% - ((($num * (oneCol())) + (($num - 1) * $gutter)) / 2); - } -} - -// Create class names from column count integers -@function number-as-word($number){ - $w: "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", -"twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", -"twenty", "twenty-one", "twenty-two", "twenty-three", "twenty-four", "twenty-five", "twenty-six", "twenty-seven", -"twenty-eight", "twenty-nine", "thirty", "thirty-one", "thirty-two", "thirty-three", -"thirty-four", "thirty-five", "thirty-six"; - @return nth($w, $number); -} diff --git a/new-racket-web/sass/functions/_height-calc.scss b/new-racket-web/sass/functions/_height-calc.scss deleted file mode 100644 index 82d12daaf1..0000000000 --- a/new-racket-web/sass/functions/_height-calc.scss +++ /dev/null @@ -1,6 +0,0 @@ - -// Calculate the height of an object based on its scale - -@function height-calc($size) { - @return ms($ratio, $size) + 1; -} diff --git a/new-racket-web/sass/functions/_line-and-height.scss b/new-racket-web/sass/functions/_line-and-height.scss deleted file mode 100644 index b389580081..0000000000 --- a/new-racket-web/sass/functions/_line-and-height.scss +++ /dev/null @@ -1,7 +0,0 @@ - -// Make line-height equal to an element's height - -@mixin line-and-height($height) { - height: $height; - line-height: $height - 2; -} diff --git a/new-racket-web/sass/functions/_responsivity.scss b/new-racket-web/sass/functions/_responsivity.scss deleted file mode 100644 index 7aab35dfa9..0000000000 --- a/new-racket-web/sass/functions/_responsivity.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Responsive Mixins - -@mixin respond($media) { - @if $media == portrait-phones { - @media only screen and (max-width: $min-device-width) { @content; } - } - @else if $media == landscape-phones { - @media only screen and (min-width: breakpoint($min-device-width)) and (max-width: breakpoint($tablet-device-width)) { @content; } - } - @else if $media == all-phones { - @media only screen and (max-width: breakpoint($tablet-device-width)) { @content; } - } - @else if $media == portrait-tablets { - @media only screen and (max-width: $tablet-device-width) { @content; } - } - @else if $media == tablets { - @media only screen and (min-width: $tablet-device-width) and (max-width: $document-width - 1) { @content; } - } - @else if $media == desktop { - @media only screen and (min-width: $tablet-device-width) { @content; } - } - @else if $media == document-width { - @media only screen and (max-width: $document-width + 20) { @content; } - } - @else if $media == large-screens { - @media only screen and (min-width: $max-device-width) { @content; } - } - @else if $media == print { - @media print { @content; } - } - @else { - @media only screen and ($media) { @content; } - } -} diff --git a/new-racket-web/sass/functions/_semantic-grid.scss b/new-racket-web/sass/functions/_semantic-grid.scss deleted file mode 100644 index ae3f2f9d15..0000000000 --- a/new-racket-web/sass/functions/_semantic-grid.scss +++ /dev/null @@ -1,189 +0,0 @@ - - -// Gumby Semantic Grid Mixin // - - -// Mixin for rows - -@mixin row($nested: false) { - @if $nested == nested { - width: auto; - min-width: 0px; - max-width: none; - @extend %clearfix; - } - @else { - width: 100%; - max-width: $row-max-width; - min-width: $min-device-width; - margin: 0 auto; - @extend %clearfix; - } - > *:first-child { - margin-left: 0px; - } - @include respond(document-width) { - padding: 0 20px; - } - @include respond(all-phones) { - width: auto; - min-width: 0; - margin-left: 0; - margin-right: 0; - } -} - -// Mixin for rows that are nested within columns - -@mixin nestedRow() { - width: auto; - min-width: 0px; - max-width: none; - @extend %clearfix; -} - - -@mixin column($columns:$columns, $alignment: false, $behavior: false) { - @if $alignment == center { - @extend %columnconfig; - float: none; - margin-left: auto !important; - margin-right: auto !important; - width: columns($columns); - @include respond(all-phones) { - float: left; - margin-left: 0; - width: 100%; - } - } - @else if $behavior == collapse { - @extend %columnconfig; - @extend %collapse; - width: columns($columns); - @include respond(all-phones) { - float: left; - width: 100%; - } - } - @else { - @extend %columnconfig; - width: columns($columns); - @include respond(all-phones) { - float: left; - margin-left: 0; - width: 100%; - } - } -} - -@mixin hybrid($columns:$columns, $alignment: false, $behavior: false) { - @if $alignment == center { - @extend %columnconfig; - float: none; - margin-left: auto !important; - margin-right: auto !important; - width: columns($columns, true); - @include respond(all-phones) { - float: left; - margin-left: 0; - width: 100%; - } - } - @else if $behavior == collapse { - @extend %columnconfig; - @extend %collapse; - width: columns($columns, true); - @include respond(all-phones) { - float: left; - width: 100%; - } - } - @else { - @extend %columnconfig; - width: columns($columns, true); - @include respond(all-phones) { - float: left; - margin-left: 0; - width: 100%; - } - } -} - -@mixin push($columns, $hybrid-grid: false) { - @if $hybrid-grid == hybrid { - margin-left: push_x($columns, false, true); - &:first-child { - margin-left: push_x($columns, true, true); - } - @include respond(all-phones) { - margin-left: 0; - &:first-child { - margin-left: 0; - } - } - } - @else { - margin-left: push_x($columns); - &:first-child { - margin-left: push_x($columns, true); - } - @include respond(all-phones) { - margin-left: 0; - &:first-child { - margin-left: 0; - } - } - } -} - -@mixin pull($direction:false) { - @if $direction == left { - @extend %pull-left; - } - @elseif $direction == none { - @extend %pull-none; - } - @else { - @extend %pull-right; - } -} - - -// Placeholders for the Semantic Grid - -%container { - padding: 0px $gutter-in-px + px; - @include respond(all-phones) { - min-width: 0; - margin-left: 0; - margin-right: 0; - } -} - -// Clearfix placeholder -%clearfix { @include clearfix(); } - -// Clearfix placeholder for mobile -%mobilefix { @include mobilefix(); } - -// Row placeholders -%row { @include row(); } -%nestedrow { @include row(); } - -// Column Configuration placeholder -%columnconfig { - margin-left: $gutter; - float: $default-float; - min-height: 1px; - position: relative; - @include box-sizing(border-box); -} - -%pull-right { float: right; } -%pull-left { float: left; } -%pull-none { float: none; } - -// Collapse Gutters -%collapse { - margin-left: 0px; -} diff --git a/new-racket-web/sass/functions/_strip-units.scss b/new-racket-web/sass/functions/_strip-units.scss deleted file mode 100644 index e752edacd1..0000000000 --- a/new-racket-web/sass/functions/_strip-units.scss +++ /dev/null @@ -1,5 +0,0 @@ - -// Strip out units to do math functions. -@function strip-units($number) { - @return $number / ($number * 0 + 1); -} diff --git a/new-racket-web/sass/functions/_typography.scss b/new-racket-web/sass/functions/_typography.scss deleted file mode 100644 index 6b9eee4d7b..0000000000 --- a/new-racket-web/sass/functions/_typography.scss +++ /dev/null @@ -1,15 +0,0 @@ -// Typography mixins - -// Fonts in rems with px fallback - -@mixin font-size($size, $is-important: false) { - $size: if(unitless($size), $size, $size / 1px); - - @if $is-important { - font-size: $size + px !important; - font-size: ($size / strip-units($base-font-size)) + rem !important; - } @else { - font-size: $size + px; - font-size: ($size / strip-units($base-font-size)) + rem; - } -} diff --git a/new-racket-web/sass/functions/_visibility.scss b/new-racket-web/sass/functions/_visibility.scss deleted file mode 100644 index 1af60fa606..0000000000 --- a/new-racket-web/sass/functions/_visibility.scss +++ /dev/null @@ -1,17 +0,0 @@ -// Visibility Mixins - -// Mixin for hidden - -@mixin hidden($media) { - @include respond($media) { - display: none !important; - } -} - -// Mixin for visible - -@mixin visible($media) { - @include respond($media) { - display: inherit !important; - } -} diff --git a/new-racket-web/sass/gumby.scss b/new-racket-web/sass/gumby.scss deleted file mode 100644 index 625d633624..0000000000 --- a/new-racket-web/sass/gumby.scss +++ /dev/null @@ -1,37 +0,0 @@ -/** -* Gumby Framework -* --------------- -* -* Follow @gumbycss on twitter and spread the love. -* We worked super hard on making this awesome and released it to the web. -* All we ask is you leave this intact. #gumbyisawesome -* -* Gumby Framework -* http://gumbyframework.com -* -* Built with love by your friends @digitalsurgeons -* http://www.digitalsurgeons.com -* -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -*/ - -@charset "UTF-8"; - -@import "modular-scale"; - -@import "var/settings"; -@import "var/lists"; - -@import "compass"; -@import "compass/reset"; - -@import "functions/all"; - -@import "base"; -@import "fonts"; -@import "typography"; -@import "grid"; -@import "ui/all"; - -@import "custom"; \ No newline at end of file diff --git a/new-racket-web/sass/ui/_all.scss b/new-racket-web/sass/ui/_all.scss deleted file mode 100644 index b05ce34cbe..0000000000 --- a/new-racket-web/sass/ui/_all.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "navbar"; -@import "buttons"; -@import "icons"; -@import "forms"; -@import "labels"; -@import "tabs"; -@import "images"; -@import "video"; -@import "toggles"; -@import "tables"; diff --git a/new-racket-web/sass/ui/_buttons.scss b/new-racket-web/sass/ui/_buttons.scss deleted file mode 100644 index da5fc8a6e7..0000000000 --- a/new-racket-web/sass/ui/_buttons.scss +++ /dev/null @@ -1,151 +0,0 @@ -/* Buttons */ - -// Buttons -@import "../functions/buttons"; - -.btn, .skiplink { - display: inline-block; - width: auto; - background: $default-color; - -webkit-appearance: none; - font-family: $font-family; - font-weight: $button-font-weight; - padding: 0 !important; - text-align: center; - .pretty & { @extend .pretty.btn; } - .metro & { @extend .metro.btn; } - - > a, input, button { - display: block; - padding: 0 $default-button-padding; - color: $white; - height: 100%; - } - - input, button { - background: none; - border: none; - width: 100%; - font-size: 100%; - cursor: pointer; - font-weight: $type-font-weight; - @include appearance(none); - } - - &.xlarge { - @include button-size(xlarge); - } - &.large { - @include button-size(large); - } - &.medium { - @include button-size(medium); - a { - padding: 0 ms(1); - } - } - &.small { - @include button-size(small); - a { - padding: 0 ms(-1); - } - } - - &.oval { - @include border-radius(1000px); - } - - &.pill-left { - @include border-radius(500px 0 0 500px); - } - - &.pill-right { - @include border-radius(0 500px 500px 0); - } - - @each $shade in $ui-coloring { - &.#{nth($shade, 1)} { - background: nth($shade, 2); - border: 1px solid nth($shade, 2); - &:hover { - background: lighten(nth($shade, 2), 10%); - } - &:active { - background: darken(nth($shade, 2), 10%); - } - @if nth($shade, 1) == default { - color: darken(nth($shade, 2), 61.5%); - border: 1px solid nth($shade, 2); - &:hover { - border: 1px solid darken(nth($shade, 2), 5%); - } - a, input, button { - color: darken(nth($shade, 2), 61.5%); - } - } - @if nth($shade, 1) == warning { - color: darken(nth($shade, 2), 40%); - a, input, button { - color: darken(nth($shade, 2), 40%); - } - } - } - } - - @each $style in $styling { - &.#{nth($style, 1)} { - @include border-radius(nth($style, 2)); - &:hover { - @extend .btn.#{nth($style, 1)} - } - &:active { - @extend .btn.#{nth($style, 1)} - } - @if nth($style, 1) == metro { - &.rounded { - @include border-radius($button-radius); - } - } - @if nth($style, 1) == pretty { - &.squared { - @include border-radius($metro-radius); - } - } - } - } - - &.pretty { - @each $grade in $ui-coloring { - &.#{nth($grade, 1)} { - @include background-image(linear-gradient(lighten(nth($grade, 2), 20%), saturate(nth($grade, 2), 5%))); - @include box-shadow(inset 0 0 3px lighten(nth($grade, 2), 45%)); - border: 1px solid darken(nth($grade, 2), 15%); - &:hover { - @include background-image(linear-gradient(lighten(nth($grade, 3), 15%), saturate(nth($grade, 3), 5%))); - @include box-shadow(inset 0 0 3px lighten(nth($grade, 3), 40%)); - border: 1px solid darken(nth($grade, 3), 15%); - } - &:active { - @include background-image(linear-gradient(saturate(nth($grade, 2), 5%), lighten(nth($grade, 2), 20%))); - @include box-shadow(inset 0 0 3px lighten(nth($grade, 2), 50%)); - } - @if nth($grade, 1) == default { - a, input, button { - text-shadow: 0 1px 1px lighten(nth($grade, 2), 20%); - } - } - @elseif nth($grade, 1) == warning { - color: darken(nth($grade, 2), 40%); - a, input, button { - text-shadow: 0 1px 1px lighten(nth($grade, 2), 20%); - } - } - @else { - a, input, button { - text-shadow: 0 1px 1px darken(nth($grade, 2), 20%); - } - } - } - } - } -} diff --git a/new-racket-web/sass/ui/_forms.scss b/new-racket-web/sass/ui/_forms.scss deleted file mode 100644 index 79f822661e..0000000000 --- a/new-racket-web/sass/ui/_forms.scss +++ /dev/null @@ -1,383 +0,0 @@ -/* Form Styles */ - -@import "../functions/forms"; - - -form { - margin: 0 0 18px; - label { - display: block; - @include font-size($norm); - @include adjust-leading-to(1); - cursor: pointer; - margin-bottom: 9px; - &.inline { - display: inline-block; - padding-right: 20px; - } - } - dt { - margin: 0; - } - textarea { - height: 150px; - } - ul, ul li { - margin-left: 0; - list-style-type: none; - } - fieldset { - @include rhythm-borders(1px,1,$norm,solid); - border-color: darken($default-color, 10%); - margin: 18px 0; - legend { - padding: 5px 10px; - } - } -} - -.field { - position: relative; - max-width: 100%; - margin-bottom: 10px; - vertical-align: middle; - // Font-size 16px for weird form style error - font-size: 16px; - &.metro, .metro { - @include border-radius(0); - } - input, input[type="*"], textarea { - max-width: 100%; - width: 100%; - padding: 0; - margin: 0; - border: none; - outline: none; - resize: none; - -webkit-appearance: none; - font-family: $font-family; - font-weight: $font-weight-light; - @include font-size($norm); - @include box-shadow(none); - } - .radio, .checkbox { - position: relative; - } - .radio input[type="radio"], .checkbox input[type="checkbox"] { - display: none; - } - .input { - position: relative; - padding: 0 10px; - background: #fff; - border: 1px solid darken($default-color, 10%); - @include line-and-height(height-calc($norm)); - @include font-size($norm); - @include border-radius(4px); - &.search { - @include line-and-height(height-calc($norm)); - @include border-radius(1000px); - padding-right: 0; - } - } - .input.textarea { - height: auto; - } - - @each $width in $field-sizes { - .#{nth($width, 1)} { - @include input-size(#{nth($width, 1)}) - } - } - - @include input-sizes-list() { - margin:0; - &:last-child { - margin-left: -4px; - } - &:first-child { - margin-right: 3.94%; - margin-left: 0; - } - &:first-child:last-child { - margin: 0; - } - } - - label + { - @include input-sizes-list() { - &:last-child { - margin-left: 0; - } - } - } - - @include respond(document-width) { - - .xxwide:first-child, .xxwide:last-child { - margin-right: 0%; - } - - } - - /* remove inline-block white-space — A 0px font-size = 0px of white space */ - &.prepend, &.append { - font-size: 0; - white-space: nowrap; - padding-bottom: 3.5px; - } - - &.prepend input, - &.prepend .input, - &.append input, - &.append .input { - display: inline-block; - max-width: 100%; - } - - &.prepend input, - &.prepend .input { - @include border-radius(0px 4px 4px 0); - } - - &.append input, - &.append .input { - @include border-radius(4px 0 0 4px); - } - - &.prepend.append input { - @include border-radius(0); - } - - &.prepend.append input:first-child { - @include border-radius(4px 0 0 4px); - } - - &.prepend.append input:last-child { - margin-left: -1px; - @include border-radius(0px 4px 4px 0); - } - - &.prepend .adjoined, &.append .adjoined, &.prepend .btn, &.append .btn { - position: relative; - display: inline-block; - margin-bottom:0; - z-index: 99; - } - &.prepend .btn, &.append .btn { - a, input, button { - padding: 0 12px; - } - } - - &.prepend .adjoined, &.append .adjoined { - padding: 0 10px 0 10px; - background: $default-color; - border: 1px solid darken($default-color, 10%); - font-family: $font-family; - font-weight: $font-weight-semibold; - color: $body-font-color; - @include font-size($norm); - @include line-and-height(height-calc($norm)); - } - - &.prepend *:first-child { - @include border-radius(4px 0 0 4px); - } - - &.prepend input:first-child { - margin-right: 0; - } - - &.prepend .adjoined, &.prepend .btn { - margin-right: -1px; - } - - .adjoined:first-child { - margin-left: 0 !important; - } - - &.append .adjoined, &.append .btn { - margin-left: -1px; - } - - &.append *:last-child { - @include border-radius(0px 4px 4px 0); - } - - &.append button, &.prepend button { - display: inline-block; - } - - &.append input:first-child { - margin-right: 0; - } - - &.double input, &.double .input { - width: 50% !important; - &:last-child { - margin-left: -1px; - } - } - - @each $error in danger $danger-color, warning $warning-color, success $success-color { - &.#{nth($error, 1)} { - &:after { - @if($icons != ""){ - font-family: "#{$icons}"; - @if nth($error, 1) == danger { - content: "#{$entypo-icon-cancel-circled}"; - } - @if nth($error, 1) == warning { - content: "#{$entypo-icon-attention}"; - } - @if nth($error, 1) == success { - content: "#{$entypo-icon-check}"; - } - font-size: $norm; - position: absolute; - top: percentage((strip-units($base-font-size)) / 100) - 2; - right: 15px; - z-index: 999; - color: nth($error, 2); - } - } - - &.no-icon:after { - display: none; - } - - // does not allow :before & :after - // pseudo elements. Removing validation - // icons from those elements to avoid - // edge-case styling issues - &.append:after, &.prepend:after { - content: ""; - } - input, .input, textarea, .textarea, .radio span, .checkbox span, .picker { - border-color: nth($error, 2); - color: nth($error, 2); - background: lighten(nth($error, 2), 35%); - @include transition-duration(.2s); - } - - textarea { color: nth($error, 2); } - - input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { - color: nth($error, 2); - } - input:-moz-placeholder, textarea:-moz-placeholder { - color: nth($error, 2); - } - } - } - - .picker { - @each $error in danger $danger-color, warning $warning-color, success $success-color { - &.#{nth($error, 1)} { - border-color: nth($error, 2); - color: nth($error, 2); - background: lighten(nth($error, 2), 35%); - @include transition-duration(.2s); - select, &:after { color: nth($error, 2); } - } - } - } - - .radio, & .checkbox { - @each $error in danger $danger-color, warning $warning-color, success $success-color { - &.#{nth($error, 1)} { - color: nth($error, 2); - @if nth($error, 1) == success { - color: $body-font-color; - i { color: nth($error, 2); } - } - span { - border-color: nth($error, 2); - color: nth($error, 2); - background: lighten(nth($error, 2), 35%); - @include transition-duration(.2s); - } - } - } - } - - .radio span, & .checkbox span { - display: inline-block; - width: 16px; - height: 16px; - position: relative; - top: 2px; - border: solid 1px #ccc; - background: #fefefe; - } - .radio span { - @include border-radius(8px); - } - .checkbox span { - @include border-radius(3px); - } - .radio.checked i, .checkbox.checked i { - position: absolute; - top: -1px; - left: -8px; - line-height: 16px; - } -} - -.field .text input[type="search"] { - -webkit-appearance: textfield; -} - - -/* Form Picker Element ( - - - - - - -
    -
    -

    Typography

    -
    -

    -

    My Cool First Level Headline reaalllyyy long headline

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -

    My Cool Second Level Headline

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -

    My Cool Third Level Headline

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -

    My Cool Fourth Level Headline

    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -
    My Cool Fifth Level Headline
    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -
    My Cool Sixth Level Headline
    -

    This is my awesome paragraph text, it is the base style/size for paragraph text. We love 16px for body copy as it provides for a more consistent cross browser experience. It is also digitally equivalent to to 12pt standard set in print design. We also love the golden ratio, all of the type set here is based off of that deliciously elegant ratio. Enjoy!

    -
    -
    -

    Responsive text will expand to fill the available space

    -
    -
    -
    -

    ul.disc

    -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
        -
      • Nested item
      • -
      • Nested item
      • -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    -
    -
    -

    ul.circle

    -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
        -
      • Nested item
      • -
      • Nested item
      • -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    -
    -
    -

    ul.square

    -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
        -
      • Nested item
      • -
      • Nested item
      • -
      -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    • List item
    • -
    -
    -
    -
    -
    -

    ol

    -
      -
    1. List item
    2. -
    3. List item
    4. -
    5. List item
    6. -
        -
      • Nested item
      • -
      • Nested item
      • -
      -
    7. List item
    8. -
    9. List item
    10. -
    11. List item
    12. -
    13. List item
    14. -
    -
    -
    -

    Definition list

    -
    -
    Definition Term
    -
    Definition text, you can add as many of these as you need. The line-height matches paragraphs.
    -
    -
    -
    - -
    -
    -

    Buttons

    -
    - -
    -

    Metro Style

    - - - - - - - - - -
    -
    -
    -
    -

    Pretty Style

    - - - - - - - - - -
    -
    -
    -
    -
    -
    -

    Indicators

    -
    -
    -

    Badges

    -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
  • 2
  • -
    -
    -

    Labels

    -
  • Primary
  • -
  • Secondary
  • -
  • Default
  • -
  • Info
  • -
  • Important
  • -
  • Warning
  • -
  • Success
  • -
  • Light
  • -
  • Dark
  • -
    -
    -

    Alerts

    -
  • KHAAAAAAAAAAAAAAANNNN!!!!
  • -
  • We are the Silence. And Silence will fall!
  • -
  • Fez's are cool.
  • -
  • Don't blink. Blink and you're dead.
  • -
  • I’m sorry, Dave. I’m afraid I can’t do that.
  • -
  • My spidey sense is tingling...
  • -
  • Great Success! Very nice!
  • -
    -
    -
    -
    -

    Forms

    -
    -
    -

    Text Inputs

    -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -

    Conjoined Inputs

    -
    -
      -
    • - @ - -
    • -
    • - - @ -
    • -
    • - $ - - .00 -
    • -
    • - - -
    • -
    • - - -
    • -
    • - $ - - -
    • -
    • - - -
    • -
    -
    -
    -
    -

    Input Sizes

    -
    -
      -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    • - - -
    • -
    -
    - Fieldset with legend -
      -
    • - - -
    • -
    • - - -
    • -
    -
    -
    -
    -
    -
    -
    -

    Picker (<select>)

    -
    -
      -
    • -
      - -
      -
    • -
    -
    -
    -
    -

    Radio Buttons

    -
    -
      -
    • - - - -
    • -
    -
    -
    -
    -

    Check Boxes

    -
    -
      -
    • - - - -
    • -
    -
    -
    -
    -
    -
    -

    Tabs

    -
    -
    -
    -

    Basic Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio.

    - -
    -
    -
    -
    -
    -

    Pill Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    - -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    -
    -
    -
    -
    -
    -
    -
    -

    Vertical Tabs

    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -

    Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.

    - -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio.

    -
    -
    -
    -
    -
    -
    -

    Drawers

    -

    - Open Top Drawer -

    -

    - Toggle Bottom Drawers -

    -

    - Close All Drawers -

    -
    - -
    -
    - - -
    -
    -
    -

    Modals

    -

    Open Modal

    -
    -
    -

    Skip Links

    -
    -
    - - - -
    -
    -
    -
    -

    Images

    -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -

    Tiles

    -
    -
    -

    2-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -

    3-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -

    4-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -
    -

    5-up

    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    -
    -
    -
    -

    Intrinsic Ratio Video Embed

    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    Icon Map

    -

    All icons are (class="icon-*")

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - diff --git a/new-racket-web/web/all.rkt b/new-racket-web/web/all.rkt deleted file mode 100644 index 3f323c75dd..0000000000 --- a/new-racket-web/web/all.rkt +++ /dev/null @@ -1,6 +0,0 @@ -#lang meta/web - -(require "www/all.rkt" "download/all.rkt" "minis/all.rkt" "stubs/all.rkt") -(set-navbar! `((main . ,main) (download . ,download) (documentation . ,documentation)) - ;; pkgs should be here too, needs a stub - main help) diff --git a/new-racket-web/web/common/distribute.rkt b/new-racket-web/web/common/distribute.rkt deleted file mode 100644 index fdf2db3d17..0000000000 --- a/new-racket-web/web/common/distribute.rkt +++ /dev/null @@ -1,29 +0,0 @@ -#lang racket/base - -(require racket/system racket/list racket/promise) - -(define rsync-exe (lazy (or (find-executable-path "rsync") - (error 'distribute "couldn't find `rsync'")))) - -(define (rsync . args) - (unless (apply system* (force rsync-exe) args) - (error 'distribute "errors when running: rsync with ~s" args))) - -(define (flatten-path path) - (define m (regexp-match #rx"^(.*?)/\\*(/.*|$)$" path)) - (if m - (append-map - flatten-path - (sort (map (λ(p) (string-append - (cadr m) "/" (path-element->string p) (caddr m))) - (directory-list (cadr m))) - string');$input.prop("checked",true).end().addClass("checked").trigger("gumby.onCheck").trigger("gumby.onChange")}else{$input.prop("checked",false).end().find("i").remove().end().removeClass("checked").trigger("gumby.onUncheck").trigger("gumby.onChange")}};Gumby.addInitalisation("checkboxes",function(){$(".checkbox").each(function(){var $this=$(this);if($this.data("isCheckbox")){return true}$this.data("isCheckbox",true);new Checkbox($this)})});Gumby.UIModule({module:"checkbox",events:["onCheck","onUncheck","onChange","check","uncheck"],init:function(){Gumby.initialize("checkboxes")}})}();!function(){"use strict";function FitText($el){this.$el=$el;this.rate=Gumby.selectAttr.apply(this.$el,["rate"])||1;this.fontSizes=this.parseSizes(Gumby.selectAttr.apply(this.$el,["sizes"]));var scope=this;$(window).on("load resize orientationchange",function(){scope.resize()})}FitText.prototype.resize=function(){this.$el.css("font-size",this.calculateSize())};FitText.prototype.calculateSize=function(){return Math.max(Math.min(this.$el.width()/(this.rate*10),parseFloat(this.fontSizes.max)),parseFloat(this.fontSizes.min))};FitText.prototype.parseSizes=function(attrStr){var sizes={min:Number.NEGATIVE_INFINITY,max:Number.POSITIVE_INFINITY};if(!attrStr){return sizes}if(attrStr.indexOf("|")>-1){attrStr=attrStr.split("|");sizes.min=Number(attrStr[0])||sizes.min;sizes.max=Number(attrStr[1])||sizes.max}sizes.min=Number(attrStr)||sizes.min;return sizes};Gumby.addInitalisation("fittext",function(){$(".fittext").each(function(){var $this=$(this);if($this.data("isFittext")){return true}$this.data("isFittext",true);new FitText($this)})});Gumby.UIModule({module:"fittext",events:[],init:function(){Gumby.initialize("fittext")}})}();!function(){"use strict";function Fixed($el){this.$el=$el;this.$holder=Gumby.selectAttr.apply(this.$el,["holder"]);this.fixedPoint=Gumby.selectAttr.apply(this.$el,["fixed"]);this.unfixPoint=false;if(this.$holder){this.$holder=$(this.$holder)}else{this.$holder=$(window)}if(this.fixedPoint.indexOf("|")>-1){var points=this.fixedPoint.split("|");this.fixedPoint=points[0];this.unfixPoint=points[1]}this.fixedPoint=this.parseAttrValue(this.fixedPoint);if(this.unfixPoint){this.unfixPoint=this.parseAttrValue(this.unfixPoint)}var scope=this;this.$holder.scroll(function(){scope.scroll()})}Fixed.prototype.scroll=function(){var offset=this.$holder.scrollTop(),fixedPoint=this.fixedPoint,unfixPoint=this.unfixPoint,endPoint=this.endPoint;fixedPoint=fixedPoint instanceof jQuery?this.fixedPoint.offset().top:this.fixedPoint;unfixPoint=unfixPoint instanceof jQuery?this.unfixPoint.offset().top:this.unfixPoint;if(!unfixPoint){unfixPoint=offset*2}if(offset>=fixedPoint&&offset=unfixPoint&&this.$el.hasClass("fixed")){this.$el.removeClass("fixed").trigger("gumby.onUnfixed",1)}};Fixed.prototype.parseAttrValue=function(attr){if($.isNumeric(attr)){return Number(attr)}else if(attr==="top"){return this.$el.offset().top}else{var $el=$(attr);return $el.length?$el:false}};Gumby.addInitalisation("fixed",function(){$("[data-fixed],[gumby-fixed],[fixed]").each(function(){var $this=$(this);if($this.data("isFixed")){return true}$this.data("isFixed",true);new Fixed($this)})});Gumby.UIModule({module:"fixed",events:["onFixed","onUnfixed"],init:function(){Gumby.initialize("fixed")}})}();!function(){"use strict";if(!Modernizr.touch){return}function Navbar($el){this.$el=$el;var scope=this;this.$el.find("li").on(Gumby.click,function(e){var $this=$(this);e.stopPropagation();if(this.href==="#"){e.preventDefault()}scope.dropdown($this)})}Navbar.prototype.dropdown=function($this){if($this.children(".dropdown").length){if($this.hasClass("active")){$this.removeClass("active")}else{$this.addClass("active")}}else{this.$items.removeClass("active")}};Gumby.addInitalisation("navbars",function(){$(".navbar").each(function(){var $this=$(this);if($this.data("isNavbar")){return true}$this.data("isNavbar",true);new Navbar($this)})});Gumby.UIModule({module:"navbar",events:[],init:function(){Gumby.initialize("navbars")}})}();!function(){"use strict";function RadioBtn($el){this.$el=$el;var scope=this;this.$el.on(Gumby.click,function(e){scope.click(e)}).on("gumby.check",function(){scope.update()});if(scope.$el.hasClass("checked")){scope.update()}}RadioBtn.prototype.click=function(e){var $target=$(e.target);e.stopPropagation();e.preventDefault();this.update()};RadioBtn.prototype.update=function(){var $input=this.$el.find("input[type=radio]"),$span=this.$el.find("span"),group='input[name="'+$input.attr("name")+'"]';$(".radio").has(group).removeClass("checked").find("input").prop("checked",false).end().find("i").remove();$input.prop("checked",true);$span.append('');this.$el.addClass("checked").trigger("gumby.onChange")};Gumby.addInitalisation("radiobtns",function(){$(".radio").each(function(){var $this=$(this);if($this.data("isRadioBtn")){return true}$this.data("isRadioBtn",true);new RadioBtn($this)})});Gumby.UIModule({module:"radiobtn",events:["onChange","check"],init:function(){Gumby.initialize("radiobtns")}})}();!function(){"use strict";function Retina($el){this.$el=$el;this.imageSrc=this.$el.attr("src");this.retinaSrc=this.fetchRetinaImage();this.$retinaImg=$(new Image);var scope=this;if(!this.retinaSrc){return false}this.$retinaImg.attr("src",this.retinaSrc).load(function(){scope.retinaImageLoaded()})}Retina.prototype.fetchRetinaImage=function(){var imgSrc=this.imageSrc,index=this.imageSrc.search(/(\.|\/)(gif|jpe?g|png)$/i);if(index<0){return false}return imgSrc.substr(0,index)+"@2x"+imgSrc.substr(index,imgSrc.length)};Retina.prototype.retinaImageLoaded=function(){this.$el.attr("src",this.$retinaImg.attr("src")).trigger("gumby.onRetina")};Gumby.addInitalisation("retina",function(){if(!window.devicePixelRatio||window.devicePixelRatio<=1){return}$("img[data-retina],img[gumby-retina],img[retina]").each(function(){var $this=$(this);if($this.data("isRetina")){return true}$this.data("isRetina",true);new Retina($this)})});Gumby.UIModule({module:"retina",events:["onRetina"],init:function(){Gumby.initialize("retina")}})}();!function(){"use strict";function SkipLink($el){this.$el=$el;this.targetPos=0;this.duration=Number(Gumby.selectAttr.apply(this.$el,["duration"]))||200;this.offset=Gumby.selectAttr.apply(this.$el,["offset"])||false;this.easing=Gumby.selectAttr.apply(this.$el,["easing"])||"swing";var scope=this;this.$el.on(Gumby.click+" gumby.skip",function(e){e.preventDefault();scope.calculateTarget()})}SkipLink.prototype.calculateTarget=function(){var scope=this,target=Gumby.selectAttr.apply(this.$el,["goto"]),$target;if(target=="top"){this.targetPos=0}else if($.isNumeric(target)){this.targetPos=Number(target)}else{$target=$(target);if(!$target){return false}this.targetPos=$target.offset().top}this.skipTo()};SkipLink.prototype.skipTo=function(){var scope=this;$("html,body").animate({scrollTop:this.calculateOffset()},this.duration,this.easing).promise().done(function(){scope.$el.trigger("gumby.onComplete")})};SkipLink.prototype.calculateOffset=function(){if(!this.offset){return this.targetPos}var op=this.offset.substr(0,1),off=Number(this.offset.substr(1,this.offset.length));if(op==="-"){return this.targetPos-off}else if(op==="+"){return this.targetPos+off}};Gumby.addInitalisation("skiplinks",function(){$(".skiplink > a, .skip").each(function(){var $this=$(this);if($this.data("isSkipLink")){return true}$this.data("isSkipLink",true);new SkipLink($this)})});Gumby.UIModule({module:"skiplink",events:["onComplete","skip"],init:function(){Gumby.initialize("skiplinks")}})}();!function(){"use strict";function Tabs($el){this.$el=$el;this.$nav=this.$el.find("ul.tab-nav > li");this.$content=this.$el.find(".tab-content");var scope=this;this.$nav.children("a").on(Gumby.click,function(e){e.preventDefault();scope.click($(this))});this.$el.on("gumby.set",function(e,index){scope.set(e,index)})}Tabs.prototype.click=function($this){var index=$this.parent().index();this.$nav.add(this.$content).removeClass("active");this.$nav.eq(index).add(this.$content.eq(index)).addClass("active");this.$el.trigger("gumby.onChange",index)};Tabs.prototype.set=function(e,index){this.$nav.eq(index).find("a").trigger(Gumby.click)};Gumby.addInitalisation("tabs",function(){$(".tabs").each(function(){var $this=$(this);if($this.data("isTabs")){return true}$this.data("isTabs",true);new Tabs($this)})});Gumby.UIModule({module:"tabs",events:["onChange","set"],init:function(){Gumby.initialize("tabs")}})}();!function(){"use strict";function Toggle($el){this.$el=$($el);this.targets=[];this.on="";if(this.$el.length){this.init()}}function Switch($el){this.$el=$($el);this.targets=[];this.on="";if(this.$el.length){this.init()}}Toggle.prototype.init=function(){this.targets=this.parseTargets();this.on=Gumby.selectAttr.apply(this.$el,["on"])||Gumby.click;var scope=this;this.$el.on(this.on,function(e){if($(this).prop("tagName")==="A"){e.preventDefault()}e.stopPropagation();scope.trigger(scope.triggered)}).on("gumby.trigger",function(){scope.trigger(scope.triggered)})};Toggle.prototype.parseTargets=function(){var targetStr=Gumby.selectAttr.apply(this.$el,["trigger"]),secondaryTargets=0,targets=[];if(!targetStr){return false}secondaryTargets=targetStr.indexOf("|");if(secondaryTargets===-1){return[$(targetStr)]}targets=targetStr.split("|");return targets.length>1?[$(targets[0]),$(targets[1])]:[$(targets[0])]};Toggle.prototype.triggered=function(){this.$el.trigger("gumby.onTrigger",[this.$el.hasClass("active")])};Switch.prototype=new Toggle;Toggle.prototype.trigger=function(cb){if(!this.targets){this.$el.toggleClass("active")}else if(this.targets.length==1){this.$el.add(this.targets[0]).toggleClass("active")}else if(this.targets.length>1){if(this.targets[0].hasClass("active")){this.$el.add(this.targets[0]).removeClass("active");this.targets[1].addClass("active")}else{this.targets[1].removeClass("active");this.$el.add(this.targets[0]).addClass("active")}}if(cb&&typeof cb==="function"){cb.apply(this)}};Switch.prototype.trigger=function(cb){if(!this.targets){this.$el.addClass("active")}else if(this.targets.length==1){this.$el.add(this.targets[0]).addClass("active")}else if(this.targets.length>1){this.$el.add(this.targets[0]).addClass("active");this.targets[1].removeClass("active")}if(cb&&typeof cb==="function"){cb.apply(this)}};Gumby.addInitalisation("toggles",function(){$(".toggle").each(function(){var $this=$(this);if($this.data("isToggle")){return true}$this.data("isToggle",true);new Toggle($this)})});Gumby.addInitalisation("switches",function(){$(".switch").each(function(){var $this=$(this);if($this.data("isSwitch")){return true}$this.data("isSwitch",true);new Switch($this)})});Gumby.UIModule({module:"toggleswitch",events:["trigger","onTrigger"],init:function(){Gumby.initialize("switches");Gumby.initialize("toggles")}})}();!function($){"use strict";function Validation($this,req){this.$this=$this;this.$field=this.$this.parents(".field");this.req=req||function(){return!!this.$this.val().length};var scope=this;if(this.$this.is("[type=checkbox], [type=radio]")){this.$field=this.$this.parent("label");this.$field.on("gumby.onChange",function(){scope.validate()})}else if(this.$this.is("select")){this.$field=this.$this.parents(".picker");this.$field.on("change",function(){scope.validate()})}else{this.$this.on("blur",function(e){if(e.which!==9){scope.validate()}})}}Validation.prototype.validate=function(){var result=this.req(this.$this);if(!result){this.$field.removeClass("success").addClass("danger")}else{this.$field.removeClass("danger").addClass("success")}return result};$.fn.validation=function(options){var settings=$.extend({submit:false,fail:false,required:[]},options),validations=[];return this.each(function(){if(!settings.required.length){return false}var $this=$(this),reqLength=settings.required.length,i;for(i=0;i)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
    ",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("