:root {
    transition: all 2s linear; 
    --dark-color-bg: #21252B;
    --dark-color-fg: #282c34;
    --dark-color-txt: #dcdfe4;
    --dark-color-h1: #61afef;
    --dark-color-h2:#56b6c2;
    --dark-color-a: #e06c75;
    --dark-color-a-hover: #c678dd;
    --dark-switch-icon: "hi";
    --dark-switch-icon: ☀️;

    --light-color-bg: #f9f5d7;
    --light-color-fg:#f2e5bc;
    --light-color-txt: black;
    --light-color-txt: #23201b;
    --light-color-h1: #e04c75;
    --light-color-h2: #e06c75;
    --light-color-a: #1f938a;
    --light-color-a-hover: #398722;
    --light-switch-icon: 🌑️;


    /*--monospace: 16px/1.5 "Lucida Console", Monaco, "Consolas", monospace;*/
    --monospace: 16px/1.5 'Roboto mono', monospace;
}

#dark-icon, #light-icon {
    display: none;
}

.light {
    --color-bg: var(--light-color-bg);
    --color-fg: var(--light-color-fg);
    --color-txt: var(--light-color-txt);
    --color-h1: var(--light-color-h1);
    --color-h2:var(--light-color-h2);
    --color-a: var(--light-color-a);
    --color-a-hover: var(--light-color-a-hover);
    --switch-icon: var(--light-switch-icon);
} 

.light #dark-icon {
    display: none;
}

.light #light-icon {
    display: block;
}

.dark {
    --color-bg: var(--dark-color-bg);
    --color-fg: var(--dark-color-fg);
    --color-txt: var(--dark-color-txt);
    --color-h1: var(--dark-color-h1);
    --color-h2:var(--dark-color-h2);
    --color-a: var(--dark-color-a);
    --color-a-hover: var(--dark-color-a-hover);
    --switch-icon: var(--dark-switch-icon);
} 

.dark #light-icon {
    display: none;
}

.dark #dark-icon {
    display: block;
}

@media (prefers-color-scheme: dark) {
  :root:not(.light) {
    --color-bg: var(--dark-color-bg);
    --color-fg: var(--dark-color-fg);
    --color-txt: var(--dark-color-txt);
    --color-h1: var(--dark-color-h1);
    --color-h2:var(--dark-color-h2);
    --color-a: var(--dark-color-a);
    --color-a-hover: var(--dark-color-a-hover);
    --switch-icon: var(--dark-switch-icon);
  }

  :root:not(.light) #light-icon {
      display: none;
  }

  :root:not(.light) #dark-icon {
      display: block;
  }

} 

@media (prefers-color-scheme: light) {
  :root:not(.dark) {
    --color-bg: var(--light-color-bg);
    --color-fg: var(--light-color-fg);
    --color-txt: var(--light-color-txt);
    --color-h1: var(--light-color-h1);
    --color-h2:var(--light-color-h2);
    --color-a: var(--light-color-a);
    --color-a-hover: var(--light-color-a-hover);
    --switch-icon: var(--light-switch-icon);
  }

  :root:not(.dark) #light-icon {
      display: block;
  }

  :root:not(.dark) #dark-icon {
      display: none;
  }


} 

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v32-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-mono-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-mono-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
     /* font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
    font: 16px/1.5 'Roboto';
    background:var(--color-bg);
    color:var(--color-txt);
}

.menu-nav ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    flex-row: row wrap;
    justify-content: flex-start;
    margin: auto;
}

.nav {
    line-height: var(--header-height);
}

@media only screen and (max-width: 641px)
{
    .page{
	max-width: 750px;
	width: 93.1%;
	display: block;
	align: center;
	margin-top: 2em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
	padding: 15px;
	border: 1px solid ; 
	box-shadow: 4px 4px var(--color-txt); 
	background-color: var(--color-bg);
	border-radius: .75em;
	background:var(--color-fg);
    }
    .menu-container{
	text-align: center;
	font-size: 1.1em; 
	margin-left: auto;
	margin-right: auto;
	border: 1px solid; 
	box-shadow: 4px 4px var(--color-txt); 
	background:var(--color-fg);
	border-radius: .75em;
	word-spacing: 10px;
    }
}

@media only screen and (min-width: 641px)
{
    .page{
	max-width: 750px;
	width: 95%;
	display: block;
	align: center;
	margin-top: 2em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
	padding: 15px;
	border: 1px solid ; 
	box-shadow: 4px 4px var(--color-txt); 
	background-color: var(--color-bg);
	border-radius: .75em;
	background:var(--color-fg);
    }
    .menu-container{
	text-align: center;
	font-size: 1.3em; 
	margin-left: auto;
	margin-right: auto;
	border: 1px solid ; 
	box-shadow: 4px 4px var(--color-txt); 
	background:var(--color-fg);
	border-radius: .75em;
	word-spacing: 10px;
    }
}
/* #282c34, #e06c75, #98c379, #e5c07b,
#61afef, #c678dd, #56b6c2, #dcdfe4,
#282c34, #e06c75, #98c379, #e5c07b,
#61afef, #c678dd, #56b6c2, #dcdfe4, */

