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; } #references a, #references a:visited { color: #EDE68A; opacity: 0.8; } #references a:hover { opacity: 1.0; } /* Code styles */ .code_keyword { color: blue; font-weight: bold; } .code_constant { font-weight: bold; } .code_str { color: orange; } .code_comment { color: green; }