---
# System prepended metadata

title: Lapis Theme
tags: [Themes]

---

<style>
    
:root {
    --text-color: #40464f;
    /* Text */
    --primary-color: #176069;
    --secondary-color: #3BA9B6;
    /* Primary Color */
    --bg-color: #ffffff;
    /* Background */
    --marker-color: #a2b6d4;
    /* List Marker */
    --highlight-color: #ffffb5c2;
    /* Highlight */
    --header-span-color: var(--primary-color);
    /* h2 Span Color */
    --block-bg-color: #dfdfdf;
    --hover-bg-color: #efefef;
    /* Block Background */
    /* Overwrite of Typora Base Color */
    --control-text-hover-color: #a2b6d4;
    --rawblock-edit-panel-bd: var(--block-bg-color);
    --item-hover-bg-color: rgb(246 248 250);
    --active-file-bg-color: var(--block-bg-color);
}


#doc.markdown-body {
    font-size: 1.6rem;
    color: var(--text-color);
    line-height: 1.5;
    word-spacing: 0px;
    letter-spacing: 0px;
    word-break: break-word;
    word-wrap: break-word;
    text-align: left;
    /* font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light,'PingFang SC', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; */
    font-family: Cambria, Helvetica, Operator Mono, Consolas, Monaco, Menlo, Times;
    margin-bottom: 20rem;
}
    #meta-title-tags {
        
       box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }   
#meta-title-tags .bg-white
{
   background-color: var(--primary-color);
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
    
    #meta-title-tags span, #meta-title-tags .text-gray-700 {
        color: #dfdfdf;
    }
    .document-footer {
        font-family: Monaco, Monospace;
        font-weight: 600;
    	background: black;
    	border-top: 3px solid var(--block-bg-color);
    	padding: 1.1rem;
    	border-top-left-radius: 0.75rem;
    	border-top-right-radius: 0.75rem;
    	background-color: var(--block-bg-color);
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
        
    }
    
    #ui-toc-affix, .ui-toc-dropdown {
        height: 100vh;
        max-height: 100vh;
        background-color: var(--block-bg-color);
        padding: 1.rem;
        border-top-right-radius: 0.5rem;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
        line-height: 2.rem;
    }
    .ui-toc-dropdown .nav > li > a,
    .ui-toc-dropdown .nav .nav > li > a {
        font-size: 1.2 rem;
        font-family: Monaco, Arial;
        font-weight: 600;
    }
    
    .ui-toc-dropdown .nav > .active:focus > a, .ui-toc-dropdown .nav > .active:hover > a, .ui-toc-dropdown .nav > .active > a {
        font-weight: 800;
        color: var(--primary-color);
        background: var(--block-bg-color);
        border-left: 3px solid var(--primary-color);
    }
    
div.ui-infobar.container-fluid.unselectable.hidden-print.comment-enabled {
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    font-family: Monaco, Calibri, Helvetica;
    background: black;
    border-top: 3px solid var(--block-bg-color);
    padding: 1.1rem;
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
    background-color: var(--block-bg-color);
    }


.markdown-body p {
    font-size: 1.6rem;
}

.markdown-body ul>li {
    font-size: 1.5rem;
}

