body {
    font-family: "Helvetica Neue", helvetica, arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: "Gibson Semibold", "GibsonSemibold", "Helvetica Neue", helvetica, arial, sans-serif;
}

span.active {
    background-color: #2fa4e7;
}

@media print {
    .screenonly {
        display: none !important;
    }

    ol.breadcrumb {
        display: none;
    }
}

@media screen {
    ol.breadcrumb {
        background-color: white;
        margin: -8px 0 -10px 0;
        padding: 0 0 1.4em 4em;
        clear: both;
    }

    .printonly {
        display: none;
    }
}

.container {
    margin-bottom: 20px;
}

.container-autowidth {
    width: 97%;
}

.monospace {
    font-family: monospace;
}

.monospace-sm {
    font-family: monospace;
    font-size: smaller;
}

.size-67pct {
    font-size: 67%;
}

.size-85pct {
    font-size: 85%;
}

.opacity-50 {
    opacity: 50%;
}

.text-muted {
    font-style: italic;
}

.text-normal {
    font-style: normal;
}

.text-quote {
    color: #2d5254;
}

div.text-quote {
    border: #ddd solid thin;
    border-left: #538faa solid 0.5rem;
    margin: 0.7rem 1rem;
}

div.text-quote p {
    margin: 0.4em;
}

.weight-regular {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}

.nowrap {
    white-space: nowrap;
}

.wrap {
    white-space: normal;
}

.strikeout {
    color: red;
    font-style: italic;
    text-decoration: line-through;
}

.ml-1 {
    margin-left: 0.6em;
}

.mr-1 {
    margin-right: 0.6em;
}

.ml-2 {
    margin-left: 1.2em;
}

.mr-2 {
    margin-right: 1.2em;
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

blockquote {
    font-size: 14px;
    /* font-family: serif; */
}

#div_messageflasher {
    border-width: medium;
    left: 15%;
    position: fixed;
    top: 40px;
    width: 70%;
    z-index: 999;
}

.close {
    color: #222222;
    opacity: 0.7;
}

.close:hover {
    color: #992923;
    opacity: 1;
}

.flashes li {
    border-width: 3px;
    -moz-box-shadow: 5px 5px 7px 0 #bbb;
    -webkit-box-shadow: 5px 5px 7px 0 #bbb;
    box-shadow: 5px 5px 7px 0 #bbb;
    list-style-type: none;
}

.alert-question {
    content: url("/static/graphics/dialog-question-48x48.png");
    margin-right: 1em;
}

.alert {
    background-color: white;
}

.droptarget {
    background-color: lightgray;
}

.droptarget-hover {
    background-color: lightblue;
}

.alert-message p {
    margin-left: 1em;
    word-wrap: break-word;
}

li.alert-danger {
    border-color: #A7181a;
}

li.alert-warning {
    border-color: #E0B83E;
}

li.alert-success {
    border-color: #73BC56;
}

li.alert-info {
    border-color: #558BBA;
}

li.alert-primary {
    border-color: #AD61A1;
}

li.alert-secondary {
    border-color: #999999;
}

.alert-icon {
    height: 48px;
    margin-right: 20px;
    width: 48px;
}

li.alert-danger .alert-icon {
    background-image: url("/static/graphics/dialog-error-3-48x48.png");
    background-size: cover;
}

li.alert-warning .alert-icon {
    background-image: url("/static/graphics/dialog-warning-3-48x48.png");
    background-size: cover;
}

li.alert-info .alert-icon {
    background-image: url("/static/graphics/dialog-information-3-48x48.png");
    background-size: cover;
}

li.alert-success .alert-icon {
    background-image: url("/static/graphics/dialog-ok-3-48x48.png");
    background-size: cover;
}

li.alert-primary .alert-icon {
    background-image: url("/static/graphics/rubberstamp-logo-red-transparent.png");
    background-size: cover;
}

li.alert-secondary .alert-icon {
    background-image: url("/static/graphics/rubberstamp-logo-red-transparent.png");
    background-size: cover;
    filter: grayscale(100%);
}

ul.dropdown-menu li a.text-muted {
    color: #a0a0a0;
    cursor: not-allowed;
    font-style: italic;
}

div.motd {
    margin-left: 15%;
    width: 60%;
    text-align: left;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px 6px;
    border-radius: 0 6px 6px 6px;
    left: 100%;
    margin-left: -1px;
    margin-top: -6px;
    top: 0;
}

