wayfarer 0.4.8 → 0.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/release.yaml +0 -2
- data/Gemfile.lock +1 -1
- data/docs/guides/development.md +18 -26
- data/docs/guides/networking/custom_adapters.md +93 -86
- data/docs/guides/networking/http.md +1 -1
- data/docs/guides/routing.md +1 -1
- data/docs/guides/tutorial.md +1 -2
- data/lib/wayfarer/cli.rb +16 -0
- data/lib/wayfarer/logging.rb +3 -4
- data/lib/wayfarer/middleware/base.rb +0 -4
- data/lib/wayfarer/middleware/controller.rb +1 -1
- data/lib/wayfarer/networking/context.rb +1 -1
- data/lib/wayfarer/networking/ferrum.rb +1 -1
- data/lib/wayfarer/networking/pool.rb +3 -9
- data/lib/wayfarer/networking/strategy.rb +6 -2
- data/lib/wayfarer/parsing.rb +1 -1
- data/lib/wayfarer.rb +9 -4
- data/rake/release.rake +0 -6
- data/spec/spec_helpers.rb +1 -1
- data/spec/wayfarer/integration/page_spec.rb +9 -9
- data/spec/wayfarer/integration/parsing_spec.rb +3 -2
- data/spec/wayfarer/integration/stage_spec.rb +3 -3
- data/spec/wayfarer/middleware/controller_spec.rb +3 -4
- data/spec/wayfarer/networking/context_spec.rb +3 -2
- data/spec/wayfarer/networking/pool_spec.rb +1 -1
- data/spec/wayfarer/networking/strategy.rb +2 -2
- data/wayfarer.gemspec +1 -1
- metadata +1 -1172
- data/lib/wayfarer/middleware/lazy.rb +0 -11
- data/spec/support/static/git-scm.com/assets/application-38b0d42ff05ffea45841edebbd14b75b89585646153808e82907c2c5c11f324b.js +0 -772
- data/spec/support/static/git-scm.com/assets/application-cafcf280f67db0e6d8168ba98a38da878769a9d5f37793b68ffb963a02d185e0.css +0 -1
- data/spec/support/static/git-scm.com/assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js +0 -20
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash.html +0 -751
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-PowerShell.html +0 -804
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Sublime-Text.html +0 -728
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio-Code.html +0 -751
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio.html +0 -740
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh.html +0 -765
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html +0 -931
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Summary.html +0 -702
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html +0 -720
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Dulwich.html +0 -746
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-JGit.html +0 -889
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2.html +0 -1003
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-go-git.html +0 -792
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Administration.html +0 -745
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Basic-Snapshotting.html +0 -840
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging.html +0 -829
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Debugging.html +0 -731
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Email.html +0 -766
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-External-Systems.html +0 -721
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Getting-and-Creating-Projects.html +0 -746
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison.html +0 -735
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Patching.html +0 -742
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Plumbing-Commands.html +0 -715
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Setup-and-Config.html +0 -863
- data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Sharing-and-Updating-Projects.html +0 -802
- data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy.html +0 -1200
- data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Attributes.html +0 -1134
- data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Configuration.html +0 -1315
- data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Hooks.html +0 -876
- data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Summary.html +0 -704
- data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows.html +0 -859
- data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Summary.html +0 -704
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git.html +0 -735
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-About-Version-Control.html +0 -783
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup.html +0 -889
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Getting-Help.html +0 -750
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Installing-Git.html +0 -879
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Summary.html +0 -704
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-The-Command-Line.html +0 -711
- data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-What-is-Git?.html +0 -857
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository.html +0 -816
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Git-Aliases.html +0 -775
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Summary.html +0 -703
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Tagging.html +0 -1049
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Undoing-Things.html +0 -998
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History.html +0 -1172
- data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.html +0 -1102
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branch-Management.html +0 -946
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branching-Workflows.html +0 -786
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Rebasing.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Remote-Branches.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Summary.html +0 -705
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Environment-Variables.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-Objects.html +0 -1209
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-References.html +0 -939
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery.html +0 -1086
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Packfiles.html +0 -876
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain.html +0 -745
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Summary.html +0 -708
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-The-Refspec.html +0 -872
- data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols.html +0 -1043
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Advanced-Merging.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Bundling.html +0 -888
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Credential-Storage.html +0 -1035
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git.html +0 -861
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Interactive-Staging.html +0 -920
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Replace.html +0 -949
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rerere.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Reset-Demystified.html +0 -1236
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Revision-Selection.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Searching.html +0 -875
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work.html +0 -922
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning.html +0 -1039
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Submodules.html +0 -1864
- data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Summary.html +0 -705
- data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Git-as-a-Client.html +0 -2656
- data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git.html +0 -1741
- data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Summary.html +0 -703
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key.html +0 -759
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server.html +0 -827
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon.html +0 -775
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitLab.html +0 -872
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitWeb.html +0 -776
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server.html +0 -870
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP.html +0 -789
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Summary.html +0 -709
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols.html +0 -963
- data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Third-Party-Hosted-Options.html +0 -711
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration.html +0 -858
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Maintaining-a-Project.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Managing-an-organization.html +0 -797
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Scripting-GitHub.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/GitHub-Summary.html +0 -704
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_abort_merge.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_add_email_addresses.html +0 -858
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_advanced_merging.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_an_example_git_enforced_policy.html +0 -1200
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_annotated_tags.html +0 -1049
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_api_comment.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_bare_repo.html +0 -827
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_branching.html +0 -1102
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merge_conflicts.html +0 -1102
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merging.html +0 -1102
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_binary_search.html +0 -861
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_management.html +0 -946
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_references.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_build_number.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_bundling.html +0 -888
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_changing_multiple.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_conflicts.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_remotes.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_status.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_cloning_submodules.html +0 -1864
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_guidelines.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_ranges.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_status.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_committing_changes.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_contrib_file.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_contributing_project.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_create_new_branch.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_credential_caching.html +0 -1035
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_custom_importer.html +0 -1741
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_data_recovery.html +0 -1086
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_delete_branches.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_editor.html +0 -889
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_eg_task_lists.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_hooks.html +0 -876
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notification.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notifications.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_pr.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_enforcing_commit_message_format.html +0 -1200
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_example_markdown.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_external_merge_tools.html +0 -1315
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetch_and_push_on_different_repositories.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetching_and_pulling.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_file_annotation.html +0 -861
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_first_time.html +0 -889
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_generate_ssh_key.html +0 -759
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_a_repo.html +0 -816
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_git_on_a_server.html +0 -827
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_aliases.html +0 -775
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_am.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_amend.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_branches_overview.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_clean.html +0 -1039
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_cloning.html +0 -816
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_commit_objects.html +0 -1209
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_config.html +0 -1315
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_diff_staged.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_gc.html +0 -1086
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_grep.html +0 -875
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_help.html +0 -750
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_hooks.html +0 -876
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_mv.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4.html +0 -1741
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4_branches.html +0 -2656
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reflog.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_refs.html +0 -939
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reset.html +0 -1236
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_stashing.html +0 -1039
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_submodules.html +0 -1864
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_svn.html +0 -2656
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_tagging.html +0 -1049
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_gitlab_groups_section.html +0 -872
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_ignoring.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_inspecting_remote.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_integration_manager.html +0 -859
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_interactive_staging.html +0 -920
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_keyword_expansion.html +0 -1134
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_libgit2_bindings.html +0 -1003
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_manual_remerge.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_code.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_drag.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_emoji.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_quote.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_button.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_log.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_rebase_work.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_new_repo_dropdown.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_not_center.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_org_page.html +0 -797
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_other_client_hooks.html +0 -876
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_p4_git_fusion.html +0 -2656
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_patches_from_email.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_personal_avatar.html +0 -858
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_plumbing_porcelain.html +0 -745
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_closed.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_discussion.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_fail.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_final.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references_render.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_refs.html +0 -1218
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pre_merge_rebase_work.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_preparing_release.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_private_team.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_project_over_email.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_public_project.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_publishing_submodules.html +0 -1864
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_branches.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_refspecs.html +0 -872
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_remotes.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_cherry_pick.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_peril.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase_work.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebasing.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_refspec.html +0 -872
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_branches.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_repos.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_file_every_commit.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_files.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_objects.html +0 -1086
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_replace.html +0 -949
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_reverse_commit.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_revision_selection.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_rewriting_history.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_searching.html +0 -875
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_service_config.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_services_hooks.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_setting_up_server.html +0 -870
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_sharing_tags.html +0 -1049
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing.html +0 -922
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing_commits.html +0 -922
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_squashing.html +0 -1182
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_starting_submodules.html +0 -1864
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_subtree_merge.html +0 -1605
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_switching_branches.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_tagging_releases.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_task_list_progress.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_team_page.html +0 -797
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_index.html +0 -1236
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_shortlog.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_topic_branch.html +0 -786
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_branches.html +0 -1009
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_files.html +0 -1432
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_tree_objects.html +0 -1209
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_triple_dot.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_undoing.html +0 -998
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_unstaging.html +0 -998
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_viewing_history.html +0 -1172
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_web_hook.html +0 -1059
- data/spec/support/static/git-scm.com/book/en/v2/ch00/_what_is_introduced.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch01-getting-started.html +0 -783
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch02-git-basics-chapter.html +0 -816
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch03-git-branching.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch05-distributed-git.html +0 -859
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github.html +0 -858
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github_flow.html +0 -1502
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch10-git-internals.html +0 -745
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ch_core_editor.html +0 -863
- data/spec/support/static/git-scm.com/book/en/v2/ch00/divergent_history.html +0 -1020
- data/spec/support/static/git-scm.com/book/en/v2/ch00/double_dot.html +0 -1178
- data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_a.html +0 -1134
- data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_b.html +0 -1134
- data/spec/support/static/git-scm.com/book/en/v2/ch00/limit_options.html +0 -1172
- data/spec/support/static/git-scm.com/book/en/v2/ch00/log_options.html +0 -1172
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_a.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_b.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_c.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_d.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_e.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_f.html +0 -1354
- data/spec/support/static/git-scm.com/book/en/v2/ch00/oh_my_zsh_git.html +0 -765
- data/spec/support/static/git-scm.com/book/en/v2/ch00/pretty_format.html +0 -1172
- data/spec/support/static/git-scm.com/book/en/v2/ch00/psp_b.html +0 -1667
- data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_e.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_g.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_h.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_i.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/rebasing-merging-example.html +0 -1028
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_rerere.html +0 -983
- data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_the_ref.html +0 -939
- data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_b.html +0 -859
- data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_c.html +0 -859
- data/spec/support/static/git-scm.com/book/en/v2/ch00/what_is_git_section.html +0 -857
- data/spec/support/static/git-scm.com/book/en/v2/images/2fa-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/account-settings.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/advance-master.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/advance-testing.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/areas.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/avatar-crop.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-6.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/benevolent-dictator.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-01-start.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-02-pr.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-03-pull-request-open.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-email.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-pr-comment.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-05-general-comment.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/blink-06-final.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/branch-and-history.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_mac.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_win.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/centralized.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/centralized_workflow.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/checkout-master.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/clean.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/collaborators.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/commit-and-tree.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/commits-and-parents.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/data-model-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/data-model-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/data-model-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/data-model-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/deltas.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/distributed.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/double-dot.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/email-settings.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/forkbutton.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-bash.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-diff-check.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-boot.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-perforce-graph.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-gui.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-instaweb.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/git-osx-installer.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/github_mac.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/github_win.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/gitk.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-groups.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-menu.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-users.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/head-to-master.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/head-to-testing.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/integration-manager.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/jb.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/lifecycle.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/local.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-01-email.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-02-merge.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-03-email-resp.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-04-target.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-05-mentions.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-06-unsubscribe.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-07-notifications.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-08-notifications-page.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-09-contrib.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-10-default-branch.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/maint-11-transfer.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-flow.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-01-example.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-02-tasks.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-03-task-summary.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-04-fenced-code.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-05-quote.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-06-emoji-complete.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-07-emoji.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/markdown-08-drag-drop.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/mentions-01-syntax.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/mentions-02-render.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/mentions-03-closed.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/new-repo.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/neworg.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/newrepo.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/newrepoform.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/orgs-01-page.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/orgs-02-teams.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/orgs-03-audit.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/p4merge.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/posh-git.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/pr-01-fail.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/pr-02-merge-fix.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/public-small-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/public-small-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/public-small-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/replace1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/replace2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/replace3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/replace4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/replace5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reposettingslink.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/rerere1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/rerere2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/rerere3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-checkout.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex6.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-hard.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-mixed.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-path1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-path2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-path3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-soft.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-start.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/reset-workflow.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-01-services.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-02-email-service.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-03-webhook.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-04-webhook-debug.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-05-access-token.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-06-comment.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/scripting-07-status.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/signup.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-4.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-5.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-6.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-7.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/small-team-flow.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/smudge.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/snapshots.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/ssh-keys.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-1.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/two-branches.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-reset.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert2.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert3.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-start.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/your-profile.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/zsh-oh-my.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2/images/zsh-prompt.png +0 -0
- data/spec/support/static/git-scm.com/book/en/v2.html +0 -688
- data/spec/support/static/git-scm.com/favicon.ico +0 -0
- data/spec/support/static/git-scm.com/images/bg/body.jpg +0 -0
- data/spec/support/static/git-scm.com/images/bg/isometric-grid.png +0 -0
- data/spec/support/static/git-scm.com/images/bg/isometric-grid@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/bg/search-header.jpg +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/android.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/android@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/eclipse.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/eclipse@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/facebook.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/facebook@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/gnome.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/gnome@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/google.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/google@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/kde.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/kde@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/linked-in.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/linked-in@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/linux.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/linux@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/microsoft.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/microsoft@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/netflix.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/netflix@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/perl.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/perl@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/postgresql.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/postgresql@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/qt.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/qt@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/rails.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/rails@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/twitter.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/twitter@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/x.png +0 -0
- data/spec/support/static/git-scm.com/images/company-project-logos/x@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/epub.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/admin-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/admin-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/apple.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/apple@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/book.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/book@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/box.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/box@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/branch-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/branch-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/camera-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/camera-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/chevron-up@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/code.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/code@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/debugging-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/debugging-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/document.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/document@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/download.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/email-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/email-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/external-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/external-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/gui.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/gui@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/info.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/info@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/inspection-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/inspection-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/linux.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/linux@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/nav-circles.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/nav-circles@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/patching-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/patching-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/plumbing-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/plumbing-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/projects-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/projects-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/search.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/search@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/server-admin-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/server-admin-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/setup-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/setup-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/sharing-sm.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/sharing-sm@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/sidebar.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/sidebar@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/source-code.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/source-code@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/windows.png +0 -0
- data/spec/support/static/git-scm.com/images/icons/windows@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/logo@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/mobi.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-default.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-default@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-linux.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-linux@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-mac.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-mac@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-windows.png +0 -0
- data/spec/support/static/git-scm.com/images/monitor-windows@2x.png +0 -0
- data/spec/support/static/git-scm.com/images/pdf.png +0 -0
- data/spec/support/static/git-scm.com/images/progit2.png +0 -0
- data/spec/support/static/git-scm.com/images/sidebar-divider.png +0 -0
- data/spec/support/static/git-scm.com/images/sidebar-divider@2x.png +0 -0
- data/spec/support/static/git-scm.com/robots.txt +0 -0
- data/spec/support/static/graph/details/a.html +0 -10
- data/spec/support/static/graph/details/b.html +0 -10
- data/spec/support/static/graph/index.html +0 -20
- data/spec/support/static/links/links.html +0 -28
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main #logo-license,#main .bottom-nav{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main #logo-license p,#main .bottom-nav p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}p{margin:0 0 11px;font-size:14px;line-height:22px}p small{font-size:12px;color:#9a9994}a{color:#0388a6;text-decoration:none;transition-duration:0.3s;transition-property:color}h1,h2,h3,h4,h5,h6{margin:0;font-weight:normal;color:#4e443c;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#9a9994}h1{margin-bottom:0.4em;font-size:36px;line-height:44px}h1 small{font-size:18px}h2{margin-top:20px;font-size:18px;font-weight:bold;line-height:44px;color:#f14e32}h2 small{font-size:18px}.callout h2:first-child,#book-container h2:first-child,.bottom-nav h2:first-child,#logo-license h2:first-child{margin-top:0}h3{line-height:33px;font-size:16px;font-weight:bold}h3 small{font-size:14px}h4,h5,h6{line-height:22px}h4{font-size:14px;font-weight:bold}h4 small{font-size:12px}aside h4{margin-bottom:1em;color:#9a9994;line-height:1.4}h5{font-size:12px}h6{font-size:11px;color:#9a9994;text-transform:uppercase}ul,ol{padding:0;margin:0 0 11px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}ul{list-style:disc}ol{list-style:decimal}li{line-height:22px}ul.unstyled,ul.stackoverflow,ul.content-list,ul.books-list,ul.video-thumbnails,ul.gui-thumbnails,#companies-projects ul,#front-nav ul,#search-results table ul,ul#download-next-steps,ul.section-nav-container,ul#book-chapters,ul#reference-version,ol.unstyled,ol#about-nav,ol.content-list,ol.book-toc,ol.reference-previous-versions,ol.full-search-results,ol#download-next-steps,ol.section-nav-container,ol#book-chapters,ol#reference-version{margin-left:0;list-style:none}ul.bullets li{padding-bottom:10px}dl{margin-bottom:22px}dt,dd{line-height:22px}dt{font-weight:bold;line-height:21px}dd{margin-left:11px}.dl-horizontal dt{float:left;width:120px;clear:left;text-align:right}.dl-horizontal dd{margin-left:130px}hr{margin:22px 0;border:0;border-top:1px solid #d8d7cf}strong{font-weight:bold}em{font-style:italic}.muted{color:#9a9994}abbr[title]{border-bottom:1px dotted #ddd;cursor:help}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 22px;border-left:5px solid #d8d7cf}blockquote p{margin-bottom:0}blockquote small{display:block;line-height:22px;color:#9a9994}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #d8d7cf;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}code,#documentation #main p tt{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;padding:10px 15px 13px;margin-bottom:1em;overflow:auto;font-family:Courier, monospace;line-height:18px;color:#f14e32;background-color:#fff;border:solid 1px #efeee6}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:22px;font-style:normal;line-height:22px}table th{font-weight:bold}table.data{margin-bottom:24px}table.data th,table.data td{padding:2px 0;border-bottom:solid 1px #efeeeb}table td.sweet{font-weight:bold;color:#25b028}table td.compare{font-weight:bold;color:#f14e32}.light{color:#9a9994}small{font-size:100%}cite{font-style:normal}a.subtle-button{display:inline-block;padding:3px 20px;font-size:12px;text-align:center;background-image:linear-gradient(#f1f1e9, #eae9e1);border-top:solid 1px #dedcd4;border-right:solid 1px #dedcd4;border-bottom:solid 1px #cdcbc4;border-left:solid 1px #dedcd4;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 #f1f1e9;-moz-box-shadow:0 1px 0 #f1f1e9;box-shadow:0 1px 0 #f1f1e9;transition-duration:0.3s;transition-property:background-image}a.subtle-button:hover{color:#0388a6;background-image:linear-gradient(#edede3, #e6e5db)}a.subtle-button.selected{background-image:linear-gradient(#d7d7c1, #cbc9b4)}a#gui-os-filter{display:none;margin-top:15px}a#gui-os-filter.visible{display:inline-block}div.more{display:none}.highlight{background-color:#eee0b5;padding:2px}.fixed{font-family:Courier, monospace}.text-center{text-align:center}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}#more-downloads.callout .column-left{width:47%}#more-downloads.callout .column-right{width:45%}#more-downloads.callout p{padding-bottom:1em;line-height:1.4}#download-next-steps{padding-top:24px}#download-next-steps:before{display:table;content:""}#download-next-steps:after{display:table;clear:both;content:""}#download-next-steps li{display:block;float:left;width:200px;margin-bottom:20px}#download-next-steps li+li{margin-left:20px}#download-next-steps a{display:block;color:#4e443c;text-align:center;background-repeat:no-repeat;background-position:0 0;transition-duration:0.3s;transition-property:color}#download-next-steps a img{display:block;margin:0 auto 10px;opacity:0.9;transition-duration:0.3s;transition-property:opacity;image-rendering:-webkit-optimize-contrast}#download-next-steps a h3{font-size:18px;font-weight:bold;color:#f14e32}#download-next-steps a p{font-size:13px;line-height:17.6px}#download-next-steps a:hover img{opacity:1}#download-next-steps a:hover h3{color:#ef391a}#os-filter-count{position:relative;top:8px;left:12px;display:none;color:#f14e32}.downloading .hide{display:none}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column #download-next-steps a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}#search-results{position:absolute;top:2px;right:-8px;z-index:900;display:none;width:384px;background:#398a94 url("../images/bg/search-header.jpg") 0 1px repeat-x;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 7px rgba(0,0,0,0.25);-moz-box-shadow:0 0 7px rgba(0,0,0,0.25);box-shadow:0 0 7px rgba(0,0,0,0.25);border-bottom:solid 1px #d8d7cf}#search-results header{height:44px;padding:0;margin:0;text-indent:-9999px;border:solid 1px #366769;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px}#search-results table{width:100%;line-height:1;background-color:#fff;-webkit-border-bottom-right-radius:3px;-moz-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-bottom-left-radius:3px;border-bottom-left-radius:3px}#search-results table td{border-top:solid 1px #cfddde}#search-results table td.category{width:67px;padding:10px 12px 0 0;font-size:11px;color:#009099;text-align:right;vertical-align:top;background-color:#f5fbfb;border-right:solid 1px #cfddde;opacity:0.75}#search-results table td.matches{padding:0 !important;font-size:12px;font-weight:bold}#search-results table td.matches a{display:block;padding:5px 12px;margin-bottom:0;color:#4e443c;transition-duration:0s}#search-results table td.matches a:hover,#search-results table td.matches a.highlight{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.25);background:#55bec4;background-image:linear-gradient(#55bec4, #54b2b7)}#search-results table td.matches a:hover span,#search-results table td.matches a.highlight span{color:#fff}#search-results table ul{margin-bottom:0}#search-results table tr.show-all td{border-top:none}ol.full-search-results li{margin-bottom:2em}ol.full-search-results li:last-child{margin-bottom:0}ol.full-search-results h3{line-height:1.4;padding-bottom:0;margin-bottom:0}ol.full-search-results span.relevancy{float:right;padding-left:5px;margin-left:30px}ol.full-search-results span.relevancy img{position:relative;top:-2px}ol.full-search-results a.url{display:block;margin-bottom:0.4em;font-size:12px;color:#9a9994}ol.full-search-results a.url:hover{color:#5a5955}.callout.top-matches,#book-container.top-matches,.top-matches.bottom-nav,#logo-license.top-matches{padding-top:1em !important;margin-bottom:2em !important}@media (max-width: 940px){#search-results{transform:translateX(-50%);left:50%;top:unset;width:98%}}@media (max-width: 640px){#search-results{margin-top:4px}}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}#front-content{overflow:visible}#front-content:before{display:table;content:""}#front-content:after{display:table;clear:both;content:""}#front-content #front-navigation{float:left;width:618px;margin-bottom:24px;border-right:solid 1px #d8d7cf}#front-nav:before{display:table;content:""}#front-nav:after{display:table;clear:both;content:""}#front-nav ul{padding-top:24px}#front-nav ul li{display:block;float:left;width:280px;margin-bottom:20px}#front-nav ul li#nav-about,#front-nav ul li#nav-downloads{margin-right:30px}#front-nav ul li#nav-about,#front-nav ul li#nav-documentation{margin-bottom:40px}#front-nav a{display:block;height:86px;padding-left:90px;color:#4e443c;background-repeat:no-repeat;background-position:0 0;transition-duration:0.3s;transition-property:color}#front-nav a img{float:left;margin-right:-90px;margin-left:-90px;opacity:0.9;transition-duration:0.3s;transition-property:opacity}#front-nav a h3{font-size:18px;font-weight:bold;color:#f14e32}#front-nav a p{font-size:13px;line-height:17.6px}#front-nav a:hover img{opacity:1}#front-nav a:hover h3{color:#ef391a}#front-book{float:left;width:590px;padding-top:20px;border-top:solid 1px #d8d7cf}#front-book img{float:left;margin-right:20px}#front-book p{margin-top:16px}#front-downloads{float:right;width:313px;position:relative}#front-downloads .monitor{position:absolute;top:0;right:-12px}#front-downloads table{position:absolute;top:271px;left:24px}#front-downloads table td{padding:8px 20px 6px 0;min-width:145px}#front-downloads table a{font-weight:bold}.monitor{background:transparent url("../images/monitor-default.png") top right no-repeat;background-size:313px 271px;width:273px;height:226px;padding-top:45px;padding-left:40px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,0.2)}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.monitor{background:transparent url("../images/monitor-default@2x.png") top right no-repeat;background-size:313px 271px}}.monitor h4{font-weight:normal;color:#fff;font-size:16px}.monitor span.version{display:block;margin-bottom:6px;font-size:28px;font-weight:bold}.monitor a{color:#eee;font-size:12px;text-decoration:underline}.monitor span.release-date{font-size:12px}.monitor a.button{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 0 #148a92;-moz-box-shadow:0 1px 0 #148a92;box-shadow:0 1px 0 #148a92;display:block;width:224px;padding:5px 0;margin-top:10px;font-size:16px;color:#fff;text-align:center;background-image:linear-gradient(#1c868c, #186368);border-top:solid 1px #085e64;border-right:solid 1px #1f6367;border-bottom:solid 1px #134143;border-left:solid 1px #1f6367;transition-duration:0.3s;transition-property:background-image;text-decoration:none}.monitor a.button:hover{background-image:linear-gradient(#1a7e84, #165b60)}.monitor.mac{background:transparent url("../images/monitor-mac.png") top right no-repeat;background-size:313px 271px;width:273px;height:235px;padding-top:36px;padding-left:40px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.monitor.mac{background:transparent url("../images/monitor-mac@2x.png") top right no-repeat;background-size:313px 271px}}.monitor.windows{background:transparent url("../images/monitor-windows.png") top right no-repeat;background-size:313px 271px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.monitor.windows{background:transparent url("../images/monitor-windows@2x.png") top right no-repeat;background-size:313px 271px}}.monitor.linux{background:transparent url("../images/monitor-linux.png") top right no-repeat;background-size:313px 271px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.monitor.linux{background:transparent url("../images/monitor-linux@2x.png") top right no-repeat;background-size:313px 271px}}#companies-projects{padding-top:20px;clear:both;border-top:solid 1px #d8d7cf}#companies-projects ul li{display:block;float:left;width:108px;height:65px;margin:0 4px 25px 5px}#companies-projects ul a{display:block;width:108px;height:65px;text-indent:-9999px;background-repeat:no-repeat;background-position:0 0;opacity:0.85;transition-duration:0.3s;transition-property:opacity}#companies-projects ul a:hover{opacity:1}#companies-projects ul a.facebook{background-image:url("../images/company-project-logos/facebook.png")}#companies-projects ul a.google{background:transparent url("../images/company-project-logos/google.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.google{background:transparent url("../images/company-project-logos/google@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.twitter{background:transparent url("../images/company-project-logos/twitter.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.twitter{background:transparent url("../images/company-project-logos/twitter@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.microsoft{background:transparent url("../images/company-project-logos/microsoft.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.microsoft{background:transparent url("../images/company-project-logos/microsoft@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.netflix{background:transparent url("../images/company-project-logos/netflix.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.netflix{background:transparent url("../images/company-project-logos/netflix@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.linked-in{background:transparent url("../images/company-project-logos/linked-in.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.linked-in{background:transparent url("../images/company-project-logos/linked-in@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.linux{background:transparent url("../images/company-project-logos/linux.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.linux{background:transparent url("../images/company-project-logos/linux@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.perl{background:transparent url("../images/company-project-logos/perl.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.perl{background:transparent url("../images/company-project-logos/perl@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.postgresql{background:transparent url("../images/company-project-logos/postgresql.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.postgresql{background:transparent url("../images/company-project-logos/postgresql@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.facebook{background:transparent url("../images/company-project-logos/facebook.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.facebook{background:transparent url("../images/company-project-logos/facebook@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.android{background:transparent url("../images/company-project-logos/android.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.android{background:transparent url("../images/company-project-logos/android@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.rails{background:transparent url("../images/company-project-logos/rails.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.rails{background:transparent url("../images/company-project-logos/rails@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.qt{background:transparent url("../images/company-project-logos/qt.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.qt{background:transparent url("../images/company-project-logos/qt@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.gnome{background:transparent url("../images/company-project-logos/gnome.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.gnome{background:transparent url("../images/company-project-logos/gnome@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.eclipse{background:transparent url("../images/company-project-logos/eclipse.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.eclipse{background:transparent url("../images/company-project-logos/eclipse@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.kde{background:transparent url("../images/company-project-logos/kde.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.kde{background:transparent url("../images/company-project-logos/kde@2x.png") top right no-repeat;background-size:108px 65px}}#companies-projects ul a.x{background:transparent url("../images/company-project-logos/x.png") top right no-repeat;background-size:108px 65px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#companies-projects ul a.x{background:transparent url("../images/company-project-logos/x@2x.png") top right no-repeat;background-size:108px 65px}}a.icon{display:inline-block;height:30px;padding-left:30px;line-height:36px}a.icon.gui{background:transparent url("../images/icons/gui.png") 6px 3px no-repeat;background-size:18px 24px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.gui{background:transparent url("../images/icons/gui@2x.png") 6px 3px no-repeat;background-size:18px 24px}}a.icon.older-releases{background:transparent url("../images/icons/box.png") 0 6px no-repeat;background-size:22px 20px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.older-releases{background:transparent url("../images/icons/box@2x.png") 0 6px no-repeat;background-size:22px 20px}}a.icon.windows{background:transparent url("../images/icons/windows.png") 0 6px no-repeat;background-size:24px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.windows{background:transparent url("../images/icons/windows@2x.png") 0 6px no-repeat;background-size:24px 21px}}a.icon.mac{background:transparent url("../images/icons/apple.png") 5px 4px no-repeat;background-size:17px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.mac{background:transparent url("../images/icons/apple@2x.png") 5px 4px no-repeat;background-size:17px 21px}}a.icon.linux{background:transparent url("../images/icons/linux.png") 6px 6px no-repeat;background-size:17px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.linux{background:transparent url("../images/icons/linux@2x.png") 6px 6px no-repeat;background-size:17px 21px}}a.icon.source{background:transparent url("../images/icons/source-code.png") 0 6px no-repeat;background-size:25px 20px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){a.icon.source{background:transparent url("../images/icons/source-code@2x.png") 0 6px no-repeat;background-size:25px 20px}}@media (max-width: 940px){#front-content{display:flex}#front-content #front-navigation{width:50%}#front-content #front-navigation #front-nav ul{padding:0 1rem 0 0}#front-content #front-navigation #front-nav ul li{margin-bottom:1rem !important;margin-right:0 !important}#front-content #front-navigation #front-book{width:unset}#front-content #front-downloads{width:50%}#front-content #front-downloads .monitor{transform:translateX(-50%);left:50%}#front-content #front-downloads table{transform:translateX(-50%);left:50%}#front-content #front-downloads table tbody,#front-content #front-downloads table tr{display:flex;flex-direction:column}#front-content #front-downloads table td{margin-bottom:1rem}#front-content #front-downloads table td a{padding-left:2.3rem}#companies-projects ul{display:flex;flex-wrap:wrap;justify-content:center}#companies-projects li{margin:0.7rem 0.4rem}}@media (max-width: 640px){#front-content{flex-direction:column-reverse}#front-content #front-navigation,#front-content #front-downloads{width:100%;border-right:none}#front-content #front-navigation #front-nav ul{padding:0 1rem}#front-content #front-navigation #front-book{display:flex;justify-content:center;align-items:center}#front-content #front-downloads{border-bottom:1px solid #d8d7cf;margin-bottom:2rem;padding-bottom:1rem}#front-content #front-downloads .monitor,#front-content #front-downloads table{position:relative}#front-content #front-downloads table{top:0}}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}hr.sidebar{width:218px;height:12px;margin-bottom:2em;border:0 !important;background:transparent url("../images/sidebar-divider.png") top right no-repeat;background-size:218px 12px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){hr.sidebar{background:transparent url("../images/sidebar-divider@2x.png") top right no-repeat;background-size:218px 12px}}aside.sidebar{font-size:13px !important;line-height:16.5px}aside.sidebar p{font-size:13px !important;line-height:16.5px}aside.sidebar .callout,aside.sidebar #book-container,aside.sidebar .bottom-nav,aside.sidebar #logo-license{padding:20px;color:#887668;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px}aside.sidebar .callout p,aside.sidebar #book-container p,aside.sidebar .bottom-nav p,aside.sidebar #logo-license p{margin-bottom:0}aside.sidebar.active{background-color:#efefe7;z-index:305;left:0;box-shadow:6px 2px 8px 0px rgba(28,28,28,0.1);border:thin solid #ddd;border-radius:0 5px 5px 0;transform:translateX(0%)}.sidebar-btn{display:none}@media (max-width: 940px){.sidebar-btn{background:transparent url("../images/icons/sidebar.png") left center no-repeat;background-size:24px 24px;-webkit-border-top-right-radius:5px;-moz-border-top-right-radius:5px;border-top-right-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-bottom-right-radius:5px;border-bottom-right-radius:5px;background-color:#333333 !important;display:block;position:fixed;padding:2rem 0.4rem;z-index:1;border:none;left:0;width:1.6rem}}@media only screen and (max-width: 940px) and (-webkit-min-device-pixel-ratio: 2),only screen and (max-width: 940px) and (min--moz-device-pixel-ratio: 2),only screen and (max-width: 940px) and (-o-min-device-pixel-ratio: 2/1){.sidebar-btn{background:transparent url("../images/icons/sidebar@2x.png") left center no-repeat;background-size:24px 24px}}@media (max-width: 940px){.sidebar-btn:focus+.sidebar{background-color:#efefe7;z-index:305;left:0;box-shadow:6px 2px 8px 0px rgba(28,28,28,0.1);border:thin solid #ddd;border-radius:0 5px 5px 0;transform:translateX(0%)}aside.sidebar{position:fixed;top:1em;transform:translateX(-105.5%);transition:transform 0.3s, background-color 0.3s;padding:20px;height:90vh;overflow-y:scroll;z-index:1001 !important}}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}.topics h3,.topics ul li{padding-left:23px}h3.setup{background:transparent url("../images/icons/setup-sm.png") 0 50% no-repeat;background-size:17px 17px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.setup{background:transparent url("../images/icons/setup-sm@2x.png") 0 50% no-repeat;background-size:17px 17px}}h3.projects{background:transparent url("../images/icons/projects-sm.png") 0 50% no-repeat;background-size:17px 13px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.projects{background:transparent url("../images/icons/projects-sm@2x.png") 0 50% no-repeat;background-size:17px 13px}}h3.snapshotting{background:transparent url("../images/icons/camera-sm.png") 0 50% no-repeat;background-size:17px 12px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.snapshotting{background:transparent url("../images/icons/camera-sm@2x.png") 0 50% no-repeat;background-size:17px 12px}}h3.branching{background:transparent url("../images/icons/branch-sm.png") 4px 50% no-repeat;background-size:12px 15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.branching{background:transparent url("../images/icons/branch-sm@2x.png") 4px 50% no-repeat;background-size:12px 15px}}h3.sharing{background:transparent url("../images/icons/sharing-sm.png") 2px 50% no-repeat;background-size:14px 14px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.sharing{background:transparent url("../images/icons/sharing-sm@2x.png") 2px 50% no-repeat;background-size:14px 14px}}h3.inspection{background:transparent url("../images/icons/inspection-sm.png") 1px 50% no-repeat;background-size:14px 14px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.inspection{background:transparent url("../images/icons/inspection-sm@2x.png") 1px 50% no-repeat;background-size:14px 14px}}h3.patching{background:transparent url("../images/icons/patching-sm.png") 1px 50% no-repeat;background-size:18px 11px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.patching{background:transparent url("../images/icons/patching-sm@2x.png") 1px 50% no-repeat;background-size:18px 11px}}h3.debugging{background:transparent url("../images/icons/debugging-sm.png") 1px 50% no-repeat;background-size:17px 16px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.debugging{background:transparent url("../images/icons/debugging-sm@2x.png") 1px 50% no-repeat;background-size:17px 16px}}h3.email{background:transparent url("../images/icons/email-sm.png") 1px 50% no-repeat;background-size:17px 12px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.email{background:transparent url("../images/icons/email-sm@2x.png") 1px 50% no-repeat;background-size:17px 12px}}h3.external{background:transparent url("../images/icons/external-sm.png") 0 50% no-repeat;background-size:17px 15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.external{background:transparent url("../images/icons/external-sm@2x.png") 0 50% no-repeat;background-size:17px 15px}}h3.admin{background:transparent url("../images/icons/admin-sm.png") 2px 50% no-repeat;background-size:16px 16px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.admin{background:transparent url("../images/icons/admin-sm@2x.png") 2px 50% no-repeat;background-size:16px 16px}}h3.server-admin{background:transparent url("../images/icons/server-admin-sm.png") 2px 50% no-repeat;background-size:15px 15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.server-admin{background:transparent url("../images/icons/server-admin-sm@2x.png") 2px 50% no-repeat;background-size:15px 15px}}h3.plumbing{background:transparent url("../images/icons/plumbing-sm.png") 2px 50% no-repeat;background-size:17px 14px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){h3.plumbing{background:transparent url("../images/icons/plumbing-sm@2x.png") 2px 50% no-repeat;background-size:17px 14px}}#content h1>a.anchor,#content h2>a.anchor,#content h3>a.anchor,#content h4>a.anchor,#content dt.hdlist1>a.anchor{position:absolute;display:block;width:1.01em;padding-left:0.5em;margin-left:-1.5em;font-weight:lighter;text-align:center;visibility:hidden}#content h1>a.anchor:before,#content h2>a.anchor:before,#content h3>a.anchor:before,#content h4>a.anchor:before,#content dt.hdlist1>a.anchor:before{display:block;font-size:0.9em;content:"\00A7"}#content h1:hover>a.anchor,#content h2:hover>a.anchor,#content h3:hover>a.anchor,#content h4:hover>a.anchor,#content dt.hdlist1:hover>a.anchor{visibility:visible}#reference-version a{top:-5px}#reference-version a#reference-versions-trigger{float:left;margin-right:6px}#reference-version a#reference-topics-trigger{float:right}#reference-version a#reference-languages-trigger{float:right}#previous-versions-dropdown{width:330px;padding-top:6px}#previous-versions-dropdown header{padding:0 12px;margin:0;font-size:12px;font-weight:normal}#previous-versions-dropdown footer{padding:4px 12px;margin-top:0;font-size:11px;font-weight:normal;color:#4e443c;background-color:#eae9e0;-webkit-border-bottom-left-radius:3px;-moz-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-bottom-right-radius:3px;border-bottom-right-radius:3px}#previous-versions-dropdown footer p{all:unset;display:block;color:#9a9994}.windows.chrome #previous-versions-dropdown,.windows.ie8 #previous-versions-dropdown{width:370px}#l10n-versions-dropdown{width:250px;right:12px;padding:12px;font-weight:normal;line-height:1}#l10n-versions-dropdown header{padding:0 12px;margin:0;font-size:12px;font-weight:normal}#l10n-versions-dropdown footer{padding:4px 12px;margin-top:0;font-size:11px;font-weight:normal}#l10n-versions-dropdown footer a{padding:4px;margin-top:0;color:blue}#topics-dropdown{width:650px;right:12px;padding:12px;font-weight:normal;line-height:1}#topics-dropdown ul{margin-bottom:10px}#topics-dropdown ul:last-child{margin-bottom:0}#topics-dropdown li{padding-left:23px;line-height:17.6px}#topics-dropdown h3{min-height:20px;padding-top:4px;padding-left:23px;margin-bottom:8px;font-size:13px;line-height:15px}#topics-dropdown a{font-weight:normal;padding:0}#topics-dropdown a.active{font-weight:bold}ol.reference-previous-versions{margin-top:3px;margin-bottom:0;border-top:dotted 1px #e3e3e1}ol.reference-previous-versions li a{top:0 !important;display:block;padding:2px 12px;border-bottom:dotted 1px #e3e3e1}ol.reference-previous-versions li a:before{display:table;content:""}ol.reference-previous-versions li a:after{display:table;clear:both;content:""}ol.reference-previous-versions li a:hover{background-color:#edf7f8}ol.reference-previous-versions li a.more{font-size:11px}ol.reference-previous-versions li a span.version{float:left;min-width:40px}ol.reference-previous-versions li a span.diff{padding-right:16px;padding-left:12px}ol.reference-previous-versions li a span.diff img{display:inline-block;margin-right:-1px}ol.reference-previous-versions li a em.date{float:right;margin-right:150px;font-size:11px;font-style:normal;font-weight:normal;color:#9a9994}ol.reference-previous-versions li a.more{border-bottom:0}ol.reference-previous-versions li.no-change{position:absolute;right:0;z-index:10;width:auto;padding:0;margin-top:-6px;font-size:11px;font-weight:normal;line-height:1.2;color:#9a9994;text-align:center}ol.reference-previous-versions li.no-change:before{display:table;content:""}ol.reference-previous-versions li.no-change:after{display:table;clear:both;content:""}ol.reference-previous-versions li.no-change span{float:left;padding:0 5px;-webkit-border-top-left-radius:10px;-moz-border-top-left-radius:10px;border-top-left-radius:10px;-webkit-border-bottom-left-radius:10px;-moz-border-bottom-left-radius:10px;border-bottom-left-radius:10px;font-size:10px;font-style:italic;background-color:#f5f5f3}.callout.quickref,#book-container.quickref,.quickref.bottom-nav,#logo-license.quickref{background:transparent url("../images/icons/document.png") 14px 7px no-repeat;background-size:15px 21px;padding-left:36px !important}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.callout.quickref,#book-container.quickref,.quickref.bottom-nav,#logo-license.quickref{background:transparent url("../images/icons/document@2x.png") 14px 7px no-repeat;background-size:15px 21px}}.callout.quickref a,#book-container.quickref a,.quickref.bottom-nav a,#logo-license.quickref a{font-weight:bold}.callout.all-commands,#book-container.all-commands,.all-commands.bottom-nav,#logo-license.all-commands{background:transparent url("../images/icons/book.png") 14px 7px no-repeat;background-size:15px 21px;padding-left:36px !important}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.callout.all-commands,#book-container.all-commands,.all-commands.bottom-nav,#logo-license.all-commands{background:transparent url("../images/icons/book@2x.png") 14px 7px no-repeat;background-size:15px 21px}}.callout.all-commands a,#book-container.all-commands a,.all-commands.bottom-nav a,#logo-license.all-commands a{font-weight:bold}.callout.ref-manual,#book-container.ref-manual,.ref-manual.bottom-nav,#logo-license.ref-manual{background:transparent url("../images/icons/book.png") 24px 20px no-repeat;background-size:54px 72px;padding:20px 30px 20px 100px !important;background-color:#e9e8e0}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){.callout.ref-manual,#book-container.ref-manual,.ref-manual.bottom-nav,#logo-license.ref-manual{background:transparent url("../images/icons/book@2x.png") 24px 20px no-repeat;background-size:54px 72px}}.callout.ref-manual iframe,#book-container.ref-manual iframe,.ref-manual.bottom-nav iframe,#logo-license.ref-manual iframe{max-width:100%}.callout.ref-manual h3,#book-container.ref-manual h3,.ref-manual.bottom-nav h3,#logo-license.ref-manual h3{font-size:18px}.callout.ref-manual p,#book-container.ref-manual p,.ref-manual.bottom-nav p,#logo-license.ref-manual p{font-size:15px;line-height:1.3em}p.quickref{background:transparent url("../images/icons/document.png") 0 0 no-repeat;background-size:15px 21px;padding-left:22px !important;margin-top:-0.4em;margin-bottom:1em}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){p.quickref{background:transparent url("../images/icons/document@2x.png") 0 0 no-repeat;background-size:15px 21px}}p.quickref a{font-weight:bold}.reference-menu h3{padding-left:26px}.reference-menu ul{padding-left:28px}#video-container{padding:10px 10px 2px;margin-bottom:20px;background-color:#e9e8e0}code.command,#documentation #main p tt.command{user-select:all}code.command::before,#documentation #main p tt.command::before{content:'$ ';font-weight:bold}@media (max-width: 940px){#video-container iframe{width:100%}}@media (max-width: 640px){#video-container iframe{height:auto}}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}\::-webkit-input-placeholder{color:#9a9994 !important}input:-moz-placeholder{color:#9a9994 !important}input.inactive{color:#9a9994 !important}input.active{color:#4e443c !important}input,textarea{font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;outline:none}.windows.chrome input,.windows.chrome textarea,.windows.ie8 input,.windows.chrome textarea{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}form#search{position:absolute;top:10px;right:0;z-index:1000;width:262px;padding-left:32px;background:transparent url("../images/icons/search.png") 10px 50% no-repeat;background-size:17px 17px;background-color:#fcfcfa !important;border:solid 1px #ceccc5;-webkit-border-radius:20px;-moz-border-radius:20px;-ms-border-radius:20px;border-radius:20px;-webkit-box-shadow:inset 0 1px 4px #ddd;-moz-box-shadow:inset 0 1px 4px #ddd;box-shadow:inset 0 1px 4px #ddd}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){form#search{background:transparent url("../images/icons/search@2x.png") 10px 50% no-repeat;background-size:17px 17px}}form#search input{-webkit-border-radius:20px;-moz-border-radius:20px;-ms-border-radius:20px;border-radius:20px;width:100%;height:20px;margin-top:4px;margin-bottom:2px;line-height:1em;color:#4e443c;background-color:transparent;border:0}form#search.focus{border-color:#007175;background-color:#fff}@media (max-width: 940px){form#search{transform:translateX(-50%);left:50%;margin-top:7px;top:unset;width:92%}}@media (max-width: 640px){form#search{width:84%}form#search #search-text{padding:0.3rem 0.1rem}}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}#documentation #main p em{font-family:Courier, monospace !important;font-style:normal;font-weight:bold;color:#4e443c}#documentation #main p tt{display:inline;padding:1px}#documentation #main p.nutshell{padding:1em;background-color:#e8e7dd}#documentation #main .literalblock{margin-bottom:15px}#documentation #main .literalblock .content pre tt{display:block;padding:2px;font-family:Courier, monospace !important;background-color:#eee0b5}#documentation #main dt.hdlist1{font-family:Courier, monospace !important}#documentation #main div.verseblock pre.content{padding:1em;margin-bottom:1em;font-family:Courier, monospace !important;line-height:18px;color:#4e443c;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#e8e7dd}#documentation #main div.verseblock pre.content em{font-weight:bold;font-style:normal}#documentation #main .quoteblock{padding-left:1em;margin-left:1em;border-left:5px solid #d8d7cf}#documentation #main .quoteblock .content .paragraph p{color:#9a9994}#documentation #main .admonitionblock table{margin-bottom:1em}#documentation #main .admonitionblock table td{padding:0 1em}#documentation #main .admonitionblock table td .title{font-weight:bold;color:#f14e32}#documentation #main .admonitionblock table td:first-child{border-right:solid 2px #d8d7cf}#documentation #main #footer{color:#9a9994}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main #book-container,#main .bottom-nav,#main #logo-license{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main #book-container p,#main .bottom-nav p,#main #logo-license p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,#book-container.downloading,.downloading.bottom-nav,#logo-license.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,#book-container.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,#book-container.downloading p,.downloading.bottom-nav p,#logo-license.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,#book-container.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#book-chapters,#reference-version{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#book-chapters .light,#reference-version .light{font-weight:normal}.section-nav-container a,#book-chapters a,#reference-version a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#book-chapters .dropdown-panel,#reference-version .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #book-chapters a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}.ebooks img{padding:5px}#book-container{position:relative;padding-top:20px !important;padding-bottom:20px !important;background-color:transparent !important;overflow:hidden;border:solid 1px #efeeeb}#book-intro{position:absolute;top:40px;left:50px;width:200px;font-size:13px;text-align:center}#book-intro p{padding-bottom:20px}#book-intro img.creative-commons{display:block;margin:10px auto}#book-intro .license{font-size:11px;line-height:1.3;color:#9a9994}#book-intro a#open-book{display:block;margin-top:10px;margin-bottom:10px;font-weight:bold}#about-book{background:transparent url("../images/icons/info.png") 40px 1px no-repeat;background-size:18px 17px;display:none;padding-left:22px;font-size:12px;color:#9a9994;text-align:center;text-indent:40px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#about-book{background:transparent url("../images/icons/info@2x.png") 40px 1px no-repeat;background-size:18px 17px}}#about-book.visible{display:inline-block}ol.book-toc{margin:30px 36px}ol.book-toc li.chapter{margin-bottom:0.6em}ol.book-toc ol{list-style:none}ol.book-toc h2{color:#4e443c}ol.book-toc a{padding-left:4px}.book code,.book #documentation #main p tt,#documentation #main p .book tt{display:inline;padding:1px}.book pre code,.book pre #documentation #main p tt,#documentation #main p .book pre tt{display:block;overflow:auto}.book table.ref{width:100%;margin-bottom:10px}.book table.ref tr{border:1px solid;border-color:#777}.book table.ref th,td{padding:5px}.book table.ref th:nth-child(1),td:nth-child(1){width:25%;padding:5px}#book-chapters #chapters-dropdown{top:30px;padding:12px}#book-chapters ol{margin:0}#book-chapters ol li{line-height:17.6px}#book-chapters ol li h2{margin:14px 0;font-size:14px;line-height:normal}#book-chapters ol li ol{margin-left:0}#book-chapters ol li ol a{font-weight:normal}#book-chapters ol li ol a.active{font-weight:bold;color:#f14e32}.switch a{color:#aaa}.book-wrapper{float:right;margin:-20px 40px 0 40px}@media (min-width: 640px){.book-toc{width:60%}.book-wrapper{position:sticky;top:2rem}}@media (max-width: 480px){.book-wrapper{margin-right:0}}.edition2 *{box-sizing:border-box}.edition2 body{padding-top:80px;margin:0 auto;max-width:700px}.edition2 p,.edition2 dd{font-family:sans-serif;font-size:14px;line-height:22px;text-indent:0}.edition2 section[data-type="preface"]>h1+p,.edition2 div[data-type="part"]>h1+p,.edition2 section[data-type="chapter"]>h1+p,.edition2 section[data-type="chapter"]>h1+div.author p,.edition2 section[data-type="sect1"]>h1+p,.edition2 section[data-type="sect2"]>h2+p,.edition2 section[data-type="sect3"]>h3+p{text-indent:0px}.edition2 p a{display:inline}.edition2 section[data-type="titlepage"] h1{font-family:serif}.edition2 section[data-type="titlepage"] h2,.edition2 section[data-type="copyright-page"] h1{font-family:sans-serif}.edition2 section[data-type="halftitlepage"]{display:none}.edition2 section[data-type="titlepage"]{text-align:left;page-break-after:always}.edition2 section[data-type="titlepage"] h1{padding-bottom:10px;margin-top:100px;border-bottom:1px solid #333}.edition2 section[data-type="titlepage"] h1{font-size:2em;line-height:120%}.edition2 section[data-type="titlepage"] h2{margin-top:20px;font-size:1.2em;line-height:120%}.edition2 section[data-type="titlepage"] p:first-of-type{margin-top:82pt}.edition2 section[data-type="titlepage"] p{float:none;margin-top:0;margin-bottom:0;font-family:sans-serif;font-size:13pt;line-height:16pt;text-indent:0}.edition2 section[data-type="copyright-page"]{margin-top:100px;page-break-after:always}.edition2 section[data-type="copyright-page"] h1{font-size:0.8em}.edition2 section[data-type="copyright-page"] p{margin:0;font-family:sans-serif;font-size:0.8em;text-indent:0}.edition2 section[data-type="dedication"]{padding-top:100px;font-family:serif;font-style:italic;page-break-after:always;text-align:center}.edition2 nav[data-type="toc"] a{font-style:normal}.edition2 nav[data-type="toc"] li{list-style-type:none}.edition2 nav[data-type="toc"]>h1{margin-top:80px;margin-bottom:50px;font-size:1.5em;line-height:120%;text-align:center}.edition2 nav[data-type="toc"] a{text-decoration:none}.edition2 nav[data-type="toc"] li{font-family:sans-serif}.edition2 nav[data-type="toc"] li[data-type="chapter"],.edition2 nav[data-type="toc"] li[data-type="part"],.edition2 nav[data-type="toc"] li[data-type="appendix"]{margin-left:0;font-size:1em;line-height:120%;text-indent:0}.edition2 nav[data-type="toc"] li[data-type="part"]{margin-top:25px}.edition2 nav[data-type="toc"] li[data-type="part"]>a{display:inline-block;width:100%;border-bottom:1px solid #333}.edition2 nav[data-type="toc"] li[data-type="part"] ol{margin-left:0;text-indent:0}.edition2 nav[data-type="toc"] li[data-type="chapter"]{margin-top:20px}.edition2 nav[data-type="toc"] li[data-type="chapter"]:last-of-type,.edition2 nav[data-type="toc"] li[data-type="appendix"]{margin-bottom:20px}.edition2 nav[data-type="toc"] li[data-type="chapter"] ol{margin-left:20px;font-family:sans-serif;font-size:1em;line-height:120%;text-indent:-10px}.edition2 nav[data-type="toc"] li[data-type="chapter"] ol ol{margin-left:10px;text-indent:-10px}.edition2 nav[data-type="toc"] li[data-type="preface"],.edition2 nav[data-type="toc"] li[data-type="foreword"],.edition2 nav[data-type="toc"] li[data-type="glossary"],.edition2 nav[data-type="toc"] li[data-type="index"]{font-size:1em;line-height:120%}.edition2 nav[data-type="toc"] li[data-type="preface"] ol,.edition2 nav[data-type="toc"] li[data-type="foreword"] ol{display:none}.edition2 section[data-type="preface"],.edition2 div[data-type="part"],.edition2 section[data-type="chapter"],.edition2 section[data-type="appendix"]{page-break-after:always}.edition2 nav[data-type="toc"]>h1,.edition2 div[data-type="part"]>h1,.edition2 section[data-type="preface"]>h1,.edition2 section[data-type="chapter"]>h1,.edition2 section[data-type="appendix"]>h1,.edition2 section[data-type="sect1"] h1{font-family:serif;line-height:120%}.edition2 section[data-type="sect2"] h2,.edition2 section[data-type="sect3"] h3{font-family:sans-serif;line-height:120%}.edition2 section[data-type="preface"]>h1,.edition2 section[data-type="chapter"]>h1,.edition2 section[data-type="appendix"]>h1{margin-top:70px;font-size:1.8em;margin-bottom:40px;text-align:left}.edition2 section[data-type="sect1"] h1{margin-top:40px;margin-bottom:20px;font-size:1.5em}.edition2 section[data-type="sect2"] h2{margin-top:30px;margin-bottom:10px;font-size:1.1em}.edition2 section[data-type="sect3"] h3{margin-top:20px;margin-bottom:10px;font-size:1.1em}.edition2 div[data-type="part"]>h1{margin-top:100px;margin-bottom:70px;font-size:1.8em;text-align:center}.edition2 ul,.edition2 ol{margin:15px 0 15px 40px}.edition2 ul li,.edition2 ol li,.edition2 ul li p,.edition2 ol li p{margin-top:5px;font-family:sans-serif;font-size:1em;line-height:120%;text-indent:0}.edition2 dl{margin-bottom:15px}.edition2 dt{margin-top:15px;margin-bottom:4px;font-family:sans-serif;font-size:0.9em;line-height:120%}.edition2 dd{margin-left:20px;text-indent:0}.edition2 dd p{text-indent:0}.edition2 table{margin-top:30px;margin-bottom:30px;border-collapse:collapse;border-bottom:1px solid #888}.edition2 table caption{margin:0 0 20px;padding:0;font-family:sans-serif;font-size:0.8em;line-height:120%;text-align:left}.edition2 tr{border-width:0px}.edition2 th{margin-top:0;font-family:sans-serif;font-size:0.8em;line-height:120%;text-align:left;border-top:1px solid #888;border-bottom:1px solid #888}.edition2 th,.edition2 td{padding:6px}.edition2 td,.edition2 table p{font-family:sans-serif;font-size:12px;line-height:120%}.edition2 table p{margin-top:6px;text-indent:0}.edition2 td pre.programlisting,.edition2 td pre.screen,.edition2 td pre.literallayout,.edition2 td code,.edition2 td #documentation #main p tt,#documentation #main p .edition2 td tt{word-wrap:break-word;white-space:pre-wrap}.edition2 figure{display:block;padding:0;margin-top:30px;margin-bottom:30px;page-break-inside:avoid}.edition2 figure img{max-width:100%;padding:5px 0 5px 0;margin:0;border-top:1px solid #888;border-bottom:1px solid #888}.edition2 figcaption{display:block;font-family:serif;font-size:1em;font-style:italic;line-height:120%}.edition2 aside{padding:20px 20px 10px;margin:30px 0;background-color:#d8d8d8;border:1px solid #d8d8d8}.edition2 aside h5{padding:0;margin:0;font-family:sans-serif;font-size:1em;line-height:120%;text-align:center}.edition2 aside h6{font-family:sans-serif;font-size:0.9em;font-weight:bold;line-height:120%}.edition2 aside p{margin-top:6px;font-family:serif;font-size:1em;line-height:130%;text-indent:0}.edition2 div[data-type="note"],.edition2 div[data-type="warning"]{padding:10px 0;margin:30px;border-top:2px solid #888;border-bottom:1px solid #d8d8d8;page-break-inside:avoid}.edition2 div[data-type="note"] h1,.edition2 div[data-type="warning"] h1{padding:0;margin:4px 0;font-family:sans-serif;font-size:0.8em;font-weight:bold;color:#000;text-align:center;text-transform:uppercase}.edition2 div[data-type="note"] p,.edition2 div[data-type="warning"] p{font-family:serif;font-size:1em;line-height:120%;text-indent:0}.edition2 pre,.edition2 code,.edition2 #documentation #main p tt,#documentation #main p .edition2 tt{font-family:monospace}.edition2 pre{background:#eee}.edition2 pre code,.edition2 pre #documentation #main p tt,#documentation #main p .edition2 pre tt{display:inline;background:#eee;border:0}.edition2 pre{margin:10px 0;overflow-x:auto;font-size:0.9em;line-height:120%;color:#333}.edition2 code,.edition2 #documentation #main p tt,#documentation #main p .edition2 tt{padding:0;color:#333;background:#eee;border:1px solid #f5f5f5}.edition2 table pre{text-indent:0}.edition2 div[data-type="note"] code,.edition2 div[data-type="note"] #documentation #main p tt,#documentation #main p .edition2 div[data-type="note"] tt,.edition2 div[data-type="warning"] code,.edition2 div[data-type="warning"] #documentation #main p tt,#documentation #main p .edition2 div[data-type="warning"] tt,.edition2 aside code,.edition2 aside #documentation #main p tt,#documentation #main p .edition2 aside tt,.edition2 table code,.edition2 table #documentation #main p tt,#documentation #main p .edition2 table tt{font-size:inherit;line-height:inherit}.edition2 div[data-type="example"] h5{padding-bottom:6px;margin-top:30px;font-family:sans-serif;font-size:0.8em;line-height:120%;border-bottom:1px solid #d8d8d8}.edition2 blockquote{margin-right:30px;margin-left:30px;font-family:sans-serif;font-size:0.9em;line-height:130%}.edition2 blockquote p{text-indent:0}.edition2 div.navbar{position:fixed;top:0;left:0;width:100%;padding:10px 20px;font-family:sans-serif;background-color:#e8e8e8;border-bottom:1px solid #d8d8d8}.edition2 div.navbar h1{float:left;padding:0;margin:0;font-size:1em;font-weight:normal;color:#999}.edition2 div.navbar p{float:right;padding:0;margin:0;font-family:sans-serif;font-size:1em;font-weight:normal}.edition2 div.navbar p a{color:#999;text-decoration:none}@media screen and (min-width: 480px) and (max-width: 1024px){.edition2 body{width:100%;padding:20px}}@media screen and (max-width: 480px){.edition2 body{width:100%;padding:10px}.edition2 div.navbar{position:relative;padding:10px 20px;text-align:center;border-bottom:2px solid #e8e8e8;box-shadow:0 0 0 #f0f0f0}.edition2 div.navbar h1{float:none;margin-bottom:10px}.edition2 div.navbar p{float:none;text-indent:0}}.edition2 pre code.hll,.edition2 pre #documentation #main p tt.hll,#documentation #main p .edition2 pre tt.hll{background-color:#ffffcc}.edition2 pre code.c,.edition2 pre #documentation #main p tt.c,#documentation #main p .edition2 pre tt.c{color:#0099FF;font-style:italic}.edition2 pre code.err,.edition2 pre #documentation #main p tt.err,#documentation #main p .edition2 pre tt.err{color:#AA0000}.edition2 pre code.k,.edition2 pre #documentation #main p tt.k,#documentation #main p .edition2 pre tt.k{color:#006699;font-weight:bold}.edition2 pre code.o,.edition2 pre #documentation #main p tt.o,#documentation #main p .edition2 pre tt.o{color:#555555}.edition2 pre code.cm,.edition2 pre #documentation #main p tt.cm,#documentation #main p .edition2 pre tt.cm{color:#35586C;font-style:italic}.edition2 pre code.cp,.edition2 pre #documentation #main p tt.cp,#documentation #main p .edition2 pre tt.cp{color:#009999}.edition2 pre code.c1,.edition2 pre #documentation #main p tt.c1,#documentation #main p .edition2 pre tt.c1{color:#35586C;font-style:italic}.edition2 pre code.cs,.edition2 pre #documentation #main p tt.cs,#documentation #main p .edition2 pre tt.cs{color:#35586C;font-weight:bold;font-style:italic}.edition2 pre code.gd,.edition2 pre #documentation #main p tt.gd,#documentation #main p .edition2 pre tt.gd{background-color:#FFCCCC}.edition2 pre code.ge,.edition2 pre #documentation #main p tt.ge,#documentation #main p .edition2 pre tt.ge{font-style:italic}.edition2 pre code.gr,.edition2 pre #documentation #main p tt.gr,#documentation #main p .edition2 pre tt.gr{color:#FF0000}.edition2 pre code.gh,.edition2 pre #documentation #main p tt.gh,#documentation #main p .edition2 pre tt.gh{color:#003300;font-weight:bold}.edition2 pre code.gi,.edition2 pre #documentation #main p tt.gi,#documentation #main p .edition2 pre tt.gi{background-color:#CCFFCC}.edition2 pre code.go,.edition2 pre #documentation #main p tt.go,#documentation #main p .edition2 pre tt.go{color:#000000}.edition2 pre code.gp,.edition2 pre #documentation #main p tt.gp,#documentation #main p .edition2 pre tt.gp{color:#000099;font-weight:bold}.edition2 pre code.gs,.edition2 pre #documentation #main p tt.gs,#documentation #main p .edition2 pre tt.gs{font-weight:bold}.edition2 pre code.gu,.edition2 pre #documentation #main p tt.gu,#documentation #main p .edition2 pre tt.gu{color:#003300;font-weight:bold}.edition2 pre code.gt,.edition2 pre #documentation #main p tt.gt,#documentation #main p .edition2 pre tt.gt{color:#99CC66}.edition2 pre code.kc,.edition2 pre #documentation #main p tt.kc,#documentation #main p .edition2 pre tt.kc{color:#006699;font-weight:bold}.edition2 pre code.kd,.edition2 pre #documentation #main p tt.kd,#documentation #main p .edition2 pre tt.kd{color:#006699;font-weight:bold}.edition2 pre code.kn,.edition2 pre #documentation #main p tt.kn,#documentation #main p .edition2 pre tt.kn{color:#006699;font-weight:bold}.edition2 pre code.kp,.edition2 pre #documentation #main p tt.kp,#documentation #main p .edition2 pre tt.kp{color:#006699}.edition2 pre code.kr,.edition2 pre #documentation #main p tt.kr,#documentation #main p .edition2 pre tt.kr{color:#006699;font-weight:bold}.edition2 pre code.kt,.edition2 pre #documentation #main p tt.kt,#documentation #main p .edition2 pre tt.kt{color:#007788;font-weight:bold}.edition2 pre code.m,.edition2 pre #documentation #main p tt.m,#documentation #main p .edition2 pre tt.m{color:#FF6600}.edition2 pre code.s,.edition2 pre #documentation #main p tt.s,#documentation #main p .edition2 pre tt.s{color:#CC3300}.edition2 pre code.na,.edition2 pre #documentation #main p tt.na,#documentation #main p .edition2 pre tt.na{color:#330099}.edition2 pre code.nb,.edition2 pre #documentation #main p tt.nb,#documentation #main p .edition2 pre tt.nb{color:#336666}.edition2 pre code.nc,.edition2 pre #documentation #main p tt.nc,#documentation #main p .edition2 pre tt.nc{color:#00AA88;font-weight:bold}.edition2 pre code.no,.edition2 pre #documentation #main p tt.no,#documentation #main p .edition2 pre tt.no{color:#336600}.edition2 pre code.nd,.edition2 pre #documentation #main p tt.nd,#documentation #main p .edition2 pre tt.nd{color:#9999FF}.edition2 pre code.ni,.edition2 pre #documentation #main p tt.ni,#documentation #main p .edition2 pre tt.ni{color:#999999;font-weight:bold}.edition2 pre code.ne,.edition2 pre #documentation #main p tt.ne,#documentation #main p .edition2 pre tt.ne{color:#CC0000;font-weight:bold}.edition2 pre code.nf,.edition2 pre #documentation #main p tt.nf,#documentation #main p .edition2 pre tt.nf{color:#CC00FF}.edition2 pre code.nl,.edition2 pre #documentation #main p tt.nl,#documentation #main p .edition2 pre tt.nl{color:#9999FF}.edition2 pre code.nn,.edition2 pre #documentation #main p tt.nn,#documentation #main p .edition2 pre tt.nn{color:#00CCFF;font-weight:bold}.edition2 pre code.nt,.edition2 pre #documentation #main p tt.nt,#documentation #main p .edition2 pre tt.nt{color:#330099;font-weight:bold}.edition2 pre code.nv,.edition2 pre #documentation #main p tt.nv,#documentation #main p .edition2 pre tt.nv{color:#003333}.edition2 pre code.ow,.edition2 pre #documentation #main p tt.ow,#documentation #main p .edition2 pre tt.ow{color:#000000;font-weight:bold}.edition2 pre code.w,.edition2 pre #documentation #main p tt.w,#documentation #main p .edition2 pre tt.w{color:#bbbbbb}.edition2 pre code.mf,.edition2 pre #documentation #main p tt.mf,#documentation #main p .edition2 pre tt.mf{color:#FF6600}.edition2 pre code.mh,.edition2 pre #documentation #main p tt.mh,#documentation #main p .edition2 pre tt.mh{color:#FF6600}.edition2 pre code.mi,.edition2 pre #documentation #main p tt.mi,#documentation #main p .edition2 pre tt.mi{color:#FF6600}.edition2 pre code.mo,.edition2 pre #documentation #main p tt.mo,#documentation #main p .edition2 pre tt.mo{color:#FF6600}.edition2 pre code.sb,.edition2 pre #documentation #main p tt.sb,#documentation #main p .edition2 pre tt.sb{color:#CC3300}.edition2 pre code.sc,.edition2 pre #documentation #main p tt.sc,#documentation #main p .edition2 pre tt.sc{color:#CC3300}.edition2 pre code.sd,.edition2 pre #documentation #main p tt.sd,#documentation #main p .edition2 pre tt.sd{color:#CC3300;font-style:italic}.edition2 pre code.s2,.edition2 pre #documentation #main p tt.s2,#documentation #main p .edition2 pre tt.s2{color:#CC3300}.edition2 pre code.se,.edition2 pre #documentation #main p tt.se,#documentation #main p .edition2 pre tt.se{color:#CC3300;font-weight:bold}.edition2 pre code.sh,.edition2 pre #documentation #main p tt.sh,#documentation #main p .edition2 pre tt.sh{color:#CC3300}.edition2 pre code.si,.edition2 pre #documentation #main p tt.si,#documentation #main p .edition2 pre tt.si{color:#AA0000}.edition2 pre code.sx,.edition2 pre #documentation #main p tt.sx,#documentation #main p .edition2 pre tt.sx{color:#CC3300}.edition2 pre code.sr,.edition2 pre #documentation #main p tt.sr,#documentation #main p .edition2 pre tt.sr{color:#33AAAA}.edition2 pre code.s1,.edition2 pre #documentation #main p tt.s1,#documentation #main p .edition2 pre tt.s1{color:#CC3300}.edition2 pre code.ss,.edition2 pre #documentation #main p tt.ss,#documentation #main p .edition2 pre tt.ss{color:#AA6600}.edition2 pre code.bp,.edition2 pre #documentation #main p tt.bp,#documentation #main p .edition2 pre tt.bp{color:#336666}.edition2 pre code.vc,.edition2 pre #documentation #main p tt.vc,#documentation #main p .edition2 pre tt.vc{color:#003333}.edition2 pre code.vg,.edition2 pre #documentation #main p tt.vg,#documentation #main p .edition2 pre tt.vg{color:#003333}.edition2 pre code.vi,.edition2 pre #documentation #main p tt.vi,#documentation #main p .edition2 pre tt.vi{color:#003333}.edition2 pre code.il,.edition2 pre #documentation #main p tt.il,#documentation #main p .edition2 pre tt.il{color:#FF6600}.edition2 pre code.g,.edition2 pre #documentation #main p tt.g,#documentation #main p .edition2 pre tt.g{color:#005500}.edition2 pre code.l,.edition2 pre #documentation #main p tt.l,#documentation #main p .edition2 pre tt.l{color:#CC6600}.edition2 pre code.l,.edition2 pre #documentation #main p tt.l,#documentation #main p .edition2 pre tt.l{color:#FF9900}.edition2 pre code.n,.edition2 pre #documentation #main p tt.n,#documentation #main p .edition2 pre tt.n{color:#000088}.edition2 pre code.nx,.edition2 pre #documentation #main p tt.nx,#documentation #main p .edition2 pre tt.nx{color:#000088}.edition2 pre code.py,.edition2 pre #documentation #main p tt.py,#documentation #main p .edition2 pre tt.py{color:#9966FF}.edition2 pre code.p,.edition2 pre #documentation #main p tt.p,#documentation #main p .edition2 pre tt.p{color:#000000}.edition2 pre code.x,.edition2 pre #documentation #main p tt.x,#documentation #main p .edition2 pre tt.x{color:#FF0066}.edition2 pre[data-code-language="console"]{padding:10px;background:#eee}.edition2 pre[data-code-language="console"] code.go,.edition2 pre[data-code-language="console"] #documentation #main p tt.go,#documentation #main p .edition2 pre[data-code-language="console"] tt.go{font-size:1.0em;color:#555}.edition2 pre[data-code-language="console"] code.gp,.edition2 pre[data-code-language="console"] #documentation #main p tt.gp,#documentation #main p .edition2 pre[data-code-language="console"] tt.gp{font-weight:bold;color:#009900}body{padding:0;margin:0;font-family:Adelle, Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif;font-size:14px;line-height:22px;color:#4e443c;background:#f0efe7 url("../images/bg/body.jpg")}.windows.chrome body,.windows.ie8 body{font-family:Roboto Slab, DejaVu Serif, Georgia, Times New Roman, sans-serif !important}.inner{position:relative;width:940px;margin:0 auto;overflow:visible}.inner:before{display:table;content:""}.inner:after{display:table;clear:both;content:""}aside{float:left;width:218px;margin-bottom:35px}.banner-message{position:relative;padding:1em 100px;margin-bottom:30px;font-size:100%;color:#855;background-color:#fcbda5}.banner-message a{color:#c22}.banner-message .dismiss{position:absolute;top:0;right:0;width:2em;padding:0;line-height:2em;background:none;border:0}#content{float:right;width:702px}#main{padding:22px;margin-bottom:35px;background-color:#fcfcfa;border:solid 1px #e2e0d8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px}#main .two-column:before{display:table;content:""}#main .two-column:after{display:table;clear:both;content:""}#main .two-column .column-left{width:47%;float:left}#main .two-column .column-right{width:47%;float:right}#main .callout,#main .bottom-nav,#main #logo-license,#main #book-container{background-color:#e9e8e0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 14px 4px;margin-bottom:1.4em}#main .callout p,#main .bottom-nav p,#main #logo-license p,#main #book-container p{margin-bottom:0}#main img{max-width:100%;height:auto}#masthead{height:295px;margin-top:-20px;margin-bottom:2em;background:transparent url("../images/bg/isometric-grid.png") top right repeat;background-size:35px 21px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){#masthead{background:transparent url("../images/bg/isometric-grid@2x.png") top right repeat;background-size:35px 21px}}#masthead .inner{padding-top:20px}#masthead .inner p{width:558px;margin-bottom:1.2em;font-size:18px;line-height:26.4px}#masthead .inner .promo{font-weight:bold}#masthead .inner .promo img{position:relative;top:-6px}#masthead .inner img.illustration{position:absolute;right:-30px;top:24px}header{position:relative;padding-bottom:26px;margin-top:14px}header #tagline{position:absolute;top:11px;left:120px;display:block;margin-top:1px;font-size:24px;line-height:24px;color:#9a9994}header #tagline em{letter-spacing:1px}aside nav ul{margin-bottom:1.4em;margin-left:0;font-size:16px;font-weight:bold;list-style:none}aside nav ul li{margin-bottom:0.5em}aside nav ul li a{color:#413932}aside nav ul li a.active,aside nav ul li a:hover{color:#f14e32}aside nav ul li ul{display:none;margin-top:0.3em;margin-left:20px;font-size:13px;font-weight:normal}aside nav ul li ul li{margin-bottom:0}aside nav ul li ul li a.active{font-weight:bold}aside nav ul li ul.expanded{display:block}.bottom-nav{margin-top:2em;font-weight:bold}.bottom-nav:before{display:table;content:""}.bottom-nav:after{display:table;clear:both;content:""}.bottom-nav .previous{float:left}.bottom-nav .next{float:right}section.about.current{display:block}section.about .bottom-nav{display:none}p.center{text-align:center}#logo-license{padding:20px !important;margin-top:2em}#logo-license p{font-size:12px;line-height:1.4;color:#9a9994}#logo-license p+p{margin-top:14px}#logo-license img{float:left;margin-right:20px}.callout.downloading,.downloading.bottom-nav,#logo-license.downloading,#book-container.downloading{background:#e9e8e0 url(../images/icons/download.png) 24px 24px no-repeat;padding:20px 30px 20px 100px !important}.callout.downloading h3,.downloading.bottom-nav h3,#logo-license.downloading h3,#book-container.downloading h3{font-size:18px;color:#f14e32}.callout.downloading p,.downloading.bottom-nav p,#logo-license.downloading p,#book-container.downloading p{margin-bottom:15px !important;font-size:15px;line-height:1.3em}.callout.downloading p.small,.downloading.bottom-nav p.small,#logo-license.downloading p.small,#book-container.downloading p.small{margin-bottom:0 !important;font-size:12px;line-height:1.4;color:#9a9994}.section-nav-container,#reference-version,#book-chapters{position:relative;background-color:#ebe9e1;background-color:rgba(223,221,213,0.33);-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;padding:8px 12px 6px;margin-bottom:10px;font-size:13px;font-weight:bold}.section-nav-container .light,#reference-version .light,#book-chapters .light{font-weight:normal}.section-nav-container a,#reference-version a,#book-chapters a{font-weight:bold;position:relative}.section-nav-container .dropdown-panel,#reference-version .dropdown-panel,#book-chapters .dropdown-panel{top:33px}.section-nav-container .dropdown-panel .three-column:before,#reference-version .dropdown-panel .three-column:before,#book-chapters .dropdown-panel .three-column:before{display:table;content:""}.section-nav-container .dropdown-panel .three-column:after,#reference-version .dropdown-panel .three-column:after,#book-chapters .dropdown-panel .three-column:after{display:table;clear:both;content:""}.section-nav-container .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-left{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-middle{float:left;width:31%;padding-right:3%}.section-nav-container .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-right,#book-chapters .dropdown-panel .three-column .column-right{float:left;width:31%}a.dropdown-trigger{padding:4px 5px;border:solid 1px transparent}a.dropdown-trigger.active{position:relative;z-index:200;background-color:#fff !important;-webkit-border-top-left-radius:3px;-moz-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-top-right-radius:3px;border-top-right-radius:3px;border:solid 1px #c6c4b8;border-bottom:0}.dropdown-panel{position:absolute;z-index:199;display:none;background-color:#fff;border:solid 1px #c6c4b8;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc}.dropdown-panel.left{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0}.dropdown-panel.right{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0}footer{padding:20px 0 40px;margin-top:35px;clear:both;font-size:12px;line-height:15.4px;color:#9a9994;border-top:solid 1px #d8d7cf}footer:before{display:table;content:""}footer:after{display:table;clear:both;content:""}footer a{color:#403f3c}footer a:hover{color:#0b0b0a}footer .site-source{float:left;padding-left:46px;background:transparent url("../images/icons/code.png") 0 2px no-repeat;background-size:38px 23px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){footer .site-source{background:transparent url("../images/icons/code@2x.png") 0 2px no-repeat;background-size:38px 23px}}footer .sfc-member{float:right;text-align:right}table.benchmarks{width:100%;padding:20px;margin-bottom:20px}table.benchmarks tr th.right{text-align:center}table.benchmarks tr td.desc{font-size:0.8em;color:#888}table.benchmarks tr td.number{font-family:monospace;text-align:right}table.benchmarks tr td{padding:0 10px}.scrollToTop{-webkit-border-radius:50px;-moz-border-radius:50px;-ms-border-radius:50px;border-radius:50px;display:none;position:fixed;background-color:rgba(223,221,213,0.33);right:20px;bottom:6.25rem;padding:0.8rem;height:20px;transition:background-color 0.2s;width:20px}.scrollToTop:hover{background-color:rgba(250,250,250,0.9);-webkit-box-shadow:2px;-moz-box-shadow:2px;box-shadow:2px}.scrollToTop:hover::before{transform:translateX(-50%);left:50%;width:0;height:0;color:var(--color-neutral-emphasis-plus);content:"";border:6px solid transparent;border-color:#333333 transparent transparent;top:-0.55rem;position:absolute}.scrollToTop:hover::after{transform:translateX(-50%);left:50%;top:-2rem;border-radius:4px;position:absolute;content:attr(data-label);word-wrap:break-word;white-space:pre;padding:.5em .75em;color:#e9e8e0;background-color:#333333;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.no-js.scrollToTop{display:block}@media (max-width: 940px){.responsive-table{overflow-x:auto}.center img{height:100%}header{padding-bottom:2.5rem}header a,header span{padding-left:1rem;margin-bottom:10px}#home .inner>header{padding-bottom:2rem}#content{width:100%}.inner{width:100%}#content-wrapper{padding:0.8rem}#masthead{height:unset}#masthead .inner{display:flex;margin-top:1.8rem}#masthead .inner div:first-of-type{padding:1rem}#masthead .inner .illustration-wrapper{display:flex;align-items:center}#masthead .inner p{width:unset}#masthead .inner img.illustration{position:unset;right:unset;top:unset;max-height:100%}footer{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){header{padding-bottom:3rem}header #tagline{font-size:0.8rem;top:0;padding-right:1rem}#home .inner>header{padding-bottom:2.5rem}#masthead .inner{flex-direction:column-reverse}#masthead .illustration-wrapper{display:flex;justify-content:center;overflow:hidden}#masthead .illustration-wrapper .illustration{width:80%;height:100%}#main>.two-column .column-right{position:relative;display:flex;justify-content:center}#main .two-column{display:flex;flex-direction:column}#main .two-column .column-left,#main .two-column .column-right{width:100%}#book-chapters .dropdown-panel,#reference-version .dropdown-panel{width:unset}#book-chapters .dropdown-panel .three-column,#reference-version .dropdown-panel .three-column{display:flex;flex-direction:column;height:70vh;overflow-y:scroll;overflow-x:hidden}#book-chapters .dropdown-panel .three-column .column-left,#book-chapters .dropdown-panel .three-column .column-middle,#book-chapters .dropdown-panel .three-column .column-right,#reference-version .dropdown-panel .three-column .column-left,#reference-version .dropdown-panel .three-column .column-middle,#reference-version .dropdown-panel .three-column .column-right{width:100%;max-width:300px}#book-chapters .dropdown-panel .three-column .unstyled a,#book-chapters .dropdown-panel .three-column ul.stackoverflow a,#book-chapters .dropdown-panel .three-column ol#about-nav a,#book-chapters .dropdown-panel .three-column .content-list a,#book-chapters .dropdown-panel .three-column ul.books-list a,#book-chapters .dropdown-panel .three-column ul.video-thumbnails a,#book-chapters .dropdown-panel .three-column ul.gui-thumbnails a,#book-chapters .dropdown-panel .three-column .section-nav-container a,#book-chapters .dropdown-panel .three-column #download-next-steps a,#book-chapters .dropdown-panel .three-column #search-results table ul a,#search-results table #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column ol.full-search-results a,#book-chapters .dropdown-panel .three-column #front-nav ul a,#front-nav #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #companies-projects ul a,#companies-projects #book-chapters .dropdown-panel .three-column ul a,#book-chapters .dropdown-panel .three-column #reference-version a,#book-chapters .dropdown-panel .three-column ol.reference-previous-versions a,#book-chapters .dropdown-panel .three-column ol.book-toc a,#book-chapters .dropdown-panel .three-column #book-chapters a,#reference-version .dropdown-panel .three-column .unstyled a,#reference-version .dropdown-panel .three-column ul.stackoverflow a,#reference-version .dropdown-panel .three-column ol#about-nav a,#reference-version .dropdown-panel .three-column .content-list a,#reference-version .dropdown-panel .three-column ul.books-list a,#reference-version .dropdown-panel .three-column ul.video-thumbnails a,#reference-version .dropdown-panel .three-column ul.gui-thumbnails a,#reference-version .dropdown-panel .three-column .section-nav-container a,#reference-version .dropdown-panel .three-column #download-next-steps a,#reference-version .dropdown-panel .three-column #search-results table ul a,#search-results table #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column ol.full-search-results a,#reference-version .dropdown-panel .three-column #front-nav ul a,#front-nav #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #companies-projects ul a,#companies-projects #reference-version .dropdown-panel .three-column ul a,#reference-version .dropdown-panel .three-column #reference-version a,#reference-version .dropdown-panel .three-column ol.reference-previous-versions a,#reference-version .dropdown-panel .three-column ol.book-toc a,#reference-version .dropdown-panel .three-column #book-chapters a{padding:0.15rem 0;display:block}#book-chapters .dropdown-panel .three-column .chapter h2,#reference-version .dropdown-panel .three-column .chapter h2{display:flex;align-items:center}#book-chapters .dropdown-panel .three-column .chapter h2 a,#reference-version .dropdown-panel .three-column .chapter h2 a{padding-left:5px}#book-chapters .dropdown-panel .three-column .chapter ol li,#reference-version .dropdown-panel .three-column .chapter ol li{display:flex;align-items:center;margin-bottom:6px;padding:0.45rem 0}#book-chapters .dropdown-panel .three-column .chapter ol li a,#reference-version .dropdown-panel .three-column .chapter ol li a{padding-left:5px}footer{display:flex;justify-content:center;flex-direction:column;align-items:center}footer .site-source{margin-bottom:1rem}.scrollToTop{bottom:6rem}}.content-list,ul.books-list,ul.video-thumbnails,ul.gui-thumbnails{margin-left:0}.content-list li,ul.books-list li,ul.video-thumbnails li,ul.gui-thumbnails li{margin-bottom:1em}.content-list .description,ul.books-list .description,ul.video-thumbnails .description,ul.gui-thumbnails .description{font-size:12px;line-height:15.4px}ul.video-thumbnails,ul.gui-thumbnails{margin-top:1em}ul.video-thumbnails li,ul.gui-thumbnails li{margin-bottom:2em}ul.video-thumbnails li img,ul.gui-thumbnails li img{display:block;padding:3px;margin-bottom:5px;border:solid 1px #d8d7cf}ul.gui-thumbnails li{display:inline-block;width:49%}ul.gui-thumbnails li.masked{display:none}ul.books-list li{padding-left:125px;height:150px}ul.books-list li:before{display:table;content:""}ul.books-list li:after{display:table;clear:both;content:""}ul.books-list li img{float:left;width:109px;max-height:150px;margin-right:-125px;margin-left:-125px;border:solid 1px #b7b7b7}ul.books-list li img.creative-commons{display:block;float:none;width:auto;margin-top:2em;margin-right:0;margin-left:0;border:0}ol#about-nav:before{display:table;content:""}ol#about-nav:after{display:table;clear:both;content:""}ol#about-nav li{display:inline;float:left;width:80px;height:85px;padding-right:5px;margin-right:7px}ol#about-nav li:last-child{margin-right:0}ol#about-nav li a{display:block;width:60px;height:80px;padding:0 15px;font-size:13px;line-height:20px;text-align:center;color:#4e443c;opacity:0.9;background:transparent url("../images/icons/nav-circles.png") top right no-repeat;background-size:90px 180px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){ol#about-nav li a{background:transparent url("../images/icons/nav-circles@2x.png") top right no-repeat;background-size:90px 180px}}ol#about-nav li a.current{background:transparent url("../images/icons/nav-circles.png") 0 -90px no-repeat;background-size:90px 180px;color:#fff;opacity:1}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1){ol#about-nav li a.current{background:transparent url("../images/icons/nav-circles@2x.png") 0 -90px no-repeat;background-size:90px 180px}}ol#about-nav li a.one-line{height:55px;padding-top:35px}ol#about-nav li a.two-line{height:62px;padding-top:28px}ol#about-nav li a.three-line{height:73px;padding-top:17px}ol#about-nav li a:hover{opacity:1}ul.stackoverflow{font-size:12px}ul.stackoverflow li{margin-bottom:1em}ul.stackoverflow a{display:block;line-height:1.2;font-weight:bold}ul.stackoverflow span{display:block;color:#9a9994}ul.stackoverflow span strong{color:#81807a}ul.stackoverflow span em{color:#cccbc8}table.binaries td{position:relative;width:auto;padding:8px 20px 6px 0}table.binaries a{font-weight:bold;border:solid 1px transparent}@media (max-width: 940px){ol#about-nav{display:flex;flex-wrap:wrap;justify-content:space-between}}@media (max-width: 640px){ol#about-nav{justify-content:unset}ol#about-nav li{padding-right:0;margin-right:0.6rem;flex-basis:29%;margin-bottom:1rem}}code,#documentation #main p tt{display:inline;padding:0 5px;word-break:break-all}pre{background-color:#fff;border:solid 1px #efeee6;border-radius:3px;color:#f14e32;display:block;font-family:Courier, monospace;line-height:18px;margin-bottom:1em;overflow:auto;padding:10px 15px 13px}.d-flex{display:flex}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/* Modernizr 2.5.3 (Custom Build) | MIT & BSD
|
|
2
|
-
* Build: http://www.modernizr.com/download/#-fontface-input-inputtypes-shiv-cssclasses-addtest-teststyles-load
|
|
3
|
-
*/
|
|
4
|
-
;window.Modernizr=function(a,b,c){function w(a){j.cssText=a}function x(a,b){return w(prefixes.join(a+";")+(b||""))}function y(a,b){return typeof a===b}function z(a,b){return!!~(""+a).indexOf(b)}function A(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:y(f,"function")?f.bind(d||b):f}return!1}function C(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)p[c[d]]=c[d]in k;return p.list&&(p.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),p}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(k),g.offsetWidth,e=k.value!=l,g.removeChild(k)):e=k.value!=l)),o[a[d]]=!!e;return o}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.5.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n={},o={},p={},q=[],r=q.slice,s,t=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["­","<style>",a,"</style>"].join(""),k.id=h,(l?k:m).innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},u={}.hasOwnProperty,v;!y(u,"undefined")&&!y(u.call,"undefined")?v=function(a,b){return u.call(a,b)}:v=function(a,b){return b in a&&y(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=r.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(r.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(r.call(arguments)))};return e});var B=function(a,c){var d=a.join(""),f=c.length;t(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d?d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"":"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.fontface=/src/i.test(g)&&g.indexOf(c.split(" ")[0])===0},f,c)}(['@font-face {font-family:"font";src:url("https://")}'],["fontface"]);n.fontface=function(){return e.fontface};for(var D in n)v(n,D)&&(s=D.toLowerCase(),e[s]=n[D](),q.push((e[s]?"":"no-")+s));return e.input||C(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)v(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},w(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){var b={},c=a.createElement,e=a.createDocumentFragment,f=e();a.createElement=function(a){var e=(b[a]||(b[a]=c(a))).cloneNode();return k.shivMethods&&e.canHaveChildren&&!d.test(a)?f.appendChild(e):e},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/\w+/g,function(a){return b[a]=c(a),f.createElement(a),'c("'+a+'")'})+");return n}")(k,f)}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),f||(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea)$/i,e,f;(function(){var a=b.createElement("a");a.innerHTML="<xyz></xyz>",e="hidden"in a,f=a.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e.testStyles=t,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+q.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
|
|
5
|
-
|
|
6
|
-
Modernizr.addTest('webkit', function(){
|
|
7
|
-
return RegExp(" AppleWebKit/").test(navigator.userAgent);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
Modernizr.addTest('chrome', function(){
|
|
11
|
-
return RegExp(" Chrome/").test(navigator.userAgent);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
Modernizr.addTest('windows', function(){
|
|
15
|
-
return RegExp("Win").test(navigator.platform);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
Modernizr.addTest('ie8', function(){
|
|
19
|
-
return RegExp("MSIE 8").test(navigator.userAgent);
|
|
20
|
-
});
|