.markdown-body li>img {
    padding: 1rem;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
    
.markdown-body .emoji {
  vertical-align: middle;
}


/* Strong */

.markdown-body strong {
    color: var(--primary-color);
}


/* Link */

.markdown-body a {
    font-family: Times, Helvetica, Arial;
    color: var(--primary-color);
    text-decoration: underline;
    font-weight: 500;
}    
    .markdown-body .toc a {
    text-decoration: none;
    line-height: 1.4rem !important;
    font-weight: 575;
        
    }

.markdown-body .toc a:hover{ 
    text-decoration: underline;
    }
    
.markdown-body .md-p a,
.markdown-body .md-heading a {
    text-decoration: none;
    word-wrap: break-word;
    border-bottom: 1px solid var(--primary-color);
    margin: 2px;
}

.markdown-body h2.md-heading a {
    text-decoration: underline;
    border-bottom: 0;
    text-decoration-thickness: 1.2px;
    text-underline-offset: 2px;
}

[md-inline=url],
[md-inline=link]>.md-content,
[md-inline=image]>.md-meta {
    word-break: break-all;
    font-weight: normal;
    font-family: 'JetBrainsMono';
    padding-left: 0.15rem;
    padding-right: 0rem;
    color: var(--marker-color);
}


/* 
 * TOC
 */

.md-toc-content {
    font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, ;
}

.md-toc-content:empty:before {
    color: var(--primary-color);
}


.markdown-body div.md-toc-tooltip {
    font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, ;
    color: var(--primary-color);
    position: static;
    margin-top: 10px;
    background-color: var(--block-bg-color);
    line-height: 1.6rem;
    padding: 0.3rem 0.75rem;
    border-top: none;
    /* border-left: 2px solid var(--primary-color);
     */
    border-radius: .5rem;
}

.md-toc:focus .md-toc-content {
    border-color: var(--bg-color);
    margin: 9px -1px;
    margin-top: 9px;
}

.md-toc .md-toc-content {
    border-color: var(--bg-color);
    margin: 10px 0px;
    margin-top: 10px;
}


/* mark */

mark {
    background: var(--highlight-color);
    padding: 1px .15rem;
    border-radius: 1px;
    color: inherit;
}


/* 
 * Paragraph
 */

#write+p,
.markdown-body blockquote p {
    padding-top: .2rem;
    padding-bottom: .2rem;
    margin: 0.2;
    line-height: 2rem;
    color: var(--text-color);
}


/*
 * Header
 */

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
    /*
    font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light,;
    font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;
    */
    font-weight: 600;
    font-family: Monaco, Cambria, Helvetica, Menlo, Monaco, Consolas;
    padding: 0px;
    color: var(--primary-color);
}

.markdown-body h1 {
    border-bottom: .75px double var(--block-bg-color);
}
.markdown-body h1 span {
    font-size: 2.5rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-weight: bolder;
}

	.markdown-body h2 {
	  margin-bottom: 2rem !important;
	  position: relative;
      border-bottom: 3px solid var(--primary-color);
	}
    
    .markdown-body h4::before,
    .markdown-body h2::before,
    .markdown-body h3::before {
      content: '';
      position: absolute;
      bottom: -.5rem; /* Adjust the distance of the square above the bottom borderline */
      left: -.75rem; /* Set the left position to 0 to make it intersect from the most left side */
      width: 1rem; /* Set the square size */
      height: 1rem;
      background-color: var(--primary-color);
      box-shadow: .5px 1px .5px -.5px var(--primary-color);
    }

    
.markdown-body h4 {
    border-bottom: 3px solid var(--primary-color);
    margin-bottom: 2rem !important;
	position: relative;
}
    
.markdown-body h4 span {
    display: inline-block;
    font-weight: bold;
    color: var(--primary-color);
    padding: 2px 2px 1px 2px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    margin-left: .25rem;
    margin-right: 0rem;
    margin-top: 2rem;
}
    
.markdown-body h2 span {
    display: inline-block;
    font-weight: bold;
    background: var(--primary-color);
    color: #ffffff;
    margin-left: .15rem;
    padding: 2px 2px .5px 2px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    margin-left: 0.5rem;
    margin-right: 0rem;
    margin-top: 2rem;
}
    
.markdown-body h2 sub,
.markdown-body h3 sub,
.markdown-body h4 sub
{
    font-size: 75%;
    margin-left: .75rem;
    line-height: inherit;
    text-overflow: " [..]";
}
    
.markdown-body h4 sub {
    color: #dfdfdf;
    padding: 4px 4px 0px 4px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
}
    
.markdown-body h1 sub
{
    margin-left: .15rem;
    font-size: 50%;
    font-weight: bold;
    background: var(--primary-color);
    color: #dfdfdf;
    padding: 4px 4px 1px 4px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    
   }

.markdown-body h3 {
	position: relative;
	margin-bottom: 2rem !important;
    border-bottom: 3px solid var(--block-bg-color);
}

.markdown-body h3 span {
    margin-left: 0.5rem;
    display: inline-block;
    font-weight: bold;
    background: var(--block-bg-color);
    color: var(--primary-color);
    margin-left: .15rem;
    padding: 4px 4px 1px 4px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    margin-right: 0rem;
}

.markdown-body h2 a span {
    color: var(--primary-color) !important;
    background: var(--block-bg-color);
}

.markdown-body h2 a {
    color: var(--bg-color) !important;
    border-bottom-color: var(--bg-color) !important;
}

.markdown-body h2 strong {
    color: var(--bg-color);
}

.markdown-body h2 code {
    color: var(--bg-color);
    background-color: var(--header-span-color);
}

@media print {
    :root {
        --text-color: rgb(0, 0, 0);
    }
}

    
.markdown-body h1 {
    padding-bottom: .24rem;
    font-size: 2.2rem;
    box-shadow: 0 2px 1px -1px var(--primary-color);
    text-align: center;
}

