* {
  font-family:'Open Sans',Arial,sans-serif;
  font-size: 15px;
}
label.notice {
    display: block;
}
label.notice.en a {
    color: #3399CC;
}
a.url {
    font-weight: 300;
    color: #157fb5;
    border-bottom: 1px dotted #157fb5;
}
a.url:hover,
a.url:target {
    color: #3399CC;
    border-bottom: 1px dotted #3399CC;
}
div#overview.seoBlock .button {
    position: relative;    
    padding: 10px 20px;
    background: #f7f7f7;
    border-radius: 12px;
    text-align: left;    
}
div#overview.seoBlock .button span {
    display: inline-block;
    width: calc(100% - 145px);
    font-weight: 300;    
}
div#overview.seoBlock .button span:before {
    position: relative;
    top: 3px;
    content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-right: 4px;
    background-image: url(/img/svg/hint-info-sprite.svg);
    background-size: 16px auto;
    background-position: 0 1px;
}
div#overview.seoBlock .button .registerApp {
    position: relative;
    right: 0;
    display: inline-block;
    width: 140px;
    height: 40px;
    max-height: 40px;
    padding: 0 10px 0 10px;
    line-height: 22px;
    border-radius: 4px;
    background: linear-gradient(to bottom, #f9f9f9 0%, #f7f7f7 40%, #eaeaea 100%);
    border: 1px solid #9b9b9b;
    text-shadow: 0px 1px 2px #fff;
    font-size: 15px;
    cursor: pointer;
}
div#overview.seoBlock .button .registerApp:hover,
div#overview.seoBlock .button .registerApp:target {
    background: #3399CC;
    border: 1px solid #3399CC;
    text-shadow: none;
    color: #fff;
}
div.requestBlock.visibleNow div.endpoint-spec {
    padding: 6px 12px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 1px 2px #ddd;
}
div.requestBlock.visibleNow div.endpoint-spec h3 {
    margin-left: 0;
    font-weight: 400;
}
div.requestBlock.visibleNow div.endpoint-spec div,
div.requestBlock.visibleNow div.endpoint-spec div strong {
    font-weight: 300;
}
section.apiDoc div.wrapper p.api-footnote {
    max-width: fit-content;
    margin-top: 5px;
    padding-left: 8px;
    padding: 8px 12px 10px 12px;
    background: #fcffda;
    border-radius: 10px;
    box-shadow: none;
    border-left: none;
    font-size: 14px;    
    font-style: normal;
}
@media (min-width: 800px) {
    section.apiDoc div.wrapper {
        display: block;
        max-width: 800px;
        margin: 40px calc(50% - 400px) 140px;
    }
    div.useCases,
    div.useCase,
    div#query-rules.doc div.spec-title,
    div#datasets-updates div.spec-title,
    div#overview.seoBlock,
    section.apiDoc div.wrapper p,
    .scroll-x {
        max-width: 700px;
    }
    section.apiDoc div#query-rules.doc div.spec-title,
    section.apiDoc div#datasets-updates.spec-title,
    section.apiDoc div#datasets-updates div.spec-title {
        padding-left: 0;
        padding-right: 0;
    }
    .scroll-x {
        border-radius: 0 0 12px 12px;
        box-shadow: 0 1px 1px #bdbdbd;
    }
}
@media (max-width: 800px) {
    main section.apiDoc div.wrapper {
        max-width: calc(100% - 40px) !important;
        margin: 0;
        padding: 20px 20px 120px 20px;
    }
}
@media (max-width: 768px) {
    section.apiDoc .banner.api.makaniSearch {
        min-height: 280px;
        background-size: cover;
    }
}
@media (max-width: 600px) {
    section.apiDoc div.tabs button.tab {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px;
        font-weight: 400;        
    }
    main section.apiDoc button.apiTitle {
        font-size: 16px;
    }
    main section.apiDoc div.tabs button.tab {
        display: inline-block;
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: -0.02em;
    }
    .descriptionBlock p,
    .doc .spec-table td,
    .additionalBlock ul li {
        font-size: 14px;
    }
}
@media (min-width: 481px) {
    div#overview.seoBlock .column.left {
        display: inline-block;
        width: calc(75% - 40px);
        margin-right: 20px;
        vertical-align: top;
    }
    div#overview.seoBlock .column.right {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }
}
@media (max-width: 480px) {
    div#overview.seoBlock .column.left {
        width: 100%;
    }
    div#overview.seoBlock .column.right {
        display: none;
    }
}
.breadcrumbs {
    display: block;
    padding: 0;
    font-size: 13px;
    font-weight: 300;
}
.breadcrumbs a {
    color: #111;
    text-decoration: none;
}
.breadcrumbs a:last-child {
    color: green;
}
.details.columns .column.left {
    margin-top: 15px;
    min-width: 200px;
    font-size: 13px;
    font-weight: 300;
}
.details.columns .column.left time {
    font-size: 13px;
    color: rgb(28 117 28);
}
div.wrapper div.columns div.column.right .shareURL em {
    font-size:13px;
}
.social {
    position: absolute;
    z-index: 1 !important;
}
div#overview.seoBlock {
    display: block;
    width: 100%;
    height: auto;
}
div#overview.seoBlock .column.right img {
    display: block;
    width: 100%;
    height: auto;
    margin: 50px 0 0;
    opacity: 0.9;
}
section.apiDoc h1 {
    font-weight: normal;
    line-height: 1.5em;
    color: #000;
}
section.apiDoc h1 small {
    display: block;
    font-size: 17px;
    font-weight: normal;
}
section.apiDoc h2 {
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.5em;
    color: #000;
}
.documentation h3 {
    margin: 0;
    padding: 0 0 10px;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.5em;
    color: #000;
}
section.apiDoc h2,
.apiDoc .documentation h3 {
    margin-left: 20px;
}
div#overview.seoBlock .column.left h2 {
    margin-left: 0;
    font-size: 16px;
}
section.apiDoc h2#faq {
    margin: 40px 0 20px 20px;
}
section.apiDoc h2#faq b, 
section.apiDoc h2#faq small {
    display: block;
    font-size: 20px;
    text-align: left;
}
section.apiDoc h2#faq b {
    font-size: 22px;
    font-weight: normal;
}
section.apiDoc h2#faq small {
    font-size: 16px;
}
p.published, 
p.published time {
    font-size: 13px;
    font-weight: 300;
}
p.url {
    margin-top: 30px;
    margin-bottom: 30px;
}
p.url:before {
    float: left;
    display: inline-block;
    content: "";
    width: 2px;
    height: 44px;
    margin-right: 10px;    
    background: #97cd54;
    border-radius: 4px;    
}
p.url, p.url a {
    font-size: 13px;
}
p.url a {
    color: #111;
    border-bottom: 1px dotted #111;
    text-decoration: none;
}
p.url a:hover,
p.url a:target {
    color: #3399CC;
    border-bottom: 1px dotted #3399CC;
}
section.apiDoc {
    position: relative;
    top: 60px;
    left: 0;
}
.apiDoc .subHeader {
    display: block;
    width: 100%;
    min-height: 40px;
    margin-top: 10px;
    margin-bottom: 10px;
    vertical-align: top;
}
.apiDoc .subHeader.first {
    margin-top: 10px;
}
.apiDoc .subHeader.second,
.apiDoc div#supported-geodata.subHeader {
    margin-top: 30px;
}

