:root { --sail-gray50: #f7fafc; --sail-gray100: #e3e8ee; --sail-gray200: #c1c9d2; --sail-gray300: #a3acb9; --sail-gray400: #8792a2; --sail-gray500: #697386; --sail-gray600: #4f566b; --sail-gray700: #3c4257; --sail-gray800: #2a2f45; --sail-gray900: #1a1f36; --sail-blue400: #6c8eef; --sail-blue700: #2f3d89; --sail-cyan500: #067ab8; --redish: #e06c75; --sidebar-width: 220px; --content-width: calc(100vw - var(--sidebar-width)); --section-padding: 5vw; --example-width: 40vw; --sp20: 20px; --sp24: 24px; --monospace-font: "SFMono-Regular", "Consolas", "Menlo", monospace; --title-font-size: 24px; --title-line-height: 40px; --main-font-size: 16px; --main-line-height: 24px; --nav-font-size: 14px; --endpoints-font-size: 14px; --endpoints-line-height: 22px; --table-font-size: 14px; --table-line-height: 18px; --code-font-size: 14px; } * { box-sizing: border-box; word-wrap: break-word; } html { overflow: auto; } body { margin: 0; padding: 0; font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", Helvetica, Arial, sans-serif; overflow-x: hidden; overflow-y: scroll; max-width: 100%; -moz-osx-font-smoothing: grayscale; background-color: var(--background-color); } body[data-theme="dark"] { --background-color: var(--sail-gray900); --shrinked-section-color: var(--sail-gray800); --response-background-color: var(--sail-gray800); --response-shadow-color: hsla(0,0%,100%,.15); --response-header-color: var(--sail-gray200); --block-header-background-color: var(--sail-gray700); --endpoints-def-color: var(--sail-gray200); --endpoints-def-hover-color: var(--sail-gray50); --divider-color: var(--sail-gray700); --title-color: var(--sail-gray50); --main-text-color: var(--sail-gray200); --attribute-name-color: var(--sail-gray100); --attribute-type-color: var(--sail-gray500); --attribute-required-color: var(--redish); --attribute-desc-color: var(--sail-gray200); --filter-ratio: 15%; --table-header-color: var(--sail-gray100); --code-color: var(--sail-gray200); --inline-code-color: var(--sail-gray100); --inline-code-border: hsla(0, 0%, 100%, .1); --inline-code-background: hsla(0, 0%, 100%, .08); --nav-color: var(--sail-gray300); --nav-hover-color: var(--sail-gray50); --nav-header-color: var(--sail-gray50); --brand-color: var(--sail-cyan500); --switch-background-color: #212d63; --code-strings: #98c379; --code-numbers: #56b6c2; --code-booleans: #d19a66; --child-list-title-color: var(--sail-gray500); --child-list-title-hover-color: var(--sail-gray100); } body[data-theme="light"] { --background-color: #fff; --main-text-color: #24292e; --title-color: #24292e; --filter-ratio: -15%; --shrinked-section-color: #f6f8fa; --response-background-color: #f6f8fa; --response-shadow-color: rgba(0,0,0,.07); --response-header-color: #586069; --block-header-background-color: var(--sail-gray100); --endpoints-def-color: #586069; --endpoints-def-hover-color: #24292e; --divider-color: #e1e4e8; --attribute-name-color: var(--sail-gray700); --attribute-type-color: var(--sail-gray400); --attribute-required-color: #d73a49; --attribute-desc-color: #586069; --table-header-color: #24292e; --code-color: #586069; --inline-code-color: #24292e; --inline-code-border: #fff; --inline-code-background: rgba(27,31,35,.05); --nav-color: #586069; --nav-hover-color: #24292e; --nav-header-color: #24292e; --brand-color: var(--sail-cyan500); --switch-background-color: var(--sail-gray100); --code-strings: #1ea672; --code-numbers: #005cc5; --code--booleans: #e36209; --child-list-title-color: #586069; --child-list-title-hover-color: #24292e; } #sidebar { width: var(--sidebar-width); height: 100%; position: fixed; top: 0; left: 0; bottom: 0; z-index: 10; box-shadow: -1px 0 0 0 var(--divider-color) inset; } .sidebar-header { color: var(--nav-header-color); padding: 16px; display: flex; flex-direction: row; justify-content: space-between; } .sidebar-header .sidebar-title { font-size: 15px; line-height: 20px; } .sidebar-header .api { text-transform: uppercase; color: var(--brand-color); } .sidebar-nav { margin-top: 16px; } .sidebar-nav a { text-decoration: none; color: var(--nav-color); transition: color .2s ease; font-size: var(--nav-font-size); font-weight: 500; display: block; padding: 5px 16px; } .sidebar-nav a:hover { color: var(--nav-hover-color); } .sidebar-nav a.current span { border-bottom: 2px solid var(--brand-color); } .sidebar-nav li > ul { display: none; padding-left: 16px; transition: all 2s ease; } .sidebar-nav li.expanded > ul, .sidebar-nav li.current > ul { display: block; } /*Simple css to style it like a toggle switch*/ .theme-switch-wrapper { display: flex; align-items: center; height: 20px; } .theme-switch-wrapper .theme-switch { display: inline-block; height: 20px; position: relative; width: 40px; } .theme-switch-wrapper .theme-switch input { display: none; } .theme-switch-wrapper .slider { background-color: #ccc; bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 4px; height: 14px; transition: .4s; } .theme-switch-wrapper .slider:before { background-color: #fff; bottom: -2px; content: ""; height: 18px; left: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.07), 0 1px 3px 0 rgba(59, 65, 94, 0.1); position: absolute; transition: .4s; width: 18px; } .theme-switch-wrapper input:checked + .slider { background-color: var(--switch-background-color); } .theme-switch-wrapper input:checked + .slider:before { transform: translateX(22px); } .theme-switch-wrapper .slider.round { border-radius: 20px; } .theme-switch-wrapper .slider.round:before { border-radius: 50%; } #content { position: absolute; top: 0; bottom: 0; right: 0; left: var(--sidebar-width); overflow-x: hidden; overflow-y: scroll; } /** Sections **/ section { width: 100%; display: flex; flex-direction: column; align-items: center; } .section-divider { height: 1px; margin-top: -1px; border-bottom: 1px solid var(--divider-color); width: 100%; margin: 0 auto; } /* First section should not have a divider */ #content > section:first-of-type > .section-divider { display: none; } /* Section within section represent resources, so the first sub-section should have ** a full width divider to separate itself from the previous resource. */ section > section:first-of-type .section-divider { width: 100%; } /* But following subsections should have padded divider to mark resource inclusion */ section > section .section-divider { width: calc(100% - 2 * var(--section-padding)); } /* Resource's subsections are hidden by default */ .head-section > section { display: none; background-color: var(--background-color); } /* Except the first one that uses a specific background color when shrinked */ .head-section > section:first-child { display: block; background-color: var(--shrinked-section-color); } /* When expanded, we show the subsections and hide the button. */ .head-section.expanded > section { display: block; background-color: var(--background-color); } .head-section.expanded .button-wrapper { display: none; } .button-wrapper { display: flex; width: 100%; justify-content: center; } .button-wrapper .button { display: flex; justify-content: center; background: var(--background-color); border-radius: 24px; padding: 4px 12px; color: var(--brand-color); text-transform: uppercase; cursor: pointer; font-size: 12px; line-height: 18px; border: 1px solid var(--divider-color); font-weight: 600; transform: translateY(-28px); } .button-wrapper .button > div { margin-right: 4px; } .button-wrapper .button:hover { filter: brightness(calc(100% + var(--filter-ratio))); } .button-wrapper svg { margin: 2px 0; fill: var(--sail-gray400); } .section-area { width: 100%; padding: var(--section-padding); display: flex; flex-direction: row; } .section-body { flex-shrink: 0; width: calc(var(--example-width) - var(--section-padding)); margin-right: var(--section-padding); } .section-example { position: sticky; align-self: flex-start; top: 0; flex-grow: 1; max-width: 600px; padding-top: calc(40px + var(--sp20)); } p { margin-top: var(--sp20); font-size: var(--main-font-size); line-height: var(--main-line-height); font-weight: 400; color: var(--main-text-color); --moz-osx-font-smoothing: grayscale; } /* Sub-sections uses a smaller font */ section section:not(:first-of-type) p { font-size: var(--endpoints-font-size); line-height: var(--endpoints-line-height); } ul { list-style: none; margin: 0; padding: 0; } .hidden { display: none; } .section-body h1 { font-size: var(--title-font-size); font-weight: 500; color: var(--title-color); line-height: var(--title-line-height); margin: 0; } .section-response { background: var(--response-background-color); border-radius: 8px; box-shadow: 0 0 0 1px var(--response-shadow-color); } .section-response .response-topbar { background: var(--block-header-background-color); padding: 10px 12px; font-weight: 500; font-size: 12px; color: var(--response-header-color); border-radius: 8px 8px 0 0; } .section-response p { margin: 0; padding: 12px var(--sp20); } .section-response pre { margin: 0; padding: 12px; color: var(--code-color); font-family: var(--monospace-font); font-size: var(--code-font-size); font-weight: 400; line-height: 18px; } .section-endpoints { padding: 12px 22px; } .section-endpoints .endpoint-def { display: flex; flex-direction: row; font-family: var(--monospace-font); font-size: var(--code-font-size); font-weight: 500; line-height: 22px; color: var(--endpoints-def-color); } .section-endpoints .method { text-align: right; width: 55px; margin-right: 7px; } .section-endpoints .method__get { color: var(--sail-blue400); } .section-endpoints .method__post { color: #50b573; } .section-endpoints .method__patch, .section-endpoints .method__put { color: #50b573; } .section-endpoints .method__delete { color: var(--redish); } .section-endpoints a { text-decoration: none; } .section-endpoints a:hover .method { filter: brightness(calc(100% + var(--filter-ratio))); } .section-endpoints a:hover .path { color: var(--endpoints-def-hover-color); } h3 { margin-top: 20px; padding-top: 16px; } h3, .section-list .section-list-title { font-size: 16px; font-weight: 500; padding-bottom: 12px; border-bottom: 1px solid var(--divider-color); display: flex; align-items: baseline; color: var(--title-color); margin: 0; margin-top: var(--sp20); width: 100%; } .section-list { margin-top: 32px; } .section-list .list-item { padding-top: 16px; padding-bottom: 15px; border-bottom: 1px solid var(--divider-color); } .section-list .list-item:last-child { border-bottom: none; } .section-list .list-item-label { display: flex; margin: 0; padding: 0 0 8px; align-items: baseline; margin-bottom: -8px; } .section-list .list-item-label > div { margin-right: 6px; } .section-list .list-item-name { font-family: var(--monospace-font); font-size: 14px; color: var(--attribute-name-color); font-weight: 600; } .section-list .list-item-type { font-size: 12px; font-weight: 600; color: var(--attribute-type-color); } .section-list .list-item-req { font-size: 10px; font-weight: 600; color: var(--attribute-required-color); text-transform: uppercase; } .section-list .list-item-description p { margin: 0; margin-top: 4px; color: var(--attribute-desc-color); font-size: var(--endpoints-font-size); line-height: var(--endpoints-line-height); } .section-list .section-list-child { border: 1px solid var(--divider-color); border-radius: 16px; display: inline-block; transition: all .2s ease; margin-top: 8px; } .section-list .section-list-child.list-shown { width: 100%; } .section-list .section-list-title-child { margin: 0; border-bottom: none; display: inline-block; padding: 6px 10px; color: var(--child-list-title-color); text-transform: none; font-size: 13px; } .section-list .section-list-title-child:hover { cursor: pointer; color: var(--child-list-title-hover-color); } .section-list .section-list-title-child.child-revealed { border-bottom: 1px solid var(--divider-color); } .section-list .section-list-title-child.child-revealed .svg-plus { transform: rotate(45deg); } .section-list .section-list-title-child .svg-plus { color: var(--child-list-title-color); transition: transform .2s ease; display: inline-block; transform: rotate(0deg); transform-origin: center; margin-right: 6px; } .section-list .child-list .list-item { padding: 12px; } .svg-icon { fill: currentColor; } /** Tables **/ .header-table { padding: 14px; color: var(--table-header-color); font-size: 12px; font-weight: 600; line-height: 18px; text-transform: uppercase; border-bottom: 1px solid var(--divider-color); } .table-wrapper { border: 1px solid var(--divider-color); border-radius: 8px; } table td { padding: 9px 14px 9px 10px; color: var(--main-text-color); font-weight: 400; font-size: var(--table-font-size); line-height: var(--table-line-height); vertical-align: baseline; } table tr td:first-child { padding: 9px 10px 9px 14px; width: 40%; } table .cell-property { font-weight: 600; text-align: right; } table .cell-definition { text-align: left; } /** Inline code **/ p code { color: var(--inline-code-color); border-radius: 4px; border: 1px solid var(--inline-code-border); padding: 2px 3px 0; margin: 0 1px; font-size: 15px; font-family: var(--monospace-font); font-weight: 500; background: var(--inline-code-background); } /** Code highlighting **/ pre code, pre code .w { color: var(--code-color); } pre code .s2 { color: var(--code-strings); } pre code .kc { color: var(--code-booleans); } pre code .mi { color: var(--code-numbers); }