From b0166265a881ae8d46553b452cffe517bb5889a6 Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Tue, 2 Oct 2018 11:01:48 -0500 Subject: [PATCH] Add starlingxdocs theme support At the PTG the Docs team and dhellmann decided that openstackdocstheme was the proper place to keep the modifications required to build a theme for StarlingX and other OpenStack Foundation-related projects. This is a minimal set of changes to support a second theme with a couple of visual changes thrown in to make obvious that the correct theme is being used. The remainder of the visual work will follow. Both PNG and SVG versions of the logo are included. Add an additional jobs to build the docs and PDF with the new theme. Modify the wording in README.rst and the docs index page regarding the distinction between openstackdocstheme the module and openstackdocs and starlingxdocs the themes and their intended uses. There are a number of hard-coded OpenStack-isms that will eventually need to be addressed. Change-Id: I594136a0ea66d61f60dafc6a853137470efc7d42 Signed-off-by: Dean Troyer --- .zuul.yaml | 16 + README.rst | 25 +- doc/source/index.rst | 20 +- openstackdocstheme/ext.py | 12 +- openstackdocstheme/paths.py | 10 +- .../openstackdocs/static/images/logo-full.png | 1 + .../openstackdocs/static/images/logo-vert.png | 1 + ...{openstack-logo-full.png => logo-full.png} | 0 .../starlingxdocs/static/css/combined.css | 4502 +++++++++++++++++ .../StarlingX_Logo_RGB_Horizontal_2color.png | Bin 0 -> 7853 bytes .../StarlingX_Logo_RGB_Horizontal_2color.svg | 1 + .../StarlingX_Logo_RGB_Stacked_2color.png | Bin 0 -> 15123 bytes .../StarlingX_Logo_RGB_Stacked_2color.svg | 1 + .../starlingxdocs/static/images/logo-full.png | 1 + .../starlingxdocs/static/images/logo-full.svg | 1 + .../starlingxdocs/static/images/logo-vert.png | 1 + .../starlingxdocs/static/images/logo-vert.svg | 1 + .../theme/starlingxdocs/theme.conf | 14 + .../theme/starlingxdocs_pdf/logo-full.png | 1 + .../theme/starlingxdocs_pdf/logo-full.svg | 1 + .../theme/starlingxdocs_pdf/pdftheme.sty | 67 + .../add-starlingxdocs-10a33318f8630486.yaml | 11 + tox.ini | 20 +- 23 files changed, 4687 insertions(+), 20 deletions(-) create mode 120000 openstackdocstheme/theme/openstackdocs/static/images/logo-full.png create mode 120000 openstackdocstheme/theme/openstackdocs/static/images/logo-vert.png rename openstackdocstheme/theme/openstackdocs_pdf/{openstack-logo-full.png => logo-full.png} (100%) create mode 100644 openstackdocstheme/theme/starlingxdocs/static/css/combined.css create mode 100644 openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.png create mode 100644 openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.svg create mode 100644 openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.png create mode 100644 openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.svg create mode 120000 openstackdocstheme/theme/starlingxdocs/static/images/logo-full.png create mode 120000 openstackdocstheme/theme/starlingxdocs/static/images/logo-full.svg create mode 120000 openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.png create mode 120000 openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.svg create mode 100644 openstackdocstheme/theme/starlingxdocs/theme.conf create mode 120000 openstackdocstheme/theme/starlingxdocs_pdf/logo-full.png create mode 120000 openstackdocstheme/theme/starlingxdocs_pdf/logo-full.svg create mode 100644 openstackdocstheme/theme/starlingxdocs_pdf/pdftheme.sty create mode 100644 releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 0c470c35..65493a6a 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -5,6 +5,17 @@ vars: tox_envlist: buildpdf +- job: + name: openstackdocsstheme-tox-manuals-buildpdf-starlingxpdf + parent: build-tox-manuals-base + vars: + tox_envlist: buildpdf-starlingxdocs + +- job: + name: openstack-tox-docs-starlingxdocs + parent: openstack-tox-docs + vars: + tox_envlist: docs-starlingxdocs - project: templates: @@ -14,6 +25,7 @@ check: jobs: - openstackdocsstheme-tox-manuals-buildpdf + - openstackdocsstheme-tox-manuals-buildpdf-starlingxpdf - openstack-tox-pep8 - build-openstack-api-ref: # Override files section of the job so that this builds @@ -25,9 +37,12 @@ - ^openstackdocstheme/.*$ - ^.*\.txt$ - ^.*\.rst$ + # Run the docs build using the starlingxdocs theme + - openstack-tox-docs-starlingxdocs gate: jobs: - openstackdocsstheme-tox-manuals-buildpdf + - openstackdocsstheme-tox-manuals-buildpdf-starlingxpdf - openstack-tox-pep8 - build-openstack-api-ref: files: @@ -37,6 +52,7 @@ - ^openstackdocstheme/.*$ - ^.*\.txt$ - ^.*\.rst$ + - openstack-tox-docs-starlingxdocs post: jobs: - publish-openstack-python-branch-tarball diff --git a/README.rst b/README.rst index 90d55a5b..5b22dc61 100644 --- a/README.rst +++ b/README.rst @@ -7,16 +7,35 @@ Team and repository tags .. Change things from this point on -OpenStack docs.openstack.org Sphinx Theme -========================================= +OpenStack Foundation Sphinx Themes +================================== -Theme and extension support for Sphinx documentation that is published to +Theme and extension support for Sphinx documentation that is published by +OpenStack Foundation projects. + +OpenStack docs.openstack.org Sphinx Theme +----------------------------------------- + +Theme support for Sphinx documentation that is published to docs.openstack.org and developer.openstack.org. Intended for use by OpenStack `projects governed by the Technical Committee`_. .. _`projects governed by the Technical Committee`: https://governance.openstack.org/tc/reference/projects/index.html +StarlingX docs.starlingx.io Sphinx Theme +----------------------------------------- + +Theme support for Sphinx documentation that is published to +docs.starlingx.io. + +Intended for use by StarlingX `projects governed by the Technical Steering Committee`_. + +.. _`projects governed by the Technical Steering Committee`: https://docs.starlingx.io/governance/reference/projects/index.html + +References +---------- + * Free software: Apache License, Version 2.0 * Documentation: https://docs.openstack.org/openstackdocstheme/latest/ * Release notes: https://docs.openstack.org/releasenotes/openstackdocstheme/ diff --git a/doc/source/index.rst b/doc/source/index.rst index 07e9c4f8..12886661 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,14 +1,20 @@ -=========================================== - OpenStack docs.openstack.org Sphinx theme -=========================================== +========================= + OpenStack Sphinx themes +========================= -*openstackdocstheme* is a theme and extension support for Sphinx documentation -that is published to docs.openstack.org and developer.openstack.org. +*openstackdocstheme* is a Sphinx documentation extension that includes +theme support for OpenStack Foundation projects. -It is intended for use by OpenStack `projects governed by the Technical -Committee`_. +The *openstackdocs* theme is used for documentation that is published +to docs.openstack.org and developer.openstack.org. It is intended for +use by OpenStack `projects governed by the Technical Committee`_. + +The *starlingxdocs* theme is used for documentation that is published +to docs.starlingx.io. It is intended for use by StarlingX +`projects governed by the Technical Steering Committee`_. .. _`projects governed by the Technical Committee`: https://governance.openstack.org/reference/projects/index.html +.. _`projects governed by the Technical Steering Committee`: https://docs.starlingx.io/governance/reference/projects/index.html Using the theme --------------- diff --git a/openstackdocstheme/ext.py b/openstackdocstheme/ext.py index cfd4403b..de3bd5ef 100644 --- a/openstackdocstheme/ext.py +++ b/openstackdocstheme/ext.py @@ -277,7 +277,7 @@ def _builder_inited(app): # we only override configuration if the theme has been configured, meaning # users are using these features - if app.config.html_theme != 'openstackdocs': + if app.config.html_theme not in ['openstackdocs', 'starlingxdocs']: return # TODO(stephenfin): Once Sphinx 1.8 is released, we should move the below @@ -302,8 +302,8 @@ def _builder_inited(app): app.config.version = version app.config.release = version - openstack_logo = paths.get_openstack_logo_path() - pdf_theme_path = paths.get_pdf_theme_path() + theme_logo = paths.get_theme_logo_path(app.config.html_theme) + pdf_theme_path = paths.get_pdf_theme_path(app.config.html_theme) app.config.latex_engine = 'xelatex' app.config.latex_elements = { @@ -313,7 +313,7 @@ def _builder_inited(app): 'classoptions': ',openany', 'preamble': r""" \usepackage{""" + pdf_theme_path + """} -\\newcommand{\openstacklogo}{""" + openstack_logo + """} +\\newcommand{\openstacklogo}{""" + theme_logo + """} """} @@ -330,6 +330,10 @@ def setup(app): 'openstackdocs', os.path.abspath(os.path.dirname(__file__)) + '/theme/openstackdocs', ) + app.add_html_theme( + 'starlingxdocs', + os.path.abspath(os.path.dirname(__file__)) + '/theme/starlingxdocs', + ) return { 'parallel_read_safe': True, } diff --git a/openstackdocstheme/paths.py b/openstackdocstheme/paths.py index be6d26d4..dde64b3b 100644 --- a/openstackdocstheme/paths.py +++ b/openstackdocstheme/paths.py @@ -24,13 +24,13 @@ def get_html_theme_path(): return os.path.join(get_pkg_path(), 'theme') -def get_pdf_theme_path(): +def get_pdf_theme_path(theme): """Return the directory containing PDF theme for local builds.""" - args = ['theme', 'openstackdocs_pdf', 'pdftheme'] + args = ['theme', theme + '_pdf', 'pdftheme'] return os.path.join(get_pkg_path(), *args) -def get_openstack_logo_path(): - """Return the directory containing openstack logo for local builds.""" - args = ['theme', 'openstackdocs_pdf', 'openstack-logo-full.png'] +def get_theme_logo_path(theme): + """Return the directory containing theme logo for local builds.""" + args = ['theme', theme + '_pdf', 'logo-full.png'] return os.path.join(get_pkg_path(), *args) diff --git a/openstackdocstheme/theme/openstackdocs/static/images/logo-full.png b/openstackdocstheme/theme/openstackdocs/static/images/logo-full.png new file mode 120000 index 00000000..eb0e7681 --- /dev/null +++ b/openstackdocstheme/theme/openstackdocs/static/images/logo-full.png @@ -0,0 +1 @@ +openstack-logo-full.png \ No newline at end of file diff --git a/openstackdocstheme/theme/openstackdocs/static/images/logo-vert.png b/openstackdocstheme/theme/openstackdocs/static/images/logo-vert.png new file mode 120000 index 00000000..aca8b64a --- /dev/null +++ b/openstackdocstheme/theme/openstackdocs/static/images/logo-vert.png @@ -0,0 +1 @@ +openstack-logo-vert.png \ No newline at end of file diff --git a/openstackdocstheme/theme/openstackdocs_pdf/openstack-logo-full.png b/openstackdocstheme/theme/openstackdocs_pdf/logo-full.png similarity index 100% rename from openstackdocstheme/theme/openstackdocs_pdf/openstack-logo-full.png rename to openstackdocstheme/theme/openstackdocs_pdf/logo-full.png diff --git a/openstackdocstheme/theme/starlingxdocs/static/css/combined.css b/openstackdocstheme/theme/starlingxdocs/static/css/combined.css new file mode 100644 index 00000000..b4160c16 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/css/combined.css @@ -0,0 +1,4502 @@ +html { + overflow-y: scroll; } + +/* pad after a table. + * bug 1439918 */ +table { + margin-bottom: 10px; } + +table.docutils th { + padding: 2px; } + +table.docutils td { + padding: 2px; } + +table.docutils caption { + font-weight: bold; } + +hr { + height: 1px !important; } + +a, a:visited { + color: #bc1518; + text-decoration: none; } + +a:hover { + text-decoration: underline; } + +ol.arabic ol { + list-style-type: lower-alpha; } + +ol.arabic ol ol { + list-style-type: upper-alpha; } + +dd { margin-left: 2em; } + +div.docs-body code.literal { + color: #000; +} + +div.docs-body table code.literal { + color: #000; +} + +div.docs-body span.guilabel, div.docs-body span.menuselection { + color: #c7254e; + background-color: #e1e4e5; + padding: 1px 3px; + border-radius: 4px; +} + +/* @group Navigation */ +#navigation { + display: block; + background: url('../images/header-line.gif') repeat-x 0 bottom; + padding-bottom: 1px; } + +#navigation * { + padding: 0; + margin: 0; } + +#navigation ul { + display: block; + margin: 0 auto; } + +#navigation li { + display: block; + float: left; + margin-right: 20px; } + +#navigation li a { + display: block; + font-weight: normal; + text-decoration: none; + background-position: 50% 0; + padding: 20px 0 5px; + color: #353535; + font-size: 14px; } + +#navigation li a.current, #navigation li a.section { + border-bottom: 3px solid #cf2f19; + color: #cf2f19; } + +/* @group Auto-clearing */ +#navigation:after, #navigation ul:after, #header:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; } + +#navigation, #navigation ul, #header:after { + display: inline-block; } + +/* Hides from IE-mac \*/ +* html #navigation, * html #navigation ul { + height: 1%; } + +#navigation, #navigation ul, #header:after { + display: block; } + +/* End hide from IE-mac */ +/* @end */ +#logo a { + display: block; + margin-top: 8px; + text-indent: -1000em; + background: url('../images/open-stack-cloud-computing-logo-2.png') no-repeat left center; + height: 54px; + width: 177px; + margin-left: -10px; } + +#header { + margin-bottom: 0px; + margin-top: 20px; } + +/* @end */ +/* @group Tabs */ +.tabContentHidden { + display: none; } + +.tabTops { + border: 1px solid black; + border-bottom: none; } + +#subnav li { + list-style-type: none; + margin-bottom: 5px; + padding: 0; } + +#subnav ul { + padding-left: 0px; + margin-right: 0px; } + +#subnav ul.overviewNav li a { + display: block; + padding: 10px 20px 10px 42px; + text-decoration: none; + color: black; + background-color: #e9e9e9; + background-image: none; + text-align: right; + margin-right: 40px; } + +#subnav ul.overviewNav li a:hover { + background-color: #d6d6d6; + -webkit-transition: background-color 1s ease-out; } + +ul.subsectionNav li.current a { + background-color: #c4e0e9; + -webkit-transition: background-color 1s ease-out; } + +.subsectionNav a[href*="/essex/"] { + background-color: #E9E9E9 !important; } + +.subsectionNav a[href*="/start/"] { + background-color: #D5EFD4 !important; + margin-top: 30px; } + +.subsectionNav a[href*="/marketplace/training/"] { + margin-top: 30px; } + +.overviewNav li.active, .subsectionNav li.active { + background: url('../images/pointer-arrow.gif') no-repeat right center; } + +#subnav ul li { + text-align: right; } + +ul.subsectionNav li a { + display: block; + padding: 10px 20px 10px 42px; + text-decoration: none; + color: black; + background: #e2ecef none no-repeat 5px center; + margin-right: 40px; } + +ul.subsectionNav li a:hover { + background-color: #c4e0e9; + -webkit-transition: background-color 1s ease-out; } + +ul.tabs { + padding: 0 2px 0 0; + white-space: nowrap; + list-style-type: none; + display: block; + zoom: 1; + margin-right: 0px; + clear: both; + border-bottom: 1px solid #d8d8d8; + background-color: #ececec; } + +.tabSet { + margin: auto; + background-color: #f5f5f5; + -webkit-border-radius: 3px; + border: 1px solid #d8d8d8; + border-top: 1px solid #bcbcbc; } + +#home .tabSet { + margin-top: 45px; } + +.featureHeader { + margin-left: 20px; + margin-top: 20px; } + +.tabs li { + cursor: pointer; + display: inline; + margin-right: -3px; + padding: 0px; } + +.tabs li a { + margin: 0px; + display: inline-block; + text-align: left; + color: #41728d; + font-size: 13px; + font-family: 'PT Sans', serif; + padding: 6px 14px; + text-shadow: #fff 0px 1px 1px; + border-right: 1px solid #d8d8d8; + width: 160px; + text-align: center; } + +.tabs li a:hover { + background-color: #eee; + text-decoration: none; } + +.tabs li.active a { + cursor: default; + text-decoration: none; + position: relative; + color: black; + background-color: #f5f5f5; + border-bottom: 1px solid #f5f5f5; + margin-bottom: -1px; + border-top: 1px white solid; + font-weight: bold; } + +.tabs li#showcode a { + background: #6b90da; + padding-bottom: 6px; + font-weight: bold; + color: #fff; } + +/* @end */ +/* @group Buttons */ +a.button { + font-family: 'PT Sans', serif; + border: 1px solid #ccc; + padding: 3px 30px; + color: #525252; + text-decoration: none; + font-size: 14px; + line-height: 3em; + background: #ddd; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + text-shadow: #fff 0px 1px 1px; + background: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#bebebe)); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#bebebe'); } + +a.button:hover { + color: black; + -webkit-transition: color 1s ease-out; } + +a.button:active { + background: #ababab; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + border-color: #ababab; + border-top-color: #636363; + background: -webkit-gradient(linear, left top, left bottom, from(#bebebe), to(#dddddd)); + -webkit-transition: none; + padding: 4px 29px 2px 31px !important; } + +/* @end */ +/* @group Rounded Buttons */ +.roundedButton, input.action { + font-family: 'PT Sans', serif; + border: 1px solid #e2e2e2; + padding: 4px 15px; + color: black !important; + text-decoration: none !important; + font-size: 12.5px; + line-height: 3em; + background: #FFFFFF; + /* old browsers */ + /* firefox */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #FFFFFF), color-stop(50%, #F3F3F3), color-stop(100%, #EBEBEB)); + /* webkit */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#EBEBEB',GradientType=0 ); + /* ie */ + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2); + text-shadow: #fff 0px 1px 1px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-bottom-color: #a0a0a0; + border-right-color: #bababa; + border-left-color: #bababa; } + +.roundedButton:hover, input.action:hover { + color: black; + -webkit-transition: color 1s ease-out; + cursor: pointer; } + +a.roundedButton:active, input.action:active { + background: #ababab; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + border-color: #ababab; + border-top-color: #636363; + background: -webkit-gradient(linear, left top, left bottom, from(#bebebe), to(#dddddd)); + -webkit-transition: none; + padding: 4px 15px; } + +input.action { + line-height: 1.2em !important; } + +/* @end */ +.subhead { + color: #cf2f19; + font-size: 16px; + border-bottom: 1px dotted; + padding-bottom: 5px; + border-color: #c5e2ea; + margin-bottom: 20px; } + +/* @group projects page */ +.projectsPage h1, .communityPage h1, #blog h1 { + color: #264d69; + font-size: 24px; } + +.projectsPage h2 { + color: #264d69; + font-size: 17px; } + +#subnav { + padding-top: 38px; } + +.note { + color: #33730a; + background: #e2f4dc url('../images/side-note-pointer.gif') no-repeat left center; } + +.note a { + color: #33730a; + text-decoration: underline; } + +/* BB: Removed because it looks ugly +.note p { + margin-left: 8px; + padding: 10px; + margin-bottom: 0px; + border-bottom: 1px solid #b5c8a8; } +*/ + +a#CitrixVideo { + display: block; + padding-top: 93px; + background: url('../images/citrix-video-thumbnail.jpg') no-repeat; + color: #aeaeae; + text-decoration: none; + margin-top: 3px; } + +h3.videoHeader { + color: #939393; + font-size: 14px; } + +a.downloadLink { + text-decoration: none; + color: white; + font-family: helvetica, arial; + font-weight: bold; + display: block; + width: 250px; + text-align: center; + position: relative; + padding: 3px; + margin-bottom: 5px; + margin-top: 5px; + /* BORDER RADIUS */ + border-radius: 5px; + background-color: #989996; + border: 2px solid white; } + +/* @end */ +#footer { + margin-top: 30px; } + +/* @group compute */ +.projectVitals { + border-top: 1px solid #c5e2ea; + padding-top: 10px; } + +.projectVitals h3 { + font-size: 16px; + color: #264d69; } + +#availability { + line-height: 1.4em; + padding: 12px; + color: #747474; + background-color: #f6f8f8; + border: 1px solid #d4d5d5; + margin-bottom: 10px; + height: 9em; } + +.projectVitals h4 { + font-size: 14px; + color: #797979; + margin-bottom: 4px; } + +#availability p { + margin: 0px; } + +#parallax { + background: #2f3134; + position: relative; + overflow: hidden; + width: 60em; + height: 300px; + margin: 1.5em 0; } + +/* @group FAQ */ +.faqs .span-5 { + font-size: 14px; + color: #707070; + font-weight: bold; } + +.faqs hr { + padding: 0px; } + +.faqs div { + margin-bottom: 20px; } + +/* @end */ +/* @end */ +/* @group community page */ +.communityBox { + height: 213px; + background: #f8f8f8 url('../images/community-box-headers.png') no-repeat 0 0; } + +#userResources { + background-position: -200px 0; } + +#devCenter { + background-position: -400px 0; } + +.communityBox p, .communityBox h2 { + margin: 15px; } + +.communityBox, .communityBox a, .communityBox a.visited { + color: #6b6b6b; } + +.communityBox a { + text-decoration: underline; } + +.communityBox h2 { + color: black; + font-size: 17px; + margin-top: 60px; } + +.participants h2, .communityResources h2 { + font-size: 16px; + color: #264d69; + margin-top: 30px; + padding-top: 10px; + border-top: 1px dotted #c5e2ea; } + +#designSummit h2 { + text-indent: -1000px; + height: 222px; + margin-top: -9px; + margin-bottom: 10px; + background: url('../images/openstack-design-summit-community.jpg') no-repeat 0 0; } + +#designSummit { + color: #6b6b6b; } + +#designSummit strong { + color: black; + font-weight: normal; } + +/* @end */ +/* @group blog */ +#blog h2 { + color: #5189a0; + font-size: 15px; + margin-bottom: 0px; } + +#blog h2 a { + background-color: #eaeaea; + text-align: center; + padding: 1px; + padding-left: 7px; + padding-right: 7px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + color: #757575; + font-size: 0.7em; + text-decoration: none; } + +div.byline { + border-bottom: 1px dotted #c5e2ea; + border-top: 1px dotted #c5e2ea; + margin-bottom: 10px; + padding: 2px 0; } + +div.byline p { + margin: 0px; } + +div.byline .postDate { + text-align: right; } + +div.byline p.name a, div.byline p.name a:visited { + color: #cf2f19; + text-decoration: none; } + +div.socialMedia { + background-color: #eef3f5; + margin-bottom: 20px; } + +div.socialMedia div { + padding: 10px; } + +div.socialMedia h4 { + margin-bottom: 2px; } + +div.socialMedia p { + margin-bottom: 0px; } + +div.socialMedia div.twitter { + border-bottom: 1px dotted #c5e2ea; } + +#blog h3 { + margin-bottom: 5px; + font-size: 12px; } + +/* @end */ +/* @group Brand */ +div.termsBox { + border: 1px solid #c6e2ea; + padding: 10px; + height: 300px; + overflow: scroll; + margin-bottom: 10px; } + +.termsBox h3, #openstack-trademark-policy h3 { + font-size: 100%; + font-weight: bold; } + +.termsBox a { + color: inherit; + text-decoration: underline; } + +/* @end */ +/* @group quotes */ +ul#quotes { + margin-left: 0px; + padding-left: 0px; + margin-top: 10px; } + +ul#quotes li { + list-style-type: none; } + +ul#quotes li p { + line-height: 1.4em; } + +ul#quotes p { + font-size: 16px; + font-family: 'PT Sans', serif; + margin-bottom: 0px; + color: black; + line-height: 1.2em; + padding: 10px; + padding-bottom: 0px; } + +ul#quotes p.name { + margin-top: 10px; + font-size: 14px; + text-transform: uppercase; + color: #9b9b9b; + text-indent: 0px; } + +ul#quotes p.name strong { + font-weight: normal; + color: #494949; } + +/* @end */ +.tooltip { + background: black; + background: rgba(0, 0, 0, 0.8); + padding: 1px 8px; + color: white; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; } + +a.Datasheet { + padding-top: 110px; + display: block; + background: url('../images/openstack-product-pdf.jpg') no-repeat center top; + margin-left: 20px; + margin-top: 30px; } + +a.Datasheet:hover { + text-decoration: none; + color: #bc1518; } + +a#DemoVideo { + display: block; + padding-top: 103px; + margin-left: 18px; + background: url('../images/demo-video-thumbnail.jpg') no-repeat; + text-decoration: none; + margin-top: 50px; } + +/* @group Tables */ +.tabContent table { + margin: 20px; + width: 670px; } + +.tabContent table td { + border-bottom: 1px solid #d8d8d8; + vertical-align: top; + padding: 10px 10px 20px 0; } + +.tabContent table td p { + margin: 0px; } + +.tabContent table tr:last-child td { + border-bottom: none; } + +.tabContent table th { + font-family: 'PT Sans', serif; + font-style: normal; + font-weight: normal; + font-size: 18px; + letter-spacing: -0.076em; + line-height: 1em; + color: #264d69; + padding-left: 0px; } + +.tabContent table a:active, .tabContent table a:visited, .tabContent table a { + color: inherit; + text-decoration: underline; } + +p.fnote { + margin-left: 20px; } + +/* @end */ +h2.user-story-quote { + line-height: 1.5em; + color: grey !important; } + +.user-story-quote-author { + text-transform: uppercase; } + +ul.user-project-list { + margin: 0px; + padding: 0px; + overflow: hidden; + margin-bottom: 20px; } + +ul.user-project-list li { + display: block; + margin-right: 5px; + background-color: #e2f1f5; + border: 1px solid #89c6d6; + -webkit-border-radius: 3px; + padding: 2px 8px; + margin-bottom: 5px; + color: #1a4b6b; + font-size: 95%; + width: 170px; + float: left; } + +#footer ul { + margin: 10px 0px 20px; + padding: 0px; + list-style: none; } + +#footer a, #footer a:visited, #footer a:active { + color: black; } + +#footer h3 { + color: #de0000; + font: 130% 'PT Sans', serif; } + +#footer textarea { + width: 260px; + height: 60px; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #EBEBEB), color-stop(5%, #FFFFFF)); + /* webkit */ } + +#footer form { + margin-top: 8px; + margin-bottom: 20px; } + +.user-links li { + padding-left: 20px; + background: url('../images/link.png') no-repeat left center; + margin-left: -20px; + list-style: none; } + +.user-objectives { + background-color: #ecedec; + padding: 20px; + margin-bottom: 15px; } + +.user-objectives p { + margin-bottom: 0px; } + +.user-name { + padding-top: 10px; } + +.user-photo img { + border: 5px solid white; + -webkit-box-shadow: 3px 2px 2px rgba(0, 0, 0, 0.3); } + +.siteMessage { + -webkit-border-radius: 4px; + border: 1px solid; + margin-bottom: 10px; + margin-top: 20px; } + +.siteMessage p { + margin: 8px; } + +#InfoMessage { + color: black; + background-color: #DBEAEE; + border-color: #B5D8E2; + font-size: 120%; + padding: 10px; } + +#SuccessMessage { + color: #3E933A; + background-color: #E2F7D8; + border-color: #9FDE9C; } + +#ErrorMessage { + color: #DA1D1D; + background-color: #FFDFDF; + border-color: #FFBBBB; } + +p.message.bad { + color: #DA1D1D; + background-color: #FFDFDF; + border-color: #FFBBBB; + padding: 15px; + border: 1px solid #DA1D1D; } + +.topMessage { + background: #E4EEF1; + border-bottom: 1px solid white; + padding: 5px; + font-size: 1.3em; + color: #255E6E; + font-family: 'PT Sans', serif; + text-shadow: #fff 0px 1px 1px; + box-shadow: 1px 1px 1px 1px #ccc; } + +.topMessage p { + margin-bottom: 0px; } + +#header { + margin-top: 40px; } + +span.message { + font-weight: bold; + color: #CE332C; } + + +.roundedButton-margin { + margin-left: 5px; } + +/*! + * Start Bootstrap - Landing Page Bootstrap Theme (http://startbootstrap.com) + * Code licensed under the Apache License v2.0. + * For details, see http://www.apache.org/licenses/LICENSE-2.0. + */ +body, html { + width: 100%; + height: 100%; } + +body { + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; +} + +h1, h2, h3, h4, h5 { + color: #2A4E68; + font-weight: lighter; +} + +a, a:visited { + color: #30739C; } + +.lead { + font-size: 18px; + font-weight: 400; } + +/*Header Navigation*/ +.brand-wrapper { + margin: 10px 0; + padding-right: 20px; + float: left; + border-right: 1px solid #eee; + min-width: 135px; } + +a.navbar-brand { + background: url('../images/logo-full.svg') left no-repeat; + height: 35px; + width: 135px; } + +@media (min-width: 768px) and (max-width: 1025px) { + .brand-wrapper { + width: 75px; + min-width: 75px; + margin-top: 0; } + a.navbar-brand { + background: url('../images/logo-vert.svg') left no-repeat; + margin-left: 0px !important; + height: 54px; + width: 59px; } } + +@media (max-width: 767px) { + a.navbar-brand { + margin-left: 15px; } } + +.navbar-default { + border: none; + border-radius: 0px; + background: #fff; + margin-bottom: 0; + padding: 20px 0; } + +.navbar-default .container { + background-color: white; } + +@media (min-width: 768px) and (max-width: 1200px) { + .navbar-default .container { + width: 98%; } } + +ul.navbar-main { + display: none; + float: right; } + +@media (min-width: 768px) and (max-width: 1097px) { + ul.navbar-main { + display: block; } } + +@media (max-width: 767px) { + ul.navbar-main { + display: block; + margin-right: 30px; + width: 90%; } } + +.navbar-default ul.navbar-main > li > a { + color: #8a959e; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; } + +@media (min-width: 768px) and (max-width: 1025px) { + ul.navbar-main { + margin-top: 1px; } + .navbar-default ul.navbar-main > li > a { + font-size: 11px; + padding: 15px 8px; } } + +.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { + background: #fff; } + +.navbar-nav > li > .dropdown-menu { + margin-top: 10px; + padding: 10px 0; + min-width: 230px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; } + +.navbar-nav > li > .dropdown-menu:after, .navbar-nav > li > .dropdown-menu:before { + bottom: 100%; + left: 25%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; } + +.navbar-nav > li > .dropdown-menu:after { + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; + border-width: 15px; + margin-left: -15px; } + +.navbar-nav > li > .dropdown-menu:before { + border-color: rgba(170, 170, 170, 0); + border-bottom-color: #aaaaaa; + border-width: 16px; + margin-left: -16px; } + +@media (max-width: 767px) { + .navbar-nav > li > .dropdown-menu:after, .navbar-nav > li > .dropdown-menu:before { + display: none; } + .navbar-nav > li > .dropdown-menu:after { + display: none; } + .navbar-nav > li > .dropdown-menu:before { + display: none; } } + +i.fa-caret-right { + margin-left: 8px; } + +.navbar-nav > li > .dropdown-menu li a { + text-transform: uppercase; + padding: 13px 20px; + font-size: 12px; + color: #8a959e; } + +.navbar-nav > li > .dropdown-menu li a:hover { + color: #333; } + +.navbar-nav > li > .dropdown-menu li a:focus { + outline: none; } + +@media (max-width: 767px) { + .navbar-default ul.navbar-main > li > a i.fa-caret-down { + display: none; } } + +.navbar-default .navbar-toggle { + border: none; } + +.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { + background: transparent; } + +.navbar-default .navbar-toggle .icon-bar { + background-color: #5A5A5A; + height: 3px; + border-radius: 3px; } + +.show +{ + display: block; +} + +@media (max-width: 767px), only screen and (max-device-width: 1024px) { + .show + { + display: none; + } +} + +/*End Header Navigation*/ +/*Hero*/ +.intro-header { + padding-top: 0px; + padding-bottom: 0; + text-align: center; + color: #f8f8f8; + background: url('../images/hero-bkgd1.jpg') no-repeat center center; + background-size: cover; + position: relative; } + +.intro-header h1 { + color: #f8f8f8; } + +.intro-message { + position: relative; + padding-top: 110px; + padding-bottom: 110px; } + +@media (max-width: 1199px) { + .intro-message { + padding-bottom: 50px; } } + +.intro-message > h1 { + margin: 0; + font-size: 3em; + font-weight: 300; + text-align: center; + width: 100%; } + +@media (max-width: 767px) { + .intro-message > h1 { + font-size: 3em; } } + +.intro-divider { + width: 400px; + border-top: 1px solid #f8f8f8; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); } + +.intro-message > h3 { + text-shadow: none; + text-align: left; + font-weight: 300; + font-size: 24px; + margin-top: 10px; } + +.hero-credit { + position: absolute; + bottom: 30px; + right: 30px; + color: #fff; + opacity: 0.5; } + +.hero-credit:hover { + opacity: 1; } + +/*Hero Promo, add .featured to .intro-header*/ +.intro-header.featured { + text-align: center; + background: url('../images/summit-promo-bkgd1.jpg') no-repeat center center; + min-height: 420px; + background-size: cover; + position: relative; } + +.intro-header.featured .intro-message { + padding-bottom: 50px; } + +a.promo-btn { + color: #fff; + font-size: 24px; + font-weight: 300; + background: transparent; + border: 2px solid #fff; + border-radius: 4px; + padding: 20px 35px; + margin: 0 auto; + text-align: center; + min-width: 370px; + display: inline-block; } + +a.promo-btn:hover { + text-decoration: none; + background: rgba(255, 255, 255, 0.2); } + +a.promo-btn i.fa-chevron-right { + background: transparent; + border: 2px solid #fff; + border-radius: 100px; + padding: 0; + font-size: 14px; + margin-left: 10px; + width: 30px; + height: 30px; + line-height: 2.1; } + +p.promo-dates { + display: inline-block; + margin-top: 10px; + font-weight: 400; } + +/*End Hero*/ +/*Overview Section*/ +.overview-section { + padding: 80px 0; } + +@media (max-width: 767px) { + .overview-section { + padding-top: 40px; } } + +.overview-section h2 { + color: #2A4E68; + font-size: 34px; + font-weight: 300; + margin-bottom: 25px; } + +.overview-section p { + color: #888; + font-size: 16px; + font-weight: 300px; + line-height: 1.4; } + +.overview-section a { + color: #30739C; + text-decoration: underline; } + +.btn-wrapper { + float: left; + width: 100%; + text-align: center; } + +@media (max-width: 980px) { + .overview-left { + margin-bottom: 50px; } } + +a.overview-btn { + float: left; + background: #30739C; + color: #fff; + text-transform: uppercase; + border-radius: 4px; + padding: 15px 25px; + text-decoration: none; + margin-top: 5px; + margin-bottom: 5px; } + +a.overview-btn:hover { + background: #2A4E68; } + +a.overview-btn.left-btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 1px solid #3387C9; + margin-right: 0; } + +a.overview-btn.left-btn:hover { + border-right-color: #1B486B; } + +a.overview-btn.right-btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 1px solid #1B486B; + margin-left: 0; } + +.release-text { + display: block; + text-align: left; + color: #636568; + font-size: 13px; } + +.overview-section .img-responsive { + max-width: 550px; } + +.overview-right { + text-align: center; } + +.control-cloud-graphic { + max-width: 600px; + margin: 0 auto 15px; } + +a.demo-link { + font-size: 13px; + font-weight: 400; + text-decoration: none; + color: #34789A; + background: #F0F9FE; + padding: 10px 25px; + border-radius: 4px; } + +a.demo-link:hover { + color: #34789A; + background: #CDD9E2; } + +a.demo-link i { + margin-left: 5px; + font-size: 14px; } + +/*When Featured, Add Class .featured to .overview-section*/ +.overview-section.featured .overview-right { + background: #E8EEF5; + border-radius: 4px; + text-align: center; + padding: 20px; + margin-top: 50px; } + +@media (max-width: 1200px) { + .overview-section.featured .overview-right { + margin-top: 50px; } } + +.overview-section.featured .overview-right h3 { + color: #30739C; + text-align: center; } + +.overview-section.featured .overview-right p { + color: #333; + font-size: 13px; } + +.overview-section.featured .overview-right img.promo-graphic { + max-width: 350px; + margin: 20px auto; } + +/*End Overview Section*/ +/*Customers Section*/ +.customers-row { + padding: 80px 0; + text-align: center; + background: #edf2f7; } + +.customers-row h2 { + text-transform: capitalize; + margin-bottom: 0; + text-align: center; } + +.customer-logos-wrapper { + margin: 35px 0 25px; } + +.customer-logos-wrapper ul { + padding: 0; } + +li.customer-logos { + position: relative; + padding: 20px 1%; + width: 16%; + list-style: none; + display: inline-block; } + +@media (max-width: 767px) { + li.customer-logos { + position: relative; + padding: 20px 0; + width: 80%; + margin: 0 auto; + display: block; } } + +li.customer-logos img { + max-width: 100%; } + +.logo-hover { + background: #dee2e8; + border-radius: 3px; } + +.logo-hover:after { + content: ' '; + height: 0; + position: absolute; + width: 0; + border: 10px solid transparent; + border-top-color: #dee2e8; + top: 100%; + left: 50%; + margin-left: -10px; } + +.customers-description { + margin: 40px 0; + color: #2A4E68; + text-align: center; } + +.customers-description p { + padding: 20px 50px; + border-top: 1px solid #dee2e8; + border-bottom: 1px solid #dee2e8; + display: inline; } + +@media (max-width: 767px) { + .customers-description p { + display: block; } } + +.customers-action { + margin-top: 40px; + text-align: center; } + +a.customer-btn { + background: #2A4E68; + color: #fff; + text-transform: uppercase; + border-radius: 4px; + padding: 15px 25px; + text-decoration: none; + border-style: none; } + +a.customer-btn:hover { + background: #173D5B; + color: #fff; } + +/*When Featured, Add Class .featured to .customers-row*/ +.customers-row.featured .customer-logos-wrapper { + width: 50%; + max-width: 1000px; + margin: 40px 25% 0; + border-top: 1px solid #DDE3E8; + padding-top: 20px; } + +.customers-row.featured .customer-logos-wrapper hr { + color: #333; } + +.customers-row.featured .customer-logos img { + width: 90%; + max-width: 100px; } + +.customers-row.featured .customer-logos:hover { + background: none; } + +.customers-row.featured .customer-logos:hover:after { + display: none; } + +.customers-row.featured .customers-action { + margin-top: 0; } + +.customers-row.featured button.customer-btn { + background: none; + border-radius: 0; + padding: 0; + text-decoration: underline; + color: #2A4E68; + text-transform: capitalize; } + +.featured-description { + width: 85%; + margin: 40px auto; } + +@media (max-width: 767px) { + iframe { + width: 90%; } } + +/*End Customers Section*/ +/*Community Section*/ +.community-section { + padding: 75px 0; + background: url('../images/community-bkgd.jpg') no-repeat center center; + background-size: cover; + min-height: 350px; } + +.community-section.featured { + background: url('../images/community-bkgd2.jpg') no-repeat center center; + background-size: cover; } + +.community-graphic { + max-width: 650px; + margin: 0 auto; } + +@media (max-width: 1200px) { + .community-graphic { + margin-bottom: 20px; } } + +.community-section h2 { + color: #fff; } + +.community-section p { + color: #fff; } + +@media (max-width: 1200px) { + .community-section h2 { + text-align: center; } + .community-section p { + text-align: center; } } + +a.community-btn { + font-size: 16px; + font-weight: 400; + background: transparent; + border: 1px solid #fff; + border-radius: 3px; + margin-top: 10px; + padding: 8px 30px 8px 40px; + color: white; + float: left; } + +a.community-btn i { + margin-left: 10px; } + +a.community-btn:hover { + text-decoration: none; + background: rgba(255, 255, 255, 0.2); } + +/*When Featured, add .featured to .community-section*/ +.community-section.featured h3 { + color: #fff; } + +@media (max-width: 1200px) { + .community-section.featured h3 { + text-align: center; } } + +.designate-logo { + max-width: 302px; + margin: 50px 0 20px; } + +@media (max-width: 1200px) { + .designate-logo { + margin: 50px auto 20px; } } + +.default-community { + background-color: rgba(5, 54, 86, 0.7); + border-radius: 4px; + padding: 30px; + text-align: center; } + +@media (max-width: 1200px) { + .default-community { + margin-top: 50px; } } + +.default-community h2 { + margin-top: 0; } + +.community-graphic.small { + max-width: 450px; + margin: 20px auto; } + +a.featured-link { + display: block; + background: #DA422F; + padding: 10px 20px; + border-radius: 2px; + width: 80%; + text-decoration: none; + margin: 10px auto 0; + color: #fff; + font-weight: 600; } + +a.featured-link:hover { + text-decoration: none; + background: #831917; } + +/*End Community Section*/ +/*News and Events Section*/ +.news-section { + padding: 70px 0; } + +.news-section h2 a { + font-size: 14px; + color: #30739C; + font-weight: 400; + margin-left: 30px; } + +.news-section h2 a:hover { + color: #28709a; + text-decoration: none; } + +.event-ad, .news-ad { + width: 100%; + max-width: 560px; + margin-bottom: 20px; } + +.event-ad-lrg { + width: 100%; + height: 113px; + max-height: 113px; + max-width: 1140px; + margin-bottom: 20px; + background-image: url('../images/paris-summit-lrg.jpg'); + background-repeat: no-repeat; + background-size: 100% auto; + background-position: center center; } + +@media (max-width: 767px) { + .event-ad-lrg { + max-width: 766px; + background-image: url('../images/paris-summit-sm.jpg'); + background-repeat: no-repeat; + background-size: 100% auto; + background-position: center center; } } + +.news-section .news-wrapper ul { + margin: 30px 0; + padding-start: 0; + -webkit-padding-start: 0; } + +.news-section .news-wrapper ul li { + list-style: none; } + +.single-event { + float: left; + width: 100%; + padding: 15px 10px; + border-bottom: 1px solid #ebeff4; } + +.single-event:hover { + background: #edf2f7; } + +.single-event.last { + border-bottom: none; } + +.left-event { + float: left; + width: 25%; } + +@media (min-width: 768px) and (max-width: 981px) { + .left-event { + width: 25%; } } + +@media (max-width: 767px) { + .left-event { + width: 25%; } } + +.event-details { + float: left; + margin-left: 3%; + width: 62%; } + +@media (min-width: 768px) and (max-width: 981px) { + .event-details { + width: 72%; } } + +.right-event { + float: right; + width: 10%; } + +@media (min-width: 768px) and (max-width: 981px) { + .right-event { + display: none; } } + +.date, .news-type, .planet-type { + background: #fff; + border: 2px solid #DA422F; + border-radius: 4px; + padding: 5px 15px; + color: #DA422F; + font-size: 10px; + width: 100%; + text-align: center; + float: left; + margin-top: 5px; } + +.event-name, .news-title { + display: block; + font-size: 14px; + font-weight: 600; + color: #333; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + +.location, .news-date { + display: block; + float: left; + font-style: italic; + color: #333; + font-weight: 300; } + +.right-arrow { + float: right; + background: #d9dfe5; + border-radius: 100px; + width: 30px; + height: 30px; + padding: 6px 10px; + color: #fff; + margin-right: 10px; + margin-top: 5px; + display: none; } + +.single-event:hover .right-arrow { + display: block; } + +.news-type { + border: 2px solid #2A4E68; + color: #2A4E68; } + +.planet-type { + border: 2px solid #68C8C3; + color: #68C8C3; } + +.see-more-bottom { + width: 100%; + float: left; + text-align: center; + margin-top: 40px; } + +.see-more-bottom a { + color: #2A4E68; + text-decoration: none; + padding: 5px 15px; + border-radius: 4px; + font-size: 12px; + font-weight: 400; + border: 2px solid #2A4E68; } + +.see-more-bottom a i { + margin-left: 10px; + font-size: 11px; } + +/*End News and Events Section*/ +/*Photo Row*/ +.photo-row-wrapper { + width: 100%; + color: #eee; + max-height: 240px; + margin-bottom: 10px; + overflow: hidden; + margin-top: 60px; } + +@media (max-width: 765px) { + .photo-row-wrapper { + display: none; } } + +.photo-container { + width: 4000px; + max-height: 240px; + margin-left: -30px; } + +.photo-container img { + margin: 0 10px 0 0; + max-width: 22%; + max-height: 240px; } + +/*End Photo Row*/ +/*Footer*/ +footer { + background: #333333; + padding: 70px 0; } + +.footer-links h3 { + color: #fff; + font-size: 14px; +} + +.footer-links ul { + margin-left: 0; + padding-start: 0; + padding: 0; + -webkit-padding-start: 0; } + +.footer-links ul li a { + color: #aaa; + font-size: 12px; + font-weight: 400; + list-style: none; + margin-left: 0; } + +.social-icons { + width: 40px; + min-height: 40px; + display: inline-block; + margin-right: 10px; } + +.footer-twitter { + background: url('../images/footer-twitter.png') no-repeat; } + +.footer-twitter:hover { + background: url('../images/footer-twitter-hover.png') no-repeat; } + +.footer-facebook { + background: url('../images/footer-facebook.png') no-repeat; } + +.footer-facebook:hover { + background: url('../images/footer-facebook-hover.png') no-repeat; } + +.footer-linkedin { + background: url('../images/footer-linkedin.png') no-repeat; } + +.footer-linkedin:hover { + background: url('../images/footer-linkedin-hover.png') no-repeat; } + +.footer-youtube { + background: url('../images/footer-youtube.png') no-repeat; } + +.footer-youtube:hover { + background: url('../images/footer-youtube-hover.png') no-repeat; } + +.newsletter-form { + margin: 10px 0 30px; + width: 100%; } + +.newsletter-form label { + color: #aaa; + font-size: 12px; + font-weight: 300; + display: block; } + +.newsletter-input { + display: inline-block; + background: transparent; + border: 2px solid #888; + border-radius: 4px; + color: #888; + font-size: 12px; + font-weight: 400; + padding: 10px 15px; + width: 70%; } + +@media (max-width: 767px) { + .newsletter-input { + width: 70%; } } + +.newsletter-input::-webkit-input-placeholder { + color: #888; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; } + +.newsletter-input:-moz-placeholder { + /* Firefox 18- */ + color: #888; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; } + +.newsletter-input::-moz-placeholder { + /* Firefox 19+ */ + color: #888; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; } + +.newsletter-input:-ms-input-placeholder { + color: #888; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; } + +.newsletter-input:focus { + outline: none; + border: 2px solid #666; } + +.newsletter-btn { + margin-left: 1%; + display: inline-block; + background: transparent; + border: 2px solid #30739C; + border-radius: 4px; + color: #30739C; + font-size: 12px; + font-weight: 400; + padding: 10px 15px; + text-transform: uppercase; + width: 27%; } + +@media (max-width: 767px) { + .newsletter-btn { + width: 18%; + margin-left: 2%; + padding: 10px; } } + +.newsletter-btn:hover { + border: 2px solid #888; + color: #999; } + +.fine-print { + margin-top: 20px; + color: #aaa; + font-size: 12px; } + +.fine-print a { + color: #aaa; + text-decoration: underline; } + +.fine-print a:hover { + color: #fff; } + +.footer-bottom { + background: #222; + padding: 15px 0; + text-align: center; + width: 100%; } + +.feedback-input { + display: inline-block; + background: #222; + border: 2px solid #444; + border-radius: 4px; + color: #777; + font-size: 12px; + font-weight: 400; + padding: 10px 20px; + width: 310px; } + +@media (max-width: 767px) { + .feedback-input { + width: 70%; } } + +.feedback-input::-webkit-input-placeholder { + color: #555; + font-size: 12px; + font-weight: 400; } + +.feedback-input:-moz-placeholder { + /* Firefox 18- */ + color: #555; + font-size: 12px; + font-weight: 400; } + +.feedback-input::-moz-placeholder { + /* Firefox 19+ */ + color: #555; + font-size: 12px; + font-weight: 400; } + +.feedback-input:-ms-input-placeholder { + color: #555; + font-size: 12px; + font-weight: 400; } + +.feedback-input:focus { + outline: none; + border: 2px solid #666; } + +.feedback-btn { + margin-left: 11px; + display: inline-block; + background: #222; + border: 2px solid #666; + border-radius: 4px; + color: #777; + font-size: 12px; + font-weight: 400; + padding: 10px 30px; } + +@media (max-width: 767px) { + .feedback-btn { + width: 18%; + margin-left: 2%; + padding: 10px; } } + +.feedback-btn:hover { + border: 2px solid #888; + color: #999; } + +/*End Footer*/ +/* Line below navigation */ +.navbar-default { + border-bottom: 1px solid #ddd; } + +#home.navbar-default { + border-bottom: none; } + +/*End General Inner Page Styles*/ +/*Events Page*/ +.eventsBanner { + height: 150px; + padding: 20px; } + +.eventsPhotoCaption { + background: rgba(0, 0, 0, 0.3); + border-radius: 4px; + padding: 10px; + color: white; } + +.news-section.full { + padding: 20px 0; } + +.eventTitleArea { + text-align: center; + margin: 40px 0; } + +.eventTitleArea h1 { + font-weight: 300; } + +.postEvent { + float: left; + width: 100%; + height: 130px; + padding: 30px 5%; + background: #F4F5F8; + margin: 20px 0 10px; + text-align: center; } + +.postEvent p { + margin-bottom: 20px; } + +.postEvent a { + background: #2A4E68; + padding: 10px 25px; + border-radius: 4px; + color: #fff; } + +.eventBlock { + float: left; + width: 100%; } + +.eventBlock.summit .date { + border-color: #2A4E68; + color: #2A4E68; } + +.eventBlock.past h2 { + margin-top: 50px; } + +.eventBlock.past .date { + border-color: #68C8C3; + color: #68C8C3; } + +/*End Events Page*/ +/*Community Page*/ +.communityBoxes { + margin: 30px 0 10px; + font-size: 13px; } + +.communityBoxes h2 { + font-size: 20px; + font-weight: 400; + margin-bottom: 15px; } + +.communityBoxes h2 a { + color: #DA422F; } + +.developersRow { + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + padding: 20px 30px; + margin-bottom: 30px; } + +.devLabel { + float: left; + margin-right: 30px; + font-weight: 700; } + +ul#developerActivity { + float: left; + padding-left: 0; + margin: 0; } + +ul#developerActivity li { + list-style: none; + display: inline-block; } + +ul#developerActivity li a { + font-weight: 700; + color: #222; } + +ul#developerActivity li span { + background: #E8EEF5; + padding: 5px 10px; + border-radius: 4px; + margin-right: 5px; + color: #2A4E68; + font-size: 11px; + font-weight: 400; } + +/*End Community Page*/ +/*Software Page*/ +.software { + margin-top: 30px; } + +.software-top { + text-align: center; } + +.software-top h1 { + margin: 5px 0 10px; } + +p.icon { + text-align: center; + margin: 40px 0 0; } + +p.software-description { + text-transform: uppercase; + font-size: 13px; + color: #777; } + +.openstack-diagram { + margin-bottom: 3em; } + +div.screenshots { + padding: 30px 0 20px; + margin: 30px 0; + border-top: 1px solid #edf2f7; + border-bottom: 1px solid #edf2f7; + width: 100%; } + +.screenshots ul { + padding: 0; + margin: 0; + text-align: center; } + +.screenshots ul li { + list-style: none; + display: inline-block; } + +@media (max-width: 767px) { + .screenshots ul li { + margin-bottom: 30px; } } + +.screenshots ul li a img { + width: 100%; + border: 4px solid #edf2f7; } + +.screenshots ul li a img:hover { + border-color: #30739C; } + +.screenshots ul li p { + margin: 10px 0 0; + font-size: 12px; + color: #30739C; + text-align: center; } + +.newSubNav li#start a.current, .newSubNav li#start a.current:hover { + color: #488613; + background-color: #DDFFE2; } + +ul.slides h3 { + text-align: center; + margin: 0 0 30px; } + +.tabSet { + background: #edf2f7; + border: 1px solid #30739C; + margin: 30px 0; + padding-top: 20px; + padding-bottom: 20px; } + +.tabContent table { + width: 100%; + margin: 0; + table-layout: fixed; + word-wrap: break-word; } + +.get-started-wrapper h3 { + text-align: center; + margin: 40px 0; } + +a.start-btn { + background: #30739C; + color: #fff; + text-transform: capitalize; + font-size: 12px; + border-radius: 2px; + padding: 10px 15px; + text-decoration: none; + border-style: none; + display: inline-block; } + +img.deploy-powered { + margin-top: 40px; } + +@media (max-width: 767px) { + img.deploy-powered { + margin: 10px 0 30px; } } + +img.deploy-compatible { + margin-top: 30px; } + +@media (max-width: 767px) { + img.deploy-compatible { + margin: 10px 0 30px; } } + +img.icehouse-video { + max-width: 100%; } + +.documentation { + margin-top: 50px; + text-align: center; + background: #edf2f7; + border-radius: 4px; + padding: 30px 0; } + +.documentation a { + padding: 7px 20px; + background: #30739C; + color: #edf2f7; + margin: 0 8px; + border-radius: 4px; } + +.documentation a:hover { + text-decoration: none; + background: #2A4E68; } + +@media (max-width: 767px) { + .documentation a { + padding: 5px 10px; + margin: 0 5px; + font-size: 12px; } } + +/*End Sofware Page*/ +/*Marketplace Page*/ +h2.marketplace-header { + border-left: 3px solid #DA422F; + line-height: 1.2em; + margin: 30px 20px; + padding-left: 15px; + font-size: 1.5em; } + +.build-use-box { + background: #edf2f7; + border-radius: 4px; + margin-bottom: 30px; + min-height: 25em; + padding: 20px; } + +.build-use-box h3 { + margin-bottom: 20px; } + +.build-use-box ul { + padding-left: 20px; } + +.marketplace-description { + margin-top: 50px; } + +.video { + width: 100%; } + +.video iframe { + width: 100%; + height: 225px; } + +.program-logos { + border-top: 1px solid #eee; + margin-top: 60px; + padding-top: 60px; } + +.ecosystem-wrapper { + padding-left: 30px; + border-left: 1px solid #eee; } + +.marketplace-top-wrapper { + padding: 20px 0 0; } + +.marketplace-brand { + margin-top: 20px; + padding-left: 30px; } + +h2.marketplace { + margin-bottom: -7px; + margin-top: 0; + font-size: 18px; + font-style: normal; + letter-spacing: -0.076em; + line-height: 1em; } + +h2.marketplace a, h2.marketplace a:hover { + color: #5B83A0; + text-decoration: none; } + +h1.marketplace { + font-size: 24pt; + margin-top: 5px; + text-align: left; } + +h1.marketplace:hover { + text-decoration: none; } + +h1.marketplace a, h1.marketplace a.visited { + color: #264D69; + font-style: normal; + letter-spacing: -0.076em; + line-height: 1em; } + +.grey-bar { + background-color: #edf2f7; + margin-bottom: 40px; + margin-top: 0; + padding-bottom: 10px; + padding-top: 10px; } + +ul.marketplace-nav { + padding: 0; + margin: 0; } + +ul.marketplace-nav li { + border-right: 1px solid #e8e8e8; + display: inline-block; + padding-left: 0.5em; + padding-right: 0.5em; + text-transform: uppercase; + width: 130px; + height: 96px; + vertical-align: top; + text-align: center; } + +ul.marketplace-nav li:last-child { + border-right: none; } + +@media (min-width: 680px) and (max-width: 1000px) { + ul.marketplace-nav li { + width: 100px; + height: 110px; } + ul.marketplace-nav li a { + font-size: 10px; } } + +@media (max-width: 680px) { + ul.marketplace-nav li { + display: block; + float: left; + border-right: none; + text-align: left; + border-bottom: 1px solid #e8e8e8; + width: 100%; + height: auto; + padding: 5px 10px; + vertical-align: middle; } } + +ul.marketplace-nav li a { + color: #848575; + text-decoration: none; + font-size: 12px; + vertical-align: middle; + width: 115px; + text-align: center; } + +@media (max-width: 680px) { + ul.marketplace-nav li a { + padding: 0; + vertical-align: middle; + float: left; + width: 100%; + text-align: left; } } + +ul.marketplace-nav a:hover { + color: #DA422F; } + +ul.marketplace-nav a span { + background: url("http://openstack.org/marketplace/code/ui/frontend/images/marketplace-icons.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0); + display: block; + height: 50px; + margin: auto; + width: 40px; + text-align: center; } + +@media (max-width: 680px) { + ul.marketplace-nav a span { + display: table-cell; + vertical-align: middle; + float: left; } } + +ul.marketplace-nav #training a span { + background-position: 0 0; } + +ul.marketplace-nav #distros a span { + background-position: -50px 0; } + +ul.marketplace-nav #public-clouds a span { + background-position: -150px 0; } + +ul.marketplace-nav #private-clouds a span { + background-position: -250px 0; } + +ul.marketplace-nav #consulting a span { + background-position: -100px 0; } + +ul.marketplace-nav #drivers a span { + background-position: -200px 0; } + +ul.marketplace-nav .current a { + color: #DA422F; } + +/*End Marketplace Page*/ +/*Marketplace Listing Page*/ +.product-box { + border: 1px solid #E8E8E8; + margin-bottom: 30px; + padding: 30px 20px; + border-radius: 4px; + min-height: 200px; + border-left: 3px solid #DA422F; } + +.logo-area { + padding-top: 20%; + padding-left: 10px; } + +@media (max-width: 767px) { + .logo-area { + padding-top: 0; + padding-left: 0; } } + +.company-details-area h4 { + text-transform: uppercase; + font-weight: 300; } + +.details-button { + background: url("http://openstack.org/marketplace/code/ui/frontend/images/register-arrow.png") no-repeat scroll 85% center #000000; + color: #FFFFFF !important; + display: inline-block; + margin-right: -10px; + padding: 10px 2%; + text-align: left; + text-transform: uppercase; + width: 100px; + font-size: 12px; + border-radius: 4px; } + +.filter-label { + background: url("/images/images/marketplace-search-icon.png") no-repeat scroll left 7px rgba(0, 0, 0, 0); + color: #30739C; + float: left; + margin-bottom: 0; + margin-top: 5px; + padding-left: 25px; + padding-right: 20px; + padding-top: 8px; + text-transform: uppercase; + font-size: 12px; } + +input#name-term { + height: 40px; + width: 250px; + font-size: 12px; + padding: 5px 10px; + border: 1px solid #e8e8e8; + color: #30739C; + border-radius: 4px; } + +input#name-term::-webkit-input-placeholder { + color: #30739C; + font-size: 12px; } + +select#service-term { + height: 40px; + width: 200px; + padding: 5px 10px; + position: relative; + border-radius: 4px; + color: #30739C; + background: #fff; + border: 1px solid #e8e8e8; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: inline-block; + cursor: pointer; + font-size: 12px; + font-weight: 400; } + +label#service-label { + position: relative; } + +label#service-label:after { + content: '>'; + color: #30739C; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + right: 14px; + top: 6px; + padding: 0 0 6px; + border-bottom: 1px solid #e8e8e8; + position: absolute; + pointer-events: none; + font-size: 14px; + font-weight: 400; } + +label#service-label:before { + content: ''; + right: 6px; + top: 0px; + width: 20px; + height: 20px; + background: #f8f8f8; + position: absolute; + pointer-events: none; + display: block; } + +@media (max-width: 767px) { + .filter-label { + width: 100%; + margin-bottom: 10px; } + input#name-term { + display: block; + width: 100%; + margin-bottom: 10px; } + select#service-term { + min-width: 400px; } } + +ul.resource-links { + padding: 0; + margin: 0 0 30px; } + +ul.resource-links li { + list-style: none; + display: block; } + +ul.resource-links li a { + background-image: url('../images/resource-link-icon.png'); + background-repeat: no-repeat; + background-position: 93% 50%; + background-color: #edf2f7; + padding: 15px 15px; + margin: 0 0 5px; + display: block; + border-radius: 4px; } + +ul.resource-links li a:hover { + text-decoration: none; + background-color: #DAE1EB; } + +.add-your-course { + border-radius: 4px; + border: 1px solid #30739C; + background: #fff; + padding: 20px; + font-size: 13px; } + +/*404 Page*/ +.four-o-four-wrapper { + text-align: center; + margin: 50px auto; } + +.four-o-four-wrapper img { + width: 100%; + max-width: 650px; + margin: 50px 0 70px; } + +.four-o-four-wrapper p { + color: #8a959e; } + +.four-o-four-wrapper a { + color: #30739C; + text-decoration: none; } + +.four-o-four-links { + margin-top: 50px; } + +.four-o-four-links a { + color: #30739C; + padding: 0 10px; + text-decoration: none; } + +@media (max-width: 767px) { + .four-o-four-links a { + padding: 0 5px; } } + +/*End 404 Page*/ +/*Blog Page*/ +.blog-title { + width: 100%; + background: url(/images/images/summit-promo-bkgd1.jpg) no-repeat center center; + background-size: cover; + padding: 50px 0; + text-align: center; } + +.blog-o { + max-width: 80px; + opacity: 0.9; } + +.blog-title h1 { + color: white; + font-weight: 400; + font-size: 45px; + margin: 10px 0; } + +.blog-title h1 span { + font-size: 16px; + display: block; + padding-top: 10px; + color: white; + font-weight: 300; } + +.container.blog { + margin-top: 30px; } + +.post { + margin-bottom: 60px; } + +.post-byline { + border-bottom: 1px dotted #c5e2ea; + border-top: 1px dotted #c5e2ea; + margin-bottom: 15px; + padding: 12px 0; + font-size: 12px; } + +.post-byline p { + margin-bottom: 0; } + +.post-byline .name a { + color: #DA422F; } + +.post-byline .postDate { + text-align: right; + color: #2A4E68; } + +.entry h1 { + font-size: 24px; } + +.entry h2 { + font-size: 20px; } + +.entry h3 { + font-size: 18px; } + +.entry h3 a { + text-decoration: underline; } + +#sidebar { + background: #edf2f7; + padding: 15px; + border-radius: 4px; + margin-top: 0; } + +#sidebar ul { + margin: 0; } + +#sidebar ul li { + font-size: 12px; } + +.creative-commons { + text-align: center; + margin-top: 40px; + font-size: 12px; } + +.creative-commons img { + margin-bottom: 10px; } + +.navigation a { + background: #30739C; + padding: 5px 10px; + border-radius: 4px; + color: white; } + +/*End Blog Page*/ +/*Vancouver Summit Landing Page*/ +.summit-landing-wrapper { + position: relative; + width: 100%; + height: 100%; + text-align: center; + padding: 70px 0; + background: url('../images/summit-vancouver-bkgd.jpg') no-repeat 0 0; + background-size: cover; } + +img.summit-landing-logo { + max-width: 200px; + margin-bottom: 40px; } + +.save-the-date { + color: white; + margin-bottom: 0px; + font-size: 16px; + font-weight: 400; + text-transform: capitalize; } + +.summit-landing-wrapper h1 { + color: white; + font-weight: 300; + font-size: 20px; + margin: 8px 0 10px; + text-transform: uppercase; } + +.summit-landing-wrapper p { + color: white; } + +.summit-landing-wrapper .summit-location { + display: block; + font-weight: 400; + font-size: 60px; + color: white; + text-align: center; + text-transform: uppercase; + position: relative; + display: inline-block; + -webkit-margin-before: 0; + -webkit-margin-after: 0; } + +.summit-landing-wrapper .summit-location::before { + content: ""; + border-top: 1px solid #edf2f7; + width: 150px; + height: 5px; + position: absolute; + margin-right: 15px; + top: 50%; + right: 100%; } + +.summit-landing-wrapper .summit-location::after { + content: ""; + border-top: 1px solid #edf2f7; + width: 150px; + height: 5px; + position: absolute; + margin-left: 15px; + top: 50%; + left: 100%; } + +@media (max-width: 767px) { + .summit-landing-wrapper h1 { + font-size: 15px; } + .summit-landing-wrapper .summit-location { + font-size: 40px; } + .summit-landing-wrapper .summit-location::before { + width: 75px; } + .summit-landing-wrapper .summit-location::after { + width: 75px; } } + +.summit-date { + background: none; + font-size: 25px; + margin-top: 30px; + color: white; } + +.summit-date span { + display: block; + margin-top: 20px; + font-size: 12px; + font-weight: 300; + text-transform: uppercase; } + +.landing-social { + margin-top: 40px; } + +.landing-social .social-icons { + width: 25px; + min-height: 25px; + display: inline-block; + margin: 0 10px; } + +.landing-twitter { + background: url('../images/landing-twitter.png') no-repeat; + opacity: 0.8; } + +.landing-twitter:hover { + opacity: 1; } + +.landing-facebook { + background: url('../images/landing-facebook.png') no-repeat; + opacity: 0.8; } + +.landing-facebook:hover { + opacity: 1; } + +.landing-linkedin { + background: url('../images/landing-linkedin.png') no-repeat; + opacity: 0.8; } + +.landing-linkedin:hover { + opacity: 1; } + +.summit-landing-bottom { + position: absolute; + bottom: 0; + left: 50%; } + +.summit-landing-bottom p { + color: white; } + +.landing-footer { + position: relative; + left: -50%; } + +.landing-footer a { + width: 150px; + padding: 5px 0 0; + display: inline-block; + background: #DA422F; + text-align: center; + color: white; + border-top-left-radius: 2px; + border-top-right-radius: 2px; } + +.landing-footer a:hover { + background: #BD2723; } + +.landing-footer a img { + position: relative; + margin: 0; + padding: 0; + max-width: 100px; } + +.summit-landing-wrapper a i { + color: #edf2f7; } + +.summit-landing-wrapper a i:hover { + color: white; } + +/*End Vancouver Summit Landing Page*/ +/* site banner */ +.top-site-banner { + background-color: #F0F9FE; + color: #4D96C7; + padding-top: 10px; } + +.top-site-banner-button { + border-radius: 5px; + border: 1px solid #C6E5FC; + font-size: 90%; + padding: 0px 10px; + background-color: white; + display: inline-block; + color: #4D96C7; + text-transform: uppercase; } + +.top-site-banner-button:hover { + text-decoration: none; + background-color: #F0F9FE; } + +/* end of site banner */ + +/*News page*/ +.grey-bar.news { + margin-bottom: 0; + padding: 20px; + text-align: right; } + +.grey-bar.news a { + font-size: 12px; + text-transform: uppercase; + color: #30739C; } + +.grey-bar.news a:hover { + color: #2A4E68; + text-decoration: none; } + +.grey-bar.news a i { + margin-right: 5px; } + +.grey-bar.news a.manage-news-link { + color: #889E2F; + margin-right: 20px; } + +.grey-bar.news a.manage-news-link:hover { + color: #5A6E1D; } + +.carousel { + height: 350px; } + +.carousel-inner { + height: 350px; } + +.carousel-inner img { + min-height: 350px; + height: 100%; + min-width: 100%; + max-width: none; + width: auto; + opacity: 0.6; } + +.carousel-inner > .item > img, .carousel-inner > .item > a > img { + min-width: 100%; + max-width: none; + width: 100%; } + +@media (max-width: 767px) { + .carousel-inner > .item > img, .carousel-inner > .item > a > img { + width: auto; } } + +.carousel-inner .item { + height: 350px; + background: #2A4E68; } + +.carousel-control { + text-shadow: none; } + +.carousel-control i { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; } + +.carousel-control.right i { + right: 50%; + margin-top: -15px; + margin-right: -15px; } + +.carousel-control.left i { + left: 50%; + margin-top: -15px; + margin-left: -15px; } + +.carousel-caption { + text-shadow: none; + bottom: 60px; } + +.carousel-caption h3 { + color: white; } + +.carousel-caption a.more-btn { + display: block; + color: white; + background: #DA422F; + border-radius: 4px; + padding: 5px 10px; + margin: 0 auto 20px; + max-width: 150px; + text-transform: uppercase; + font-size: 12px; } + +.carousel-caption a.more-btn:hover { + text-decoration: none; + background: #B92623; } + +.newsFeatured { + margin: 40px 0 60px; + float: left; + text-align: left; + padding-bottom: 10px; + border-bottom: 1px solid #edf2f7; } + +.featuredImage { + position: relative; + width: 100%; + height: 180px; + overflow: hidden; + margin-bottom: 10px; + background: #30739C; } + +.featuredImage img { + width: 100%; + /* width: auto;*/ } + +.featuredHeadline { + position: absolute; + bottom: 0; + right: 0; + left: 0; + background: rgba(0, 0, 0, 0.6); + padding: 15px 10px; + font-weight: 400; + color: white; } + +.featuredHeadline .more { + display: none; + text-align: center; + margin: 30px auto 20px; + text-transform: uppercase; + font-weight: 600; + background: white; + border-radius: 2px; + padding: 10px; + width: 150px; + color: #333; } + +.featuredHeadline .more i { + margin-left: 8px; } + +.featuredHeadline .more:hover { + background: #eee; } + +.featuredImage:hover .featuredHeadline, .open .featuredHeadline { + top: 0; } + +.featuredImage:hover .more, .open .more { + display: block; } + +.featuredImage:hover .featuredDate { + display: none; } + +.featuredDate { + font-size: 12px; + position: absolute; + top: 5px; + left: 10px; + color: white; } + +.featuredSummary { + font-size: 12px; + color: #555; } + +ul.featured { + padding: 0; + margin: 0; } + +ul.featured li { + list-style: none; + margin-bottom: 30px; + border-radius: 4px; } + +@media (max-width: 767px) { + ul.featured li { + margin-bottom: 20px; } } + +.recentBox { + margin-bottom: 30px; } + +.itemTimeStamp { + font-size: 12px; + color: #999; + margin-left: 10px; + padding-left: 10px; + border-left: 1px solid #aaa; } + +.news-sidebar { + background: #edf2f7; + padding: 15px; + border-radius: 4px; + margin-top: 0; } + +.see-all-events { + float: right; } + +.see-all-events a { + font-size: 12px; } + +.eventBlock { + padding-left: 15px; + font-size: 12px; } + +.eventBlock h3 { + margin-bottom: 15px; } + +.eventBlock .event { + margin-bottom: 20px; } + +.eventBlock .event.top { + margin-top: 20px; } + +/*End News page*/ +/*Single News Page*/ +.newsHome { + margin: 20px 0 30px; } + +.newsHome a { + text-transform: uppercase; + font-size: 12px; } + +.newsHome i { + margin-right: 10px; } + +.news-single h1 { + margin-bottom: 60px; } + +.news-summary { + background: #edf2f7; + color: #30739C; + padding: 30px; + text-align: center; + width: 80%; + margin: -10px 10% 60px; + border-radius: 4px; } + +.news-byline { + border-bottom: 1px dotted #c5e2ea; + border-top: 1px dotted #c5e2ea; + margin: 40px 0 15px; + padding: 18px 0 10px; + font-size: 12px; } + +.news-byline a.link { + color: #DA422F; } + +.news-byline p.postDate { + color: #2A4E68; + text-align: right; } + +/*End Single News Page*/ +/*Videos Home Page*/ +.main-video-wrapper { + width: 100%; + background: #222; + height: auto; + margin: 0 0 30px; + text-align: center; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +a.main-video { + position: relative; + display: block; + max-width: 617px; + margin: 0 auto; + border-left: 1px solid #eee; + border-right: 1px solid #eee; } + +a.main-video .video-description-wrapper { + position: absolute; + display: block; + background: rgba(0, 0, 0, 0.7); + bottom: 0; + left: 0; + right: 0; + top: 230px; + text-align: left; + z-index: 1000; + padding: 20px; } + +@media (max-width: 767px) { + a.main-video .video-description-wrapper { + top: 60%; } } + +@media (max-width: 480px) { + a.main-video .video-description-wrapper { + top: 50%; } } + +a.main-video .video-description-wrapper .video-description { + width: 80%; + float: left; } + +a.main-video .video-description-wrapper .video-description h3 { + color: white; + font-size: 22px; + font-weight: 600; + width: 100%; + height: 25px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } + +a.main-video .video-description-wrapper .video-description p { + color: white; + font-size: 13px; + line-height: 1.2; + font-weight: 400; + padding: 0; + display: block; + width: 100%; + height: 15px; + margin: 0 auto; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + +a.main-video:hover .video-description-wrapper { + top: 0; } + +a.main-video:hover .video-description-wrapper .video-description h3 { + height: 10%; + white-space: normal; } + +a.main-video:hover .video-description-wrapper .video-description p { + height: 90%; + white-space: normal; } + +@media (max-width: 480px) { + a.main-video:hover .video-description-wrapper { + top: 50%; } + a.main-video:hover .video-description-wrapper .video-description h3 { + height: 25px; + white-space: nowrap; } + a.main-video:hover .video-description-wrapper .video-description p { + height: 15px; + white-space: nowrap; } } + +.main-video img { + margin: 0 auto; + width: 100%; + max-width: 615px; + max-height: 100%; + display: block; + position: relative; + z-index: 1; } + +.play-btn { + float: right; + color: white; + font-size: 40px; + width: 20%; + margin-top: 5px; + text-align: center; } + +.play-btn img#play { + max-width: 70px; + max-height: 70px; } + +.featured-row { + width: 100%; + background: #2A4E68; + padding: 0; + position: relative; + display: block; + margin-bottom: 50px; } + +.featured-row h2 { + color: white; + font-weight: 400; + font-size: 24px; } + +.featured-row h2 span { + font-weight: 400; + font-size: 12px; + color: #edf2f7; + margin-left: 20px; } + +.featured-row:after { + top: 100%; + left: 10%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-color: rgba(42, 78, 104, 0); + border-top-color: #2A4E68; + border-width: 15px; + margin-left: -15px; } + +.daily-recap-wrapper .video-thumb-title { + text-align: center; } + +.video-thumb { + /*background: $lightblue;*/ + text-align: center; + width: 100%; + height: 0; + position: relative; + display: table; + overflow: hidden; + margin-bottom: 20px; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.thumb-play { + display: none; + background-image: url("//www.openstack.org/themes/openstack/images/landing-pages/auto/play-button.png"); + background-repeat: no-repeat; + background-position: center center; + background-color: rgba(0, 0, 0, 0.3); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; } + +.video-thumb:hover .thumb-play { + display: block; } + +@media (max-width: 767px) { + .video-thumb .thumb-play { + display: block; + background-color: transparent; } } + +.video-thumb img.video-thumb-img { + max-width: 100%; + width: 100%; } + +.video-thumb p { + color: #C6CDD6; + font-size: 14px; + font-weight: 700; + display: table-cell; + vertical-align: middle; } + +.sort-row { + background: #edf2f7; + width: 100%; + min-height: 50px; + padding: 25px 0; + position: relative; + display: block; + margin: 50px 0; + color: #2A4E68; } + +.sort-left { + float: left; } + +.sort-left i { + color: #b4c5d6; + line-height: 1; + margin-right: 10px; } + +.sort-left i:hover { + color: #2A4E68; + cursor: pointer; } + +.sort-left i.active { + color: #2A4E68; } + +.sort-right { + float: right; + font-size: 12px; + text-transform: uppercase; + font-weight: 600; } + +.sort-right i { + margin-left: 10px; + font-weight: 700; + font-size: 14px; } + +.video-thumb-title { + margin: -10px 0 0; + color: #2A4E68; + font-size: 12px; + font-weight: 400; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + +.video-thumb-speaker { + color: #2A4E68; + font-size: 12px; + font-weight: 600; + margin-bottom: 40px; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + +@media (max-width: 767px) { + .daily-recap-wrapper .video-thumb-title { + margin-bottom: 40px; } + .video-thumb-title, .video-thumb-speaker { + text-align: center; } } + +.video-thumb-description { + display: none; } + +.video-dropdown > .dropdown-menu { + margin: 20px -20px 0; + padding: 10px 0; + min-width: 230px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + left: -99%; + right: 100%; + background-color: #edf2f7; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0); + box-shadow: none; } + +/*.video-dropdown>.dropdown-menu:after, .video-dropdown>.dropdown-menu:before { + bottom: 100%; + right: 25%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} +.video-dropdown>.dropdown-menu:after { + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #fff; + border-width: 15px; + margin-left: -15px; +} +.video-dropdown>.dropdown-menu:before { + border-color: rgba(170, 170, 170, 0); + border-bottom-color: #aaaaaa; + border-width: 15px; + margin-left: -16px; +}*/ +.video-dropdown > .dropdown-menu li a { + text-transform: uppercase; + padding: 13px 20px; + font-size: 12px; + color: #2A4E68; } + +.video-dropdown > .dropdown-menu li a:hover { + color: white; + background: #2A4E68; } + +.video-dropdown > .dropdown-menu li a:focus { + outline: none; } + +/*End Videos Home Page*/ +/* Change Video Gallery View */ +@media (min-width: 768px) { + .video-list .col-lg-3, .video-list .col-md-3, .video-list .col-sm-3 { + width: 100%; } + .video-list .video-thumb { + max-width: 270px; + width: 24%; + float: left; + margin-right: 1%; } + .video-list .video-details { + margin: 10px 0 0 1%; + float: left; + width: 74%; } } + +.video-list .video-thumb-speaker { + margin-bottom: 20px; } + +.video-list .video-details, .video-list .video-thumb-title, .video-list .video-thumb-speaker { + text-align: left; } + +.video-list .video-thumb-title { + font-size: 14px; + font-weight: 600; } + +.video-list .video-thumb-description { + color: #2A4E68; + font-size: 12px; + display: block; + overflow: hidden; } + +@media (min-width: 1180px) { + .video-list .video-thumb-description { + max-height: 130px; } } + +@media (min-width: 991px) and (max-width: 1179px) { + .video-list .video-thumb-description { + max-height: 100px; } } + +@media (min-width: 768px) and (max-width: 990px) { + .video-list .video-thumb-description { + max-height: 70px; } } + +/* End Change Video Gallery View */ +/*Video Inner Page*/ +.single-video-details { + margin: 60px auto; } + +.single-video-details h3 { + text-align: left; } + +.single-video-details strong { + color: #2A4E68; } + +.video-share { + text-align: right; + float: right; } + +.video-share a i { + font-size: 22px; + margin-left: 20px; + vertical-align: middle; + color: #759bb7; } + +.video-share a i:hover { + color: #2A4E68; } + +@media (max-width: 767px) { + .video-share { + float: none; + text-align: center; + margin: -20px 0 20px; + padding-top: 20px; + padding-bottom: 20px; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; } + .video-share a i { + margin: 0 10px; } } + +.video-share a i.fa-twitter { + font-size: 24px; + margin-bottom: -1px; } + +p.single-video-description { + margin: 10px 0 40px; } + +.video-categories a { + margin-left: 10px; + text-decoration: underline; } + +.video-tags { + margin-top: 15px; } + +.video-tags a { + background: #edf2f7; + font-size: 10px; + font-weight: 600; + border-radius: 3px; + margin-left: 10px; + padding: 5px 10px; } + +.video-speakers { + margin-top: 15px; + display: block; } + +.video-speakers p a { + margin-left: 0; + text-decoration: underline; } + +.video-speakers .twitter-follow-button { + margin-left: 10px; } + +.video-media-title { + margin: 0 0 10px; + display: block; } + +@media (max-width: 767px) { + .video-media-wrapper { + margin-top: 30px; } } + +.media-btn-wrapper { + float: left; + margin-top: 10px; } + +a.media-btn { + background: #2A4E68; + color: white; + padding: 10px 20px; + border-radius: 4px; + border: 0; } + +a.media-btn:hover { + text-decoration: none; + background: #16283A; } + +a.media-btn i { + margin-right: 10px; } + +a.media-btn.right { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + margin-left: -2px; + border-left: 1px solid #3E71A4; } + +a.media-btn.left { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + margin-right: -2px; + border-right: 1px solid #122231; } + +/*End Video Inner Page*/ +/*Docs Main*/ +.top-docs-wrapper { + width: 100%; + background: #edf2f7; + padding: 60px 0; } + +.top-docs-wrapper h1 { + text-align: left; } + +.top-docs-wrapper p { + color: #2A4E68; } + +.top-docs-wrapper hr { + border-color: #b1c9da; + margin: 40px 0; } + +a.overview-btn.docs-btn { + border-radius: 2px; + text-transform: capitalize; + margin-right: 2%; + width: 31.33333%; + text-align: center; + line-height: 50px; + height: 50px; + padding: 0 10px; } + +a.overview-btn.docs-btn i { + font-size: 25px; + display: inline-block; + color: white; + margin-left: 5px; + height: 50px; + line-height: 50px; + vertical-align: middle; } + +.docs-main-search-form { + width: 98%; + margin-top: -20px; + float: left; + position: relative; } + +i.docs-search-icon { + position: absolute; + top: 17px; + left: 15px; + color: #C0CDDB; } + +.docs-main-search { + border: 2px solid #D5DDE7 !important; + border-radius: 2px; + height: 37px !important; + margin: 7px 0 0 0; + padding-left: 35px; + background: #fff !important; + width: 100%; + -webkit-transition: width 4s; + transition: width 4s; + -webkit-border-horizontal-spacing: 0 !important; + -webkit-border-vertical-spacing: 0 !important; } + +.docs-main-search:focus { + outline: none; } + +input.docs-main-search::-webkit-input-placeholder { + color: #C0CDDB; + font-size: 12px; + font-weight: 400; } + +input.docs-main-search:-moz-placeholder { + /* Firefox 18- */ + color: #C0CDDB; + font-size: 12px; + font-weight: 400; } + +input.docs-main-search::-moz-placeholder { + /* Firefox 19+ */ + color: #C0CDDB; + font-size: 12px; + font-weight: 400; } + +input.docs-main-search:-ms-input-placeholder { + color: #C0CDDB; + font-size: 12px; + text-transform: lowercase; + font-weight: 400; } + +.superuser-wrapper { + text-align: center; } + +@media (max-width: 767px) { + .superuser-wrapper { + display: none; } } + +.superuser-wrapper p { + margin-top: 10px; + font-size: 14px; + font-weight: 300; } + +.superuser-wrapper p strong { + display: block; + font-size: 12px; + font-weight: 600; } + +.mid-docs-wrapper { + background: white; + padding: 30px 0 25px; + border-top: 1px solid #edf2f7; + border-bottom: 1px solid #edf2f7; } + +.mid-docs-wrapper h2 { + color: #2A4E68; + margin: 0 0 5px; } + +.mid-docs-wrapper p { + color: #30739C; + font-weight: 300; } + +.docs-dropdown > a { + background: #2A4E68; + padding: 20px 5px; + text-align: center; + font-size: 13px; + color: white; } + +.docs-dropdown a { + width: 100%; + display: block; + border-radius: 4px; } + +@media (max-width: 767px) { + .docs-dropdown { + margin: 30px 0 10px; } } + +.docs-dropdown > a:hover, .docs-dropdown > a:focus { + text-decoration: none; + color: white; + background: #30739C; } + +.docs-dropdown i { + margin-left: 10px; + font-size: 18px; } + +.docs-dropdown .dropdown-menu { + width: 100%; + margin-top: 10px; } + +.docs-dropdown > .dropdown-menu:after, .docs-dropdown > .dropdown-menu:before, .docs-sidebar-dropdown:before, .docs-sidebar-dropdown:after { + bottom: 100%; + left: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; } + +.docs-dropdown > .dropdown-menu:after, .docs-sidebar-dropdown:after { + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; + border-width: 15px; + margin-left: -15px; } + +.docs-dropdown > .dropdown-menu:before, .docs-sidebar-dropdown:before { + border-color: rgba(170, 170, 170, 0); + border-bottom-color: #aaaaaa; + border-width: 16px; + margin-left: -16px; } + +.docs-dropdown > .dropdown-menu > li.dropdown-header, .docs-sidebar-dropdown > li.dropdown-header { + text-align: left; + padding: 10px 20px; + margin: 10px 0; + border-bottom: 1px solid #edf2f7; + text-transform: uppercase; + color: #333; + font-weight: 400; } + +.docs-dropdown > .dropdown-menu > li.dropdown-header:first-child { + margin-top: 0; } + +.docs-dropdown > .dropdown-menu > li > a, .docs-sidebar-dropdown > li > a { + padding: 10px 25px; + text-align: left; + font-size: 13px; + color: #2A4E68; } + +.docs-toc { + background: white; + padding-top: 80px; + padding-bottom: 20px; } + +.docs-toc h3 i { + font-size: 25px; + margin-right: 10px; } + +.docs-toc a { + font-size: 1.1em; + line-height: 1.3; + font-weight: 400; + color: #4c97c3; + display: inline-block; + padding: 10px; } + +.docs-toc a:hover { + background: #edf2f7; + text-decoration: none; } + +.docs-link-sections { + margin: 0 0 10px; } + +.docs-contribute-wrapper { + padding-bottom: 10px; + text-align: center; } + +a.overview-btn.contribute-btn { + background: #DA422F; + color: white; + padding: 10px 0; + display: block; + float: none; + text-transform: capitalize; + width: 250px; + margin: 20px auto; } + +a.overview-btn.contribute-btn:hover { + background: #B52522; } + +a.overview-btn.contribute-btn i { + margin-left: 10px; } + +/*------------------------------------*\ + Docs Version Dropdown +\*------------------------------------*/ + +.version-dropdown { + position: relative; + float: right; + display: inline-block; + border: solid 1px; + padding: 5px; +} + +.version-dropdown-content { + display: none; + position: absolute; + background-color: #f9f9f9; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + padding: 12px 16px; + top: 25px; + right: 5px; + z-index: 1; +} + +.version-dropdown:hover .version-dropdown-content { + display: block; +} + +/*End Docs Main*/ +/*Docs Book View*/ +.docs-book-wrapper, .docs-search-wrapper { + margin-top: 40px; + margin-bottom: 40px; } + +@media (max-width: 767px) { + .docs-sidebar { + margin-top: 20px; + padding-top: 20px; + border-top: 1px solid #edf2f7; } } + +.docs-sidebar-search { + display: block; } + +.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { + margin-left: 0; } + +.docs-sidebar-releases { + float: left; + margin: 20px 0 0; + width: 100%; } + +.docs-sidebar-releases button { + background: #2A4E68; + color: #edf2f7; + display: inline-block; + text-align: center; + padding: 20px 0; + height: 60px; + border-radius: 0; } + +.docs-sidebar-releases button:hover, .docs-sidebar-releases button:focus { + color: white; + background: #1D354D; } + +.docs-sidebar-releases button.docs-sidebar-home { + width: 25%; + border-right: 1px solid #1c3b53; } + +.docs-sidebar-releases button.docs-sidebar-home i { + font-size: 20px; + line-height: 1; } + +.docs-sidebar-releases button.docs-sidebar-release-select { + font-size: 11px; + width: 75%; + border-left: 1px solid #496e8a; } + +.docs-sidebar-releases button.docs-sidebar-release-select i { + margin-left: 10px; } + +.docs-sidebar-dropdown { + right: 0; } + +.docs-sidebar-toc { + background: #edf2f7; + float: left; + padding: 0; + color: #2A4E68; + width: 100%; + border-top: 1px solid #edf2f7; } + +.docs-sidebar-section { + border-bottom: 1px solid #c8d8e5; + cursor: pointer; } + +.docs-sidebar-section:hover { + background: #BCCFDE; } + +#table-of-contents.docs-sidebar-section { + background-color: transparent; + padding: 10px; + padding-left: 0px; +} + +/* we are not going to show bullets for the local-table-of-contents, + so disable bullet points for table-of-contents too for consistency + */ +#table-of-contents ul { + list-style: none; +} + +/* shift the first level of list in the toc left to account for the + fact that there are no bullets */ +#table-of-contents.docs-sidebar-section ul { + padding-left: 20px; +} + +/* do not change the background color of the section when the user + moves the mouse into it */ +#local-table-of-contents.docs-sidebar-section { + background-color: transparent; +} + +/* do not show the first link, since it only points back to this page */ +#local-table-of-contents a[href="#"] { + display: none; +} + +/* we are not going to show the top level entries in the nested list + so disable bullet points for the list entries to avoid having the + others look weird */ +#local-table-of-contents ul { + list-style: none; +} + +/* shift the first list in the local toc left to account for the fact + that we don't show its LI elements and that there are no bullets */ +#local-table-of-contents.docs-sidebar-section ul:first-of-type { + padding-left: 0; +} + +.docs-sidebar-section.active { + background: #D8E0EA; + padding: 0; + cursor: default; } + +.docs-sidebar-section-title { + display: block; + width: 100%; + padding: 10px 20px; + color: #2A4E68; } + +a.docs-sidebar-section-title:hover { + text-decoration: #BCCFDE; } + +.docs-sidebar-section.active a.docs-sidebar-section-title:hover { + cursor: default; } + +.docs-sidebar-section.active ol { + list-style: none; + max-height: 2000px; + -webkit-transition: max-height 2s ease; + transition: max-height 2s ease; } + +.docs-sidebar-section ol { + counter-reset: section; + display: block; + max-height: 0; + margin: 0; + padding: 0 20px; + width: 100%; + list-style-position: inside; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -webkit-transition: max-height 0s ease; + transition: max-height 0s ease; } + +.docs-sidebar-section.active > ol:last-child { + margin-bottom: 30px; } + +.docs-sidebar-section ol a { + color: #2A4E68; } + +.docs-sidebar-section ol lh { + font-weight: 700; + font-size: 12px; + padding-bottom: 10px; + width: 100%; } + +.docs-sidebar-section ol > li { + max-height: 0; + margin-left: 0; + font-size: 12px; + line-height: 2; + width: 97%; + list-style-position: inside; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -webkit-transition: max-height 0s ease; + transition: max-height 0s ease; } + +.docs-sidebar-section ol.active > li:last-child { + margin-bottom: 20px; + max-height: 2000px; + -webkit-transition: max-height 2s ease; + transition: max-height 2s ease; } + +.docs-sidebar-section ol.active li > ul { + max-height: 0; } + +.docs-sidebar-section ol.active li, .docs-sidebar-section ol.active li.active > ul, .docs-sidebar-section ol.active li.active, .docs-sidebar-section ol.active li.active ul, .docs-sidebar-section ol.active li.active ul li { + display: list-item; + max-height: 2000px; + -webkit-transition: max-height 2s ease; + transition: max-height 2s ease; } + +.docs-sidebar-section ol li ul { + padding: 0; + margin: 0; + list-style: none; + counter-increment: none; } + +.docs-sidebar-section ol li ul li:before { + content: " "; } + +.docs-sidebar-section ol li > ul > li { + list-style: none; + margin-left: 20px; + counter-increment: none; } + +.docs-sidebar-section ul li { + word-wrap: break-word; } + +li.docs-has-sub > a { + font-weight: 700; } + +li.docs-has-sub:before { + content: "+"; + padding: 0 5px; + margin-right: 5px; + background: #C2CAD8; + border-radius: 4px; } + +li.docs-has-sub.open:before { + content: "-"; + padding: 0 6px; } + +.docs-header { + position: relative; } + +.docs-actions { + text-align: right; + margin-top: 35px; } + +.docs-actions i { + margin-left: 0; + padding: 0 5px; + font-size: 20px; + color: #999999; } + +.docs-actions i:hover { + color: #333; } + +.docs-actions i.fa-rss { + color: #FA600A; } + +.docs-actions i.fa-cloud-download { + color: #30739C; } + +.docs-actions .fa-info-circle { + border-left: 1px solid #dae5ee; + color: #5bb449; + padding: 0 10px; } + +.docs-actions .fa-info-circle:hover { + color: #36782A; } + +.docs-actions .fa-info-circle.docs-info-off { + color: #999; } + +.docs-actions .fa-bug { + border-left: 1px solid #dae5ee; + color: #DA422F; + padding: 0 10px; } + +.docs-actions .fa-bug:hover { + color: #9A201D; } + +.docs-actions .fa-angle-double-left { + border-left: 1px solid #dae5ee; + color: #DA422F; + padding: 0 10px; } + +.docs-actions .fa-angle-double-left:hover { + color: #9A201D; } + +.docs-actions .fa-angle-double-right { + border-left: 1px solid #dae5ee; + color: #DA422F; + padding: 0 10px; } + +.docs-actions .fa-angle-double-right:hover { + color: #9A201D; } + +.tooltip { + background: none; + white-space: nowrap; } + +.docs-byline { + border-top: 1px solid #edf2f7; + border-bottom: 1px solid #edf2f7; + padding: 10px; + font-size: 10px; + color: #9eb5c3; + text-transform: uppercase; } + +.docs-browse { + float: right; + font-size: 14px; + color: #6f91a6; + text-transform: uppercase; } + +.docs-updated { + float: left; + padding: 5px; } + +.docs-versioned { + float: right; + padding: 5px; } + +a.docs-edit { + float: right; + color: #9eb5c3; } + +a.docs-edit:hover { + color: #2A4E68; + text-decoration: none; } + +a.docs-edit i { + margin-right: 5px; } + +.docs-body a { + text-decoration: underline; + color: #30739C; } + +a.headerlink { + color: #fff; } + +a.headerlink:hover { + color: #30739C; } + +a.gloss { + background: #edf2f7; + color: #2A4E68; + padding: 2px 5px; + text-decoration: none; } + +a.gloss:hover { + background: #D4DCE6; } + +a.gloss:focus { + outline: none; } + +a.gloss.off { + background: transparent; + padding: 0; + color: #333; + cursor: default; } + +pre { + background-color: #333; + color: #fff; + overflow: auto; + margin: 0 0 10px; + padding: 20px 30px; } + +pre code, pre .line-number { + font-family: "Courier New", Courier, Monospace; + font-weight: normal; + font-size: 14px; + color: white; + display: block; } + +pre .line-number { + float: left; + margin: 0 1em 0 -1em; + border-right: 3px solid #5bb449; + text-align: right; } + +pre .line-number span { + display: block; + padding: 0 0.5em 0 1em; } + +pre .cl { + display: block; + clear: both; } + +.popover { + color: #2A4E68; } + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +.admonition { + background: #eee; + border-left: 4px solid; + border-radius: 4px; + padding: 15px; + margin: 15px 0; } + +.admonition > .last { + margin: 0; +} + +.admonition h3 { + font-size: 18px; + font-weight: 600; } + +.admonition h3 i { + margin-right: 5px; + font-size: 22px; } + +.admonition.note { + background: #edf2f7; + border-color: #2A4E68; + color: #2A4E68; } + +.admonition.note a { + color: #2A4E68; } + +/* BB: The following eight rules, four "important" and four "warning", + originally had names "docs-important" and "docs-warning" */ + +.admonition.important { + background: #feffd6; + border-color: #2A4E68; + color: #2A4E68; } + +.admonition.important a { + color: #cca50a; } + +.admonition.important h3 { + color: #cca50a; } + +.admonition.important h3 i { + color: #cca50a; } + +.admonition.warning { + background: #FED3D9; + border-color: #DA422F; + color: #DA422F; } + +.admonition.warning h3 { + color: #DA422F; } + +.admonition.warning h3 i { + color: #DA422F; } + +.admonition.warning a { + color: #DA422F; } + +/* BB: added the adminition-title rule to bolden the adminition title */ +.admonition-title { + font-weight: 600; +} + +.versionadded { + color: #3C763D; +} + +.versionchanged { + color: #31708f; +} + +.deprecated { + color: #DA422F; +} + +.docs-tags { + width: 100%; + margin-bottom: 30px; } + +a.docs-tag { + background: #edf2f7; + padding: 3px 6px; + border-radius: 4px; + display: inline-block; + margin: 0 5px 0 0; + font-size: 12px; + color: #30739C; } + +.docs-byline.bottom { + margin-bottom: 30px; } + +.docs-license { + /* margin-top: 30px; */ + color: #555; + font-size: 12px; + border-right: 1px solid #edf2f7; } + +@media (max-width: 767px) { + .docs-license { + border-right: 0; + border-bottom: 1px solid #edf2f7; + padding-bottom: 20px; + margin-bottom: 20px; } } + +.docs-license a { + color: #555; + font-size: 12px; + text-decoration: underline; } + +.docs-license a:hover { + color: #222; } + +.docs-license img { + float: left; + margin: 5px 15px 20px 0; } + +.docs-actions-wrapper { + margin-top: 10px; } + +a.docs-footer-actions { + display: block; + color: #555; + text-transform: uppercase; + font-size: 11px; + margin-bottom: 15px; } + +a.docs-footer-actions i { + font-size: 18px; + margin-right: 10px; } + +a.docs-footer-actions:hover { + color: #222; } + +/*End Docs Book View*/ +/*Docs Search View*/ +.docs-search-wrapper h2 { + text-align: center; } + +.docs-search-count { + text-align: right; + font-size: 11px; + font-weight: 600; + color: #2A4E68; + border-bottom: 1px solid #edf2f7; + margin: 20px 0; + padding-bottom: 15px; } + +.docs-result { + margin: 20px 0; + padding: 20px 0; + border-bottom: 1px solid #edf2f7; } + +.docs-result h3 a { + font-size: 16px; + font-weight: 600; + text-decoration: underline; + color: #30739C; } + +.docs-result h3 a:hover { + color: #2A4E68; } + +.docs-result p { + font-size: 14px; } + +.docs-result p span { + font-style: italic; } + +.docs-result p span:after { + content: "..."; + margin-left: 5px; + margin-right: 5px; } + +.docs-result .docs-search-link { + font-size: 12px; + color: #666; + text-decoration: none; } + +.docs-result .docs-search-link:hover { + color: #333; } + +.docs-pagination { + text-align: center; } + +ul.pagination li a { + margin: 0 3px; + border-radius: 4px; + border: 3px solid #edf2f7; + color: #30739C; + font-weight: 400; + font-size: 14px; } + +ul.pagination li.active a, ul.pagination li.active a:hover { + border-color: #30739C; + color: #2A4E68; + background: white; } + +ul.pagination li a:hover { + border-color: #C2CAD8; + background: white; } + +/*End Docs Search View*/ +/*webui Popover styles*/ +.webui-popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + width: 276px; + min-height: 50px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } + +.webui-popover.top, .webui-popover.top-left, .webui-popover.top-right { + margin-top: -10px; } + +.webui-popover.right, .webui-popover.right-top, .webui-popover.right-bottom { + margin-left: 10px; } + +.webui-popover.bottom, .webui-popover.bottom-left, .webui-popover.bottom-right { + margin-top: 10px; } + +.webui-popover.left, .webui-popover.left-top, .webui-popover.left-bottom { + margin-left: -10px; } + +.webui-popover-inner .close { + font-family: arial; + margin: 5px 10px 0 0; + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); + text-decoration: none; } + +.webui-popover-inner .close:hover, .webui-popover-inner .close:focus { + opacity: 0.5; + filter: alpha(opacity=50); } + +.webui-popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; } + +.webui-popover-content { + padding: 9px 14px; + overflow: auto; } + +.webui-popover-inverse { + background-color: #333333; + color: #eeeeee; } + +.webui-popover-inverse .webui-popover-title { + background: #3b3b3b; + border-bottom: none; + color: #eeeeee; } + +.webui-no-padding .webui-popover-content { + padding: 0; } + +.webui-no-padding .list-group-item { + border-right: none; + border-left: none; } + +.webui-no-padding .list-group-item:first-child { + border-top: 0; } + +.webui-no-padding .list-group-item:last-child { + border-bottom: 0; } + +.webui-popover > .arrow, .webui-popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.webui-popover > .arrow { + border-width: 11px; } + +.webui-popover > .arrow:after { + border-width: 10px; + content: ""; } + +.webui-popover.top > .arrow, .webui-popover.top-right > .arrow, .webui-popover.top-left > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; } + +.webui-popover.top > .arrow:after, .webui-popover.top-right > .arrow:after, .webui-popover.top-left > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; } + +.webui-popover.right > .arrow, .webui-popover.right-top > .arrow, .webui-popover.right-bottom > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); } + +.webui-popover.right > .arrow:after, .webui-popover.right-top > .arrow:after, .webui-popover.right-bottom > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #ffffff; } + +.webui-popover.bottom > .arrow, .webui-popover.bottom-right > .arrow, .webui-popover.bottom-left > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; } + +.webui-popover.bottom > .arrow:after, .webui-popover.bottom-right > .arrow:after, .webui-popover.bottom-left > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; } + +.webui-popover.left > .arrow, .webui-popover.left-top > .arrow, .webui-popover.left-bottom > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); } + +.webui-popover.left > .arrow:after, .webui-popover.left-top > .arrow:after, .webui-popover.left-bottom > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #ffffff; + bottom: -10px; } + +.webui-popover-inverse.top > .arrow, .webui-popover-inverse.top-left > .arrow, .webui-popover-inverse.top-right > .arrow, .webui-popover-inverse.top > .arrow:after, .webui-popover-inverse.top-left > .arrow:after, .webui-popover-inverse.top-right > .arrow:after { + border-top-color: #333333; } + +.webui-popover-inverse.right > .arrow, .webui-popover-inverse.right-top > .arrow, .webui-popover-inverse.right-bottom > .arrow, .webui-popover-inverse.right > .arrow:after, .webui-popover-inverse.right-top > .arrow:after, .webui-popover-inverse.right-bottom > .arrow:after { + border-right-color: #333333; } + +.webui-popover-inverse.bottom > .arrow, .webui-popover-inverse.bottom-left > .arrow, .webui-popover-inverse.bottom-right > .arrow, .webui-popover-inverse.bottom > .arrow:after, .webui-popover-inverse.bottom-left > .arrow:after, .webui-popover-inverse.bottom-right > .arrow:after { + border-bottom-color: #333333; } + +.webui-popover-inverse.left > .arrow, .webui-popover-inverse.left-top > .arrow, .webui-popover-inverse.left-bottom > .arrow, .webui-popover-inverse.left > .arrow:after, .webui-popover-inverse.left-top > .arrow:after, .webui-popover-inverse.left-bottom > .arrow:after { + border-left-color: #333333; } + +.webui-popover i.icon-refresh { + display: block; + width: 30px; + height: 30px; + font-size: 20px; + top: 50%; + left: 50%; + position: absolute; + background: url(../img/loading.gif) no-repeat; } + +@-webkit-keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); } } + +@keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.newSubNav { + width: 85%; } + +.newSubNav ul { + padding: 0px; + margin-top: 30px; + margin-left: -10px; } + +.newSubNav ul:nth-child(2) { + border-top: 1px solid #E8E8E8; + padding-top: 30px; } + +.newSubNav li { + list-style: none; } + +.newSubNav a { + color: #8A959E; + text-transform: uppercase; + font-size: 12px; + padding: 15px 20px; + display: block; } + +.newSubNav a.current, .newSubNav a.current:hover { + background-color: #EDF2F7; + font-weight: bold; + color: #2D709B; } + +.newSubNav a:hover { + text-decoration: none; + color: black; } + +.newSubNav .fa-chevron-right { + float: right; + margin-top: 2px; + color: #C6D8E4; } + +li#start a { + color: #75C320; } + +li#openstack-shared-services { + padding-bottom: 20px; + border-bottom: 1px solid #E8E8E8; } + +li#start { + margin-top: 20px; } + +fieldset { + border: 1px solid #CCCCCC; + padding: 20px 17px 20px 17px; + margin-bottom: 20px; } + +fieldset ul { + list-style: none; } + +input[type="radio"] { + margin-left: 0px; } + +input[type="checkbox"] { + margin-left: 0px !important; } + +input[type="checkbox"], input[type="radio"] { + display: inline-block; } + +div.tooltip-inner { + max-width: 350px; +} + +table.highlighttable { + width: 100%; +} + +.docs-sidebar-section ul ul { + padding-left: 0px; + margin-left: 20px; +} + +.docs-body .section h1 { + display: none; +} + +img.align-left, .figure.align-left { + display: table; + margin-left: 0; + margin-right: auto; +} + +img.align-center, .figure.align-center { + display: table; + margin: auto; +} + +img.align-right, .figure.align-right { + display: table; + margin-left: auto; + margin-right: 0; +} + +/* for search result highlighting */ +span.highlighted { + background-color: #fbe54e; +} + +/*img.align-left {*/ +/* display: table;*/ +/* margin-left: 0;*/ +/* margin-right: auto;*/ +/*}*/ +/**/ +/*img.align-center {*/ +/* display: table;*/ +/* margin: auto;*/ +/*}*/ +/**/ +/*img.align-right {*/ +/* display: table;*/ +/* margin-left: auto;*/ +/* margin-right: 0;*/ +/*}*/ diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.png b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.png new file mode 100644 index 0000000000000000000000000000000000000000..f916b9a01902fb8d9b9996cd53ea452edf90366a GIT binary patch literal 7853 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 literal 0 HcmV?d00001 diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.svg b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.svg new file mode 100644 index 00000000..995419bf --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.svg @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Horizontal_2color \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.png b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.png new file mode 100644 index 0000000000000000000000000000000000000000..904e7e5f04ce5dff461a7c5ca15089b2b24b408f GIT binary patch literal 15123 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 literal 0 HcmV?d00001 diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.svg b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.svg new file mode 100644 index 00000000..5e1f221c --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.svg @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Stacked_2color \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.png b/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.png new file mode 120000 index 00000000..495d7752 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.png @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Horizontal_2color.png \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.svg b/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.svg new file mode 120000 index 00000000..db0751aa --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/logo-full.svg @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Horizontal_2color.svg \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.png b/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.png new file mode 120000 index 00000000..599e8197 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.png @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Stacked_2color.png \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.svg b/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.svg new file mode 120000 index 00000000..c12558f4 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/static/images/logo-vert.svg @@ -0,0 +1 @@ +StarlingX_Logo_RGB_Stacked_2color.svg \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs/theme.conf b/openstackdocstheme/theme/starlingxdocs/theme.conf new file mode 100644 index 00000000..fb1b768c --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs/theme.conf @@ -0,0 +1,14 @@ +[theme] +inherit = openstackdocs +stylesheet = css/basic.css +pygments_style = native + +[options] +#analytics_tracking_code = UA-17511903-1 +sidebar_mode = toctree +display_badge = True +display_toc = True +display_global_toc_section = True +root_title = StarlingX Docs +sidebar_dropdown = os_docs +show_other_versions = False diff --git a/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.png b/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.png new file mode 120000 index 00000000..1c880385 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.png @@ -0,0 +1 @@ +../starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.png \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.svg b/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.svg new file mode 120000 index 00000000..42163659 --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs_pdf/logo-full.svg @@ -0,0 +1 @@ +../starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.svg \ No newline at end of file diff --git a/openstackdocstheme/theme/starlingxdocs_pdf/pdftheme.sty b/openstackdocstheme/theme/starlingxdocs_pdf/pdftheme.sty new file mode 100644 index 00000000..f7b7430e --- /dev/null +++ b/openstackdocstheme/theme/starlingxdocs_pdf/pdftheme.sty @@ -0,0 +1,67 @@ +\makeatletter + +% Do not print release information if empty +% Note: Sphinx does support version variable in conf.py to latex yet +\def \ifempty#1{\def\temp{#1} \ifx\temp\empty } +\renewcommand{\release}[1]{ + \ifempty{#1} + \newcommand{\osreleasetitle}{} + \newcommand{\osreleaseheader}{} + \else + \newcommand{\osreleasetitle}{\LARGE Release Version: #1\newline} + \newcommand{\osreleaseheader}{\space\small\nouppercase{(Release Version: #1)}} + \fi +} + +% Defines title page +\renewcommand{\maketitle}{ + \begin{titlepage} + \begin{flushleft} + \includegraphics[width=3.5cm, height=0.8cm]{\openstacklogo} + \end{flushleft} + \vskip 6em% + \begin{center} + % Document title + {\Huge \textbf \@title} + \end{center} + + \begin{flushright} + % Expect align right but center + \vskip 2em% + % RELEASE VERSION + {\osreleasetitle} + \end{flushright} + + \vskip 6em% + + \begin{flushright} + % Author + {\LARGE \@author} + \vskip 20em% + % Creation date + {\Large \@date} + \end{flushright} + \end{titlepage} +} + +% Customizes page header & footer for OpenStack +\fancypagestyle{normal}{ + \fancyhf{} + \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}} + \fancyfoot[RE,LO]{{\py@HeaderFamily\nouppercase\rightmark}} + \fancyhead[LE,RO]{{\py@HeaderFamily\@title\osreleaseheader}} + \fancyhead[RE,LO]{{\py@HeaderFamily\includegraphics[width=3.5cm, height=0.8cm]{\openstacklogo}}} +} + +% Customizes colors +\definecolor{VerbatimColor}{rgb}{.95,.95,.95} + +% Do not use chapter and section number +\setcounter{secnumdepth}{-1} + +% Font selection (English) +\usepackage{fontspec} +\defaultfontfeatures{Scale=MatchLowercase} +\setmainfont{Liberation Serif} +\setsansfont{Liberation Sans} +\setmonofont[SmallCapsFont={Liberation Mono}]{Liberation Mono} diff --git a/releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml b/releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml new file mode 100644 index 00000000..b520791e --- /dev/null +++ b/releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml @@ -0,0 +1,11 @@ +--- +features: + - | + Add support for additional themes is included in the package. The + first theme is ``starlingxdocs``. The initial implementation sets up + the new theme to inherit from ``openstackdocs`` and updates some of + the ``openstackdocs`` bits that are hard coded in the Python. + + For example:: + + html_theme = 'starlingxdocs' diff --git a/tox.ini b/tox.ini index c638efb2..81a941c1 100644 --- a/tox.ini +++ b/tox.ini @@ -31,6 +31,12 @@ commands = rm -rf doc/build api-ref/build sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html +[testenv:docs-starlingxdocs] +basepython = python3 +commands = + rm -rf doc/build api-ref/build + sphinx-build -a -E -W -d doc/build/doctrees -b html -D html_theme=starlingxdocs doc/source doc/build/html + [testenv:html] commands = rm -rf doc/build api-ref/build @@ -49,7 +55,6 @@ commands = rm -rf api-ref/build sphinx-build -a -E -W -d api-ref/build/doctrees -b html api-ref/source api-ref/build/html - [testenv:buildpdf] # Only build PDF and push it to publish-docs folder so that OpenStack # CI jobs will publish it. @@ -63,6 +68,19 @@ commands = mkdir -p publish-docs cp doc/build/pdf/os-doc-demo.pdf publish-docs +[testenv:buildpdf-starlingxdocs] +# Only build PDF and push it to publish-docs folder so that OpenStack +# CI jobs will publish it. +whitelist_externals = + make + cp + mkdir +commands = + sphinx-build -a -E -W -d doc/build/doctrees -b latex -D html_theme=starlingxdocs doc/source doc/build/pdf + make -C doc/build/pdf + mkdir -p publish-docs + cp doc/build/pdf/os-doc-demo.pdf publish-docs + [testenv:bindep] # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system