.markdown-body h2 {
    font-size: 1.75rem;
}

.markdown-body h3 {
    font-size: 1.65rem;
}

.markdown-body h4 {
    font-size: 1.5rem;
}




/*
 * List
 */

::marker {
    font-weight: bold;
    color: var(--marker-color);
}

li.md-list-item {
    margin: 0.4rem 0;
}

.markdown-body ul, .markdown-body ol {
    margin-top: 8px;
    margin-bottom: 8px;
}

.markdown-body ul {
    list-style-type: disc;
}

.markdown-body em {
    padding: 0 3px 0 0;
}

.markdown-body ul ul {
    list-style-type: square;
}

.markdown-body ol {
    list-style-type: decimal;
}

.markdown-body li section {
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 2rem;
    text-align: justify;
    color: var(--text-color);
    font-weight: 500;
}


/*
 * Quote
 */

    
.markdown-body blockquote {
   box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    background: #f8f8f8;
    display: block;
    overflow: auto;
    border-left: 3px solid var(--primary-color);
    padding: 15px 30px 15px 20px;
    margin-bottom: 20px;
    margin-top: 20px;
}

/*
 * Inline code
 */

.markdown-body pre code {
    color: var(--primary-color);
    font-size: 90%;
    font-weight: normal;
    word-wrap: break-word;
    padding: 2px 4px 2px;
    border-radius: 3px;
    font-family: Monospace, Helvetica, Calibri, Times, Operator Mono;
    word-break: break-all;
}

.markdown-body pre code .gutter.linenumber {
    border-right: 3px solid var(--primary-color) !important;
    
}


/*
 * Img
 */

.markdown-body img {
    filter: drop-shadow(#d2dff4 0px 0px 0.8rem);
    margin: 0 auto;
    padding: .75rem;
    max-width: 85%;
}

.markdown-body li>img, .markdown-body p>.md-image:only-child:not(.md-img-error) img, .markdown-body p>img:only-child {
    filter: drop-shadow(#d2dff4 0px 0px 0.8rem);
    display: block;
    margin: 0 auto;
    padding: 1rem;
}


/*
 * Table
 */

.markdown-body table {
    display: table;
    text-align: justify;
    overflow-x: auto;
    border-collapse: collapse;
    border-spacing: 0px;
    font-size: 1em;
    margin: 0px 0px 20px;
    width: 100%;
}
    
.markdown-body thead tr:first-child{ 
    border-bottom: .5rem solid #cfcfcf;
}
    
.markdown-body tbody tr:last-child { 
    border-bottom: .5rem solid #cfcfcf;
}
    
.markdown-body tr:first-child th:first-child { 
    border-top-left-radius: 1rem; 
    border: 0px;
}
    
.markdown-body tr:first-child th:last-child { 
    border-top-right-radius: 1rem; 
    border: 0px;
}
    
.markdown-body tr:first-child:hover th:first-child{ 
    border-top-left-radius: 0rem; 
    border: 0px;
}
    
.markdown-body tr:first-child:hover th:last-child{ 
    border-top-right-radius: 0rem; 
    border: 0px;
}
    
.markdown-body tbody {
    border: 0;
}

.markdown-body table tr {
    border: 0;
}

.markdown-body table tr th, .markdown-body table tr td {
    font-size: 1.5rem;
    max-width: 775px;    
    padding: 5px 10px;
    text-align: justify;
}

.markdown-body table tr th {
    max-width: 775px;    
    text-align: center;
    min-width: 3rem;
    font-weight: 600;
    font-family: Monaco, Cambria, Helvetica, Calibri, Arial;
    color: var(--block-bg-color);
    background: var(--primary-color);
}

    
.markdown-body table tr:hover{
    font-weight: 600;    
    border: .25rem solid var(--primary-color);
}
    
    
table td {
    min-width: 32px;
}


/* Footnote */

sup.md-footnote {
    background-color: var(--block-bg-color);
    color: var(--primary-color);
}

.md-def-name {
    color: var(--primary-color);
}


/*
 * Math Script 
 */

.md-inline-math script {
    color: var(--primary-color);
}

.md-rawblock-control:not(.md-rawblock-tooltip) {
    background: var(--bg-color);
    color: var(--md-char-color);
}

.code-tooltip {
    box-shadow: none;
}

.md-rawblock-tooltip.md-rawblock-control {
    border-radius: 1rem;
}

.md-rawblock .md-rawblock-tooltip {
    inset: auto 0.3rem auto auto;
    transform: translateY(-120%);
}


/* 
 * Comment
 */

.md-comment {
    color: #a8a8a9;
    opacity: 1;
    font-family: 'JetBrainsMono';
}


/*
 * Dividing line
 */

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 2px solid #eef2f5;
    border-radius: 2px;
}


/* Checkbox */

.markdown-body input[type=checkbox] {
    line-height: 0.8rem;
}

.task-list-item input::before {
    content: "";
    display: inline-block;
    width: 1.0125rem;
    height: 1.0125rem;
    vertical-align: middle;
    text-align: center;
    border: 1px solid var(--marker-color);
    border-radius: 1.2rem;
    background-color: #fdfdfd;
    margin-left: -0.1rem;
    margin-right: 0.1rem;
    margin-top: -.6rem;
    line-height: 0.8rem;
}

.markdown-body .task-list-item input:checked::before {
    content: '✓';
    font-weight: bold;
    -webkit-text-stroke: 1px var(--primary-color);
    color: var(--primary-color);
    background-color: var(--bg-color);
    font-size: 0.75rem;
    line-height: 0.8rem;
}

blockquote .task-list-item input::before {
    margin-top: .2rem;
}


/*
 * Sidebar
 */

#typora-sidebar {
    font-family: 'Cantarell', Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, ;
    height: 100%;
    color: var(--text-color);
    font-s !importantize: 0.92rem;
    background-color: var(--bg-color);
}

