diff --git a/.zuul.yaml b/.zuul.yaml index 0c470c3..65493a6 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 90d55a5..5b22dc6 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 07e9c4f..1288666 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 cfd4403..de3bd5e 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 be6d26d..dde64b3 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 0000000..eb0e768 --- /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 0000000..aca8b64 --- /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 0000000..b4160c1 --- /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 0000000..f916b9a Binary files /dev/null and b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Horizontal_2color.png differ 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 0000000..995419b --- /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 0000000..904e7e5 Binary files /dev/null and b/openstackdocstheme/theme/starlingxdocs/static/images/StarlingX_Logo_RGB_Stacked_2color.png differ 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 0000000..5e1f221 --- /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 0000000..495d775 --- /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 0000000..db0751a --- /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 0000000..599e819 --- /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 0000000..c12558f --- /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 0000000..fb1b768 --- /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 0000000..1c88038 --- /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 0000000..4216365 --- /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 0000000..f7b7430 --- /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 0000000..b520791 --- /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 c638efb..81a941c 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