.debug-menu ul > li ul > li a {
    padding-left: 36px;
}

.header-logo img {
    height: 40px;
    filter: drop-shadow(0 0 10px #FFF);
}

.sidebar-nav .active a {
    background: rgba(162, 162, 162, 0.15);
}

.sidebar-nav .active a:hover {
    background: rgba(162, 162, 162, 0.20);
}

.sidebar-content .ion-person {
    font-size: 62px;
}

.sidebar-toolbar {
    padding: 10px;
    padding-bottom: 20px;
}

.table-click-row > tbody > tr:hover {
    background-color: rgba(162, 162, 192, 0.15) !important;
}

.user a:not(.btn) {
    text-decoration: underline;
}

.user p.latex {
    margin: 20px;
}

.user li {
    margin-bottom: 8px;
}
.user .image2 {
    width: max-content;
    max-width: max-content;
}
.user figure{
    border: 1px solid lightgray;
}
/* .user figcaption {
    text-align: left;
    padding-left: 15px;
    padding-bottom: 10px;
} */
.user figure figcaption::before {
    font-weight: bold;
    color: black;
    counter-increment: figure;
    /* content: 'Figure ' counter(figure) '. ' */
}

.user img {
    max-height: 600px;
    max-width: 600px;

}
.user img[src^="https://latex.codecogs.com/"] {
    border: none;
}

.user strong {
    font-weight: bold;
}

.user .figure {
    margin-left: 20px;
}

.user h1, 
.user h2, 
.user h3, 
.user h4, 
.user h5, 
.user h6 
{
    margin: 0 0 6px 0;
    font-weight: bold;
}

ol ol,
ol ul,
ul ul,
ul ol {
    margin-top: 6px;
}

/* header {
  background-color: #9a92d1 !important;
  color: #fff;
  margin-left: 0 !important;
} */

.header-title {
    padding: 0 !important;
}

#web2py_user_form input.string,
#web2py_user_form input.password {
    width: 100%;
    border-radius: 3px;
    margin-bottom: 2px;
    border: 1px solid lightgray;
    padding: 2px 4px;
}
#web2py_user_form input[type=submit]{
    margin-right: 1px;
}

.nav > li.active > a {
    color: #214582;
    font-weight: 600;
}
.nav > li > a {
    border-bottom: 2px solid transparent !important;
}

.nav > li.active > a {
    border-bottom: 2px solid !important;
    background-color: rgba(72, 108, 210, 0.2) !important;
    color: rgb(11, 52, 170) !important;
}

.data-form > h1:first-child,
.data-form > h2:first-child,
.data-form > h3:first-child,
.data-form > h4:first-child,
.data-form > h5:first-child,
.data-form > h6:first-child {
    margin-top: 0;
    padding-top: 0;
}

.user input {
    text-align: center;
}
.user table input {
    max-width: 100%;    
    height: 100%;
}

.user td,
.user th {
    vertical-align: middle;
    text-align: center;
    padding: 5px;
    border: 1px solid lightgray;
}
.field {
    margin-right: 10px;
    margin-bottom: 10px;
}
/* .field:not(.active) {
    display: none;
} */
.image input {
    padding: 3px;
}
.input {
    border-radius: 3px;
    border: 2px solid rgba(255, 93, 122,0.9);
    box-shadow: inset 0 0 3px rgba(255, 93, 122,0.5);
    transition: border 0.2s, box-shadow 0.2s;
}
.input:not(.empty).invalid {
    border: 2px solid rgba(255, 93, 122,0.9);
    box-shadow: inset 0 0 3px rgba(255, 93, 122,0.5);
    transition: border 0.2s, box-shadow 0.2s;
}
.input:not(.empty).valid.saving,
.input.image.saving {
    border: 2px solid rgba(253, 255, 102, 0.9);
    box-shadow: inset 0 0 3px rgba(253, 255, 102,0.5);
}
.input:not(.empty).valid.saved,
.input.image.saved {
    border: 2px solid rgba(93, 255, 90, 0.9);
    box-shadow: inset 0 0 3px rgba(253, 255, 102,0.5);
}
textarea.input {
    display:block;
    max-width: 100%;
    width: 100%;
    height: 200px;
    margin-bottom: 20px;
}
.validation {
    padding-left: 18px;
}
.validation li {
    margin-bottom: 0;
    color: red;
}
.validation .error {
    margin-left: -7px;
}

.user table[tablelayout=large] {
    width: 100%;
}
.user table[tablelayout=regular] {
    width: auto;
}
.user table + table tr:first-child td,
.user table + table tr:first-child th {
    border-top: none;
}