.apiDoc .subHeader h3 {
    display: inline-block;
    width: calc(100% - 185px);
    padding-left: 0;
    vertical-align: top;
}
.subHeader label {
    display: inline-block;
    width: auto;
    height: 22px;
    margin-top: 2px;    
    padding: 4px 10px;
    border-radius: 8px;
    zoom: 88%;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
    vertical-align: top;
}
label.main.search {
    background: #bff8ff;
}
label.main {
    background: #d3f8a6;
}
label.supported {
    background: #fcf1a1;
}
div.doc {
    display: block;
    width: 100%;
    margin: 0 0 5px 0;
    background: #f7f7f7;
    border-radius: 12px;
    overflow-x: hidden;
}
div.tabs.hidden {
    display: none;
}
div.usecasesBlock.visibleNow p {
    display: block;
    margin: 15px 0;
}
div.usecasesBlock.visibleNow p code {
    color: green;
}
div.usecasesBlock.visibleNow p.useCase {
    margin-bottom: 5px;
    padding-bottom: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 16px;
    font-weight: 400;
}
section div.usecasesBlock.visibleNow p a {
    color: #111;
    border-bottom: 1px dotted #111;
}
section div.usecasesBlock.visibleNow p a:hover,
section div.usecasesBlock.visibleNow p a:target,
section div.usecasesBlock.visibleNow p a:hover b,
section div.usecasesBlock.visibleNow p a:target b {
    color: #3399CC !important;    
}
section div.usecasesBlock.visibleNow p a:hover,
section div.usecasesBlock.visibleNow p a:target {
    border-bottom: 1px dotted #3399CC;
}
div.usecasesBlock.visibleNow p.code {
    display: block;
    padding: 4px 12px 8px 12px;
    border-radius: 4px;
    background: #111;
    border: #999;
}
div.usecasesBlock.visibleNow p.code,
div.usecasesBlock.visibleNow p.code b {
    color: #e6edf3;
}
div.usecasesBlock.visibleNow p.code b i.mark {
    font-weight: 400;
    font-style: normal;
    color: #d2c174;
}
.banner.api.makaniSearch {
    display: block;
    width: 100%;
    max-width: 700px;    
    min-height: 380px;
    margin: 50px 0;    
    background-image: url('/img/makani-search-api-preview.webp');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}
