@charset "utf-8";
/*
 * CSS Document
 */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital@1&display=swap');

.div-icon-code {
	left: 1vw;
	top: 1vw;
	position: absolute;
	width: 46px;
	height: 62px;
	text-align: center;
	line-height: 28px;
	color: #1F1F1F;
	text-shadow: 1px 1px 0 #FFF;
	z-index: 2;
}

.div-icon-code #open-code {
	font-size: 24px;
	transition: all 0.35s ease 0s;
}

.div-icon-code #translator {
	font-family: 'Spartan', Verdana, Arial;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: normal;
	font-style: italic;
	transition: all 0.35s ease 0s;
}

.div-icon-code-close {
	left: 100vw;
	top: 1vw;
	position: absolute;
	width: 46px;
	height: 46px;
	margin-left: calc(-1vw - 46px);
	text-align: center;
	line-height: 46px;
	font-size: 22px;
	color: #FFFFFF;
	text-shadow: 2px 2px 0 #000;
	transition: all 0.35s ease 0s;
}

.div-icon-code #open-code:hover, 
.div-icon-code #translator:hover, 
.div-icon-code-close:hover {
	cursor: pointer;
	color: #db4551;
}

.div-code {
	left: 0;
	top: 0;
	position: absolute;
	background-color: #232323;
	background-image: url('../image/background.png');
	background-repeat: repeat;
	overflow: hidden;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	z-index: 3;
}

.code-close {
	width: 100vw; 
	height: 100vh;
	animation: code-close .5s forwards .2s ease-in-out;
}

@keyframes code-close {
	0% { 
		width: 100vw; 
		height: 100vh;
	}
	100% { 
		width: 0; 
		height: 0;  
	}
}

.code-open {
	width: 0;
	height: 0;
	animation: code-open .5s forwards .2s ease-in-out;
}

@keyframes code-open {
	0% { 
		width: 0; 
		height: 0; 
	}
	100% { 
		width: 100vw; 
		height: 100vh; 
	}
}

.grid-scroll {
	max-width: 980px;
	max-height: 100vh;
	overflow: auto;
	margin: 0 auto;
	padding: 26px 12px 26px 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.grid-code {
	width: auto;
	display: grid;
	grid-template-columns: 46px 1fr;
	grid-column-gap: 16px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.grid-code > div {
	font-family: 'Roboto Mono';
	font-size: 15px;
	line-height: 24px;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

.grid-code .line {
	border-right: 1px solid #666666;
	text-align: right;
	color: #999999;
	padding-right: 6px;
	font-weight: normal;
}

.grid-code .dot {
	font-weight: bold;
	color: #666666;
}

.grid-code .comment {
	font-style: italic;
    color: #666666;
}

.grid-code .signal {
	font-weight: bold;
	color: #FFFFFF;
}

.grid-code .scope {
	color: #e3244c;
}

.grid-code .string {
	color: #24e33a;
}

.grid-code .function {
	color: #eeff31;
}

.grid-code .number {
	color: #e39d24;
}

.grid-code .prop {
	color: #24e394;
}

.grid-code .method {
    color: #874efd;
}

.grid-code .blink {
	font-weight: bold;
	color: #CCCCCC;
	animation: text-blink 1.6s infinite 0s ease-in-out;
}

@keyframes text-blink {
	0% {
		opacity: 0;
	}
	25% {
		opacity: 1;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media (max-width: 1024px) {
	.grid-code > div {
		font-size: 1.2rem;
		line-height: 2rem;
	}

	#page-curriculum .content-page {
		padding: 0 2% !important
	}
}