.dropdown-submenu>a:after {
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #cccccc;
    content: " ";
    display: block;
    float: right;
    height: 0;
    margin-right: -10px;
    margin-top: 5px;
    width: 0;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #555;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
    left: -100%;
    margin-left: 10px;
}

/* default screen stuff */
div.defaultscreenitem,
span.defaultscreenitem {
    display: inline-block;
    height: 120px;
    margin: 0px;
    text-align: center;
    white-space: normal;
}

img.defaultscreenitem {
    border: transparent thin solid;
    height: 64px;
    padding: 2px;
    text-align: center;
    width: 64px;
}

img.defaultscreenitem:hover {
    border: #0F67AB thin solid;
}

img.grayedout {
    filter: grayscale(100%);
}

.grayedout:hover {
    cursor: not-allowed;
}

img.grayedout:hover {
    border: transparent thin solid;
}

img.dialogicon {
    margin-bottom: 10px;
    margin-right: 10px;
    text-indent: 0;
}

table.movablerows tbody tr.movablerow td span.glyphicon.movable {
    color: #699934;
}

table.movablerows tbody tr.movablerow td span.glyphicon.movable:hover {
    color: #88c149;
    cursor: pointer;
}

table.movablerows tbody tr.movablerow:first-child td span.glyphicon.movable-up {
    opacity: 0.25;
}

table.movablerows tbody tr.movablerow:first-child td span.glyphicon.movable-up:hover {
    opacity: 0.5;
}

table.movablerows tbody tr.movablerow:last-child td span.glyphicon.movable-down {
    opacity: 0.25;
}

table.movablerows tbody tr.movablerow:last-child td span.glyphicon.movable-down:hover {
    opacity: 0.5;
}

td.indented,
th.indented {}

.popover-hover:hover {
    cursor: pointer;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

span.ellipsis {
    display: inline-block;
    max-width: 15em;
}

span.ellipsis-25 {
    max-width: 25em;
}

.course_status {
    max-width: 20em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.course_status_muted {
    background-color: #e8e8e8;
}

.glyphicon-xl {
    font-size: 1.7em;
}

.autowidth {
    width: auto;
}

.label-searchfilter {
    font-size: 85%;
    margin: 3px;
    padding: 4px 7px;
}

@media (min-width: 768px) {
    #rolebuttons {
        padding-top: 5em;
    }
}

table.userinfo {
    background-color: white;
    border: thin #ddd solid;
    /* margin: 5px; */
    margin-bottom: 20px;
    margin-top: 5px;
    padding: 3px;
    vertical-align: top;
}

table.report_summary {
    border-collapse: collapse;
}

tr.report_summary_row th,
tr.report_summary_row td {
    border-top: 2px solid black;
    background-color: #e0eff8;
}

.disabled table.userinfo {
    background-color: #f2f2f2;
}

table.table-borderless tbody tr td,
table.table-borderless tbody tr th {
    border: none;
}

.borderless tbody td {
    border: none;
}


.disabled h1,
.disabled h2,
.disabled h3,
.disabled h4,
.disabled h5 {
    color: #999;
}

.glyphiconholder.check-uncheck>span.glyphicon {
    display: none;
}

.check-uncheck.checked>span.glyphicon-check {
    display: inline;
}

.check-uncheck:not(.checked)>span.glyphicon-unchecked {
    display: inline;
}

.package-list-header {
    word-wrap: normal;
}

.package-list-header>.glyphiconholder>span.glyphicon {
    display: none;
}

.package-list-header>.glyphiconholder span.glyphicon {
    padding-left: 0.7em;
}

.package-list-header>.glyphiconholder>span.glyphicon.visible {
    display: inline;
}

.package-list-header.active>.glyphiconholder>span.glyphicon-check {
    display: inline;
}

.package-list-header:not(.active)>.glyphiconholder>span.glyphicon-unchecked {
    display: inline;
}

.package_list {
    min-height: 3em;
}

.programme_package.changed {
    background-color: #fcf8e3;
}

a:disabled,
button:disabled,
input:disabled {
    font-style: italic;
}


/* Chrome, Safari, Edge, Opera */
input.nospinner::-webkit-outer-spin-button,
input.nospinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input.nospinner[type=number] {
    -moz-appearance: textfield;
}


textarea.notresizable {
    resize: none;
}

textarea:disabled {
    font-style: italic;
    color: #999;
}

h1>a:hover,
h2>a,
h3>a,
h4>a,
h5>a {
    color: inherit;
    text-decoration: none;
}

table.userinfo td {
    vertical-align: top;
}

table.spaced td,
table.spaced th {
    padding: 3px 9px;
}

.hmargin-1em {
    margin-left: 1em;
}

.hmargin-2em {
    margin-left: 2em;
}

.vmargin-5 {
    margin-bottom: 5px;
    margin-top: 5px;
}

.vmargin-10 {
    margin-bottom: 10px;
    margin-top: 10px;
}

.vmargin-20 {
    margin-bottom: 20px;
    margin-top: 20px;
}

.vmargin-30 {
    margin-bottom: 30px;
    margin-top: 30px;
}

.vmargin-above-10 {
    margin-top: 10px;
}

.vmargin-above-15 {
    margin-top: 15px;
}

.vmargin-above-20 {
    margin-top: 20px;
}

.vmargin-above-30 {
    margin-top: 30px;
}

.padding-1 {
    padding: 4px 1em;
}

.courseinforow,
.casehistoryrow,
.vmargin-below-10 {
    margin-bottom: 10px;
}

.vmargin-below-15 {
    margin-bottom: 15px;
}

.vmargin-below-20 {
    margin-bottom: 20px;
}

.vmargin-below-30 {
    margin-bottom: 30px;
}

.jslink {
    color: #0066cc;
    cursor: pointer;
    text-decoration: underline;
}

.clickable {
    cursor: pointer;
}

a.clickable {
    cursor: pointer;
    text-decoration: underline;
}

a[href^="http"].external::after {
    content: "";
    width: 11px;
    height: 11px;
    margin-left: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
}

.nodecoration,
.nodecoration:hover {
    text-decoration: none;
}

.a-tooltip,
.a-tooltip:hover {
    color: #333;
    cursor: help;
    text-decoration: none;
}

.bordered {
    border-color: #ddd;
    border-style: solid;
    border-width: thin;
}

#ajaxloader {
    float: right;
    visibility: hidden;
    position: fixed;
    z-index: 100;
    top: 55px;
    right: 25px;
}

