We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Docs table of contents spacing issue on small screens
On small screens, the table of contents has too much space below it; it should be tight with the bottom of the contents so that the main content is visible:

<img width="717" alt="Screen Shot 2020-07-15 at 3 45 52 PM" src="https://user-images.githubusercontent.com/25985824/87589202-e2d04600-c6b2-11ea-8f24-d3e14ec4cc7e.png">


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/source/conf.py`
Content:
```
1 """
2 Sphinx configuration file.
3 
4 For a full list of available options, see:
5 https://www.sphinx-doc.org/en/master/usage/configuration.html
6 
7 | Copyright 2017-2020, Voxel51, Inc.
8 | `voxel51.com <https://voxel51.com/>`_
9 |
10 """
11 
12 import fiftyone.constants as foc
13 
14 
15 # -- Path setup --------------------------------------------------------------
16 
17 # If extensions (or modules to document with autodoc) are in another directory,
18 # add these directories to sys.path here. If the directory is relative to the
19 # documentation root, use os.path.abspath to make it absolute, like shown here.
20 #
21 
22 # -- Project information -----------------------------------------------------
23 
24 project = "FiftyOne"
25 copyright = foc.COPYRIGHT
26 author = foc.AUTHOR
27 release = foc.VERSION
28 
29 
30 # -- General configuration ---------------------------------------------------
31 
32 # Add any Sphinx extension module names here, as strings. They can be
33 # extensions coming with Sphinx (named "sphinx.ext.*") or your custom
34 # ones.
35 extensions = [
36     "sphinx.ext.autodoc",
37     "sphinx.ext.intersphinx",
38     "sphinx.ext.napoleon",
39     "sphinx.ext.autosectionlabel",
40     "m2r",
41     "nbsphinx",
42     "sphinx_tabs.tabs",
43     "sphinx_copybutton",
44 ]
45 
46 # Types of class members to generate documentation for.
47 autodoc_default_options = {"members": True, "inherited-members": True}
48 autodoc_inherit_docstrings = True
49 autodoc_member_order = "bysource"
50 autoclass_content = "class"
51 
52 # Add any paths that contain templates here, relative to this directory.
53 templates_path = ["_templates"]
54 
55 # The suffix(es) of source filenames.
56 # You can specify multiple suffix as a list of strings.
57 source_suffix = [".rst", ".md"]
58 
59 # Parse relative links to MD files into ref and doc directives.
60 m2r_parse_relative_links = True
61 
62 # List of patterns, relative to source directory, that match files and
63 # directories to ignore when looking for source files.
64 # This pattern also affects html_static_path and html_extra_path.
65 exclude_patterns = []
66 
67 # Disable nbshinx loading require.js - this breaks the pytorch theme's
68 # scrolling handling, and we don't appear to have any notebook content that
69 # requires it
70 nbsphinx_requirejs_path = ""
71 
72 # Adds a link to download the notebook to the built HTML
73 nbsphinx_prolog = """
74 
75 .. note::
76 
77     Download notebook:
78     :download:`{{ env.doc2path(env.docname, base=None) }} </{{ env.doc2path(env.docname, base=None) }}>`
79 
80 """
81 
82 # -- Options for HTML output -------------------------------------------------
83 
84 # The theme to use for HTML and HTML Help pages.  See the documentation for
85 # a list of builtin themes.
86 #
87 html_theme = "pytorch_sphinx_theme"
88 html_theme_path = ["../theme"]
89 html_theme_options = {
90     "pytorch_project": "docs",
91 }
92 
93 # Add any paths that contain custom static files (such as style sheets) here,
94 # relative to this directory. They are copied after the builtin static files,
95 # so a file named "default.css" will overwrite the builtin "default.css".
96 html_static_path = ["_static"]
97 
98 # These paths are either relative to html_static_path
99 # or fully qualified paths (eg. https://...)
100 html_css_files = ["css/voxel51-website.css", "css/custom.css"]
101 html_js_files = ["js/voxel51-website.js", "js/custom.js"]
102 
103 html_context = {
104     "address_main_line1": "410 N 4th Ave, 3rd Floor",
105     "address_main_line2": "Ann Arbor, MI 48104",
106     "phone_main": "+1 734-489-1134",
107     "email_info": "info@voxel51.com",
108     "link_blog": "https://blog.voxel51.com/",
109     "link_careers": "https://voxel51.com/careers/",
110     "link_contactus": "mailto:solutions@voxel51.com?subject=[Voxel51]%20Contact%20us",
111     "link_demo": "https://voxel51.com/demo/",
112     "link_docs_fiftyone": "https://voxel51.com/docs/fiftyone/",
113     "link_fiftyone": "https://voxel51.com/fiftyone/",
114     "link_github": "https://github.com/",
115     "link_home": "https://voxel51.com/",
116     "link_linkedin": "https://www.linkedin.com/in/",
117     "link_ourstory": "https://voxel51.com/ourstory/",
118     "link_pdi": "https://pdi.voxel51.com/",
119     "link_platform": "https://voxel51.com/platform/",
120     "link_platform_login": "https://console.voxel51.com/login",
121     "link_press": "https://voxel51.com/press/",
122     "link_privacypolicy": "https://voxel51.com/privacy/",
123     "link_schedulecall": "mailto:solutions@voxel51.com?subject=[Voxel51]%20Schedule%20a%20call",
124     "link_scheduledemo": "https://meetings.hubspot.com/michael908",
125     "link_scoop_demo": "https://demo.voxel51.com",
126     "link_scoop_login": "https://scoop.voxel51.com/",
127     "link_status": "https://status.voxel51.com/",
128     "link_termsofservice": "https://voxel51.com/terms/",
129     "link_twitter": "https://twitter.com/",
130     "link_usecase_advertising": "https://voxel51.com/usecases/advertising/",
131     "link_usecase_auto": "https://voxel51.com/usecases/automotive/",
132     "link_usecase_research": "https://voxel51.com/usecases/research/",
133     "link_usecases": "https://voxel51.com/usecases/",
134     "link_usecases_entry": "https://voxel51.com/usecases/automotive/",
135     "link_voxel51_facebook": "https://www.facebook.com/voxel51/",
136     "link_voxel51_github": "https://github.com/voxel51/",
137     "link_voxel51_linkedin": "https://www.linkedin.com/company/voxel51/",
138     "link_voxel51_twitter": "https://twitter.com/voxel51",
139 }
140
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -100,6 +100,10 @@
 html_css_files = ["css/voxel51-website.css", "css/custom.css"]
 html_js_files = ["js/voxel51-website.js", "js/custom.js"]
 