.user table caption {
    text-align: center;
    font-weight: 600;
}

.user table h6 {
    text-align: left;
    margin: 0;
    padding: 5px;
}

.mda-radio > em {
    margin-right: 16px !important;
    top: 3px;
    position: absolute;
}
.mda-radio > em::before {
    top: 1px !important;
}
.mda-radio > em::after {
    top: 4px !important;
}

.mda-radio > .text {
    display: inline-block;
    padding-left: 10px;
}

.w2p_flash {
    border-radius: 0;
    text-align: center;
    cursor: pointer;
    font-weight: bold;
    animation: fadeIn;
}

.answering {
    pointer-events: none;
}
.answering .answering {
    background-color: yellow;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.prelab_image input[type=submit] {
    display: none;
}

.prelab_image img {
    max-width: calc(100% - 40px);
    max-height: auto;
}

.field_average input {
    border-radius: 3px;
    border: 1px solid lightgray;
    background: #fafafa;
}

figure {
    margin-bottom: 8px;
    margin-left: 10px;
}
figcaption {
    font-weight: 500;
    font-size: 16px;
}

/* [class^=modal]:not(.modal-settings) {
    opacity: 0;
    pointer-events: none;
    position: fixed;
    background: white; 
    border: 2px solid red;
    padding: 5px 10px;
    margin: 0;
    transition: opacity 0.4s, transform 0.3s;
    transform: translateY(calc(-50% - 5px)) translateX(-50%);
    left: 50%;
    top: 50%;
    max-width: 800px;
    width: 100%;
    max-height: 98%;
    overflow-y: auto;
}
[class^=modal].show {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(calc(-50% - 0px)) translateX(-50%);
    z-index: 2;
} */

.modal-reference h2 {
    line-height: 20px;
    margin: 5px 0 10px;
}
.modal-reference p {
    position: relative;
    padding-left: 20px;
}
.modal-reference p:not(.active) {
    opacity: 0.3;
}
.modal-reference .number {
    position: absolute;
    left: 0px;
    top: 0px;
}

.infobox-popup .show {
    cursor: pointer;
}
.infobox-button::before {
    content: url(../plugin_ckeditor/plugins/oclare-infobox/icons/infobox.png);
    top: 3px;
    position: relative;
    margin-right: 2px;
}
.info h5 {
    margin-top: 8px;
}
.info img {
    max-height: 80vh;
}
body::after {
    content: '';
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: rgba(0,0,0,0);
    transition: background 0.3s;
    pointer-events: none;
    cursor: pointer;
}
body[class*=shade]::after {
    background: rgba(0,0,0,0.6);
    pointer-events: auto;
}

.reference {
    cursor: pointer;
    margin: 0 2px 0 -1px;
    font-weight: 800;
    color: #448AFF;
}
.reference:hover {
    border-bottom: solid 1px #448AFF;
}
.reference::before {
    content: '['; 
    margin-right: -1px;
    position: relative;
}
.reference::after {
    content: ']'; 
    margin-left: -1px;
    position: relative;
}
table[id] tr:first-child th {
    border-top: 1px solid lightgray;
}

.w2p_export_menu:not(.show) {
    display: none;
}
.web2py_console > *:not(.button) {
    display: none;
}

.teacher td,
.teacher th {
    padding: 3px 6px;
}
.teacher tbody tr {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.teacher table {
    width: 100%;
}
.teacher textarea {
    max-width: 1000px;
    width: 100%;
    min-height: 600px;
}
.teacher .web2py_console {
    margin-bottom: 10px;
}
.teacher .form_header {
    margin-bottom: 10px;
}
.teacher #lab_reference_grow_input {
    padding: 0;
}
.teacher #lab_reference {
    max-width: 800px;
    width: 100%;
}
.teacher #lab_name {
    max-width: 800px;
    width: 100%;
}
.teacher.edit_report .w2p_fl {
    display: none;
}
.teacher .buttons {
    margin: 10px 0;
}
.breadcrumb {
    margin-bottom: 0px;
}
.breadcrumb li.active > a {
    text-decoration: underline;
}
.error {
    color: red;
}
.buttons form {
    display: inline;
}

.field.two-line textarea {
    height: 50px;
}
.tabs-bg {
    background: #F9F9F9;
}
.teacher .content .card {
    background: #FCFCFC;
}

.w2p_fl {
    padding: 5px;
}
#submit_record__row .btn {
    margin: 5px 5px 0 0;
}
#cke_lab_subtab_html .cke_contents {
    min-height: 500px;
}

