
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/IBMPlexMono-Regular.woff2) format('woff2');
  
}

html, body { 
    padding: 20px;
    background-color: #2e3440;
	font-size: 16px;
    color: #eceff4;
}

p {
	margin: 0;
	padding: 0;
}

::selection {
	background-color: #3b4252;
}

a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid #373b41;
	padding-bottom: 1px;
}

a:hover {
	border-bottom-color: inherit;
}

.tab a {
	border-bottom: 1px solid;
}

.tab a:hover {
	border-bottom: 1px dashed;
}


#main-code {
	width: 85%;
	margin: auto;
	border: 2px solid #3b4252;
	padding: 1.5em;
    background-color: #2e3440;
    color: #eceff4;
    font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
	counter-reset: lines;
}
/* */
.comment {
	color: #4c566a;
}

.var {
	color: #5e81ac;
}

.eq {
	color: #8abeb7;
}

.string {
	color: #a3be8c;
}

.cmd {
	color: #b48ead;
}

.line {
	display: block;
	margin: 0;
	padding-left: 0.5em;
	line-height: 1.5em;
}

.line:before {
	padding: auto;
	color: #4c566a;
	width: 1em;
	margin-right: 1.5em;
	text-align: right;
	counter-increment: lines;
	content: counter(lines, decimal-leading-zero);
}

.line.tab:before {
	margin-right: 4em;
}

.line:hover {
	background: #3b4252;
}

.blink {
    animation: blinker 1s step-start infinite;
}
@keyframes blinker {
    50% {
        opacity: 0;
    }
}

/* prompt */
.cyan {
    color: #88c0d0;
}
.grey {
    color: #d8dee9;
}
.purple {
    color: #b48ead;
}
.green {
    color: #a3be8c;
}

.footer {
    margin: auto;
    margin-top: 2em;
    width: 80%;
    text-align: center;
    font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
}

.footer a {
    color: #4c566a;
}

#credits-modal {
    display: none;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(46,52,64,0.8);
}

#credits {
    background-color: #3b4252;
    width: 60%;
    padding: 1.5em;
    margin: 15% auto;
    border: 3px solid #4c566a;
    color: #d8dee9;
    font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
}

#credits p {
    line-height: 1.8em;
    margin-bottom: 1em;
}

#credits a {
    color: #81a1c1;
    border-bottom: 1px solid #b48ead;
}

#credits a:hover {
    border-bottom: 1px dashed #b48ead;
}

#credits code {
    color: #a3be8c;
}

#statusline {
    margin-top: 2em;
    margin-bottom: 0px !important;
    padding-left: 0.5em;
    color: #4c566a;
}

#statusline.error {
    color: #eceff4;
    background-color: #bf616a;
}

@media only screen and (max-width: 1100px) {

	body, html {
		padding: 1 em;
	}
	#main-code {
		width: auto;
	}
} 

@media only screen and (max-width: 900px) {

	body, html {
		padding: 0;
		margin: 0;
		background-color: #2e3440;
	}
	#main-code {
		width: auto;
		border: 0px;
		padding: 1em;
	}
	.line:before {
		display: none;
	}
	.line:hover {
		background: none;
	}
	p.line.longline {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