+# Prevent RST source files from being included in output
+html_copy_source = False
+
+# Links - copied from website config
 html_context = {
     "address_main_line1": "410 N 4th Ave, 3rd Floor",
     "address_main_line2": "Ann Arbor, MI 48104",

{"golden_diff": "diff --git a/docs/source/conf.py b/docs/source/conf.py\n--- a/docs/source/conf.py\n+++ b/docs/source/conf.py\n@@ -100,6 +100,10 @@\n html_css_files = [\"css/voxel51-website.css\", \"css/custom.css\"]\n html_js_files = [\"js/voxel51-website.js\", \"js/custom.js\"]\n \n+# Prevent RST source files from being included in output\n+html_copy_source = False\n+\n+# Links - copied from website config\n html_context = {\n     \"address_main_line1\": \"410 N 4th Ave, 3rd Floor\",\n     \"address_main_line2\": \"Ann Arbor, MI 48104\",\n", "issue": "Docs table of contents spacing issue on small screens\nOn small screens, the table of contents has too much space below it; it should be tight with the bottom of the contents so that the main content is visible:\r\n\r\n<img width=\"717\" alt=\"Screen Shot 2020-07-15 at 3 45 52 PM\" src=\"https://user-images.githubusercontent.com/25985824/87589202-e2d04600-c6b2-11ea-8f24-d3e14ec4cc7e.png\">\r\n\n", "before_files": [{"content": "\"\"\"\nSphinx configuration file.\n\nFor a full list of available options, see:\nhttps://www.sphinx-doc.org/en/master/usage/configuration.html\n\n| Copyright 2017-2020, Voxel51, Inc.\n| `voxel51.com <https://voxel51.com/>`_\n|\n\"\"\"\n\nimport fiftyone.constants as foc\n\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n\n# -- Project information -----------------------------------------------------\n\nproject = \"FiftyOne\"\ncopyright = foc.COPYRIGHT\nauthor = foc.AUTHOR\nrelease = foc.VERSION\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named \"sphinx.ext.*\") or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.autosectionlabel\",\n    \"m2r\",\n    \"nbsphinx\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_copybutton\",\n]\n\n# Types of class members to generate documentation for.\nautodoc_default_options = {\"members\": True, \"inherited-members\": True}\nautodoc_inherit_docstrings = True\nautodoc_member_order = \"bysource\"\nautoclass_content = \"class\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of strings.\nsource_suffix = [\".rst\", \".md\"]\n\n# Parse relative links to MD files into ref and doc directives.\nm2r_parse_relative_links = True\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = []\n\n# Disable nbshinx loading require.js - this breaks the pytorch theme's\n# scrolling handling, and we don't appear to have any notebook content that\n# requires it\nnbsphinx_requirejs_path = \"\"\n\n# Adds a link to download the notebook to the built HTML\nnbsphinx_prolog = \"\"\"\n\n.. note::\n\n    Download notebook:\n    :download:`{{ env.doc2path(env.docname, base=None) }} </{{ env.doc2path(env.docname, base=None) }}>`\n\n\"\"\"\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"pytorch_sphinx_theme\"\nhtml_theme_path = [\"../theme\"]\nhtml_theme_options = {\n    \"pytorch_project\": \"docs\",\n}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# These paths are either relative to html_static_path\n# or fully qualified paths (eg. https://...)\nhtml_css_files = [\"css/voxel51-website.css\", \"css/custom.css\"]\nhtml_js_files = [\"js/voxel51-website.js\", \"js/custom.js\"]\n\nhtml_context = {\n    \"address_main_line1\": \"410 N 4th Ave, 3rd Floor\",\n    \"address_main_line2\": \"Ann Arbor, MI 48104\",\n    \"phone_main\": \"+1 734-489-1134\",\n    \"email_info\": \"info@voxel51.com\",\n    \"link_blog\": \"https://blog.voxel51.com/\",\n    \"link_careers\": \"https://voxel51.com/careers/\",\n    \"link_contactus\": \"mailto:solutions@voxel51.com?subject=[Voxel51]%20Contact%20us\",\n    \"link_demo\": \"https://voxel51.com/demo/\",\n    \"link_docs_fiftyone\": \"https://voxel51.com/docs/fiftyone/\",\n    \"link_fiftyone\": \"https://voxel51.com/fiftyone/\",\n    \"link_github\": \"https://github.com/\",\n    \"link_home\": \"https://voxel51.com/\",\n    \"link_linkedin\": \"https://www.linkedin.com/in/\",\n    \"link_ourstory\": \"https://voxel51.com/ourstory/\",\n    \"link_pdi\": \"https://pdi.voxel51.com/\",\n    \"link_platform\": \"https://voxel51.com/platform/\",\n    \"link_platform_login\": \"https://console.voxel51.com/login\",\n    \"link_press\": \"https://voxel51.com/press/\",\n    \"link_privacypolicy\": \"https://voxel51.com/privacy/\",\n    \"link_schedulecall\": \"mailto:solutions@voxel51.com?subject=[Voxel51]%20Schedule%20a%20call\",\n    \"link_scheduledemo\": \"https://meetings.hubspot.com/michael908\",\n    \"link_scoop_demo\": \"https://demo.voxel51.com\",\n    \"link_scoop_login\": \"https://scoop.voxel51.com/\",\n    \"link_status\": \"https://status.voxel51.com/\",\n    \"link_termsofservice\": \"https://voxel51.com/terms/\",\n    \"link_twitter\": \"https://twitter.com/\",\n    \"link_usecase_advertising\": \"https://voxel51.com/usecases/advertising/\",\n    \"link_usecase_auto\": \"https://voxel51.com/usecases/automotive/\",\n    \"link_usecase_research\": \"https://voxel51.com/usecases/research/\",\n    \"link_usecases\": \"https://voxel51.com/usecases/\",\n    \"link_usecases_entry\": \"https://voxel51.com/usecases/automotive/\",\n    \"link_voxel51_facebook\": \"https://www.facebook.com/voxel51/\",\n    \"link_voxel51_github\": \"https://github.com/voxel51/\",\n    \"link_voxel51_linkedin\": \"https://www.linkedin.com/company/voxel51/\",\n    \"link_voxel51_twitter\": \"https://twitter.com/voxel51\",\n}\n", "path": "docs/source/conf.py"}], "after_files": [{"content": "\"\"\"\nSphinx configuration file.\n\nFor a full list of available options, see:\nhttps://www.sphinx-doc.org/en/master/usage/configuration.html\n\n| Copyright 2017-2020, Voxel51, Inc.\n| `voxel51.com <https://voxel51.com/>`_\n|\n\"\"\"\n\nimport fiftyone.constants as foc\n\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\n\n# -- Project information -----------------------------------------------------\n\nproject = \"FiftyOne\"\ncopyright = foc.COPYRIGHT\nauthor = foc.AUTHOR\nrelease = foc.VERSION\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named \"sphinx.ext.*\") or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.autosectionlabel\",\n    \"m2r\",\n    \"nbsphinx\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_copybutton\",\n]\n\n# Types of class members to generate documentation for.\nautodoc_default_options = {\"members\": True, \"inherited-members\": True}\nautodoc_inherit_docstrings = True\nautodoc_member_order = \"bysource\"\nautoclass_content = \"class\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of strings.\nsource_suffix = [\".rst\", \".md\"]\n\n# Parse relative links to MD files into ref and doc directives.\nm2r_parse_relative_links = True\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = []\n\n# Disable nbshinx loading require.js - this breaks the pytorch theme's\n# scrolling handling, and we don't appear to have any notebook content that\n# requires it\nnbsphinx_requirejs_path = \"\"\n\n# Adds a link to download the notebook to the built HTML\nnbsphinx_prolog = \"\"\"\n\n.. note::\n\n    Download notebook:\n    :download:`{{ env.doc2path(env.docname, base=None) }} </{{ env.doc2path(env.docname, base=None) }}>`\n\n\"\"\"\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"pytorch_sphinx_theme\"\nhtml_theme_path = [\"../theme\"]\nhtml_theme_options = {\n    \"pytorch_project\": \"docs\",\n}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# These paths are either relative to html_static_path\n# or fully qualified paths (eg. https://...)\nhtml_css_files = [\"css/voxel51-website.css\", \"css/custom.css\"]\nhtml_js_files = [\"js/voxel51-website.js\", \"js/custom.js\"]\n\n# Prevent RST source files from being included in output\nhtml_copy_source = False\n\n# Links - copied from website config\nhtml_context = {\n    \"address_main_line1\": \"410 N 4th Ave, 3rd Floor\",\n    \"address_main_line2\": \"Ann Arbor, MI 48104\",\n    \"phone_main\": \"+1 734-489-1134\",\n    \"email_info\": \"info@voxel51.com\",\n    \"link_blog\": \"https://blog.voxel51.com/\",\n    \"link_careers\": \"https://voxel51.com/careers/\",\n    \"link_contactus\": \"mailto:solutions@voxel51.com?subject=[Voxel51]%20Contact%20us\",\n    \"link_demo\": \"https://voxel51.com/demo/\",\n    \"link_docs_fiftyone\": \"https://voxel51.com/docs/fiftyone/\",\n    \"link_fiftyone\": \"https://voxel51.com/fiftyone/\",\n    \"link_github\": \"https://github.com/\",\n    \"link_home\": \"https://voxel51.com/\",\n    \"link_linkedin\": \"https://www.linkedin.com/in/\",\n    \"link_ourstory\": \"https://voxel51.com/ourstory/\",\n    \"link_pdi\": \"https://pdi.voxel51.com/\",\n    \"link_platform\": \"https://voxel51.com/platform/\",\n    \"link_platform_login\": \"https://console.voxel51.com/login\",\n    \"link_press\": \"https://voxel51.com/press/\",\n    \"link_privacypolicy\": \"https://voxel51.com/privacy/\",\n    \"link_schedulecall\": \"mailto:solutions@voxel51.com?subject=[Voxel51]%20Schedule%20a%20call\",\n    \"link_scheduledemo\": \"https://meetings.hubspot.com/michael908\",\n    \"link_scoop_demo\": \"https://demo.voxel51.com\",\n    \"link_scoop_login\": \"https://scoop.voxel51.com/\",\n    \"link_status\": \"https://status.voxel51.com/\",\n    \"link_termsofservice\": \"https://voxel51.com/terms/\",\n    \"link_twitter\": \"https://twitter.com/\",\n    \"link_usecase_advertising\": \"https://voxel51.com/usecases/advertising/\",\n    \"link_usecase_auto\": \"https://voxel51.com/usecases/automotive/\",\n    \"link_usecase_research\": \"https://voxel51.com/usecases/research/\",\n    \"link_usecases\": \"https://voxel51.com/usecases/\",\n    \"link_usecases_entry\": \"https://voxel51.com/usecases/automotive/\",\n    \"link_voxel51_facebook\": \"https://www.facebook.com/voxel51/\",\n    \"link_voxel51_github\": \"https://github.com/voxel51/\",\n    \"link_voxel51_linkedin\": \"https://www.linkedin.com/company/voxel51/\",\n    \"link_voxel51_twitter\": \"https://twitter.com/voxel51\",\n}\n", "path": "docs/source/conf.py"}]}