.menubar {
    display: block;
    text-align: center;
    align: center;
    display: block;
    max-width: 750px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

h1 {
    line-height: 1.2;
    color: var(--color-h1);
    font-size: 2.3em;
    text-align:center;
}

#toggle-theme {
    display:inline-block;
    text-align:center;
}

h2 {
    line-height: 1.2;
    color:var(--color-h2);
    a {
	background-color: var(--color-bg);
	border-radius: .35em;
	padding: .075em;
	font:var(--monospace);
	font-size: 90%;
    }
    code:hover{
	text-decoration: underline;
	text-underline-position: under;
    }
}


h3 {
    line-height: 1.2;
    color:var(--color-h2);
}
h4 {
    line-height: 1.2;
    color:var(--color-h2);
}

/* .content__body > h3:img::nth-of-type(1) { */
.inline-header {
  float: left;
  margin-right: 0.25em;
  width: 30px;
}


.content__body > p:first-of-type::first-letter
{
  font-size: 3.0em;
  margin-right: 0.05em;
  margin-top: 0.05em;
  font-weight: bold;
  float: left;
}

.current-page {
    text-decoration: underline;
}

pre {
    background-color: var(--color-bg) !important;
    color: var(--color-txt) !important;
    border: 1px solid ; 
    border-radius: .35em;
    box-shadow: 4px 4px var(--color-txt); 
    word-wrap: break-word;
    padding: 1em;
    white-space: pre-wrap;
    font: var(--monospace); 
} 

pre.src-sh:before { content: 'shell'; }

code {
    background-color: var(--color-bg);
    border-radius: .35em;
    padding: .075em;
    font:var(--monospace);
    font-size: 90%;
}     

a:hover{
    transition: color .15s ease-in; 
    color:var(--color-a-hover) !important;
    text-decoration: underline;
    text-underline-position: under;
}

a {
    color:var(--color-a);
    text-decoration: none;
}

br {
    display: block;
    margin: 3px 0;
}

blockquote {
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 15px;
    -- border-left: 3px solid var(--color-txt);
    border-left: 3px solid #777;
}

.frame {
    background-color:var(--color-bg);
    display: inline-block;
    grid-template-columns: repeat(2, 1fr); /* Two columns of equal width */
    padding: 5px;
    margin-bottom: 0px;
}

.frame-grid {
    background-color:var(--color-bg);
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two columns of equal width */
    gap: 5px;
    padding: 5px;
    margin-bottom: 0px;
}

.frame img, .frame-grid img {
    margin-right: 10px;
    max-width: 100%;
    transition: transform 0.3s ease;
    opacity: 0.9;
}

.frame img:hover, .frame-grid img:hover {
    transform: scale(1.02);
    opacity: 1;
}

/* .blog-images {
    transition: transform 0.3s ease;
    display: inline-block;
    opacity: 0.2;
}*/

/* .blog-images:hover {
    transform: scale(1.02);
    opacity: 1;
}*/

.link-buttons {
    transition: transform 0.3s ease;
    display: inline-block;
}

.link-buttons:hover {
    transform: scale(1.05);
}

.csl-bib-body{
    overflow: auto;
}

.copyright{
    font-size: 0.71em;
}

.post__summary {
    border: 1px solid ; 
    border-radius: .35em;
    box-shadow: 4px 4px var(--color-txt); 
    background-color: var(--color-bg);
    padding: .575em;
    overflow: hidden;
    width: auto;
    box-sizing:border-box;
}

