html {
background: #2f3032;
background: -webkit-radial-gradient(top, #383A56, #303133);
background: -moz-radial-gradient(top, #383A56, #303133);
background: radial-gradient(to bottom, #383A56, #303133);
}
body {
background: #2f3032;
min-height: calc(100vh - 64px);
font-size: 16px;
font-family: "Helvetica", sans-serif;
line-height: 1.75rem;
width: 960px;
margin: auto;
overflow-x: auto;
overflow-y: auto;
color: white;
margin-top: 32px;
margin-bottom: 32px;
border-radius: 8px;
border: 2px solid #383A56;
padding: 32px;
}
header {
border-bottom: 2px solid #383A56;
padding-top: 1rem;
padding-bottom: 1rem;
font-size: 20px;
text-align: center;
border-radius: 0px 0px 3px 3px;
}
header > h1 {
margin: 0rem;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
main {
display: flex;
flex-direction: row;
margin-bottom: 1rem;
overflow-y: hidden;
}
section {
min-width: 74%;
width: 74%;
overflow-y: hidden;
}
/*
Navigation bar
*/
nav {
padding-top: 1rem;
position: sticky;
width: 20%;
min-width: 20%;
max-width: 20%;
margin-right: 5%;
display: flex;
flex-direction: column;
text-align: left;
font-size: 1rem;
user-select: none;
max-height: calc(100vh - 64px);
}
.outer-tree {
width: 100%;
list-style: none;
padding: 0;
margin: 0;
}
.outer-tree > li {
margin-bottom: 0.25rem;
}
.outer-tree > li > span {
display: block;
width: 100%;
padding: 0.25rem;
}
.outer-tree > li > span > i {
transform: rotate(0deg);
transition: 100ms ease-in-out transform;
}
.outer-tree li > span > span {
padding-left: 1rem;;
}
.inner-tree {
margin-left: 0.5rem;
padding-left: 1rem;
list-style: none;
border-left: 1px solid white;
}
.inner-tree > li {
}
.inner-tree > li > label {
color: white;
font-weight: bold;
text-align: center;
text-decoration: underline;
}
.inner-tree > li > a {
margin-left: 0.5rem;
}
nav a {
color: white;
text-decoration: none;
display: inline-block;
min-width: 196px;
}
nav a:hover {
opacity: 0.8;
cursor: pointer;
}
.nav-selected {
font-weight: bold;
color: #ede68a;
}
.spin-loader {
border: 5px solid #f3f3f3;
border-top: 5px solid #555;
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
article > p {
padding-left: 2rem;
padding-right: 2rem;
}
/*
Helpful widgets
*/
.vec2_input_group {
position: relative;
margin-top: 1rem;
display: flex;
flex-direction: row;
width: 100%;
justify-content: space-evenly;
padding: 0.25rem;
}
.vec2_input_group > label {
position: absolute;
top: -1rem;
left: 0rem;
font-size: 0.8rem;
font-weight: bold;
text-align: left;
}
.vec2_input_group > input {
width: 45%;
}
.slider_container {
display: flex;
flex-direction: column;
}
.slider_container > label {
font-weight: 500;
}
/*
WebGL container styling from here on.
*/
article .opengl_canvas_container {
position: relative;
width: 100%;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
border-radius: 3px;
}
article .opengl_canvas_container .play_button {
all: unset;
font-size: 2rem;
width: 128px;
height: 128px;
position: absolute;
top: calc(50% - 56px);
left: calc(50% - 56px);
border: 1px solid white;
color: white;
background-color: transparent;
border-radius: 50%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.opengl_canvas_container canvas {
border-radius: 3px 3px 0px 0px;
border: 1px solid #b0a565;
}
article .opengl_canvas_container .play_button:hover {
cursor: pointer;
}
article .opengl_canvas_container .stop_button {
all: unset;
font-size: 1rem;
background-color: red;
color: white;
position: absolute;
width: 128px;
height: 2rem;
border-radius: 2px;
top: 0.5rem;
left: 496px;
display: none;
}
article .opengl_canvas_container .stop_button:hover {
cursor: pointer;
}
article pre {
width: 90%;
overflow-x: auto;
padding-left: 2rem;
font-size: 0.9rem;
}
.opengl_canvas_sidebar {
border: 1px solid #b0a565;
border-radius: 0px 0px 3px 3px;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.opengl_canvas_sidebar .opengl_value_tracker {
grid-column: 1 span /4;
font-size: 14px;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.opengl_canvas_sidebar .opengl_value_tracker > li {
padding-bottom: 0.5rem;
}
.opengl_canvas_sidebar .opengl_value_tracker > li > b {
display: inline-block;
width: 128px;
}
.opengl_canvas_sidebar .opengl_value_tracker > li > span {
display: inline-block;
}
/*
Code styles
*/
.code_keyword {
color: blue;
font-weight: bold;
}
.code_constant {
font-weight: bold;
}
.code_str {
color: orange;
}
.code_comment {
color: green;
}