.banner.api.makaniSearch:hover,
.banner.api.makaniSearch:target {
    transform: scale(1.05) translate(-0%, -10px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
div.requestBlock.visibleNow {
    min-height: 200px;
    padding: 15px;
}
.endpoint-spec {
    padding-bottom: 10px;
}
div.requestBlock.visibleNow div {
    display: block;
    margin: 0 0 10px;
}
div.requestBlock.visibleNow div,
div.requestBlock.visibleNow div * {
    font-size: 14px;
}
div.requestBlock.visibleNow div strong {
    font-weight: 400;
}
section.apiDoc h1 i.violet {
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    color: #9C27B0;
    position: relative;
    top: -10px;
    left: -2px;
    display: inline-block;
    letter-spacing: -0.02em;
}
button.apiTitle {
    display: block;
    width: 100%;
    padding: 9px 0 11px 20px;
    border: none;
    background: transparent;
    border-radius: 12px;    
    font-size: 17px;
    font-weight: 400;
    text-align: left;
}
button.apiTitle.active,
button.apiTitle.active:hover,
button.apiTitle.active:target {
	background: linear-gradient(270deg, #50a2ff, #3891fd, #8dccff, #3e83f3);
    background-size: 800% 800%;
    -webkit-animation: animatedGradient 12s ease infinite;
    -moz-animation: animatedGradient 12s ease infinite;
    animation: animatedGradient 12s ease infinite;
    border-radius: 12px 12px 0 0;
    color: #fff;
}
button.apiTitle strong {
    float: left;
    display: inline-block;
    padding-top: 2px;
    font-size: 17px;
    font-weight: 400; 
}
button.apiTitle label {
    float: right;
    margin-top: 2px;
    margin-right: 40px;
    border-radius: 18px;    
    font-size: 12px;
    font-weight: 400;
}
button.apiTitle label.green {
    padding: 4px 12px;    
    border: 0.5px solid rgb(32, 167, 32);
    color: rgb(32, 167, 32);
}
button.apiTitle label.blue {
    padding: 4px 12px;    
    border: 0.5px solid #367fa8;
    color: #367fa8;    
}
button.apiTitle label.purple {
    padding: 4px 12px;    
    border: 0.5px solid #991f99;
    color: #991f99;
}
button.apiTitle.active strong,
button.apiTitle.active:hover strong,
button.apiTitle.active:target strong,
button.apiTitle.active label {
    color: #fff;
}
@keyframes {
	0% {
    	background-position: 0% 50%;
	}
	50% {
    	background-position: 100% 50%;
	}
	100% {
    	background-position: 0% 50%;
	}
}
button.apiTitle:hover,
button.apiTitle:target {
    background: #3399CC;
}
button.apiTitle:hover,
button.apiTitle:target,
button.apiTitle:hover strong,
button.apiTitle:target strong,
button.apiTitle:hover label,
button.apiTitle:target label {
    color: #fff;
}
button.apiTitle.active label,
button.apiTitle:hover label,
button.apiTitle:target label {
    border-radius: 12px;
    border: 0.5px solid #fff !important;
}
div.doc div.tabs {
    width: 100%;
    height: 40px;
    border-bottom: 3px solid #ddd;
}
div.tabs button.tab {
    position: relative;
    top: 3px;
    padding: 12px 16px;
    background: transparent;
    border: none;
    border-bottom: 3px solid #ddd;
}
div.tabs button.tab.selected,
div.tabs button.tab.active {
    border-bottom: 3px solid #27ad27;
    color: #555;
}
div.contentBlocks {
    display: block;
    width: 100%;
    height: auto;
    min-height: auto;
}
.doc .hidden {
  display: none !important;
}
.descriptionBlock,
.usecasesBlock {
    display: block;
    padding: 0 16px;
}
.descriptionBlock ul li {
    margin-bottom: 5px;
}
.descriptionBlock b,
.descriptionBlock strong {
    font-weight: 300;
}
.additionalBlock ul {
    padding-left: 30px;
    list-style: none;
}
.additionalBlock ul li {
    margin-bottom: 5px;
    font-size: 15px;
}
.additionalBlock ul li strong,
.additionalBlock ul li b {
    font-weight: 300;
}
.additionalBlock ul li time {
    color: green;
}
.additionalBlock ul li ul {
    margin-top: 10px;
}
.additionalBlock ul li:before {
    position: relative;
    left: -8px;
    bottom: 3px;    
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 0;
    padding-left: 0;    
    background: #000;
    border-radius: 100px;
}
.contentBlock.visibleNow {
    display: block;
    width: 100%;
    min-height: auto;
    height: auto;
}
.spec-wrap {
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
    line-height: 1.5;
    color: #0f172a;
  }
.spec-note {
    padding: 10px;
}  
.spec-note,
.spec-note * {
    font-size: 14px;
    font-weight: 300;
}
.spec-note b {
    font-weight: 400;
}
  @media (prefers-color-scheme: dark) {
    .spec-wrap { color: #e2e8f0; }
    .spec-wrap table { color: inherit; }
  }
.spec-title {
    width: auto;
    margin: 2px 18px 15px 0;
    font-size: 1.25rem;
    font-weight: 400;
}
.doc .spec-title {
    display: none;
}
.spec-table {
    width: 100%;
    max-width: 700px;
    border-collapse: collapse;
    border: none;
    border-radius: 0;
    overflow: hidden;
}
div#query-rules.doc div.spec-title,
section.apiDoc div#datasets-updates div.spec-title {
    display: block !important;    
    margin: 0;
    padding: 8px 12px;
    background: #2196F3;
    border-radius: 12px 12px 0 0;
    font-size: 16px;
    font-weight: 300;
    color: #fff;
    text-align: center;
}
div#datasets-updates .spec-table td {
    padding: .4rem .75rem;
    border-top: 1px solid rgba(148, 163, 184, .3);
    font-size: 14px;
    font-weight: 300;
    vertical-align: top;
}
div#datasets-updates .spec-table td.new {
    color: green;
    font-weight: 300;
}
div#datasets-updates .spec-table td a {
    color: #111;
    border-bottom: none;
}
div#datasets-updates .spec-table td a:hover, 
div#datasets-updates .spec-table td a:target {
    color: #3399CC;
}
.spec-table thead th {
    padding: .5rem .75rem 0.4rem;
    background: rgba(148, 163, 184, .15);
    font-size: 0.9rem;
    font-weight: 400;
    white-space: nowrap;
    text-align: left;    
}
.spec-table tr td,
.spec-table tr td strong,
.spec-table tr td code,
.spec-table tr td ul li {
    font-size: 0.9rem;
}
.spec-table tr td ul li {
    margin-bottom: 10px;
}
.spec-table thead th:first-letter {
    text-transform: uppercase;
}
.spec-table td {
    padding: .4rem .75rem;
    border-top: 1px solid rgba(148, 163, 184, .3);
    font-weight: 300;
    vertical-align: top;    
}
.spec-table tr td:first-child {
    max-width: 250px !important;
    overflow-wrap: break-word;
}
.spec-table tr:last-child td {
    border-bottom: 1px solid #d6dbe3;
}
  .spec-table tbody tr:nth-child(even) {
    background: rgba(148,163,184,.08);
  }
  .scroll-x { 
    overflow-x: auto; 
  }