.pgp__dropdown {
    font:var(--monospace);
    max-width: 650px;
    width: auto;
    box-sizing: border-box;
    overflow-x: auto;
}

.tags-list {
    line-height:3em;
    font-size: 0.9em;
    word-spacing: -2px;
}



.hi-svg-inline {
    vertical-align: -0.125rem;
}

.social-icons {
    word-spacing: 2px;
    a:hover{
	text-decoration:none;
    }
}

.ox-hugo-toc{
    font-size: 0.9em;
    background-color: var(--color-bg);
    border: 1px solid ; 
    border-radius: .35em;
    box-shadow: 4px 4px var(--color-txt); 
    width: 300px;
    height: auto;
    box-sizing: border-box;
}

.ox-hugo-toc.toc{
    padding: .575em;
}

.tags{
    background-color: var(--color-bg);
    border-radius: .35em;
    padding: .15em;
    margin-left: .3em;
}

.next-post{
    display: inline;
}

.previous-post{
    display: inline;
    float: right;
}

.highlight-wrapper {
  display: block;
}

/*.highlight {
  position: relative;
  z-index: 0;
  padding: 0;
  margin: 0;
  border-radius: 4px;
}

.highlight > .chroma {
  color: #d0d0d0;
  background-color: #212121;
  position: static;
  z-index: 1;
  border-radius: 4px;
  padding: 10px;
}*/

.chroma .lntd:first-child {
  /*padding: 7px 7px 7px 10px;*/
  margin: 0;
}

.chroma .lntd:last-child {
  /*padding: 7px 10px 7px 7px;*/
  margin: 0;
}

.copy-code-button {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  border-color: transparent;
  background-color: transparent;
  color: var(--color-txt);
  /*font-size: 13px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.5px;
  width: 65px;
  background-color: #7f7f7f;
  border: 1.25px solid #232326;
  border-top-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 4px;
  white-space: nowrap;
  padding: 4px 4px 5px 4px;
  margin: 0 0 0 1px;
  cursor: pointer;
  opacity: 0.6*/;
}

.copy-code-button:hover /*,
.copy-code-button:focus,
.copy-code-button:active,
.copy-code-button:active:hover*/ {
  transition: opacity .15s ease-in; 
  color: var(--color-txt);
  background-color: transparent;
  opacity: 0.7;
}

.copyable-text-area {
  position: absolute;
  height: 0;
  z-index: -1;
  opacity: .01;
}
.highlight-wrapper {
  display: block;
}

.highlight-wrapper .lntd pre {
  padding: 0;
}

.chroma .lntd pre {
  border: 0px solid #ccc;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 30px;
  padding-bottom: 18px;
}

.highlight {
  position: relative;
  z-index: 0;
  padding: 0;
  margin: 25px 0px 40px 0px;
  border-radius: 4px;
}

.highlight>.chroma {
  font-size: 85%;
  line-height: 25px;
  /* padding-left: 40px; */
  margin-bottom: 30px;
  position: static;
  z-index: 1;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  overflow: auto;
}

/*.copy-code-button:hover {
  cursor: pointer;
  background-color: #999999;
}

.copy-code-button:active {
  background-color: green;
}*/

.highlight pre {
  margin: 0;
}

.copyable-text-area {
  position: absolute;
  height: 0;
  z-index: -1;
  opacity: .01;
}

/* .chroma [data-lang]:before {
  position: absolute;
  z-index: 0;
  line-height: 17px;
  top:-17px;
  left: 0;
  content: attr(data-lang);
  font-size: 12px;
  color: #999999;
  background-color: #0F0F0F;
  padding: 0px 3px 0px 3px;
  border-radius: 2px 2px 0px 0px;
  letter-spacing: 0.5px;
  opacity: 0.9;
}

.copy-code-button {
  border-radius: .35em;
  position: absolute;
  z-index: 2;
  right: 0px;
  top: 0px;
  line-height: 10px;
  font-size: 13px;
  letter-spacing: 0.5px;
  width: 68px;
  color: white;
  background-color: #515151;
  border: 1.25px solid #232326;
  border-radius: 0px 0px 0px 0px;
  white-space: nowrap;
  padding: 5px 6px 7px 6px;
  cursor: pointer;
} */

.light .copy-code-button {
  border-color: transparent;
}