.user h1 {
    font-size: 24px;
}
.user h2 {
    font-size: 20px;
}
.user h3 {
    font-size: 18px;
}
.user h4 {
    font-size: 16px;
}
.user h5 {
    font-size: 14px;
}
.underline {
    position: relative;
}
.underline::after {
    border-bottom: 1px solid white;
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.user img[src^="http://latex.codecogs.com/"] {
    padding: 0;
    margin: 0;
    border: none;
}
.infobox {
    color: rgb(68, 138, 255);
    cursor: pointer;
    display: inline-block;
}
.user .infobox-content {
    display: none;
}
.user .info.show .infobox-content {
    display: block;
}
.user .infobox-content > *:last-child {
    margin-bottom: 0;
}
.field {
    display: block;
}
.field[type=""] {
    display: inline-block;
}
.user table .field {
    width: 100%;
}

.can-toggle:not(.active) {
    cursor: not-allowed;
    opacity: 0.4;
}
.can-toggle:not(.active) > * {
    pointer-events: none;
}
.notebook-content {
    height: 300px;
    overflow: auto;
}
.notebook-popup .modal {
    height: 600px;
}
.notebook-field,
.notebook-button {
    margin: 10px;
    text-align: center;
}
.cke_menu_panel {
    z-index: 999999 !important;
}
.compute-examples h3 {
    font-weight: bold !important;
    font-size: 12px !important;
}
.compute-examples pre {
    font-family: monospace !important;
    white-space: initial !important;
}
.compute-examples table {
    margin-bottom: 6px !important;
    width: 100% !important;
}
.compute-examples td {
    padding: 3px 6px;
}
.compute {
    position: relative;
}
.compute input {
    padding-right: 65px;
}
.compute .refresh {
    cursor: pointer;
    position: absolute;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    background: #39ec39;
    padding: 2px 6px 2px 4px;
    color: black;
    border-radius: 3px;
}
.compute .refresh.loading {
    background: yellow;
}
/* .compute .refresh::before {
    display: inline-block;
    font-family: "Ionicons";
    content: "\f3a8";
    margin-right: 3px;
} */
.user input {
    width: 100%;
    max-width: 200px;
}
.plugin_ckeditor {
    visibility: hidden;
}
.compute:not(.active),
.infobox:not(.active){
    display: none;
}
.report .btn {
    margin-right: 5px;
    margin-bottom: 10px;
}
.report ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    list-style: none;
    padding-left: 0px;
    width: 100%;
    height: auto;
    max-height: none !important;
    margin: 0 0 16px !important;
    grid-gap: 20px;
}
@media screen and (max-width: 1200px) {
    .report ol {
        grid-template-columns: 1fr;
    }
}
.report li {
    margin-bottom: 0;
}
.report img {
    vertical-align: top;
    max-width: 100%;
    max-height: none;
}
code {
    font-family: monospace !important;
    padding: 1px 4px 2px !important;
    margin: 0 2px !important;
    background-color: lightgray !important;
}
code.codeflask__code {
    font-family: Arial, Helvetica, sans-serif !important;
    background-color: transparent !important;
}
.cke_dialog_body .codeflask {
    position: relative;
    height: 100%;
    border: 1px solid lightgrey;
}
.cke_dialog_body .codeflask.codeflask--has-line-numbers:before {
    z-index: 10;
}
.cke_dialog_body textarea.codeflask__textarea {
    height: 100%;
    width: 98%;
    font-family: Arial, Helvetica, sans-serif;
    padding: 11px 0 0 6px;
    white-space: pre;
    z-index: 0;
    color: transparent
}
.cke_dialog_body pre.codeflask__pre {
    left: 29px;
    padding: 10px 0 0 11px;
    width: unset;
}
.cke_dialog_body .codeflask__lines {
    z-index: 11;
}
.url-card {
    display: flex;
    align-items: center;
    padding: 5px 8.3%;
}
.url-card label {
    padding-right: 8px;
    margin-bottom: 0;
}
.url-card input {
    flex-grow: 1;
    padding-left: 4px;
    padding-right: 4px;
    color: rgba(0,0,0,0.9);
}
.datetime .time {
    color: gray;
    margin-left: 5px;
}

/* .cke_inner iframe:not(.active) {
    display: none;
} */

.cke_dialog_body code {
    white-space: pre;
    display: block;
    margin-bottom: 5px !important;
}
.cke_dialog_body table code {
    display: inline-block;
}
.cke_dialog_body h3 {
    margin-bottom: 5px! important;
}

.cke_dialog_body .disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.cke_combopanel {
    z-index: 10011 !important;
}