#sidebar-content.sidebar-content {
    margin-top: .5rem;
}

.html-for-mac .markdown-body input[type=checkbox] {
    margin-top: 0.65rem;
}

.html-for-mac .markdown-body .task-list-item input::before {
    margin-top: -.85rem;
}


/*
 * Sidebar - FileNode
 */

.active-tab-files #info-panel-tab-file .info-panel-tab-border, .active-tab-outline #info-panel-tab-outline .info-panel-tab-border, .ty-show-search #info-panel-tab-search .info-panel-tab-border {
    border-radius: 10px;
    height: 1px;
    background-color: var(--primary-color);
}

.file-node-content {
    color: var(--primary-color);
    line-height: 1.6rem;
}

span.file-node-title-name-part {
    color: var(--text-color);
}

span.file-node-title-ext-part {
    color: var(--text-color);
}

.file-node-icon {
    padding-right: 0.2rem;
}

.file-tree-node.active>.file-node-background {
    border-left: 4px solid var(--primary-color);
    border-color: var(--primary-color);
}


/*
 * Sidebar - Outline
 */

#outline-content {
    height: 100%;
    overflow-x: hidden;
    line-height: 1.4rem;
    font-size: .96rem;
}

#outline-content .outline-active, .pin-outline .outline-active {
    color: var(--primary-color);
}

.outline-item {
    padding-left: 2em;
    padding-top: 0;
}


/* Meta Block */

pre.md-meta-block {
    font-family: 'JetBrainsMono';
    color: var(--primary-color);
    background: #f6f8fa;
    padding: 1.5rem;
    margin: -37px 0rem 3.8rem;
    /* border-radius: 1rem; */
    filter: drop-shadow(#d2dff4 0px 3px 3px);
    /* border-top: 1px solid var(--primary-color); */
    /* border-bottom: 1px solid var(--primary-color); */
}

pre.md-fences-advanced.md-focus .md-fences-adv-panel {
    border-radius: .8rem;
}


/*
 * Scrollbar
 */

#outline-content::-webkit-scrollbar {
    width: .5rem;
}

#file-library::-webkit-scrollbar {
    width: .5rem;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(179, 179, 179, 0.425);
}

::-webkit-scrollbar {
    width: 1rem;
}


/* 
 * Code Block - Style
 */

.md-fences:before {
    content: ' ';
    display: block;
    width: 100%;
    background-size: 40px;
    background-repeat: no-repeat;
    background-color: #282c34;
    margin-bottom: -7px;
    border-radius: 5px;
    background-position: 10px 10px;
}

.CodeMirror-wrap .CodeMirror-scroll {
    overflow-x: auto;
}

.md-fences .cm-s-inner.CodeMirror {
    margin: 1.5rem 0;
}

.cm-s-inner.CodeMirror {
    padding: 1.2rem .8rem;
    color: #4f5467;
    font-family: 'monospace';
    border-radius: 10px;
    background-color: var(--block-bg-color);
    /* border: 1px solid #eef2f5;*/
    line-height: 1.6rem;
}

