/* Additions to the portal stylesheet for the generated gRPC API pages. */
body.grpc-api > main { grid-column: 2; grid-row: 2; min-width: 0; }
body.grpc-api #logo img { display: block; height: 40px; width: auto; }
.grpc-api .grpc-banner { font-weight: 600; }
.grpc-api .md-twin { font-size: .875em; margin-top: 0; }
.grpc-api .badges { display: flex; flex-wrap: wrap; gap: 6px; }
.grpc-api .b { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: .8125em;
	background: #e6eef7; color: #0b2a4a; white-space: nowrap; }
.grpc-api .b-level { background: #0072ce; color: #fff; }
.grpc-api .b-kind { background: #d9f2e3; }
.grpc-api .b-session { background: #fff1d6; }
.grpc-api .b-stream { background: #efe3fb; }
.grpc-api .b-internal { background: #5c6670; color: #fff; }
.grpc-api .tw { overflow-x: auto; }
.grpc-api table.facts th { text-align: left; white-space: nowrap; vertical-align: top; padding-right: 16px; }
.grpc-api table.fields td:first-child, .grpc-api table.values td:first-child { white-space: nowrap; }
.grpc-api table td { vertical-align: top; }
.grpc-api table td p { margin: 0 0 6px; }
.grpc-api ul.links li { margin: 4px 0; }
.grpc-api code { overflow-wrap: anywhere; }
/* The portal sizes its inline SVG logo; this section serves the logo as an image, so size it here. */
.grpc-api #logo img { display: block; height: 40px; width: auto; }
@media screen and (max-width: 699px) {
	.grpc-api #logo { margin-right: 10px; }
	.grpc-api #logo img { height: 26px; }
}
/* Long dotted names (IRPCObjectOperations.GetObjectVersionAndPropertiesOfMultipleObjects) must wrap. */
.grpc-api main a { overflow-wrap: anywhere; }
/* Grid and flex items default to min-width: auto and would grow to the width of a wide table. */
.grpc-api main, .grpc-api article { min-width: 0; }
.grpc-api .tw { max-width: 100%; }
/* Page titles are long dotted names without spaces. */
.grpc-api h1, .grpc-api h2, .grpc-api h3 { overflow-wrap: anywhere; }
.grpc-api table.methods span.b { white-space: normal; }

/* Sidebar: labelled sections; the entry of the current page is highlighted (portal treeview
   .current), the entry of its book or section is bold, and the open group lists its pages. */
body.grpc-api #sidebar .treeview li { margin: 2px 0; }
body.grpc-api #sidebar .treeview a { padding: 5px 8px 5px 24px; line-height: 20px; }
body.grpc-api #sidebar .treeview li.nav-heading { margin: 20px 0 4px; padding-left: 24px; font-size: 11px;
	line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
	color: rgba( 10, 21, 65, .55 ); }
body.grpc-api #sidebar .treeview li.in-section > a,
body.grpc-api #sidebar .treeview li.expanded > a { font-weight: 600; }
body.grpc-api #sidebar .treeview li.expanded > ul { margin: 2px 0 6px; padding-left: 12px; }
body.grpc-api #sidebar .treeview li.expanded > ul a { font-size: 13px; padding-top: 4px; padding-bottom: 4px; }

/* Documentation typography. The portal's global heading sizes (h1 60px, h2 48px) suit landing
   pages; reference and guide pages need a compact scale and a readable line length. The selectors
   start with body.grpc-api article.page to win over the portal's article.page rules. */
body.grpc-api article.page { max-width: 1120px; font-size: 15px; line-height: 24px; }
body.grpc-api article.page h1 { font-size: 32px; line-height: 40px; font-weight: 600;
	letter-spacing: -.01em; margin: 6px 0 2px; }
body.grpc-api article.page h2 { font-size: 22px; line-height: 30px; font-weight: 600 !important;
	margin: 32px 0 12px; padding-bottom: 6px; border-bottom: 1px solid rgba( 10, 21, 65, .12 ); }
body.grpc-api article.page h3 { font-size: 17px; line-height: 24px; font-weight: 600 !important;
	margin: 28px 0 8px; }
body.grpc-api article.page h4 { font-size: 15px; line-height: 22px; font-weight: 600 !important;
	margin: 20px 0 6px; }
body.grpc-api article.page h1 + .md-twin { margin-bottom: 12px; }
body.grpc-api article.page p { margin: 10px 0; }
body.grpc-api article.page ol, body.grpc-api article.page ul { margin: 10px 0 14px; }
body.grpc-api article.page li { margin: 6px 0 0 22px; }
body.grpc-api article.page ul.links li { margin: 4px 0 0 22px; }
body.grpc-api article.page ol.breadcrumb { margin: 0 0 4px; font-size: 14px; }
body.grpc-api article.page ol.breadcrumb li { margin: 0; }
body.grpc-api article.page ol.breadcrumb li:not( :first-child )::before { content: "\203A";
	margin: 0 8px; color: rgba( 10, 21, 65, .45 ); }
body.grpc-api article.page ol.breadcrumb a { color: rgba( 10, 21, 65, .75 ); }
body.grpc-api article.page ol.breadcrumb a:hover { color: #0a1541; text-decoration: underline; }

/* Code. */
body.grpc-api article.page code, body.grpc-api article.page pre {
	font-family: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo,
		monospace; }
body.grpc-api article.page :not( pre ) > code { font-size: .875em; padding: 1px 5px;
	border-radius: 4px; background: rgba( 10, 21, 65, .06 ); color: #0a1541; }
body.grpc-api article.page a > code { color: inherit; }
body.grpc-api article.page pre { margin: 12px 0 6px; padding: 14px 16px; overflow-x: auto;
	white-space: pre; word-break: normal; font-size: 13px; line-height: 20px; background: #f7f8fa;
	border: 1px solid rgba( 10, 21, 65, .12 ); border-radius: 8px; }
body.grpc-api article.page pre > code { display: block; padding: 0; border: 0; background: none;
	font-size: inherit; overflow-wrap: normal; }
/* The "Source:" line after each embedded sample. */
body.grpc-api article.page pre + p > em:only-child { display: block; font-style: normal;
	font-size: 12px; line-height: 18px; color: rgba( 10, 21, 65, .6 ); margin-top: -2px; }

/* Tables: denser than the portal's default rows. */
body.grpc-api article.page table { font-size: 14px; line-height: 21px; margin: 12px 0 16px; }
body.grpc-api article.page table tr td, body.grpc-api article.page table tr th { padding: 8px 12px; }
/* Identifiers in table cells stay whole; a too-wide table scrolls in its .tw wrapper instead. */
body.grpc-api article.page td code, body.grpc-api article.page th code { overflow-wrap: break-word; }
body.grpc-api article.page table.facts th { width: 1%; color: rgba( 10, 21, 65, .7 );
	font-weight: 600; background: rgba( 10, 21, 65, .03 ); }
body.grpc-api article.page .badges { margin: 10px 0 14px; }

@media screen and (max-width: 699px) {
	body.grpc-api article.page { font-size: 14px; line-height: 22px; }
	body.grpc-api article.page h1 { font-size: 26px; line-height: 32px; }
	body.grpc-api article.page h2 { font-size: 20px; line-height: 26px; margin-top: 32px; }
}

/* Highlighted code (Pygments). */
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.grpc-api pre code .hll { background-color: #ffffcc }
.grpc-api pre code { background: #ffffff; }
.grpc-api pre code .c { color: #008000 } /* Comment */
.grpc-api pre code .err { border: 1px solid #F00 } /* Error */
.grpc-api pre code .k { color: #00F } /* Keyword */
.grpc-api pre code .ch { color: #008000 } /* Comment.Hashbang */
.grpc-api pre code .cm { color: #008000 } /* Comment.Multiline */
.grpc-api pre code .cp { color: #00F } /* Comment.Preproc */
.grpc-api pre code .cpf { color: #008000 } /* Comment.PreprocFile */
.grpc-api pre code .c1 { color: #008000 } /* Comment.Single */
.grpc-api pre code .cs { color: #008000 } /* Comment.Special */
.grpc-api pre code .ge { font-style: italic } /* Generic.Emph */
.grpc-api pre code .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.grpc-api pre code .gh { font-weight: bold } /* Generic.Heading */
.grpc-api pre code .gp { font-weight: bold } /* Generic.Prompt */
.grpc-api pre code .gs { font-weight: bold } /* Generic.Strong */
.grpc-api pre code .gu { font-weight: bold } /* Generic.Subheading */
.grpc-api pre code .kc { color: #00F } /* Keyword.Constant */
.grpc-api pre code .kd { color: #00F } /* Keyword.Declaration */
.grpc-api pre code .kn { color: #00F } /* Keyword.Namespace */
.grpc-api pre code .kp { color: #00F } /* Keyword.Pseudo */
.grpc-api pre code .kr { color: #00F } /* Keyword.Reserved */
.grpc-api pre code .kt { color: #2B91AF } /* Keyword.Type */
.grpc-api pre code .s { color: #A31515 } /* Literal.String */
.grpc-api pre code .nc { color: #2B91AF } /* Name.Class */
.grpc-api pre code .ow { color: #00F } /* Operator.Word */
.grpc-api pre code .sa { color: #A31515 } /* Literal.String.Affix */
.grpc-api pre code .sb { color: #A31515 } /* Literal.String.Backtick */
.grpc-api pre code .sc { color: #A31515 } /* Literal.String.Char */
.grpc-api pre code .dl { color: #A31515 } /* Literal.String.Delimiter */
.grpc-api pre code .sd { color: #A31515 } /* Literal.String.Doc */
.grpc-api pre code .s2 { color: #A31515 } /* Literal.String.Double */
.grpc-api pre code .se { color: #A31515 } /* Literal.String.Escape */
.grpc-api pre code .sh { color: #A31515 } /* Literal.String.Heredoc */
.grpc-api pre code .si { color: #A31515 } /* Literal.String.Interpol */
.grpc-api pre code .sx { color: #A31515 } /* Literal.String.Other */
.grpc-api pre code .sr { color: #A31515 } /* Literal.String.Regex */
.grpc-api pre code .s1 { color: #A31515 } /* Literal.String.Single */
.grpc-api pre code .ss { color: #A31515 } /* Literal.String.Symbol */
