Refactoring (#1201)
* Some initial refactoring * Make it one application * Got it working * Fix problem on Windows * Move WebWolf * Move first lesson * Moved all lessons * Fix pom.xml * Fix tests * Add option to initialize a lesson This way we can create content for each user inside a lesson. The initialize method will be called when a new user is created or when a lesson reset happens * Clean up pom.xml files * Remove fetching labels based on language. We only support English at the moment, all the lesson explanations are written in English which makes it very difficult to translate. If we only had labels it would make sense to support multiple languages * Fix SonarLint issues * And move it all to the main project * Fix for documentation paths * Fix pom warnings * Remove PMD as it does not work * Update release notes about refactoring Update release notes about refactoring Update release notes about refactoring * Fix lesson template * Update release notes * Keep it in the same repo in Dockerhub * Update documentation to show how the connection is obtained. Resolves: #1180 * Rename all integration tests * Remove command from Dockerfile * Simplify GitHub actions Currently, we use a separate actions for pull-requests and branch build. This is now consolidated in one action. The PR action triggers always, it now only trigger when the PR is opened and not in draft. Running all platforms on a branch build is a bit too much, it is better to only run all platforms when someone opens a PR. * Remove duplicate entry from release notes * Add explicit registry for base image * Lesson scanner not working when fat jar When running the fat jar we have to take into account we are reading from the jar file and not the filesystem. In this case you cannot use `getFile` for example. * added info in README and fixed release docker * changed base image and added ignore file Co-authored-by: Zubcevic.com <rene@zubcevic.com>
2744
src/main/resources/webgoat/static/css/animate.css
vendored
Normal file
2126
src/main/resources/webgoat/static/css/asciidoctor-default.css
Normal file
132
src/main/resources/webgoat/static/css/coderay.css
Executable file
@ -0,0 +1,132 @@
|
||||
.CodeRay {
|
||||
background-color: #efefef;
|
||||
font-family: Monaco, "Courier New", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace;
|
||||
color: #000;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.CodeRay pre {
|
||||
margin: 0px;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
div.CodeRay { }
|
||||
span.CodeRay { white-space: pre; border: 0px; padding: 2px }
|
||||
|
||||
table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
|
||||
table.CodeRay td {
|
||||
padding: 1em 0.5em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.CodeRay .line-numbers, .CodeRay .no {
|
||||
background-color: #ECECEC;
|
||||
color: #AAA;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.CodeRay .line-numbers a {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
.CodeRay .line-numbers tt { font-weight: bold }
|
||||
.CodeRay .line-numbers .highlighted { color: red }
|
||||
.CodeRay .line { display: block; float: left; width: 100%; }
|
||||
.CodeRay span.line-numbers { padding: 0px 4px }
|
||||
.CodeRay .code { width: 100% }
|
||||
|
||||
ol.CodeRay { font-size: 10pt }
|
||||
ol.CodeRay li { white-space: pre }
|
||||
|
||||
.CodeRay .code pre { overflow: auto }
|
||||
.CodeRay .debug { color:white ! important; background:blue ! important; }
|
||||
|
||||
.CodeRay .annotation { color:#007 }
|
||||
.CodeRay .attribute-name { color:#f08 }
|
||||
.CodeRay .attribute-value { color:#700 }
|
||||
.CodeRay .binary { color:#509; font-weight:bold }
|
||||
.CodeRay .comment { color:#998; font-style: italic;}
|
||||
.CodeRay .char { color:#04D }
|
||||
.CodeRay .char .content { color:#04D }
|
||||
.CodeRay .char .delimiter { color:#039 }
|
||||
.CodeRay .class { color:#458; font-weight:bold }
|
||||
.CodeRay .complex { color:#A08; font-weight:bold }
|
||||
.CodeRay .constant { color:teal; }
|
||||
.CodeRay .color { color:#0A0 }
|
||||
.CodeRay .class-variable { color:#369 }
|
||||
.CodeRay .decorator { color:#B0B; }
|
||||
.CodeRay .definition { color:#099; font-weight:bold }
|
||||
.CodeRay .directive { color:#088; font-weight:bold }
|
||||
.CodeRay .delimiter { color:black }
|
||||
.CodeRay .doc { color:#970 }
|
||||
.CodeRay .doctype { color:#34b }
|
||||
.CodeRay .doc-string { color:#D42; font-weight:bold }
|
||||
.CodeRay .escape { color:#666; font-weight:bold }
|
||||
.CodeRay .entity { color:#800; font-weight:bold }
|
||||
.CodeRay .error { color:#F00; background-color:#FAA }
|
||||
.CodeRay .exception { color:#C00; font-weight:bold }
|
||||
.CodeRay .filename { color:#099; }
|
||||
.CodeRay .function { color:#900; font-weight:bold }
|
||||
.CodeRay .global-variable { color:teal; font-weight:bold }
|
||||
.CodeRay .hex { color:#058; font-weight:bold }
|
||||
.CodeRay .integer { color:#099; }
|
||||
.CodeRay .include { color:#B44; font-weight:bold }
|
||||
.CodeRay .inline { color: black }
|
||||
.CodeRay .inline .inline { background: #ccc }
|
||||
.CodeRay .inline .inline .inline { background: #bbb }
|
||||
.CodeRay .inline .inline-delimiter { color: #D14; }
|
||||
.CodeRay .inline-delimiter { color: #D14; }
|
||||
.CodeRay .important { color:#f00; }
|
||||
.CodeRay .interpreted { color:#B2B; font-weight:bold }
|
||||
.CodeRay .instance-variable { color:teal }
|
||||
.CodeRay .label { color:#970; font-weight:bold }
|
||||
.CodeRay .local-variable { color:#963 }
|
||||
.CodeRay .octal { color:#40E; font-weight:bold }
|
||||
.CodeRay .operator { }
|
||||
.CodeRay .predefined-constant { font-weight:bold }
|
||||
.CodeRay .predefined { color:#369; font-weight:bold }
|
||||
.CodeRay .preprocessor { color:#579; }
|
||||
.CodeRay .pseudo-class { color:#00C; font-weight:bold }
|
||||
.CodeRay .predefined-type { color:#074; font-weight:bold }
|
||||
.CodeRay .reserved, .keyword { color:#000; font-weight:bold }
|
||||
|
||||
.CodeRay .key { color: #808; }
|
||||
.CodeRay .key .delimiter { color: #606; }
|
||||
.CodeRay .key .char { color: #80f; }
|
||||
.CodeRay .value { color: #088; }
|
||||
|
||||
.CodeRay .regexp { background-color:#fff0ff }
|
||||
.CodeRay .regexp .content { color:#808 }
|
||||
.CodeRay .regexp .delimiter { color:#404 }
|
||||
.CodeRay .regexp .modifier { color:#C2C }
|
||||
.CodeRay .regexp .function { color:#404; font-weight: bold }
|
||||
|
||||
.CodeRay .string { color: #D20; }
|
||||
.CodeRay .string .string { }
|
||||
.CodeRay .string .string .string { background-color:#ffd0d0 }
|
||||
.CodeRay .string .content { color: #D14; }
|
||||
.CodeRay .string .char { color: #D14; }
|
||||
.CodeRay .string .delimiter { color: #D14; }
|
||||
|
||||
.CodeRay .shell { color:#D14 }
|
||||
.CodeRay .shell .content { }
|
||||
.CodeRay .shell .delimiter { color:#D14 }
|
||||
|
||||
.CodeRay .symbol { color:#990073 }
|
||||
.CodeRay .symbol .content { color:#A60 }
|
||||
.CodeRay .symbol .delimiter { color:#630 }
|
||||
|
||||
.CodeRay .tag { color:#070 }
|
||||
.CodeRay .tag-special { color:#D70; font-weight:bold }
|
||||
.CodeRay .type { color:#339; font-weight:bold }
|
||||
.CodeRay .variable { color:#036 }
|
||||
|
||||
.CodeRay .insert { background: #afa; }
|
||||
.CodeRay .delete { background: #faa; }
|
||||
.CodeRay .change { color: #aaf; background: #007; }
|
||||
.CodeRay .head { color: #f8f; background: #505 }
|
||||
|
||||
.CodeRay .insert .insert { color: #080; font-weight:bold }
|
||||
.CodeRay .delete .delete { color: #800; font-weight:bold }
|
||||
.CodeRay .change .change { color: #66f; }
|
||||
.CodeRay .head .head { color: #f4f; }
|
4
src/main/resources/webgoat/static/css/font-awesome.min.css
vendored
Normal file
BIN
src/main/resources/webgoat/static/css/img/appseceu-17.png
Normal file
After Width: | Height: | Size: 260 KiB |
BIN
src/main/resources/webgoat/static/css/img/favicon.ico
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/main/resources/webgoat/static/css/img/logo.png
Normal file
After Width: | Height: | Size: 669 B |
BIN
src/main/resources/webgoat/static/css/img/logoBG.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
src/main/resources/webgoat/static/css/img/owasp_logo.jpg
Normal file
After Width: | Height: | Size: 56 KiB |
1
src/main/resources/webgoat/static/css/img/solution.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 100 100" height="75px" id="Calque_2" version="1.1" viewBox="0 0 100 100" width="75px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M16.64,33.53c0.63,0,1.25,0.16,1.81,0.46c0.88,0.49,1.52,1.28,1.8,2.25c0.28,0.97,0.18,1.98-0.31,2.86l-1.23,2.26 l6.43,3.52l3.52-6.43l-2.26-1.23c-1.82-1-2.49-3.29-1.5-5.11c0.67-1.21,1.93-1.96,3.31-1.96c0.63,0,1.25,0.16,1.81,0.46l2.25,1.24 l3.52-6.43l-7.67-4.2l1.92-3.49c0.62-1.14,0.2-2.57-0.94-3.2c-0.34-0.19-0.73-0.29-1.12-0.29c-0.87,0-1.66,0.47-2.07,1.23L24,18.96 l-7.67-4.2l-4.2,7.67l-3.49-1.91c-0.35-0.19-0.74-0.29-1.13-0.29c-0.86,0-1.65,0.47-2.07,1.22c-0.62,1.14-0.2,2.57,0.94,3.2 l3.49,1.91l-4.2,7.67l6.43,3.52l1.24-2.26C14,34.28,15.27,33.53,16.64,33.53z"/><path d="M34.97,68.32c0-2.07,1.69-3.761,3.77-3.761h2.57V57.23h-8.74v-3.98c0-1.3-1.06-2.36-2.36-2.36 c-1.29,0-2.35,1.061-2.35,2.36v3.98h-8.74v8.739h-3.99c-1.29,0-2.35,1.061-2.35,2.351c0,1.3,1.06,2.359,2.35,2.359h3.99v8.74h7.33 v-2.57c0-2.08,1.69-3.77,3.76-3.77c2.08,0,3.77,1.689,3.77,3.77v2.57h7.33v-7.33h-2.57C36.66,72.09,34.97,70.4,34.97,68.32z"/><path d="M71.25,68.32c0-1.29-1.06-2.351-2.35-2.351h-3.99V57.23h-8.74v-3.98c0-1.3-1.05-2.35-2.35-2.36 c-1.29,0.011-2.34,1.061-2.34,2.36v3.98h-8.74v8.739h-3.99c-1.3,0-2.35,1.061-2.35,2.351c0,1.3,1.05,2.359,2.35,2.359h3.99v8.74 h8.74v3.98c0,1.3,1.05,2.359,2.35,2.359s2.35-1.06,2.35-2.359v-3.98h8.73v-8.74h3.99C70.2,70.68,71.25,69.62,71.25,68.32z"/><path d="M92.49,65.97h-3.98V57.23h-8.74v-3.99c0-0.641-0.26-1.23-0.689-1.66c-0.43-0.42-1.01-0.69-1.66-0.69 c-1.3,0-2.36,1.061-2.36,2.36v3.98h-8.72v7.329h2.57c2.07,0,3.76,1.69,3.76,3.761c0,2.08-1.689,3.77-3.76,3.77h-2.57v7.33h7.311 v-2.57c0-2.08,1.689-3.77,3.76-3.77c2.08,0,3.77,1.689,3.77,3.77v2.57h7.33v-8.74h3.98c1.3,0,2.359-1.06,2.359-2.359 C94.85,67.02,93.79,65.97,92.49,65.97z"/><path d="M59.98,44.73c0,1.29,1.06,2.35,2.359,2.35h3.98v8.74h7.33v-2.57c0-2.08,1.689-3.77,3.77-3.77c1.03,0,1.97,0.43,2.66,1.11 c0.68,0.68,1.1,1.62,1.1,2.66v2.57h7.33v-7.33H85.94c-2.08,0-3.771-1.69-3.771-3.77c0-2.07,1.69-3.76,3.771-3.76h2.569v-7.33h-8.74 v-3.98c0-1.3-1.06-2.36-2.35-2.36c-1.3,0-2.36,1.06-2.36,2.36v3.98H66.32v8.74h-3.98C61.04,42.37,59.98,43.43,59.98,44.73z"/><path d="M38.74,47.08h3.98v8.74h7.33v-2.57c0-1.04,0.42-1.98,1.11-2.67c0.68-0.68,1.62-1.1,2.66-1.1h0.01 c2.08,0,3.77,1.69,3.77,3.77v2.57h7.311v-7.33h-2.57c-2.08,0-3.77-1.69-3.77-3.77c0-2.07,1.689-3.76,3.77-3.76h2.57v-7.33h-8.74 v-3.98c0-1.3-1.06-2.36-2.35-2.36c-1.301,0-2.36,1.06-2.36,2.36v3.98h-8.74v8.74h-3.98c-1.3,0-2.36,1.06-2.36,2.35 C36.38,46.02,37.44,47.08,38.74,47.08z"/></g></svg>
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/main/resources/webgoat/static/css/img/webBg.png
Normal file
After Width: | Height: | Size: 38 KiB |
80
src/main/resources/webgoat/static/css/img/wolf.svg
Normal file
After Width: | Height: | Size: 9.7 KiB |
2
src/main/resources/webgoat/static/css/layers.css
Normal file
@ -0,0 +1,2 @@
|
||||
#lesson-title {position:absolute;left:94px;top:75px;width:690px;height:22px;z-index:1;float: right;font-size: 20px;color: #FFFFFF;}
|
||||
#hMenuBar {position:absolute;left:245px;top:108px;width:538px;height:22px;z-index:2;}
|
1438
src/main/resources/webgoat/static/css/main.css
Normal file
11
src/main/resources/webgoat/static/css/menu.css
Normal file
@ -0,0 +1,11 @@
|
||||
.pviimenudiv td {font-family: "Trebuchet MS", Arial, sans-serif; font-size: 10px}
|
||||
.pviimenudiv p {font-family: "Trebuchet MS", Arial, sans-serif; font-size: 10px; margin-top: 12px; margin-bottom: 6px}
|
||||
.pviimenudiv b {font-family: Verdana, Arial, Helvetica, sans-serif; font-style: normal; color: #666666}
|
||||
.pviimenudiv a:link {color: #333333; text-decoration: underline}
|
||||
.pviimenudiv a:visited {color: #0066FF; text-decoration: underline}
|
||||
.pviimenudiv a:hover {color: red; text-decoration: underline}
|
||||
.pviimenudiv a:active {color: #0066FF; text-decoration: underline}
|
||||
.pviimenudivstage a:link {color: #333333; font-size: 9px; display: block; margin-left: 2em; }
|
||||
.pviimenudivstage a:visited {color: #0066FF; font-size: 9px; display: block; margin-left: 2em; }
|
||||
.pviimenudivstage a:hover {color: red; font-size: 9px; display: block; margin-left: 2em; }
|
||||
.pviimenudivstage a:active {color: #0066FF; font-size: 9px; display: block; margin-left: 2em; }
|
67
src/main/resources/webgoat/static/css/quiz.css
Normal file
@ -0,0 +1,67 @@
|
||||
.attack-container.quiz {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#q_container p {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#q_container .quiz_question {
|
||||
border: solid 2px white;
|
||||
padding: 4px;
|
||||
margin: 5px 2px 20px 2px;
|
||||
box-shadow: 0px 1px 3px 1px #e4e4e4;
|
||||
}
|
||||
|
||||
#q_container .quiz_question label {
|
||||
font-weight: normal;
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
#q_container .quiz_question input {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
border: 2px solid #dadada;
|
||||
background: white;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#q_container .quiz_question input:checked {
|
||||
background: #51b7ff;
|
||||
}
|
||||
|
||||
#q_container .quiz_question input:hover,
|
||||
#q_container .quiz_question label:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#q_container .quiz_question.correct {
|
||||
border: solid 2px #ddf7dd;
|
||||
background: #ddf7dd;
|
||||
transition: all 300ms ease-in-out;
|
||||
}
|
||||
|
||||
#q_container .quiz_question.incorrect {
|
||||
border: solid 2px #f5d3d3;
|
||||
background: #f5d3d3;
|
||||
transition: all 300ms ease-in-out;
|
||||
}
|
||||
|
||||
input[name='Quiz_solutions'] {
|
||||
background: white;
|
||||
border: 1px solid gray;
|
||||
padding: 7px 10px;
|
||||
transition: 300ms all ease-in-out;
|
||||
}
|
||||
|
||||
input[name='Quiz_solutions']:hover {
|
||||
background: #51b7ff;
|
||||
color: white;
|
||||
border-color: white;
|
||||
transition: 300ms all ease-in-out;
|
||||
}
|
305
src/main/resources/webgoat/static/css/webgoat.css
Normal file
@ -0,0 +1,305 @@
|
||||
/*
|
||||
body{
|
||||
min-width: 800px;
|
||||
font-family: Arial,sans-serif;
|
||||
color: #333333;
|
||||
line-height: 1.166;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
a:link, a:visited, a:hover {
|
||||
color: #666666;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
color: red;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: Arial,sans-serif;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
h1{
|
||||
font-family: Verdana,Arial,sans-serif;
|
||||
font-size: 120%;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
h2{
|
||||
font-size: 114%;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
h3{
|
||||
font-size: 100%;
|
||||
color: #334d55;
|
||||
}
|
||||
|
||||
h4{
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
h5{
|
||||
font-size: 100%;
|
||||
color: #334d55;
|
||||
}
|
||||
*/
|
||||
ul{
|
||||
list-style-type: square;
|
||||
}
|
||||
|
||||
ul ul{
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ul ul ul{
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#navBar{
|
||||
margin: 0 79% 0 0;
|
||||
padding: 0px;
|
||||
background-color: #999999;
|
||||
}
|
||||
|
||||
#twoCol{
|
||||
margin: 0;
|
||||
padding-left: 13px;
|
||||
}
|
||||
|
||||
#siteName{
|
||||
margin: 0px;
|
||||
padding: 0px 0px 10px 10px;
|
||||
}
|
||||
|
||||
#lessonName{
|
||||
padding: 5px 0px 10px 10px;
|
||||
}
|
||||
|
||||
#globalNav{
|
||||
color: #cccccc;
|
||||
padding: 0px 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#globalNav img{
|
||||
display: block;
|
||||
}
|
||||
|
||||
#globalNav a {
|
||||
font-size: 10px;
|
||||
padding: 0px 4px 0px 0px;
|
||||
}
|
||||
|
||||
.lessonContent{
|
||||
padding: 10px 10px 10px 10px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.lessonText h3{
|
||||
padding: 30px 0px 5px 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lessonText img{
|
||||
float: left;
|
||||
padding: 0px 10px 0px 0px;
|
||||
margin: 0 5px 5px 0;
|
||||
}
|
||||
|
||||
#bottom{
|
||||
color: #999999;
|
||||
clear: both;
|
||||
font-size: 10px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
#navBar ul a:link, #navBar ul a:visited {}
|
||||
|
||||
#navBar ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* hack to fix IE/Win's broken rendering of block-level anchors in lists */
|
||||
#navBar li {}
|
||||
|
||||
/* fix for browsers that don't need the hack */
|
||||
html>body #navBar li {}
|
||||
|
||||
#top{
|
||||
height:136px;
|
||||
background-image: url(img/header/header.jpg);
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
#top_challenge{
|
||||
height:136px;
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
#topLinks{
|
||||
position: relative;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
#topLinks h3{
|
||||
padding: 10px 0px 2px 10px;
|
||||
}
|
||||
|
||||
#topLinks a:link{
|
||||
padding: 2px 0px 2px 10px;
|
||||
width: 100%;
|
||||
voice-family:inherit;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#topLinks a:visited{
|
||||
border-top: 1px solid #cccccc;
|
||||
padding: 2px 0px 2px 10px;
|
||||
}
|
||||
|
||||
#topLinks a:hover{
|
||||
background-color: #FFFFFF;
|
||||
padding: 5px 2px 2px 10px;
|
||||
}
|
||||
|
||||
#menuSpacer {
|
||||
float: left;
|
||||
width: 225px;
|
||||
}
|
||||
|
||||
#lessonArea {
|
||||
float: right;
|
||||
width: 540px;
|
||||
height: 100%;
|
||||
padding: 10px;
|
||||
}
|
||||
#lessonAreaTop {
|
||||
float: right;
|
||||
width: 540px;
|
||||
height: 15px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#wrap {
|
||||
width: 800px;
|
||||
word-wrap:break-word; /* Fixes IE wrapping issue */
|
||||
}
|
||||
|
||||
#topRight {
|
||||
position:absolute;
|
||||
left:380px;
|
||||
top:0px;
|
||||
width:400px;
|
||||
height:23px;
|
||||
z-index:3;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#topLeft {
|
||||
position:absolute;
|
||||
left:100px;
|
||||
top:0px;
|
||||
width:400px;
|
||||
height:23px;
|
||||
z-index:3;
|
||||
float: right;
|
||||
}
|
||||
#topRightInner {
|
||||
position:absolute;
|
||||
left:450px;
|
||||
top:10px;
|
||||
width:300px;
|
||||
height:23px;
|
||||
z-index:4;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.info {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#reset {
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
float: right;
|
||||
display: inline;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#training {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-bottom: 10px;
|
||||
|
||||
}
|
||||
|
||||
#training_wrap {
|
||||
width: 540px;
|
||||
}
|
||||
|
||||
#hint{}
|
||||
#parameter{}
|
||||
#cookie{}
|
||||
#message{
|
||||
margin-bottom: 20px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#lessonPlans {
|
||||
border: 1px solid #000000;
|
||||
background-color: #FFFFFF;
|
||||
margin: 15px;
|
||||
padding: 25px;
|
||||
padding-bottom: 75px;
|
||||
}
|
||||
|
||||
#credits {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
height: 370px;
|
||||
width: 700px;
|
||||
padding: 10px 50px 10px 50px;
|
||||
font-size: 15px;
|
||||
}
|
||||
#warning {
|
||||
border: 1px solid #666666;
|
||||
padding: 10px;
|
||||
font-size: 10px;
|
||||
color: #FF3300;
|
||||
width: 600px;
|
||||
margin-left: 100px;
|
||||
margin-right: 100px;
|
||||
}
|
||||
#team {
|
||||
width: 580px;
|
||||
margin-right: 50px;
|
||||
margin-left: 50px;
|
||||
padding-top: 5px;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.style1 {
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.style2 {
|
||||
font-size: 10px;
|
||||
}
|