#ajaxloader img {
    padding-top: 8px;
}

/* h3.ajaxloader, h4.ajaxloader, h5.ajaxloader {
    min-height: 24px;
}
 */
/* img.ajaxloader_small {
    width: 24px;
} */
img.vertical_loader {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 2px;
    vertical-align: center;
}

ol.numbered li {
    list-style-type: decimal;
}

ol.numbered {
    list-style: decimal inside;
}

ol.numbered li.list-group-item {
    display: list-item;
}

ul.itemlist {
    border: #bbb solid thin;
    padding: 0;
    /*    min-width: 140px;
    max-width: 300px; */
    min-height: 250px;
    max-height: 400px;
    /* width: 200px; */
    margin-top: 5px;
    /* same as table.userinfo */
    overflow: auto;
}

ul.usercheck {
    padding-left: 0;
}

li.usercheck {
    margin-left: 1.2em;
}

.noinlinepadding {
    padding-inline-start: 0;
    margin-bottom: 0;
}

.padding-some {
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 0.7em;
    padding-right: 0.7em;
}

.bordered-tub {
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.nobullets li {
    list-style: none;
}

.btn-spacing {
    margin-bottom: 1px;
    margin-top: 1px;
}

.btn-mini {
    font-size: 10px;
    padding: 1px 4px;
}

/* The active primary button is all too red... */
.btn-primary:active,
.btn-primary.active,
.open>.dropdown-toggle.btn-primary {
    color: #ffffff;
    background-color: #1374ac;
    border-color: #1374ac;
}

.btn-answer-container {
    display: inline-block;
    height: auto;
}

.btn-answer {
    align-items: center;
    background: #eee;
    border-color: #ccc;
    color: #212529;
    display: flex;
    max-width: 10em;
    white-space: normal;
    word-wrap: normal;
}

.nopadding {
    padding: 0;
}

.waiting {
    cursor: wait;
}

table.table-results tbody tr:hover {
    text-decoration: underline;
    cursor: pointer;
}

table.table-results tbody tr td.result-timestamp {
    white-space: nowrap;
}

table.table-results tbody tr td.result-message {
    text-overflow: ellipsis;
}

table.serverinfo td {
    padding-right: 2em;
    white-space: nowrap;
}

ul.hoverable li:hover,
table.hoverable tr:hover {
    cursor: pointer;
    text-decoration: underline;
}

.hoverable .li:hover .nodecoration {
    text-decoration: none;
}

ol.tableofcontents {
    padding: 7px;
    border: 1px solid #aaa;
    background-color: #f9f9f9;
    width: 300px;
}

ol.tableofcontents li {
    margin-left: 1.5em;
}

div.filterbuttonrow {
    white-space: nowrap;
    border: thin solid #BAD4D1;
    margin-left: 2em;
    padding: 3px;
    /* background-color: #D7F5F1; */
    /* background-color: #D0FFE9; */
    vertical-align: middle;
    border-radius: 8px;
    height: 3em;
}

#img_about_rubberstamp_logo {
    width: 256px;
}

