/* ------------------------------------------------- */ /* ----- Typography ----- */ /* ------------------------------------------------- */ h1, h2, h3, h4, h5, h6 { color: var(--important); font-weight: 500; line-height: 1.2; code { font-size: inherit !important; color: inherit !important; background: none !important; border: none !important; } &+& { margin-top: var(--micro); } } h1 { font-size: var(--h1); margin-bottom: var(--xx-small); } h2 { font-size: var(--h2); margin: var(--medium) 0 var(--nano); } h3 { font-size: var(--h3); margin: var(--small) 0 var(--nano); } h4 { font-size: var(--h4); margin: var(--small) 0 var(--nano); } h5 { font-size: var(--h5); margin: var(--small) 0 var(--nano); } strong { font-weight: 500; } p+p { margin-top: var(--milli); } /* ------------------------------------------------- */ /* ----- Content ----- */ /* ------------------------------------------------- */ .content { border-left: 1px solid var(--divider-light); border-right: 1px solid var(--divider-light); a.anchorjs-link { &:hover, &:focus { text-decoration: none; } } a > code { color: inherit; } code { font-size: inherit; color: var(--code-simple); background: var(--code-simple-bg); border: none; } &>*:first-child { margin-top: var(--small); min-width:fit-content; } ul { margin: var(--micro) 0; } ul, ol { padding-left: var(--milli); } li { .highlight { display: block; } .highlight:only-child { margin: rem(1) 0; pre { margin: 0; } } pre { margin-left: rem(1.8); margin: rem(1) 0; display: block; } } ul>li:first-child>p:first-child { margin: 0; } p+p, p+ul, ul+p, ul p, ol p, p+ol, p+ol.has-p, ol+p, .highlight+p, pre+p, table+p, *+p { margin-top: rem(1.6); } p+table { margin-top: rem(0.5); } pre, .warning, .note, .annotation, .tip, .important { font-size: rem(1.5); font-weight: 300; } a:not(a[class]) { &, strong { color: var(--link); font-weight: 300; transition: all 0.2s; transition-delay: 50ms; } &[href*="https://"] { text-decoration: none; border-bottom: 1px solid transparent; // &::after { // content: ""; // background-image: url("../images/icon_external_link.svg"); // background-repeat: no-repeat; // // Use padding rather than `display-inline: block; width: 16px` to keep // // the icon from wrapping onto a new line. // padding-left: 16px; // filter: invert(50%); // background-position: center; // transition: all 0.2s; // transition-delay: 50ms; // } } &:hover, &:focus { &, strong { color: var(--important); } border-color: var(--important); &[href*="https://"] { &::after { filter: none; } } } } .callout { background: var(--brand); border-radius: 3px; padding: 1px; border-radius: rem(1.2); box-shadow: var(--shadow-default); &:not(.bottom) { margin: var(--large) 0; } a { margin-top: var(--milli); } div { background: var(--card-light); padding: var(--x-small); border-radius: inherit; @media(max-width: 400px) { padding: var(--milli); } } div> :first-child { margin-top: 0; } } .multilinkbox { margin: var(--small) 0; display: flex; gap: var(--milli); @media(max-width: 1325px) { flex-direction: column; max-width: 400px; } } .linkbox { flex: 0 0 31%; position: relative; padding: var(--milli) var(--milli) var(--nano); font-size: var(--sm); @include card; &::before { content: ""; width: 48px; height: 48px; position: absolute; top: rem(2); background-size: contain; } &.book, &.bulb, &.doc, &.touch { padding-top: rem(8); } &.book::before { background-image: url("../images/icon_book.png"); } &.bulb::before { background-image: url("../images/icon_bulb.png"); } &.doc::before { background-image: url("../images/icon_doc.png"); } &.touch::before { background-image: url("../images/icon_touch.png"); } .title { text-transform: uppercase; font-weight: 500; color: var(--important); margin-bottom: var(--nano); } ul { list-style: none; } a { font-weight: 300; } } img { max-width: 100%; } table { border-collapse: collapse; font-size: var(--sm); font-weight: 300; line-height: rem(2.1); @media(max-width: 500px) { code { font-size: var(--xsm); } } } tr { border-bottom: 1px solid var(--divider-light); } th { color: var(--important); border-bottom: 1px var(--highlight) solid; text-align: left; padding: 8px; font-size: rem(1.3); vertical-align: bottom; } td { padding: var(--nano); vertical-align: top; @media(max-width: 500px) { padding: var(--nano) var(--pico); } pre { background-color: inherit; border: 0; font-size: inherit; margin: 0; padding: 0; } } pre { background-color: var(--code-block); border-radius: 4px; border: 1px solid var(--divider-light); color: $black-v2; font-family: Courier, monospace; font-size: rem(1.5); margin: rem(1) 0 rem(0.5); overflow: auto; padding: rem(1.6); code { color: $black-v2; background: none; border: none; padding: 0; } } code { font-family: "Fira Code", Courier, monospace; font-variant-ligatures: none; font-size: rem(1.3); font-weight: 500; background: var(--code-block); border: 1px solid var(--divider-light); box-sizing: border-box; border-radius: 2px; padding: rem(0.1) rem(0.25) rem(0); color: var(--code-simple); background: var(--code-simple-bg); } // Merge a highlighted code block followed by a non-highlighted code block, // since this is a common pattern in our docs to indicate a (highlighted) // shell or SQL snippet followed by its (unhighlighted) output. .highlight+pre { border-top: 0; margin-top: -16px; padding-top: 0; } ul, ol { margin: 0; li { margin-bottom: rem(0.5); } } li { h4 { margin-top: 0; } } :not(div.footnotes) > ol.has-p:not(ol.has-p ol.has-p) { list-style-type: none; counter-reset: list-counter; margin: 0; padding: 0; >li { counter-increment: list-counter; min-height: rem(5); position: relative; padding: rem(1.6) 0 rem(1.6) rem(6); border-top: 1px solid var(--divider-light); ul, ol { padding-left: var(--milli); } ol { li { list-style-type: lower-alpha; } } @media(max-width: 850px) { padding-left: rem(4.5); } @media(max-width: 480px) { padding-left: rem(3); } &:before { content: counter(list-counter); color: var(--orchid); font-size: rem(3); font-weight: 100; position: absolute; top: 100; left: rem(1); @media(max-width: 850px) { font-size: rem(4); left: rem(.5); } @media(max-width: 480px) { font-size: rem(3.5); left: 0; } } &:last-child { padding-bottom: 0; } p { display: block; } } } hr { border: none; border-top: 1px solid $medium-grey-v2; margin: rem(3.6) auto; width: 80%; } .warning, .private-preview { // NOTE(benesch): please ensure these colors stay yellowish/orange. // Private preview and warnings should indicate a moderate amount of // caution--not serious danger, but nothing to overlook either. background: rgba(238, 134, 96, 0.05); border: 1px solid rgba(238, 134, 96, 0.2); &::after { border-color: var(--bg) var(--bg) #fbe2d9 #fbe2d9; background: #fbe2d9; } .gutter { color: #d33902; } } .note, .important { background: var(--note); border: 1px solid var(--note-border); a { &:hover, &:focus { color: var(--sub) !important; } code { &:hover, &:focus { color: var(--sub) !important; } } } &::after { border-color: var(--bg) var(--bg) var(--note-after) var(--note-after); background: var(--note-after); } .gutter { color: var(--note-gutter); } } .tip { background: var(--tip); border: 1px solid var(--tip-border); a { &:hover, &:focus { color: var(--sub) !important; } code { &:hover, &:focus { color: var(--sub) !important; } } } &::after { border-color: var(--bg) var(--bg) var(--tip-after) var(--tip-after); background: var(--tip-after); } .gutter { color: var(--tip-gutter); } } .annotation { border: 4px solid var(--annotation-border); background: var(--annotation-bg); a { &:hover, &:focus { color: var(--sub) !important; } code { &:hover, &:focus { color: var(--sub) !important; } } } } .public-preview { background: var(--public-preview); border: 1px solid var(--public-preview-border); color: var(--public-preview-text); &::after { border-color: var(--bg) var(--bg) var(--public-preview-after) var(--public-preview-after); background: var(--public-preview-after); } .gutter { color: var(--public-preview-gutter); } } .annotation { box-sizing: border-box; margin: rem(1.6) 0; padding: rem(1) rem(1) rem(1) rem(2); position: relative; @media(max-width: 510px) { padding: rem(.8) rem(.8) rem(.8) rem(1); } p:first-of-type { margin-top: 0; } } .warning, .note, .tip, .important, .private-preview, .public-preview { box-sizing: border-box; margin: rem(1.6) 0; padding: rem(1.6) rem(1.6) rem(1.6) rem(10.4); position: relative; border-radius: rem(1.2); @media(max-width: 510px) { padding: rem(1) rem(1) rem(1) rem(6); } p:first-of-type { margin-top: 0; } &::after { content: ""; position: absolute; top: -1px; right: -1px; border-width: 0 rem(1.6) rem(1.6) 0; border-style: solid; } .gutter { position: absolute; left: rem(1.6); top: rem(1.8); line-height: 23px; font-size: rem(1.2); font-weight: bold; text-transform: uppercase; @media(max-width: 510px) { top: rem(1.2); } } } .warning { @media(max-width: 510px) { padding-left: rem(9); } } .cta { background: $purple-gradient-v2; border-radius: 4px; color: #fff; display: inline-block; font-weight: 500; margin: rem(3.2) 0; padding: rem(2) rem(6.4); opacity: 1; transition: opacity 350ms ease; &.full_width { display: block; width: 100%; text-align: center; } &.secondary { background: $faded-purple-v2; color: $dark-purple-v2; &:hover { color: $dark-purple-v2; } } &:hover { opacity: 0.9; color: #fff; border-bottom: none; } } .release-date { font-style: italic; } .release-date+ul, .release-date+ol { margin-top: rem(1.6); padding-left: rem(3.2); } .symbol { color: $purple; } .breadcrumb { font-size: rem(1.4); letter-spacing: 0.03em; text-transform: uppercase; color: var(--sub); margin-bottom: var(--nano); a { color: var(--sub) !important; margin: 0 rem(0.8); &:hover { color: $black-v2; opacity: 1; } &:first-of-type { margin-left: 0; } } } } #helpful { border-top: 1px solid $grey; margin-top: rem(4.8); max-width: 40%; padding-top: rem(0.8); text-align: center; table { table-layout: fixed; width: 100%; } tr { border-style: hidden; } .helpful-vote { border: 3px solid $purple; color: $purple; display: inline-block; font-weight: bold; padding: rem(1.1) 0; width: 100%; } #got-feedback { display: none; } } // Navigation tabs (tab+tabs.html) .code-tabs { margin: rem(1) 0; .nav-tabs { list-style: none; padding: 0; border-bottom: 1px solid #9c86e0; display: flex; overflow-x: auto; @media(max-width: 850px) {} li { display: inline-block; margin: 0 rem(0.1); padding: 0; position: relative; bottom: -1px; background: var(--gray-lightest); a { color: var(--body); display: block; padding: rem(0.8) rem(1.6); font-size: rem(1.4); text-decoration: none; font-weight: 500; @media(max-width: 850px) { padding: rem(0.8) rem(1.6); } @media(max-width: 380px) { padding: rem(0.8) rem(0.8); } &:hover { color: $purple; border-bottom: none; } } &.active { background: var(--bg); border-radius: 2px 2px 0 0; border: 1px solid #9c86e0; border-bottom-color: var(--bg); a { color: var(--highlight); } } } } .tab-pane { display: none; padding: rem(1.6) 0; &.active { display: block; } } #subscribe_dialog { display: none; z-index: 10; position: absolute; top: 4px; right: 4px; background-color: $purple-v2; padding: 6px; border-radius: $border-radius; box-shadow: 0 1px 1px #00000011, 0 2px 2px #00000011, 0 4px 4px #00000011, 0 8px 8px #00000011, 0 16px 16px #00000011; form { display: flex; input[type="email"] { font-size: rem(0.8); padding: 7px 5px 6px 5px; border-radius: $border-radius; border: none; margin-right: 4px; } input[type="submit"] { line-height: 0.5; background-color: $white-v2; padding: 7px 18px 6px 18px; margin-top: 1px; } } .disclaimer { width: 100%; color: #fff; padding: 4px 8px; font-size: 12px; border-bottom-left-radius: $border-radius; border-bottom-right-radius: $border-radius; } } .subscribe_dialog_active { position: relative; #subscribe_dialog { display: block; } } .level-of-support { display: inline-block; width: 17px; height: 17px; position: relative; top: 5px; &.level-production { color: $success; } &.level-alpha, &.level-beta { color: $progress; } &.level-in-progress { color: $warning; } &.level-researching, &.level-not-supported { color: $danger; } } } .table-scrollable { box-shadow: inset 0 -4px 3px -3px $medium-grey-v2; margin: rem(1) 0 rem(3); overflow: auto; .table-container { overflow: visible; } table { width: 100%; } thead th { background: var(--bg); position: sticky; top: 0; &:after { border-bottom: 1px var(--highlight) solid; content: ""; bottom: -1px; left: 0; right: 0; position: absolute; } } &+* { margin-top: rem(3) !important; } } .level-of-support { display: inline-block; width: 17px; height: 17px; position: relative; top: 5px; &.level-production { color: $success; } &.level-alpha, &.level-beta { color: $progress; } &.level-in-progress { color: $warning; } &.level-researching, &.level-not-supported { color: $danger; } } .copy_button { display: none; position: absolute; font-size: rem(1.2); font-weight: 300; border: none; background-color: $grey-light; color: var(--black); height: 26px; padding: 0 12px; cursor: pointer; border-radius: $border-radius; white-space: nowrap; top: 10px; right: 10px; line-height: 2; font-family: 'Inter', sans-serif; &.success { opacity: 0.8; background: #70f2a3; } } #subscribe_dialog { display: none; z-index: 10; position: absolute; top: 4px; right: 4px; padding: 6px; @include card; form { display: flex; input[type="email"] { font-size: rem(1.4); padding: rem(.5); border-radius: $border-radius; border: none; margin-right: rem(.8); background: var(--bg); color: var(--important); border: 1px solid var(--divider-light); box-shadow: var(--shadow-default); } input[type="submit"] { line-height: 0.5; } } .disclaimer { width: 100%; color: var(--important); margin-top: var(--nano); padding: rem(.4) rem(.8); font-size: var(--xsm); border-bottom-left-radius: $border-radius; border-bottom-right-radius: $border-radius; } } .subscribe_dialog_active { position: relative; #subscribe_dialog { display: block; } } div.json_widget { display: flex; flex-direction: column; justify-content: center; position: relative; .input_container { display: inline-flex; flex-direction: row; margin: 16px; .input_container-text { display: inline-flex; flex-direction: column; flex-grow: 3; input { width: 100%; border: 1px solid #E0DEE3; border-radius: 8px; margin: 8px 0; padding: 8px; background-color: #F7F7F8; box-shadow: none; font-size: 16px; } .light & input { background-color: #F7F7F8; } .dark & input { background-color: #000000; } input::placeholder { color: #BCB9C0; } } .input_container-radio { display: inline-flex; flex-direction: column; flex-grow: 1; justify-content: center; margin: 0 16px 12px; padding: 16px; border: 1px solid #E0DEE3; border-radius: 8px; legend { padding: 0 4px; } } } .json { width: 100%; margin-top: 16px; textarea { height: 400px; width: 100%; resize: none; border: 1px solid #E0DEE3; border-radius: 8px; // margin: 16px; padding: 8px; } textarea::placeholder { opacity: 0.1; font-size: 4vw; text-align: center; line-height: 350px; } .error { opacity: 1; border-color: #d33902; border-style: solid; border-width: thin; border-radius: 8px; p { background-color: rgba(229, 6, 68, 0.1); font-weight: 500; padding: 8px; } .light & p { color: #803737; } .dark & p { color: #fe1d5e; } } .error-hidden { display: none; } } .sql_output { margin: 16px; } .log_output { border: 1px solid #ccc; border-radius: 4px; padding: 10px; max-height: 150px; overflow-y: auto; margin-top: 10px; } .input_container-text select.text-input { appearance: none; background-color: #F7F7F8; border: 1px solid #E0DEE3; border-radius: 8px; padding: 8px; font-size: 16px; color: #BCB9C0; cursor: pointer; } .input_container-text select.text-input:focus { outline: none; border-color: #aca9b8; } .light & select.text-input { background-color: #F7F7F8; } .dark & select.text-input { background-color: #000000; } } .notify_button { font-size: rem(1); padding: rem(0.4) rem(0.8); &.success { width: rem(8); } } /* Unclear why we are suppressing the copy button in tables but ... at least, allow for cases where we want to enable copy button in tables. */ td:not(.copyableCode) .copy_button { display: none !important; } td span.copyableCode pre:hover .copy_button { display: inline-block !important; } pre { position: relative; &:hover { .copy_button { display: inline-block; } } } body.dark .content { .note, .important { a { color: var(--link); } &::after { border-color: --var(--note-border); background: var(--note); } } .tip { a { color: var(--link); } &::after { border-color: --var(--tip-border); background: var(--tip); } } .annotation { a { color: var(--link); } } .warning, .private-preview { .gutter { color: #ff8504; } } pre code { color: var(--sub); } } .back-to-top { @media(max-width: 850px) { margin: var(--medium) 0; } } body.dark { .code-tabs .nav-tabs { li { background: var(--bg-sub); &.active { background: var(--bg); } } } } .caption { font-size: rem(1.2); font-weight: 300; padding: var(--nano); font-style: italic; } td.copyableCode{ .chroma { background-color: var(--code-block); } } span.copyableCode{ .chroma { background-color: var(--code-block); } } div.footnotes { font-size: var(--sm); hr { width: 100%; } li::marker { font-variant-numeric: normal; content: "[" counter(list-item) "] "; } } sup { a { color: var(--link); } } // Remove the bottom border from the last row of a nested table table table tr:last-child { border-bottom: none; }