.documentation {
    display: block;
    width: 100%;
    max-width: 700px;
    margin-bottom: 40px;
    vertical-align: top;
    text-align: left;
}
/* --- additions / enhancements for the accordion + tabs --- */
button.apiTitle {
  position: relative;
  cursor: pointer;
  outline: none;
}
button.apiTitle:focus-visible {
  box-shadow: 0 0 0 3px rgba(65,169,221,.35);
}
button.apiTitle::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 40%;
    width: 5px;
    height: 5px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-60%) rotate(-45deg);
    transition: transform .2s ease;
    opacity: .7;
    filter: rotate(90deg);
    transform: rotate(45deg);
}
button.apiTitle.active::after {
    transform: translateY(+30%) rotate(225deg);
}
div.doc div.tabs {
    position: relative;  
    display: flex;
    gap: 6px;
    align-items: end;
    margin-bottom: -2px;
    padding: 4px 0 0 0;
}
div.tabs button.tab {
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  outline: none;
}
div.tabs button.tab:focus-visible {
  box-shadow: inset 0 -2px 0 #27ad27, 0 0 0 3px rgba(39,173,39,.25);
}
div.contentBlock.visibleNow .scroll-x {
    box-shadow: none;
}
div.contentBlocks {
    min-height: 200px;    
    padding: 0 0 10px 0;
    border-radius: 0;
}