.CodeMirror-gutters {
    border-right: 1px solid #a2b6d452;
    background: inherit;
    white-space: nowrap;
}

pre.CodeMirror-line {
    padding: 0 1.2rem;
}

.CodeMirror-linenumber {
    padding: 0 3px 0 5px;
    text-align: right;
    color: var(--primary-color);
}


/* 
 * Code Block - Color Scheme
 */

.cm-s-inner .cm-keyword {
    color: #1694b6 !important;
}

.cm-s-inner .cm-operator {
    color: #2f86d2 !important;
}

.cm-s-inner .cm-variable, .cm-s-inner .cm-builtin, .cm-s-inner .cm-header, .cm-s-inner .cm-tag, .cm-s-inner .cm-property, .cm-s-inner .cm-quote {
    color: #b9218e !important;
}

.cm-s-inner .cm-variable-2 {
    color: #7aadad !important;
}

.cm-s-inner .cm-variable-3, .cm-s-inner .cm-type, .cm-s-inner .cm-atom {
    color: #378ed8 !important;
}

.cm-s-inner .cm-number {
    color: #1a5494 !important;
}

.cm-s-inner .cm-def, .cm-s-inner .cm-qualifier {
    color: #0744ac !important;
}

.cm-s-inner .cm-string {
    color: #6f42c2 !important;
}

.cm-s-inner .cm-string-2 {
    color: #27638f !important;
}

.cm-s-inner .cm-comment {
    color: #9a9a9a !important;
}

.cm-s-inner .cm-meta {
    color: #0b93be !important;
}

.cm-s-inner .cm-attribute {
    color: #8f6aa8 !important;
}

.cm-s-inner .cm-error {
    color: rgba(255, 255, 255, 1) !important;
    background-color: #b9218e40 !important;
}

.cm-s-inner .CodeMirror-matchingbracket {
    text-decoration: underline;
    color: white !important;
}

.CodeMirror div.CodeMirror-cursor {
    border-left: 1px solid var(--primary-color);
    z-index: 3;
}

.cm-s-inner div.CodeMirror-selected {
    background: rgba(167, 178, 189, 0.2) !important;
}

.cm-s-inner.CodeMirror-focused div.CodeMirror-selected {
    background: rgba(167, 178, 189, 0.2) !important;
}

.cm-s-inner .CodeMirror-selected, .cm-s-inner .CodeMirror-selectedtext {
    background-color: rgba(167, 178, 189, 0.0) !important;
}

.cm-s-inner .CodeMirror-line::-moz-selection, .cm-s-inner .CodeMirror-line>span::-moz-selection, .cm-s-inner .CodeMirror-line>span>span::-moz-selection {
    background-color: rgba(167, 178, 189, 0.2);
}

.cm-s-inner .CodeMirror-line::selection, .cm-s-inner .CodeMirror-line>span::selection, .cm-s-inner .CodeMirror-line>span>span::selection {
    background-color: rgba(167, 178, 189, 0.2);
}

.md-rawblock .md-rawblock-tooltip {
    inset: auto 0.3rem auto auto;
    transform: translateY(-120%);
}


/*
 * Sitting - Unibody
 */

.megamenu-menu-header {
    border: none;
    color: var(--text-color);
}

.megamenu-menu-header #megamenu-back-btn, .megamenu-menu-header .megamenu-menu-header-title-back, .megamenu-menu-header .megamenu-menu-header-title-menu {
    color: var(--text-color);
}

.megamenu-menu {
    background-color: var(--bg-color);
    color: var(--text-color);
    box-shadow: none !important;
}

header, #megamenu-content {
    background-color: var(--bg-color);
    background-image: none !important;
}
    
.alert{
   font-family: Arial, Helvetica;
   border: none !important;
   box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19) !important;
}
.alert-info {
    color: #4d4d4d !important;
    font-size: 1.2rem;
    background-color: var(--block-bg-color) !important;
}
    


.mermaid .cluster span {
    font-weight: bold;
    color: var(--primary-color) !important;
}
    
.mermaid .cluster rect {
    stroke: none !important;
    fill: var(--block-bg-color) !important;
    stroke-width: 3 !important;
}
 
.mermaid .node rect,circle{
    stroke: var(--secondary-color) !important;
    fill: var(--primary-color) !important;
    stroke-width: 2 !important;
}
    
    
.mermaid .node span{
    color: #dfdfdf !important;
}
    

    
/* 
*   Typora Theme - Lapis    /    Author - YiNN 
*   https://github.com/YiNNx/typora-theme-lapis
*/
    
</style>