.cssloader {
    border: 4px solid #f3f3f3;
    /* Light grey */
    border-top: 4px solid #B2191C;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Kursutvärderingsgrejer - ska matcha med SelfService - gammalt, och det gör det inte */
#question_preview_static,
#question_preview_linje,
table.question_preview {
    padding: 1em 2em;
    /* max-width: 640px; */
    width: auto;
    border: 1px solid #bbb;
    display: block;
    font-family: "Helvetica Neue", helvetica, arial, sans-serif;
}

tr.question th {
    padding-top: 1.5em;
}

tr.question td {
    vertical-align: top;
    padding-right: 1em;
    padding-top: 1.5em;
}

tr.question td:first {
    padding-left: 1em;
}

table.middlealigned tbody tr td {
    vertical-align: middle;
}

.evaluationradiobutton,
.evaluationradiobutton {
    /* padding-top: 4px; */
    /* width: 90px; */
    padding-left: 0.5em;
    padding-right: 0.5em;
    text-align: center;
    min-width: 3em;
}

.evaluationradiobuttondontknow,
.evaluationradiobuttondontknow {
    /*padding-top: 4px;*/
    padding-left: 0.5em;
    padding-right: 0.5em;
    text-align: right;
    min-width: 3em;
}

.glyphicon.spinning {
    animation: spin 1s infinite linear;
    -webkit-animation: spin2 1s infinite linear;
}

@keyframes spin {
    from {
        transform: scale(1) rotate(0deg);
    }

    to {
        transform: scale(1) rotate(360deg);
    }
}

@-webkit-keyframes spin2 {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}

/* https://m.datatables.net/forums/discussion/24071/no-matching-records-found-message-hidden-by-fixed-columns */
.DTFC_LeftBodyWrapper .dataTables_empty {
    display: none;
}

.comments_preview {
    margin: 2em 1em;
    min-height: 15em;
    overflow-y: scroll;
}

.comment_editor {
    padding: 5px;
}

.scrollableY {
    min-height: 200px;
    max-height: 100%;
    overflow-y: scroll;
}

.noscrollX {
    overflow-x: hidden;
}

code {
    display: block;
    white-space: pre-wrap
}

.markdownexample {
    margin: 7px 2rem;
    padding: 5px 2rem;
}

.markdownpreview table {
    border: solid 1px #bbb;
    margin: 0.5rem 2rem;
    border-collapse: collapse;
}

.markdownpreview table td,
.markdownpreview table th {
    border: solid 1px #bbb;
    padding: 0.4rem 0.8rem;
}

.markdownpreview blockquote {
    border-left-style: solid;
    border-left-width: 5px;
    border-left-color: #ddd;
    padding-bottom: 0.2rem;
    padding-left: 0.8rem;
    /* margin-top: 0.4rem 0.8rem; */
}

.markdownpreview blockquote blockquote {
    border-left-color: #ecc;
}

.markdownpreview blockquote blockquote blockquote {
    border-left-color: #cec;
}

.markdownpreview blockquote blockquote blockquote blockquote {
    border-left-color: #c0c0e8;
}

h5.question {
    color: #222;
    margin-top: 15px;
    margin-bottom: 5px;
}

.duplicate-question {
    color: #777;
    font-style: italic;
    opacity: 50%;
}

.duplicate-question h5.question {
    color: #777;
}

.newcaserow,
.updatecaserow {
    height: 45px;
    display: flex;
    vertical-align: middle;
    align-items: center;
}

.kravniva-icon {
    white-space: nowrap;
}