/* smooth-ish reveal without layout jumps */
.doc .hidden {
  display: none !important;
}
.contentBlock, .exampleBlock {
  width: 100%;
  min-height: 200px;
}
.contentBlock.hidden, .exampleBlock.hidden {
  display: none;
}
.scroll-x {
    border-radius: 0 0 12px 12px;
    box-shadow: 0 1px 1px #bdbdbd;
}
/* small dark-mode polish aligned with your existing rules */
@media (prefers-color-scheme: dark) {
  button.apiTitle.active { background: #2387b7; color:#fff; }
  button.apiTitle:hover  { background: #1f7aa6; color:#fff; }
  div.tabs { border-bottom-color: #334155; }
  div.tabs button.tab { border-bottom-color: #334155; color:#e2e8f0; }
  div.tabs button.tab.selected, div.tabs button.tab.active { color:#fff; }
}
.messengers.hidden {
    display: none;
}
button.contactUs {
    position: fixed;
    right: 20px;
    top: 74px;
    z-index: 1;
    width: 122px;
    height: 36px;
    background-color: rgb(255 255 255 / 30%);
    backdrop-filter: blur(10px);
    border-radius: 100px;
    border: 1px solid #b5b5b5;
    font-size: 15px;
    text-align: left;
    cursor: pointer;
}
button.contactUs:hover,
button.contactUs:target {
    background-color: rgb(97 163 41 / 90%);
    background-position: 10px -10px;
    backdrop-filter: blur(10px);
}
.messengers:before {
    content: "";
    position: fixed;
    bottom: 41px;
    left: 0;
    z-index: 2;    
    display: block;
    width: 100%;
    height: 100px;
    background: linear-gradient(to bottom, rgb(245 245 245 / 0%) 0%, #fcfcfc 100%) 70%;
}
button.contactUs i {
    position: relative;
    top: 4px;
    left: 4px;
    display: inline-block;
    width: 18px;
    height: 16px;
    margin-right: 8px;
    background-color: transparent;
    background-image: url('https://smartindexes.com/img/svg/comment_sprite.svg');
    background-size: 16px auto;
    background-position: 0 0;
    background-repeat: no-repeat;
}
button.contactUs:hover,
button.contactUs:target {
    color: #fff;
}
button.contactUs:hover i,
button.contactUs:target i {
    background-color: transparent;    
    background-image: url('https://smartindexes.com/img/svg/comment_sprite.svg');
    background-size: 16px auto;
    background-position: 0 -16px;
    background-repeat: no-repeat;
}
.messengers a i {
    position: relative;
    top: 6px;
    left: -8px;    
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 0;
}
.messengers a.sendEmail i {
    background-image: url('https://smartindexes.com/img/svg/comment_sprite.svg');
    background-size: 20px auto;
    background-position: 0 -19px;
    background-repeat: no-repeat;
}
.messengers a.telegram i {
    margin-right: -2px;
    background-image: url('https://smartindexes.com/img/svg/telegram_sprite.svg');
    background-size: 28px auto;
    background-position: -4px -4px;
    background-repeat: no-repeat;
}
.messengers a.whatsApp i {
    left: -10px;
    margin-right: -2px;
    background-image: url('https://smartindexes.com/img/svg/whatsapp_sprite.svg');
    background-size: 22px auto;
    background-position: 0 -90px;
    background-repeat: no-repeat;
}
button.contactUs.hidden {
    display: none;
}

.messengers {
    position: fixed;
    right: 90px;
    top: 74px;
    z-index: 2;
    display: block;
    width: 470px;
    height: 40px;
    background-color: transparent;
    border: none;
    text-align: right;    
}
.messengers a {
    position: relative;
    z-index: 2;
    display: inline-block;
    width: 120px;
    height: 36px;
    border-radius: 100px;
    padding-left: 20px;
    line-height: 34px;
    vertical-align: middle;
    font-size: 15px;
    text-decoration: none;
    text-align: left;
    color: #fff;
}
.messengers a.sendEmail {
    width: 114px;       
    background-color: #005ff9;
}
.messengers a.telegram {
    width: 98px;    
    background-color: #2196f3;
}
.messengers a.whatsApp {
    width: 104px;    
    background-color: #28bf42;
}
.messengers a.sendEmail,
.messengers a.telegram {
    margin-right: 20px;
}
.messengers a:hover,
.messengers a:target {
    opacity: 95%;
}

div.exampleBlock.visibleNow {
    display: block;
    visibility: visible;
}
/* Code frame */
.codeframe { position:relative; background:var(--bg); border-radius:.5rem; border:1px solid var(--border); overflow:auto; }
.codeframe::after {
    content: attr(data-language);
    position:absolute; top:.4rem; right:.6rem; color:var(--muted); font:600 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-transform:uppercase;
    background:rgba(255,255,255,.04); padding:.1rem .35rem; border:1px solid var(--border); border-radius:.25rem;
}

pre { margin:0; }
/* Line-numbered code */
.code-ln {
    display:block; padding:1.25rem 1rem 1.25rem 3.75rem; /* left space for gutter */
    color:#e6edf3; font:13px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    counter-reset: ln;
    tab-size:2;
    white-space:pre; /* keep as-is */
}
.code-ln > span {
    display:block; position:relative; padding-left:.25rem;
}
.code-ln > span::before {
    counter-increment: ln;
    content: counter(ln);
    position:absolute; left:-2.75rem; width:2.25rem; text-align:right;
    color: var(--ln);
    opacity:.7;
}
/* Gutter separator */
.code-ln::after {
    content:"";
    position:absolute; top:0; bottom:0; left:3.25rem; width:1px; background:rgba(255,255,255,.06);
    pointer-events:none;
}

/* Scrollbar (optional) */
.codeframe::-webkit-scrollbar{ height:10px; width:10px; }
.codeframe::-webkit-scrollbar-thumb{ background:#2a3646; border-radius:8px; }
.codeframe::-webkit-scrollbar-track{ background:transparent; }

.example-tabs {
    --bg: #0b0f14;
    --panel: #0f141b;
    --border: #1f2a37;
    --muted: #8b97a8;
    --accent: #3b82f6;
    --ln: #9aa5b1;
    display: block;
    min-height: 400px;
    margin: 0;
}
.example-tabs .tabs-header { display:flex; gap:.25rem; border-bottom:1px solid var(--border); }
.example-tabs .tab {
    appearance:none; border:none; background:transparent; color:var(--muted);
    padding:.6rem .9rem; cursor:pointer; font:500 14px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    border-bottom:2px solid transparent; border-top-left-radius:.5rem; border-top-right-radius:.5rem;
}
code, pre, .code-ln {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}
.example-tabs .tab:is(:hover,:focus-visible){ color:#dbe5f5; outline:none; }

.example-tabs .tabs-panels { background:var(--panel); border:1px solid var(--border); border-top:none; border-radius:0; }
.example-tabs .panel { padding:1rem; }
.example-tabs .panel[hidden]{ display:none; }

.example-tabs .codeframe { position:relative; background:var(--bg); border-radius:0; border:1px solid var(--border); overflow:auto; }
.example-tabs .codeframe::after {
    content: attr(data-language);
    position:absolute; top:.4rem; right:.6rem; color:var(--muted); font:600 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-transform:uppercase;
    background:rgba(255,255,255,.04); padding:.1rem .35rem; border:1px solid var(--border); border-radius:.25rem;
}
example-tabs .panel {
  --bg:#0b0f14; 
  --panel:#0f141b; 
  --border:#1f2a37; 
  --muted:#8b97a8; 
  --accent:#3b82f6; 
  --ln:#9aa5b1;     
  margin:0; 
  border-radius:0
}
.example-tabs pre { margin:0; }

.example-tabs .code-ln {
    display:block; 
    width: calc(100% - 4.75rem);
    padding:1.25rem 1rem 1.25rem 3.75rem;
    color:#e6edf3; 
    font:13px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    counter-reset: ln;
    tab-size:2;
    white-space: pre;
    position: relative;
}
.example-tabs .code-ln > span {
    display:block; 
    position:relative; 
    padding-left:.25rem;
    color: #e6edf3;
}
.example-tabs .code-ln > span::before {
    counter-increment: ln;
    content: counter(ln);
    position:absolute; left:-2.75rem; width:2.25rem; text-align:right;
    color: var(--ln);
    opacity:.7;
}
.example-tabs .code-ln::after {
    content:"";
    position:absolute; top:0; bottom:0; left:3.25rem; width:1px; background:rgba(255,255,255,.06);
    pointer-events:none;
}
.example-tabs .api-footnote {
    margin-top:.5rem;
}
.example-tabs .api-footnote,
.example-tabs .api-footnote code {
    font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    color: #b7c1d2;      
}
.example-tabs .api-footnote a {
    color: #a8b6ce;
    text-decoration: none;
}
.example-tabs .api-footnote a:hover,
.example-tabs .api-footnote a:target {
    color: #fff;
}    
div#faq-block button.apiTitle strong {
    width: calc(100% - 100px);
}
p.published time {
    color: green;
}
.references {
    display: block;
    padding: 0;
}
section.apiDoc .references h2 {
    margin: 0 0 20px 0;
}
.references ul {
    margin: 0;
    padding: 0 0 0 15px;
}
.references ul li {
    margin: 0 0 15px 0;
    padding: 0;
}
.references ul li a {
    color: #111;
    text-decoration: none;
    border-bottom: 1px dotted #111;
}
.references ul li a strong {
    font-weight: 300;
}
.references ul li a:hover,
.references ul li a:target {
    color: #3399CC;
    border-bottom: 1px dotted #3399CC;  
}
.references ul li a:hover strong,
.references ul li a:target strong {
    color: #3399CC;
}
section div#query-rules.doc,
section div#query-rules.contentBlock.visibleNow {
    background: transparent !important;
    background-color: transparent;
}
section div#query-rules.contentBlock.visibleNow .scroll-x {
    margin-bottom: 50px;
    box-shadow: none;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 1px 1px #bdbdbd;
}
.useCases .intro {
    display: block;
    margin: 0 0 20px;
    padding: 0 20px 10px;    
    background: #f7f7f7;
    border-radius: 0 0 18px 18px;
}
.useCases .intro h2 {
    margin: 10px 0 0 0;
    padding: 0;
}
.useCases .intro p:first-child {
    margin-top: 0;
    padding-top: 15px;
}
.useCase .spec-title h4 {
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 300;    
    color: #fff;
}
.useCase h5 {
    margin: 25px 20px 10px;
    padding: 6px 0;
    background: #d2ebf7;
    border-radius: 8px;
    text-shadow: 0 1px 1px #fff;
    text-align: center;    
}
.useCases .intro ul {
    padding-left: 15px;
}
.useCases .intro p,
.useCases .intro ul li {
    margin-bottom: 5px;
    padding-bottom: 0;
}
.useCase {
    margin: 0 0 20px;
    padding: 5px 0;
    background: #fafafa;
    border-radius: 18px;
    box-shadow: 0px 1px 2px #ddd;
}
.useCase h4 {
    margin: 10px 0 0 0;
    font-size: 18px;
}
.useCase ol {
    padding: 0 15px;
}
.useCase ol li {
    margin: 0 0 10px 0;
}
.useCase ol li ul {
    padding-top: 0;
    padding-bottom: 0;
}
.useCase p, 
.useCase ul, 
.useCase ol, 
.useCase .buttons {
    display: block;
    margin: 10px 0;
    padding: 10px 20px 0;
}
.useCase .buttons {
    display: inline-block;
    padding-bottom: 5px;
}
.useCase .buttons button {
    display: inline-block;
    margin: 0 10px 0 0;
    padding: 6px 12px;
    border-radius: 6px;
    border: none;
    font-size: 14px;
    font-weight: 300;
} 
.useCase .buttons button {
    display: inline-block;
    width: 115px;
    cursor: pointer;
}
.useCase .buttons button.share i {
    position: relative;
    top: 5px;
    left: 0;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 3px;
    background-image: url('/../img/svg/share-link.svg');
    background-size: 14px auto;
    background-position: 0 0;
    background-repeat: no-repeat;
    vertical-align: top;
}
.useCase .buttons button.share span {
    position: relative;
    top: 0;
    left: 2px;  
    display: inline-block;
}
.useCase ol {
    margin: 10px 20px;
}
.useCase .buttons .share {
    width: 85px;    
    padding-left: 10px;
    padding-right: 0;    
    background: rgb(255 255 255 / 75%);
    border: 1px solid #d5d5d5;
    text-shadow: 0 1px 1px #fff;
    vertical-align: top;
}
.useCase .buttons .share:hover,
.useCase .buttons .share:target,
.useCase .buttons .copy:hover,
.useCase .buttons .copy:target,
.useCase .buttons .print:hover,
.useCase .buttons .print:target {
    background: rgba(102, 163, 31, 0.75);
    border: 1px solid rgb(98, 160, 27);    
    color: #fff;
    text-shadow: none;       
}
.useCase .buttons .share:hover span,
.useCase .buttons .share:target span {
    color: #fff;
}
.useCase .buttons .share:hover i,
.useCase .buttons .share:target i {
    background-image: url('/../img/svg/share-link.svg');
    background-size: 14px auto;
    background-position: 0 0;
    background-repeat: no-repeat;
    filter: invert(1);
}
.useCase .buttons .copy,
.useCase .buttons .print {
    width: 34px;
    height: 34px;    
    background: rgb(255 255 255 / 75%);
    border: 1px solid #d5d5d5;     
    text-shadow: 0 1px 1px #fff;
}
.useCase .buttons .copy i {
    position: relative;
    left: -3px;
    width: 15px;
    height: 15px;
    display: block;
    background-image: url('/../img/svg/copy-sprite.svg');
    background-size: 15px auto;
    background-repeat: no-repeat;
    background-position: 0 0;
}
.useCase .buttons .print i {
    position: relative;
    left: -4px;
    width: 16px;
    height: 15px;
    display: block;
    background-image: url('/../img/svg/print-sprite.svg');
    background-size: 17px auto;
    background-repeat: no-repeat;
    background-position: 0 0;
}
.useCase .buttons .copy:hover i,
.useCase .buttons .copy:target i {
    background-image: url('/../img/svg/copy-sprite.svg');
    background-size: 15px auto;
    background-repeat: no-repeat;
    background-position: 0 -15px;
}
.useCase .buttons .print:hover i,
.useCase .buttons .print:target i {
    background-image: url('/../img/svg/print-sprite.svg');
    background-size: 17px auto;
    background-repeat: no-repeat;
    background-position: 0 -18px;
}
a.faq-more-link {
    display: block;
    width: fit-content;
    max-width: 120px;
    margin: 30px auto 0;
    padding: 8px 16px;
    background: rgb(255 255 255 / 75%);
    border: 1px solid #d5d5d5;
    border-radius: 100px;
    text-shadow: 0 1px 1px #fff;
    font-weight: 300;
    vertical-align: top;    
    text-align: center;
}
a.faq-more-link:hover,
a.faq-more-link:target {
    background-color: rgb(97 163 41 / 90%);
    border: 1px solid rgb(97 163 41);
    color: #fff;
    text-shadow: none;
}
@media (min-width: 800px) {
    section.apiDoc h1 {
        font-size: 24px;
    }
}
@media (max-width: 799px) {
    section.apiDoc h1 {
        font-size: 20px;
    }
    .apiDoc .subHeader h3 {
        display: block;
        width: 100%;
        padding-left: 0;
        font-size: 16px;
        vertical-align: top;
        letter-spacing: -0.02em;
    }
    .subHeader label {
        display: block;
        width: fit-content;
        margin-bottom: 15px;
    }
}