*:not(.allow-select) {
   -moz-user-select: -moz-none;
   -webkit-user-select: none;
   -o-user-select: none;
   user-select: none;
   -khtml-user-select: none;
}

.allow-select,
.allow-select * {
   -moz-user-select: -moz-text;
   -webkit-user-select: text;
   -o-user-select: text;
   user-select: text;
   -khtml-user-select: text;
}

.touch {
   -ms-touch-action: none;
}

body {
   font-family: Arial, sans-serif;
   font-size: 16px;
   margin: 0;
}
body > * {
   width: 770px;
   margin: 0 auto;
}

a {
   color: #4D87CE;
   font-weight: bold;
   text-decoration: none;
}

button,
input[type="button"] {
   line-height: 1.2;
   font-size: 16px;
}
.btn,
input[type=button] {
   display: inline-block;
   padding: 6px 12px;
   margin-bottom: 0;
   font-size: 14px;
   font-weight: 400;
   line-height: 1.42857143;
   text-align: center;
   white-space: nowrap;
   vertical-align: middle;
   -ms-touch-action: manipulation;
   touch-action: manipulation;
   cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   background-image: none;
   border: 1px solid transparent;
   border-radius: 4px;
   color: #333;
   background-color: #fff;
   border-color: #ccc;
}
.btn-group {
   position: relative;
   display: inline-block;
   vertical-align: middle;
}
.btn-group-vertical>.btn,
.btn-group>.btn {
   position: relative;
   float: left;
}
.btn-group .btn+.btn,
.btn-group .btn+.btn-group,
.btn-group .btn-group+.btn,
.btn-group .btn-group+.btn-group {
   margin-left: -1px;
}
.btn-group>.btn:first-child {
   margin-left: 0;
}
.btn-group>.btn:first-child:not(:last-child) {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
}
.btn-group>.btn:last-child:not(:first-child) {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
}
.btn-group>.btn:not(:first-child):not(:last-child) {
   border-radius: 0;
}
.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover {
   z-index: 2;
}
.btn.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.btn-primary {
   color: #fff;
   background-color: #337ab7;
   border-color: #2e6da4;
}
.btn-primary:hover {
   color: #fff;
   background-color: #286090;
   border-color: #204d74;
}
.btn-default {
   color: #333;
   background-color: #fff;
   border-color: #ccc;
}
.btn-default:hover {
   color: #333;
   background-color: #e6e6e6;
   border-color: #adadad;
}
.btn-icon {
   font-family: 'Courier New', Inconsolata, 'Roboto Mono', 'PT Mono', 'Ubuntu', monospace;
}
.selectable,
input,
textarea {
   -moz-user-select: text;
   -webkit-user-select: auto !important;
   -o-user-select: text;
   -khtml-user-select: text;
   user-select: text;
}

.borders, .borders td {
	border: 1px solid black;
}

.contentCentered {
   text-align: center;
}

.warningHeader {
   margin: 10px 0px 10px 0px;
   padding: 10px 10px 10px 10px;
   background: #FFEEEE;
   /*font-weight: bold;*/
   border: 2px solid black;
   border-radius: 6px;
 }

#miniPlatformHeader {
   width:100%;
   border-bottom:1px solid #B47238;
   overflow:hidden;
}
#miniPlatformHeader > table {
   width:770px;
   margin: auto;
}
#miniPlatformHeader .platform {
    font-size: 32px;
}
#task h1,
.question h1,
#solution {
   display: none;
   margin-bottom: 0.4em;
   margin-top: 0.4em;
}
#taskIntro {
   border: 1px solid #8d9daa;
   margin: 10px 0;
   padding: 0 10px;
   font-weight: bold;
}
#taskContent {
   text-align: justify;
}
.pythonIntro code {
   cursor: pointer;
}

#success,
#error {
   font-weight: bold;
}
#success {
   color: blue;
}
#error {
   color: red;
}

#tabsContainer {
   position: relative;
   border-bottom: 2px solid #8d9daa;
}
#tabsMenu {
   text-align: center;
}
#tabsMenu .li {
   display: inline-block;
   width: 165px;
   margin: 0 20px;
   background: #88BB88;
   border: 2px solid #8d9daa;
   border-bottom: 0;
   border-radius: 6px 6px 0 0;
   text-align: center;
}
#tabsMenu.moreTabs .li {
   margin: 0 10px;
}
#tabsMenu .li.lockedLevel {
   background: #404040;
}
#tabsMenu .li.current {
   margin-bottom: -2px;
   padding-bottom: 2px;
   background: white;
}
#tabsMenu .li.current.lockedLevel {
   padding-bottom: 1px;
   border-bottom: 1px solid #c0c0c0;
   background: #606060;
}
#tabsMenu .li a {
   display: block;
   padding: 8px;
   color: #000;
   text-decoration: none;
   font-size: 1.1em;
}
#tabsMenu .li.lockedLevel a {
   color: #ddd;
}
#tabsMenu .li a:focus {
   outline: none;
}
#tabsMenu .li:not(.current) a:active {
   background: #c4d3de;
}
#tabsMenu .li.lockedLevel a:active {
   background: #6c7787;
}

h1 span {
   display: inline-block;
   width: .8em;
   height: .8em;
}
h1 .stars {
   vertical-align: baseline;
}
.stars {
   vertical-align: middle;
}

#tabsContainer {
   position: relative;
}
.bestScore {
   position: absolute;
   right: 0;
   top: .3em;
   font-size: 1.2em;
}
#bestScore {
   font-weight: bold;
}

#popupMessage {
   display: none;
}
#popupMessage .container {
   position: relative;
   margin: .5em 0;
   padding: 8px;
}
#popupMessage.floatingMessage {
   position: absolute;
   z-index: 100;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   background-color: gray;
   background: rgba(0, 0, 0, .6);
}
#popupMessage.floatingMessage .container {
   min-height: 100px;
   max-width: 600px;
   margin: 360px auto;
   border: 2px solid black;
   background: white;
}
#popupMessage img.beaver {
   position: absolute;
   width: 90px;
   left: 0px;
}
#popupMessage img.messageArrow {
   position: absolute;
   z-index: 1;
   left: 100px;
   top: 16px;
}
#popupMessage .message {
   margin-left: 115px;
   padding: 8px;
   max-width: 500px;
   border: 2px solid black;
   border-radius: 8px;
   text-align: justify;
}
#popupMessage.noAvatar img.beaver, #popupMessage.noAvatar img.messageArrow {
   display: none;
}

#popupMessage.noAvatar .message {
   margin-left: 0px;
   max-width: 615px;
}
#popupMessage p {
   margin: .5em 0 0;
}
#popupMessage p:first-child {
   margin-top: 0;
}
#popupMessage input {
   margin-top: 1em;
   margin-left: 200px;
}
#popupMessage button {
   margin-top: 1em;
   margin-left: 200px;
   padding: 5px 18px 5px 18px;
   margin-bottom: 0.5em;
}

.easy,
.medium,
.hard {
   display: none;
}

#displayHelperAnswering {
   margin-top: 15px;
}
#displayHelper_validate,
#displayHelper_cancel {
   display: inline-block;
}
#displayHelper_validate > input,
#displayHelper_cancel > input {
   margin: 0 20px;
   width: 9em;
}
#displayHelper_saved {
   margin: .6em;
}
#displayHelper_graderMessage {
   margin: 16px 0px;
}
#choose-view {
   margin-bottom: 1em;
   text-align: center;
}
#choose-view .choose-view-button {
   margin: 0 10px;
}
