/*! purgecss start ignore */


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'toolbar' from 'prismjs/plugins/toolbar/prism-toolbar.css' */


  
  
  

  
  
  
    
    div.code-toolbar {
	position: relative;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar {
	position: absolute;
	z-index: 10;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}


  
  
  

  
  
  
    
    div.code-toolbar:hover > .toolbar {
	opacity: 1;
}


  
  
  

  
  
  
    
    /* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don't support :focus-within. */


  
  
  

  
  
  
    
    div.code-toolbar:focus-within > .toolbar {
	opacity: 1;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar > .toolbar-item {
	display: inline-block;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar > .toolbar-item > a {
	cursor: pointer;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar > .toolbar-item > button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}


  
  
  

  
  
  
    
    div.code-toolbar > .toolbar > .toolbar-item > a:hover,
div.code-toolbar > .toolbar > .toolbar-item > a:focus,
div.code-toolbar > .toolbar > .toolbar-item > button:hover,
div.code-toolbar > .toolbar > .toolbar-item > button:focus,
div.code-toolbar > .toolbar > .toolbar-item > span:hover,
div.code-toolbar > .toolbar > .toolbar-item > span:focus {
	color: inherit;
	text-decoration: none;
}


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'line-numbers' from 'prismjs/plugins/line-numbers/prism-line-numbers.css' */


  
  
  

  
  
  
    
    pre[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}


  
  
  

  
  
  
    
    pre[class*="language-"].line-numbers > code {
	position: relative;
	white-space: inherit;
}


  
  
  

  
  
  
    
    .line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}


  
  
  

  
  
  
    
    .line-numbers-rows > span {
		display: block;
		counter-increment: linenumber;
	}


  
  
  

  
  
  
    
    .line-numbers-rows > span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'command-line' from 'prismjs/plugins/command-line/prism-command-line.css' */


  
  
  

  
  
  
    
    .command-line-prompt {
	border-right: 1px solid #999;
	display: block;
	float: left;
	font-size: 100%;
	letter-spacing: -1px;
	margin-right: 1em;
	pointer-events: none;
	text-align: right;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}


  
  
  

  
  
  
    
    .command-line-prompt > span:before {
	opacity: 0.7;
	content: ' ';
	display: block;
	padding-right: 0.8em;
}


  
  
  

  
  
  
    
    .command-line-prompt > span[data-user]:before {
	content: "[" attr(data-user) "@" attr(data-host) "] $";
}


  
  
  

  
  
  
    
    .command-line-prompt > span[data-user="root"]:before {
	content: "[" attr(data-user) "@" attr(data-host) "] #";
}


  
  
  

  
  
  
    
    .command-line-prompt > span[data-prompt]:before {
	content: attr(data-prompt);
}


  
  
  

  
  
  
    
    .command-line-prompt > span[data-continuation-prompt]:before {
	content: attr(data-continuation-prompt);
}


  
  
  

  
  
  
    
    .command-line span.token.output {
	/* Make shell output lines a bit lighter to distinguish them from shell commands */
	opacity: 0.7;
}


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'diff-highlight' from 'prismjs/plugins/diff-highlight/prism-diff-highlight.css' */


  
  
  

  
  
  
    
    pre.diff-highlight > code .token.deleted:not(.prefix),
pre > code.diff-highlight .token.deleted:not(.prefix) {
	background-color: rgba(255, 0, 0, .1);
	color: inherit;
	display: block;
}


  
  
  

  
  
  
    
    pre.diff-highlight > code .token.inserted:not(.prefix),
pre > code.diff-highlight .token.inserted:not(.prefix) {
	background-color: rgba(0, 255, 128, .1);
	color: inherit;
	display: block;
}


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'treeview' from 'prismjs/plugins/treeview/prism-treeview.css' */


  
  
  

  
  
  
    
    .token.treeview-part .entry-line {
	position: relative;
	text-indent: -99em;
	display: inline-block;
	vertical-align: top;
	width: 1.2em;
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-line:before,
.token.treeview-part .line-h:after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 50%;
	height: 100%;
}


  
  
  

  
  
  
    
    .token.treeview-part .line-h:before,
.token.treeview-part .line-v:before {
	border-left: 1px solid #ccc;
}


  
  
  

  
  
  
    
    .token.treeview-part .line-v-last:before {
	height: 50%;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}


  
  
  

  
  
  
    
    .token.treeview-part .line-h:after {
	height: 50%;
	border-bottom: 1px solid #ccc;
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name {
	position: relative;
	display: inline-block;
	vertical-align: top;
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.dotfile {
	opacity: 0.5;
}


  
  
  

  
  
  
    
    /* @GENERATED-FONT */


  
  
  

  
  
  
    
    @font-face {
	font-family: "PrismTreeview";
	/**
	 * This font is generated from the .svg files in the `icons` folder. See the `treeviewIconFont` function in
	 * `gulpfile.js/index.js` for more information.
	 *
	 * Use the following escape sequences to refer to a specific icon:
	 *
	 * - \ea01 file
	 * - \ea02 folder
	 * - \ea03 image
	 * - \ea04 audio
	 * - \ea05 video
	 * - \ea06 text
	 * - \ea07 code
	 * - \ea08 archive
	 * - \ea09 pdf
	 * - \ea0a excel
	 * - \ea0b powerpoint
	 * - \ea0c word
	 */
	src: url("data:application/font-woff;base64,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")
		format("woff");
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name:before {
	content: "\ea01";
	font-family: "PrismTreeview";
	font-size: inherit;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 2.5ex;
	display: inline-block;
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.dir:before {
	content: "\ea02";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-bmp:before,
.token.treeview-part .entry-name.ext-eps:before,
.token.treeview-part .entry-name.ext-gif:before,
.token.treeview-part .entry-name.ext-jpe:before,
.token.treeview-part .entry-name.ext-jpg:before,
.token.treeview-part .entry-name.ext-jpeg:before,
.token.treeview-part .entry-name.ext-png:before,
.token.treeview-part .entry-name.ext-svg:before,
.token.treeview-part .entry-name.ext-tiff:before {
	content: "\ea03";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-cfg:before,
.token.treeview-part .entry-name.ext-conf:before,
.token.treeview-part .entry-name.ext-config:before,
.token.treeview-part .entry-name.ext-csv:before,
.token.treeview-part .entry-name.ext-ini:before,
.token.treeview-part .entry-name.ext-log:before,
.token.treeview-part .entry-name.ext-md:before,
.token.treeview-part .entry-name.ext-nfo:before,
.token.treeview-part .entry-name.ext-txt:before {
	content: "\ea06";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-asp:before,
.token.treeview-part .entry-name.ext-aspx:before,
.token.treeview-part .entry-name.ext-c:before,
.token.treeview-part .entry-name.ext-cc:before,
.token.treeview-part .entry-name.ext-cpp:before,
.token.treeview-part .entry-name.ext-cs:before,
.token.treeview-part .entry-name.ext-css:before,
.token.treeview-part .entry-name.ext-h:before,
.token.treeview-part .entry-name.ext-hh:before,
.token.treeview-part .entry-name.ext-htm:before,
.token.treeview-part .entry-name.ext-html:before,
.token.treeview-part .entry-name.ext-jav:before,
.token.treeview-part .entry-name.ext-java:before,
.token.treeview-part .entry-name.ext-js:before,
.token.treeview-part .entry-name.ext-php:before,
.token.treeview-part .entry-name.ext-rb:before,
.token.treeview-part .entry-name.ext-xml:before {
	content: "\ea07";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-7z:before,
.token.treeview-part .entry-name.ext-bz:before,
.token.treeview-part .entry-name.ext-bz2:before,
.token.treeview-part .entry-name.ext-gz:before,
.token.treeview-part .entry-name.ext-rar:before,
.token.treeview-part .entry-name.ext-tar:before,
.token.treeview-part .entry-name.ext-tgz:before,
.token.treeview-part .entry-name.ext-zip:before {
	content: "\ea08";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-aac:before,
.token.treeview-part .entry-name.ext-au:before,
.token.treeview-part .entry-name.ext-cda:before,
.token.treeview-part .entry-name.ext-flac:before,
.token.treeview-part .entry-name.ext-mp3:before,
.token.treeview-part .entry-name.ext-oga:before,
.token.treeview-part .entry-name.ext-ogg:before,
.token.treeview-part .entry-name.ext-wav:before,
.token.treeview-part .entry-name.ext-wma:before {
	content: "\ea04";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-avi:before,
.token.treeview-part .entry-name.ext-flv:before,
.token.treeview-part .entry-name.ext-mkv:before,
.token.treeview-part .entry-name.ext-mov:before,
.token.treeview-part .entry-name.ext-mp4:before,
.token.treeview-part .entry-name.ext-mpeg:before,
.token.treeview-part .entry-name.ext-mpg:before,
.token.treeview-part .entry-name.ext-ogv:before,
.token.treeview-part .entry-name.ext-webm:before {
	content: "\ea05";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-pdf:before {
	content: "\ea09";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-xls:before,
.token.treeview-part .entry-name.ext-xlsx:before {
	content: "\ea0a";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-doc:before,
.token.treeview-part .entry-name.ext-docm:before,
.token.treeview-part .entry-name.ext-docx:before {
	content: "\ea0c";
}


  
  
  

  
  
  
    
    .token.treeview-part .entry-name.ext-pps:before,
.token.treeview-part .entry-name.ext-ppt:before,
.token.treeview-part .entry-name.ext-pptx:before {
	content: "\ea0b";
}


  
  
  

  
  
  
    
    /* Import stylesheet for Prism plugin 'unescaped-markup' from 'prismjs/plugins/unescaped-markup/prism-unescaped-markup.css' */


  
  
  

  
  
  
    
    /* Fallback, in case JS does not run, to ensure the code is at least visible */


  
  
  

  
  
  
    
    [class*='lang-'] script[type='text/plain'],
[class*='language-'] script[type='text/plain'],
script[type='text/plain'][class*='lang-'],
script[type='text/plain'][class*='language-'] {
	display: block;
	font: 100% Consolas, Monaco, monospace;
	white-space: pre;
	overflow: auto;
}


  
  
  

  
  
  
    
    /* Prism Font */


  
  
  

  
  
  
    
    code,
kbd,
code[class*="language-"],
pre[class*="language-"] {
  font-family: var(--font-monospace);
}


  
  
  

  
  
  
    
    /*! purgecss end ignore */


  
  
  

  
  
  
    
    /* Default license header for non-vendor CSS source code that follows */


  
  
  

  
  
  
    
    /*! MIT License | github.com/schnerring/hugo-theme-gruvbox */


  
  
  

  
  
  
    
    /*
  Bootstrap 5 breakpoints
  See: https://getbootstrap.com/docs/5.0/layout/breakpoints/#available-breakpoints
*/


  
  
  

  
  
  
    
    footer {
  align-items: center;
  color: var(--fg3);
  display: flex;
  font-family: var(--font-monospace);
  font-size: 0.8rem;
  justify-content: center;
  padding-bottom: 0.5rem;
  padding-top: 2rem;
  text-align: center;
}


  
  
  

  
  
  
    
    .pagination {
  display: flex;
  margin-top: 2rem;
}


  
  
  

  
  
  
    
    .pagination__button {
  color: var(--primary-alt);
  font-family: var(--font-monospace);
  font-size: 1.125rem;
}


  
  
  

  
  
  
    
    .pagination__button:hover {
  color: var(--primary);
}


  
  
  

  
  
  
    
    .pagination__button--next {
  margin-left: auto;
}


  
  
  

  
  
  
    
    .content-section a
{
  color: var(--green2);
  text-decoration:underline;
}


  
  
  

  
  
  
    
    .tags a {
  display: inline-block;
  background: var(--bg1);
  color: var(--fg);
  text-decoration: none;
  border-radius: 20px;
  padding: 0.2em 0.6em;
  margin: 0.2em;
  font-size: 0.9em;
  transition: background 0.2s;
}


  
  
  

  
  
  
    
    .tags a:hover {
  background: var(--bg2);
}