/* Minification failed. Returning unminified contents.
(9488,36): run-time error CSS1030: Expected identifier, found ':'
(9488,44): run-time error CSS1031: Expected selector, found ')'
(9488,44): run-time error CSS1025: Expected comma or open brace, found ')'
(9738,20): run-time error CSS1030: Expected identifier, found '>'
(9738,38): run-time error CSS1031: Expected selector, found ')'
(9738,38): run-time error CSS1025: Expected comma or open brace, found ')'
(9793,20): run-time error CSS1030: Expected identifier, found '>'
(9793,57): run-time error CSS1031: Expected selector, found ')'
(9793,57): run-time error CSS1025: Expected comma or open brace, found ')'
(9797,20): run-time error CSS1030: Expected identifier, found '>'
(9797,57): run-time error CSS1031: Expected selector, found ')'
(9797,57): run-time error CSS1025: Expected comma or open brace, found ')'
(9803,20): run-time error CSS1030: Expected identifier, found '>'
(9803,57): run-time error CSS1031: Expected selector, found ')'
(9803,57): run-time error CSS1025: Expected comma or open brace, found ')'
(9827,20): run-time error CSS1030: Expected identifier, found '>'
(9827,64): run-time error CSS1030: Expected identifier, found ','
(9827,130): run-time error CSS1031: Expected selector, found ')'
(9827,130): run-time error CSS1025: Expected comma or open brace, found ')'
(9833,20): run-time error CSS1030: Expected identifier, found '>'
(9833,64): run-time error CSS1030: Expected identifier, found ','
(9833,130): run-time error CSS1031: Expected selector, found ')'
(9833,130): run-time error CSS1025: Expected comma or open brace, found ')'
(9841,20): run-time error CSS1030: Expected identifier, found '>'
(9841,64): run-time error CSS1030: Expected identifier, found ','
(9841,130): run-time error CSS1031: Expected selector, found ')'
(9841,130): run-time error CSS1025: Expected comma or open brace, found ')'
(9984,62): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-toolbar-h'
(11068,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11069,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11070,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11071,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11072,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11073,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11074,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11075,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11101,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11102,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11103,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11104,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11105,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11106,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11107,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11133,38): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-h1'
(11134,38): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-h2'
(11135,38): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-h3'
(11136,38): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-h4'
(11137,38): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-h5'
(11138,39): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-fri'
(11139,39): run-time error CSS1039: Token not allowed after unary operator: '-rlsd-pv-hul'
 */
/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline
}

    audio:not([controls]) {
        display: none;
        height: 0
    }

[hidden], template {
    display: none
}

a {
    background-color: transparent
}

    a:active, a:hover {
        outline: 0
    }

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    -moz-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b, strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code, kbd, pre, samp {
    font-family: monospace,monospace;
    font-size: 1em
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

    button[disabled], html input[disabled] {
        cursor: default
    }

    button::-moz-focus-inner, input::-moz-focus-inner {
        border: 0;
        padding: 0
    }

input {
    line-height: normal
}

    input[type=checkbox], input[type=radio] {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0
    }

    input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
        height: auto
    }

    input[type=search] {
        -webkit-appearance: textfield;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box
    }

        input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
            -webkit-appearance: none
        }

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td, th {
    padding: 0
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */

@media print {
    *, :after, :before {
        color: #000 !important;
        text-shadow: none !important;
        background: 0 0 !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important
    }

    a, a:visited {
        text-decoration: underline
    }

        a[href]:after {
            content: " (" attr(href) ")"
        }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after, a[href^="javascript:"]:after {
        content: ""
    }

    blockquote, pre {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    img, tr {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    h2, h3, p {
        orphans: 3;
        widows: 3
    }

    h2, h3 {
        page-break-after: avoid
    }

    .navbar {
        display: none
    }

    .btn > .caret, .dropup > .btn > .caret {
        border-top-color: #000 !important
    }

    .label {
        border: 1px solid #000
    }

    .table {
        border-collapse: collapse !important
    }

        .table td, .table th {
            background-color: #fff !important
        }

    .table-bordered td, .table-bordered th {
        border: 1px solid #ddd !important
    }
}

@font-face {
    font-family: "Glyphicons Halflings";
    src: url(../fonts/glyphicons-halflings-regular.eot);
    src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")
}

.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "Glyphicons Halflings";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.glyphicon-asterisk:before {
    content: "\002a"
}

.glyphicon-plus:before {
    content: "\002b"
}

.glyphicon-eur:before, .glyphicon-euro:before {
    content: "\20ac"
}

.glyphicon-minus:before {
    content: "\2212"
}

.glyphicon-cloud:before {
    content: "\2601"
}

.glyphicon-envelope:before {
    content: "\2709"
}

.glyphicon-pencil:before {
    content: "\270f"
}

.glyphicon-glass:before {
    content: "\e001"
}

.glyphicon-music:before {
    content: "\e002"
}

.glyphicon-search:before {
    content: "\e003"
}

.glyphicon-heart:before {
    content: "\e005"
}

.glyphicon-star:before {
    content: "\e006"
}

.glyphicon-star-empty:before {
    content: "\e007"
}

.glyphicon-user:before {
    content: "\e008"
}

.glyphicon-film:before {
    content: "\e009"
}

.glyphicon-th-large:before {
    content: "\e010"
}

.glyphicon-th:before {
    content: "\e011"
}

.glyphicon-th-list:before {
    content: "\e012"
}

.glyphicon-ok:before {
    content: "\e013"
}

.glyphicon-remove:before {
    content: "\e014"
}

.glyphicon-zoom-in:before {
    content: "\e015"
}

.glyphicon-zoom-out:before {
    content: "\e016"
}

.glyphicon-off:before {
    content: "\e017"
}

.glyphicon-signal:before {
    content: "\e018"
}

.glyphicon-cog:before {
    content: "\e019"
}

.glyphicon-trash:before {
    content: "\e020"
}

.glyphicon-home:before {
    content: "\e021"
}

.glyphicon-file:before {
    content: "\e022"
}

.glyphicon-time:before {
    content: "\e023"
}

.glyphicon-road:before {
    content: "\e024"
}

.glyphicon-download-alt:before {
    content: "\e025"
}

.glyphicon-download:before {
    content: "\e026"
}

.glyphicon-upload:before {
    content: "\e027"
}

.glyphicon-inbox:before {
    content: "\e028"
}

.glyphicon-play-circle:before {
    content: "\e029"
}

.glyphicon-repeat:before {
    content: "\e030"
}

.glyphicon-refresh:before {
    content: "\e031"
}

.glyphicon-list-alt:before {
    content: "\e032"
}

.glyphicon-lock:before {
    content: "\e033"
}

.glyphicon-flag:before {
    content: "\e034"
}

.glyphicon-headphones:before {
    content: "\e035"
}

.glyphicon-volume-off:before {
    content: "\e036"
}

.glyphicon-volume-down:before {
    content: "\e037"
}

.glyphicon-volume-up:before {
    content: "\e038"
}

.glyphicon-qrcode:before {
    content: "\e039"
}

.glyphicon-barcode:before {
    content: "\e040"
}

.glyphicon-tag:before {
    content: "\e041"
}

.glyphicon-tags:before {
    content: "\e042"
}

.glyphicon-book:before {
    content: "\e043"
}

.glyphicon-bookmark:before {
    content: "\e044"
}

.glyphicon-print:before {
    content: "\e045"
}

.glyphicon-camera:before {
    content: "\e046"
}

.glyphicon-font:before {
    content: "\e047"
}

.glyphicon-bold:before {
    content: "\e048"
}

.glyphicon-italic:before {
    content: "\e049"
}

.glyphicon-text-height:before {
    content: "\e050"
}

.glyphicon-text-width:before {
    content: "\e051"
}

.glyphicon-align-left:before {
    content: "\e052"
}

.glyphicon-align-center:before {
    content: "\e053"
}

.glyphicon-align-right:before {
    content: "\e054"
}

.glyphicon-align-justify:before {
    content: "\e055"
}

.glyphicon-list:before {
    content: "\e056"
}

.glyphicon-indent-left:before {
    content: "\e057"
}

.glyphicon-indent-right:before {
    content: "\e058"
}

.glyphicon-facetime-video:before {
    content: "\e059"
}

.glyphicon-picture:before {
    content: "\e060"
}

.glyphicon-map-marker:before {
    content: "\e062"
}

.glyphicon-adjust:before {
    content: "\e063"
}

.glyphicon-tint:before {
    content: "\e064"
}

.glyphicon-edit:before {
    content: "\e065"
}

.glyphicon-share:before {
    content: "\e066"
}

.glyphicon-check:before {
    content: "\e067"
}

.glyphicon-move:before {
    content: "\e068"
}

.glyphicon-step-backward:before {
    content: "\e069"
}

.glyphicon-fast-backward:before {
    content: "\e070"
}

.glyphicon-backward:before {
    content: "\e071"
}

.glyphicon-play:before {
    content: "\e072"
}

.glyphicon-pause:before {
    content: "\e073"
}

.glyphicon-stop:before {
    content: "\e074"
}

.glyphicon-forward:before {
    content: "\e075"
}

.glyphicon-fast-forward:before {
    content: "\e076"
}

.glyphicon-step-forward:before {
    content: "\e077"
}

.glyphicon-eject:before {
    content: "\e078"
}

.glyphicon-chevron-left:before {
    content: "\e079"
}

.glyphicon-chevron-right:before {
    content: "\e080"
}

.glyphicon-plus-sign:before {
    content: "\e081"
}

.glyphicon-minus-sign:before {
    content: "\e082"
}

.glyphicon-remove-sign:before {
    content: "\e083"
}

.glyphicon-ok-sign:before {
    content: "\e084"
}

.glyphicon-question-sign:before {
    content: "\e085"
}

.glyphicon-info-sign:before {
    content: "\e086"
}

.glyphicon-screenshot:before {
    content: "\e087"
}

.glyphicon-remove-circle:before {
    content: "\e088"
}

.glyphicon-ok-circle:before {
    content: "\e089"
}

.glyphicon-ban-circle:before {
    content: "\e090"
}

.glyphicon-arrow-left:before {
    content: "\e091"
}

.glyphicon-arrow-right:before {
    content: "\e092"
}

.glyphicon-arrow-up:before {
    content: "\e093"
}

.glyphicon-arrow-down:before {
    content: "\e094"
}

.glyphicon-share-alt:before {
    content: "\e095"
}

.glyphicon-resize-full:before {
    content: "\e096"
}

.glyphicon-resize-small:before {
    content: "\e097"
}

.glyphicon-exclamation-sign:before {
    content: "\e101"
}

.glyphicon-gift:before {
    content: "\e102"
}

.glyphicon-leaf:before {
    content: "\e103"
}

.glyphicon-fire:before {
    content: "\e104"
}

.glyphicon-eye-open:before {
    content: "\e105"
}

.glyphicon-eye-close:before {
    content: "\e106"
}

.glyphicon-warning-sign:before {
    content: "\e107"
}

.glyphicon-plane:before {
    content: "\e108"
}

.glyphicon-calendar:before {
    content: "\e109"
}

.glyphicon-random:before {
    content: "\e110"
}

.glyphicon-comment:before {
    content: "\e111"
}

.glyphicon-magnet:before {
    content: "\e112"
}

.glyphicon-chevron-up:before {
    content: "\e113"
}

.glyphicon-chevron-down:before {
    content: "\e114"
}

.glyphicon-retweet:before {
    content: "\e115"
}

.glyphicon-shopping-cart:before {
    content: "\e116"
}

.glyphicon-folder-close:before {
    content: "\e117"
}

.glyphicon-folder-open:before {
    content: "\e118"
}

.glyphicon-resize-vertical:before {
    content: "\e119"
}

.glyphicon-resize-horizontal:before {
    content: "\e120"
}

.glyphicon-hdd:before {
    content: "\e121"
}

.glyphicon-bullhorn:before {
    content: "\e122"
}

.glyphicon-bell:before {
    content: "\e123"
}

.glyphicon-certificate:before {
    content: "\e124"
}

.glyphicon-thumbs-up:before {
    content: "\e125"
}

.glyphicon-thumbs-down:before {
    content: "\e126"
}

.glyphicon-hand-right:before {
    content: "\e127"
}

.glyphicon-hand-left:before {
    content: "\e128"
}

.glyphicon-hand-up:before {
    content: "\e129"
}

.glyphicon-hand-down:before {
    content: "\e130"
}

.glyphicon-circle-arrow-right:before {
    content: "\e131"
}

.glyphicon-circle-arrow-left:before {
    content: "\e132"
}

.glyphicon-circle-arrow-up:before {
    content: "\e133"
}

.glyphicon-circle-arrow-down:before {
    content: "\e134"
}

.glyphicon-globe:before {
    content: "\e135"
}

.glyphicon-wrench:before {
    content: "\e136"
}

.glyphicon-tasks:before {
    content: "\e137"
}

.glyphicon-filter:before {
    content: "\e138"
}

.glyphicon-briefcase:before {
    content: "\e139"
}

.glyphicon-fullscreen:before {
    content: "\e140"
}

.glyphicon-dashboard:before {
    content: "\e141"
}

.glyphicon-paperclip:before {
    content: "\e142"
}

.glyphicon-heart-empty:before {
    content: "\e143"
}

.glyphicon-link:before {
    content: "\e144"
}

.glyphicon-phone:before {
    content: "\e145"
}

.glyphicon-pushpin:before {
    content: "\e146"
}

.glyphicon-usd:before {
    content: "\e148"
}

.glyphicon-gbp:before {
    content: "\e149"
}

.glyphicon-sort:before {
    content: "\e150"
}

.glyphicon-sort-by-alphabet:before {
    content: "\e151"
}

.glyphicon-sort-by-alphabet-alt:before {
    content: "\e152"
}

.glyphicon-sort-by-order:before {
    content: "\e153"
}

.glyphicon-sort-by-order-alt:before {
    content: "\e154"
}

.glyphicon-sort-by-attributes:before {
    content: "\e155"
}

.glyphicon-sort-by-attributes-alt:before {
    content: "\e156"
}

.glyphicon-unchecked:before {
    content: "\e157"
}

.glyphicon-expand:before {
    content: "\e158"
}

.glyphicon-collapse-down:before {
    content: "\e159"
}

.glyphicon-collapse-up:before {
    content: "\e160"
}

.glyphicon-log-in:before {
    content: "\e161"
}

.glyphicon-flash:before {
    content: "\e162"
}

.glyphicon-log-out:before {
    content: "\e163"
}

.glyphicon-new-window:before {
    content: "\e164"
}

.glyphicon-record:before {
    content: "\e165"
}

.glyphicon-save:before {
    content: "\e166"
}

.glyphicon-open:before {
    content: "\e167"
}

.glyphicon-saved:before {
    content: "\e168"
}

.glyphicon-import:before {
    content: "\e169"
}

.glyphicon-export:before {
    content: "\e170"
}

.glyphicon-send:before {
    content: "\e171"
}

.glyphicon-floppy-disk:before {
    content: "\e172"
}

.glyphicon-floppy-saved:before {
    content: "\e173"
}

.glyphicon-floppy-remove:before {
    content: "\e174"
}

.glyphicon-floppy-save:before {
    content: "\e175"
}

.glyphicon-floppy-open:before {
    content: "\e176"
}

.glyphicon-credit-card:before {
    content: "\e177"
}

.glyphicon-transfer:before {
    content: "\e178"
}

.glyphicon-cutlery:before {
    content: "\e179"
}

.glyphicon-header:before {
    content: "\e180"
}

.glyphicon-compressed:before {
    content: "\e181"
}

.glyphicon-earphone:before {
    content: "\e182"
}

.glyphicon-phone-alt:before {
    content: "\e183"
}

.glyphicon-tower:before {
    content: "\e184"
}

.glyphicon-stats:before {
    content: "\e185"
}

.glyphicon-sd-video:before {
    content: "\e186"
}

.glyphicon-hd-video:before {
    content: "\e187"
}

.glyphicon-subtitles:before {
    content: "\e188"
}

.glyphicon-sound-stereo:before {
    content: "\e189"
}

.glyphicon-sound-dolby:before {
    content: "\e190"
}

.glyphicon-sound-5-1:before {
    content: "\e191"
}

.glyphicon-sound-6-1:before {
    content: "\e192"
}

.glyphicon-sound-7-1:before {
    content: "\e193"
}

.glyphicon-copyright-mark:before {
    content: "\e194"
}

.glyphicon-registration-mark:before {
    content: "\e195"
}

.glyphicon-cloud-download:before {
    content: "\e197"
}

.glyphicon-cloud-upload:before {
    content: "\e198"
}

.glyphicon-tree-conifer:before {
    content: "\e199"
}

.glyphicon-tree-deciduous:before {
    content: "\e200"
}

.glyphicon-cd:before {
    content: "\e201"
}

.glyphicon-save-file:before {
    content: "\e202"
}

.glyphicon-open-file:before {
    content: "\e203"
}

.glyphicon-level-up:before {
    content: "\e204"
}

.glyphicon-copy:before {
    content: "\e205"
}

.glyphicon-paste:before {
    content: "\e206"
}

.glyphicon-alert:before {
    content: "\e209"
}

.glyphicon-equalizer:before {
    content: "\e210"
}

.glyphicon-king:before {
    content: "\e211"
}

.glyphicon-queen:before {
    content: "\e212"
}

.glyphicon-pawn:before {
    content: "\e213"
}

.glyphicon-bishop:before {
    content: "\e214"
}

.glyphicon-knight:before {
    content: "\e215"
}

.glyphicon-baby-formula:before {
    content: "\e216"
}

.glyphicon-tent:before {
    content: "\26fa"
}

.glyphicon-blackboard:before {
    content: "\e218"
}

.glyphicon-bed:before {
    content: "\e219"
}

.glyphicon-apple:before {
    content: "\f8ff"
}

.glyphicon-erase:before {
    content: "\e221"
}

.glyphicon-hourglass:before {
    content: "\231b"
}

.glyphicon-lamp:before {
    content: "\e223"
}

.glyphicon-duplicate:before {
    content: "\e224"
}

.glyphicon-piggy-bank:before {
    content: "\e225"
}

.glyphicon-scissors:before {
    content: "\e226"
}

.glyphicon-bitcoin:before {
    content: "\e227"
}

.glyphicon-btc:before {
    content: "\e227"
}

.glyphicon-xbt:before {
    content: "\e227"
}

.glyphicon-yen:before {
    content: "\00a5"
}

.glyphicon-jpy:before {
    content: "\00a5"
}

.glyphicon-ruble:before {
    content: "\20bd"
}

.glyphicon-rub:before {
    content: "\20bd"
}

.glyphicon-scale:before {
    content: "\e230"
}

.glyphicon-ice-lolly:before {
    content: "\e231"
}

.glyphicon-ice-lolly-tasted:before {
    content: "\e232"
}

.glyphicon-education:before {
    content: "\e233"
}

.glyphicon-option-horizontal:before {
    content: "\e234"
}

.glyphicon-option-vertical:before {
    content: "\e235"
}

.glyphicon-menu-hamburger:before {
    content: "\e236"
}

.glyphicon-modal-window:before {
    content: "\e237"
}

.glyphicon-oil:before {
    content: "\e238"
}

.glyphicon-grain:before {
    content: "\e239"
}

.glyphicon-sunglasses:before {
    content: "\e240"
}

.glyphicon-text-size:before {
    content: "\e241"
}

.glyphicon-text-color:before {
    content: "\e242"
}

.glyphicon-text-background:before {
    content: "\e243"
}

.glyphicon-object-align-top:before {
    content: "\e244"
}

.glyphicon-object-align-bottom:before {
    content: "\e245"
}

.glyphicon-object-align-horizontal:before {
    content: "\e246"
}

.glyphicon-object-align-left:before {
    content: "\e247"
}

.glyphicon-object-align-vertical:before {
    content: "\e248"
}

.glyphicon-object-align-right:before {
    content: "\e249"
}

.glyphicon-triangle-right:before {
    content: "\e250"
}

.glyphicon-triangle-left:before {
    content: "\e251"
}

.glyphicon-triangle-bottom:before {
    content: "\e252"
}

.glyphicon-triangle-top:before {
    content: "\e253"
}

.glyphicon-console:before {
    content: "\e254"
}

.glyphicon-superscript:before {
    content: "\e255"
}

.glyphicon-subscript:before {
    content: "\e256"
}

.glyphicon-menu-left:before {
    content: "\e257"
}

.glyphicon-menu-right:before {
    content: "\e258"
}

.glyphicon-menu-down:before {
    content: "\e259"
}

.glyphicon-menu-up:before {
    content: "\e260"
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

html {
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

body {
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

a {
    color: #337ab7;
    text-decoration: none
}

    a:focus, a:hover {
        color: #23527c;
        text-decoration: underline
    }

    a:focus {
        outline: 5px auto -webkit-focus-ring-color;
        outline-offset: -2px
    }

figure {
    margin: 0
}

img {
    vertical-align: middle
}

.carousel-inner > .item > a > img, .carousel-inner > .item > img, .img-responsive, .thumbnail a > img, .thumbnail > img {
    display: block;
    max-width: 100%;
    height: auto
}

.img-rounded {
    border-radius: 6px
}

.img-thumbnail {
    padding: 4px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    display: inline-block;
    max-width: 100%;
    height: auto
}

.img-circle {
    border-radius: 50%
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto
}

[role=button] {
    cursor: pointer
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit
}

    .h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small {
        font-weight: 400;
        line-height: 1;
        color: #777
    }

.h1, .h2, .h3, h1, h2, h3 {
    margin-top: 20px;
    margin-bottom: 10px
}

    .h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small {
        font-size: 65%
    }

.h4, .h5, .h6, h4, h5, h6 {
    margin-top: 10px;
    margin-bottom: 10px
}

    .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small {
        font-size: 75%
    }

.h1, h1 {
    font-size: 36px
}

.h2, h2 {
    font-size: 30px
}

.h3, h3 {
    font-size: 24px
}

.h4, h4 {
    font-size: 18px
}

.h5, h5 {
    font-size: 14px
}

.h6, h6 {
    font-size: 12px
}

p {
    margin: 0 0 10px
}

.lead {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4
}

@media (min-width:768px) {
    .lead {
        font-size: 21px
    }
}

.small, small {
    font-size: 85%
}

.mark, mark {
    padding: .2em;
    background-color: #fcf8e3
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.text-justify {
    text-align: justify
}

.text-nowrap {
    white-space: nowrap
}

.text-lowercase {
    text-transform: lowercase
}

.text-uppercase {
    text-transform: uppercase
}

.text-capitalize {
    text-transform: capitalize
}

.text-muted {
    color: #777
}

.text-primary {
    color: #337ab7
}

a.text-primary:focus, a.text-primary:hover {
    color: #286090
}

.text-success {
    color: #3c763d
}

a.text-success:focus, a.text-success:hover {
    color: #2b542c
}

.text-info {
    color: #31708f
}

a.text-info:focus, a.text-info:hover {
    color: #245269
}

.text-warning {
    color: #8a6d3b
}

a.text-warning:focus, a.text-warning:hover {
    color: #66512c
}

.text-danger {
    color: #a94442
}

a.text-danger:focus, a.text-danger:hover {
    color: #843534
}

.bg-primary {
    color: #fff;
    background-color: #337ab7
}

a.bg-primary:focus, a.bg-primary:hover {
    background-color: #286090
}

.bg-success {
    background-color: #dff0d8
}

a.bg-success:focus, a.bg-success:hover {
    background-color: #c1e2b3
}

.bg-info {
    background-color: #d9edf7
}

a.bg-info:focus, a.bg-info:hover {
    background-color: #afd9ee
}

.bg-warning {
    background-color: #fcf8e3
}

a.bg-warning:focus, a.bg-warning:hover {
    background-color: #f7ecb5
}

.bg-danger {
    background-color: #f2dede
}

a.bg-danger:focus, a.bg-danger:hover {
    background-color: #e4b9b9
}

.page-header {
    padding-bottom: 9px;
    margin: 40px 0 20px;
    border-bottom: 1px solid #eee
}

ol, ul {
    margin-top: 0;
    margin-bottom: 10px
}

    ol ol, ol ul, ul ol, ul ul {
        margin-bottom: 0
    }

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none;
    margin-left: -5px
}

    .list-inline > li {
        display: inline-block;
        padding-right: 5px;
        padding-left: 5px
    }

dl {
    margin-top: 0;
    margin-bottom: 20px
}

dd, dt {
    line-height: 1.42857143
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

@media (min-width:768px) {
    .dl-horizontal dt {
        float: left;
        width: 160px;
        clear: left;
        text-align: right;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .dl-horizontal dd {
        margin-left: 180px
    }
}

abbr[data-original-title], abbr[title] {
    cursor: help
}

.initialism {
    font-size: 90%;
    text-transform: uppercase
}

blockquote {
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
    border-left: 5px solid #eee
}

    blockquote ol:last-child, blockquote p:last-child, blockquote ul:last-child {
        margin-bottom: 0
    }

    blockquote .small, blockquote footer, blockquote small {
        display: block;
        font-size: 80%;
        line-height: 1.42857143;
        color: #777
    }

        blockquote .small:before, blockquote footer:before, blockquote small:before {
            content: "\2014 \00A0"
        }

    .blockquote-reverse, blockquote.pull-right {
        padding-right: 15px;
        padding-left: 0;
        text-align: right;
        border-right: 5px solid #eee;
        border-left: 0
    }

        .blockquote-reverse .small:before, .blockquote-reverse footer:before, .blockquote-reverse small:before, blockquote.pull-right .small:before, blockquote.pull-right footer:before, blockquote.pull-right small:before {
            content: ""
        }

        .blockquote-reverse .small:after, .blockquote-reverse footer:after, .blockquote-reverse small:after, blockquote.pull-right .small:after, blockquote.pull-right footer:after, blockquote.pull-right small:after {
            content: "\00A0 \2014"
        }

address {
    margin-bottom: 20px;
    font-style: normal;
    line-height: 1.42857143
}

code, kbd, pre, samp {
    font-family: Menlo,Monaco,Consolas,"Courier New",monospace
}

code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px
}

kbd {
    padding: 2px 4px;
    font-size: 90%;
    color: #fff;
    background-color: #333;
    border-radius: 3px;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.25)
}

    kbd kbd {
        padding: 0;
        font-size: 100%;
        font-weight: 700;
        -webkit-box-shadow: none;
        box-shadow: none
    }

pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.42857143;
    color: #333;
    word-break: break-all;
    word-wrap: break-word;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px
}

    pre code {
        padding: 0;
        font-size: inherit;
        color: inherit;
        white-space: pre-wrap;
        background-color: transparent;
        border-radius: 0
    }

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:768px) {
    .container {
        width: 750px
    }
}

@media (min-width:992px) {
    .container {
        width: 970px
    }
}

@media (min-width:1200px) {
    .container {
        width: calc(100% - 30px)
    }
}

.container-fluid {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

.row {
    margin-right: -15px;
    margin-left: -15px
}

.row-no-gutters {
    margin-right: 0;
    margin-left: 0
}

    .row-no-gutters [class*=col-] {
        padding-right: 0;
        padding-left: 0
    }

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

.col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    float: left
}

.col-xs-12 {
    width: 100%
}

.col-xs-11 {
    width: 91.66666667%
}

.col-xs-10 {
    width: 83.33333333%
}

.col-xs-9 {
    width: 75%
}

.col-xs-8 {
    width: 66.66666667%
}

.col-xs-7 {
    width: 58.33333333%
}

.col-xs-6 {
    width: 50%
}

.col-xs-5 {
    width: 41.66666667%
}

.col-xs-4 {
    width: 33.33333333%
}

.col-xs-3 {
    width: 25%
}

.col-xs-2 {
    width: 16.66666667%
}

.col-xs-1 {
    width: 8.33333333%
}

.col-xs-pull-12 {
    right: 100%
}

.col-xs-pull-11 {
    right: 91.66666667%
}

.col-xs-pull-10 {
    right: 83.33333333%
}

.col-xs-pull-9 {
    right: 75%
}

.col-xs-pull-8 {
    right: 66.66666667%
}

.col-xs-pull-7 {
    right: 58.33333333%
}

.col-xs-pull-6 {
    right: 50%
}

.col-xs-pull-5 {
    right: 41.66666667%
}

.col-xs-pull-4 {
    right: 33.33333333%
}

.col-xs-pull-3 {
    right: 25%
}

.col-xs-pull-2 {
    right: 16.66666667%
}

.col-xs-pull-1 {
    right: 8.33333333%
}

.col-xs-pull-0 {
    right: auto
}

.col-xs-push-12 {
    left: 100%
}

.col-xs-push-11 {
    left: 91.66666667%
}

.col-xs-push-10 {
    left: 83.33333333%
}

.col-xs-push-9 {
    left: 75%
}

.col-xs-push-8 {
    left: 66.66666667%
}

.col-xs-push-7 {
    left: 58.33333333%
}

.col-xs-push-6 {
    left: 50%
}

.col-xs-push-5 {
    left: 41.66666667%
}

.col-xs-push-4 {
    left: 33.33333333%
}

.col-xs-push-3 {
    left: 25%
}

.col-xs-push-2 {
    left: 16.66666667%
}

.col-xs-push-1 {
    left: 8.33333333%
}

.col-xs-push-0 {
    left: auto
}

.col-xs-offset-12 {
    margin-left: 100%
}

.col-xs-offset-11 {
    margin-left: 91.66666667%
}

.col-xs-offset-10 {
    margin-left: 83.33333333%
}

.col-xs-offset-9 {
    margin-left: 75%
}

.col-xs-offset-8 {
    margin-left: 66.66666667%
}

.col-xs-offset-7 {
    margin-left: 58.33333333%
}

.col-xs-offset-6 {
    margin-left: 50%
}

.col-xs-offset-5 {
    margin-left: 41.66666667%
}

.col-xs-offset-4 {
    margin-left: 33.33333333%
}

.col-xs-offset-3 {
    margin-left: 25%
}

.col-xs-offset-2 {
    margin-left: 16.66666667%
}

.col-xs-offset-1 {
    margin-left: 8.33333333%
}

.col-xs-offset-0 {
    margin-left: 0
}

@media (min-width:768px) {
    .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9 {
        float: left
    }

    .col-sm-12 {
        width: 100%
    }

    .col-sm-11 {
        width: 91.66666667%
    }

    .col-sm-10 {
        width: 83.33333333%
    }

    .col-sm-9 {
        width: 75%
    }

    .col-sm-8 {
        width: 66.66666667%
    }

    .col-sm-7 {
        width: 58.33333333%
    }

    .col-sm-6 {
        width: 50%
    }

    .col-sm-5 {
        width: 41.66666667%
    }

    .col-sm-4 {
        width: 33.33333333%
    }

    .col-sm-3 {
        width: 25%
    }

    .col-sm-2 {
        width: 16.66666667%
    }

    .col-sm-1 {
        width: 8.33333333%
    }

    .col-sm-pull-12 {
        right: 100%
    }

    .col-sm-pull-11 {
        right: 91.66666667%
    }

    .col-sm-pull-10 {
        right: 83.33333333%
    }

    .col-sm-pull-9 {
        right: 75%
    }

    .col-sm-pull-8 {
        right: 66.66666667%
    }

    .col-sm-pull-7 {
        right: 58.33333333%
    }

    .col-sm-pull-6 {
        right: 50%
    }

    .col-sm-pull-5 {
        right: 41.66666667%
    }

    .col-sm-pull-4 {
        right: 33.33333333%
    }

    .col-sm-pull-3 {
        right: 25%
    }

    .col-sm-pull-2 {
        right: 16.66666667%
    }

    .col-sm-pull-1 {
        right: 8.33333333%
    }

    .col-sm-pull-0 {
        right: auto
    }

    .col-sm-push-12 {
        left: 100%
    }

    .col-sm-push-11 {
        left: 91.66666667%
    }

    .col-sm-push-10 {
        left: 83.33333333%
    }

    .col-sm-push-9 {
        left: 75%
    }

    .col-sm-push-8 {
        left: 66.66666667%
    }

    .col-sm-push-7 {
        left: 58.33333333%
    }

    .col-sm-push-6 {
        left: 50%
    }

    .col-sm-push-5 {
        left: 41.66666667%
    }

    .col-sm-push-4 {
        left: 33.33333333%
    }

    .col-sm-push-3 {
        left: 25%
    }

    .col-sm-push-2 {
        left: 16.66666667%
    }

    .col-sm-push-1 {
        left: 8.33333333%
    }

    .col-sm-push-0 {
        left: auto
    }

    .col-sm-offset-12 {
        margin-left: 100%
    }

    .col-sm-offset-11 {
        margin-left: 91.66666667%
    }

    .col-sm-offset-10 {
        margin-left: 83.33333333%
    }

    .col-sm-offset-9 {
        margin-left: 75%
    }

    .col-sm-offset-8 {
        margin-left: 66.66666667%
    }

    .col-sm-offset-7 {
        margin-left: 58.33333333%
    }

    .col-sm-offset-6 {
        margin-left: 50%
    }

    .col-sm-offset-5 {
        margin-left: 41.66666667%
    }

    .col-sm-offset-4 {
        margin-left: 33.33333333%
    }

    .col-sm-offset-3 {
        margin-left: 25%
    }

    .col-sm-offset-2 {
        margin-left: 16.66666667%
    }

    .col-sm-offset-1 {
        margin-left: 8.33333333%
    }

    .col-sm-offset-0 {
        margin-left: 0
    }
}

@media (min-width:992px) {
    .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 {
        float: left
    }

    .col-md-12 {
        width: 100%
    }

    .col-md-11 {
        width: 91.66666667%
    }

    .col-md-10 {
        width: 83.33333333%
    }

    .col-md-9 {
        width: 75%
    }

    .col-md-8 {
        width: 66.66666667%
    }

    .col-md-7 {
        width: 58.33333333%
    }

    .col-md-6 {
        width: 50%
    }

    .col-md-5 {
        width: 41.66666667%
    }

    .col-md-4 {
        width: 33.33333333%
    }

    .col-md-3 {
        width: 25%
    }

    .col-md-2 {
        width: 16.66666667%
    }

    .col-md-1 {
        width: 8.33333333%
    }

    .col-md-pull-12 {
        right: 100%
    }

    .col-md-pull-11 {
        right: 91.66666667%
    }

    .col-md-pull-10 {
        right: 83.33333333%
    }

    .col-md-pull-9 {
        right: 75%
    }

    .col-md-pull-8 {
        right: 66.66666667%
    }

    .col-md-pull-7 {
        right: 58.33333333%
    }

    .col-md-pull-6 {
        right: 50%
    }

    .col-md-pull-5 {
        right: 41.66666667%
    }

    .col-md-pull-4 {
        right: 33.33333333%
    }

    .col-md-pull-3 {
        right: 25%
    }

    .col-md-pull-2 {
        right: 16.66666667%
    }

    .col-md-pull-1 {
        right: 8.33333333%
    }

    .col-md-pull-0 {
        right: auto
    }

    .col-md-push-12 {
        left: 100%
    }

    .col-md-push-11 {
        left: 91.66666667%
    }

    .col-md-push-10 {
        left: 83.33333333%
    }

    .col-md-push-9 {
        left: 75%
    }

    .col-md-push-8 {
        left: 66.66666667%
    }

    .col-md-push-7 {
        left: 58.33333333%
    }

    .col-md-push-6 {
        left: 50%
    }

    .col-md-push-5 {
        left: 41.66666667%
    }

    .col-md-push-4 {
        left: 33.33333333%
    }

    .col-md-push-3 {
        left: 25%
    }

    .col-md-push-2 {
        left: 16.66666667%
    }

    .col-md-push-1 {
        left: 8.33333333%
    }

    .col-md-push-0 {
        left: auto
    }

    .col-md-offset-12 {
        margin-left: 100%
    }

    .col-md-offset-11 {
        margin-left: 91.66666667%
    }

    .col-md-offset-10 {
        margin-left: 83.33333333%
    }

    .col-md-offset-9 {
        margin-left: 75%
    }

    .col-md-offset-8 {
        margin-left: 66.66666667%
    }

    .col-md-offset-7 {
        margin-left: 58.33333333%
    }

    .col-md-offset-6 {
        margin-left: 50%
    }

    .col-md-offset-5 {
        margin-left: 41.66666667%
    }

    .col-md-offset-4 {
        margin-left: 33.33333333%
    }

    .col-md-offset-3 {
        margin-left: 25%
    }

    .col-md-offset-2 {
        margin-left: 16.66666667%
    }

    .col-md-offset-1 {
        margin-left: 8.33333333%
    }

    .col-md-offset-0 {
        margin-left: 0
    }
}

@media (min-width:1200px) {
    .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
        float: left
    }

    .col-lg-12 {
        width: 100%
    }

    .col-lg-11 {
        width: 91.66666667%
    }

    .col-lg-10 {
        width: 83.33333333%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-8 {
        width: 66.66666667%
    }

    .col-lg-7 {
        width: 58.33333333%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-5 {
        width: 41.66666667%
    }

    .col-lg-4 {
        width: 33.33333333%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-2 {
        width: 16.66666667%
    }

    .col-lg-1 {
        width: 8.33333333%
    }

    .col-lg-pull-12 {
        right: 100%
    }

    .col-lg-pull-11 {
        right: 91.66666667%
    }

    .col-lg-pull-10 {
        right: 83.33333333%
    }

    .col-lg-pull-9 {
        right: 75%
    }

    .col-lg-pull-8 {
        right: 66.66666667%
    }

    .col-lg-pull-7 {
        right: 58.33333333%
    }

    .col-lg-pull-6 {
        right: 50%
    }

    .col-lg-pull-5 {
        right: 41.66666667%
    }

    .col-lg-pull-4 {
        right: 33.33333333%
    }

    .col-lg-pull-3 {
        right: 25%
    }

    .col-lg-pull-2 {
        right: 16.66666667%
    }

    .col-lg-pull-1 {
        right: 8.33333333%
    }

    .col-lg-pull-0 {
        right: auto
    }

    .col-lg-push-12 {
        left: 100%
    }

    .col-lg-push-11 {
        left: 91.66666667%
    }

    .col-lg-push-10 {
        left: 83.33333333%
    }

    .col-lg-push-9 {
        left: 75%
    }

    .col-lg-push-8 {
        left: 66.66666667%
    }

    .col-lg-push-7 {
        left: 58.33333333%
    }

    .col-lg-push-6 {
        left: 50%
    }

    .col-lg-push-5 {
        left: 41.66666667%
    }

    .col-lg-push-4 {
        left: 33.33333333%
    }

    .col-lg-push-3 {
        left: 25%
    }

    .col-lg-push-2 {
        left: 16.66666667%
    }

    .col-lg-push-1 {
        left: 8.33333333%
    }

    .col-lg-push-0 {
        left: auto
    }

    .col-lg-offset-12 {
        margin-left: 100%
    }

    .col-lg-offset-11 {
        margin-left: 91.66666667%
    }

    .col-lg-offset-10 {
        margin-left: 83.33333333%
    }

    .col-lg-offset-9 {
        margin-left: 75%
    }

    .col-lg-offset-8 {
        margin-left: 66.66666667%
    }

    .col-lg-offset-7 {
        margin-left: 58.33333333%
    }

    .col-lg-offset-6 {
        margin-left: 50%
    }

    .col-lg-offset-5 {
        margin-left: 41.66666667%
    }

    .col-lg-offset-4 {
        margin-left: 33.33333333%
    }

    .col-lg-offset-3 {
        margin-left: 25%
    }

    .col-lg-offset-2 {
        margin-left: 16.66666667%
    }

    .col-lg-offset-1 {
        margin-left: 8.33333333%
    }

    .col-lg-offset-0 {
        margin-left: 0
    }
}

table {
    background-color: transparent
}

    table col[class*=col-] {
        position: static;
        display: table-column;
        float: none
    }

    table td[class*=col-], table th[class*=col-] {
        position: static;
        display: table-cell;
        float: none
    }

caption {
    padding-top: 8px;
    padding-bottom: 8px;
    color: #777;
    text-align: left
}

th {
    text-align: left
}

.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px
}

    .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
        padding: 8px;
        line-height: 1.42857143;
        vertical-align: top;
        border-top: 1px solid #ddd
    }

    .table > thead > tr > th {
        vertical-align: bottom;
        border-bottom: 2px solid #ddd
    }

    .table > caption + thead > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > td, .table > thead:first-child > tr:first-child > th {
        border-top: 0
    }

    .table > tbody + tbody {
        border-top: 2px solid #ddd
    }

    .table .table {
        background-color: #fff
    }

.table-condensed > tbody > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > thead > tr > th {
    padding: 5px
}

.table-bordered {
    border: 1px solid #ddd
}

    .table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
        border: 1px solid #ddd
    }

    .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
        border-bottom-width: 2px
    }

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f9f9f9
}

.table-hover > tbody > tr:hover {
    background-color: #f5f5f5
}

.table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > thead > tr > td.active, .table > thead > tr > th.active {
    background-color: #f5f5f5
}

.table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover {
    background-color: #e8e8e8
}

.table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > thead > tr > td.success, .table > thead > tr > th.success {
    background-color: #dff0d8
}

.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover {
    background-color: #d0e9c6
}

.table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > thead > tr > td.info, .table > thead > tr > th.info {
    background-color: #d9edf7
}

.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover {
    background-color: #c4e3f3
}

.table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > thead > tr > td.warning, .table > thead > tr > th.warning {
    background-color: #fcf8e3
}

.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover {
    background-color: #faf2cc
}

.table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > thead > tr > td.danger, .table > thead > tr > th.danger {
    background-color: #f2dede
}

.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover {
    background-color: #ebcccc
}

.table-responsive {
    min-height: .01%;
    overflow-x: auto
}

@media screen and (max-width:767px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-y: hidden;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd
    }

        .table-responsive > .table {
            margin-bottom: 0
        }

            .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
                white-space: nowrap
            }

        .table-responsive > .table-bordered {
            border: 0
        }

            .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > thead > tr > th:first-child {
                border-left: 0
            }

            .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > thead > tr > th:last-child {
                border-right: 0
            }

            .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th {
                border-bottom: 0
            }
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: inherit;
    color: #333;
    border: 0;
    border-bottom: 1px solid #e5e5e5
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700
}

input[type=search] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=checkbox], input[type=radio] {
    margin: 4px 0 0;
    margin-top: 1px\9;
    line-height: normal
}

    fieldset[disabled] input[type=checkbox], fieldset[disabled] input[type=radio], input[type=checkbox].disabled, input[type=checkbox][disabled], input[type=radio].disabled, input[type=radio][disabled] {
        cursor: not-allowed
    }

input[type=file] {
    display: block
}

input[type=range] {
    display: block;
    width: 100%
}

select[multiple], select[size] {
    height: auto
}

input[type=checkbox]:focus, input[type=file]:focus, input[type=radio]:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

output {
    display: block;
    padding-top: 7px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555
}

.form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s
}

    .form-control:focus {
        border-color: #66afe9;
        outline: 0;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)
    }

    .form-control::-moz-placeholder {
        color: #999;
        opacity: 1
    }

    .form-control:-ms-input-placeholder {
        color: #999
    }

    .form-control::-webkit-input-placeholder {
        color: #999
    }

    .form-control::-ms-expand {
        background-color: transparent;
        border: 0
    }

    .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
        background-color: #eee;
        opacity: 1
    }

    .form-control[disabled], fieldset[disabled] .form-control {
        cursor: not-allowed
    }

textarea.form-control {
    height: auto
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    input[type=date].form-control, input[type=datetime-local].form-control, input[type=month].form-control, input[type=time].form-control {
        line-height: 34px
    }

    .input-group-sm input[type=date], .input-group-sm input[type=datetime-local], .input-group-sm input[type=month], .input-group-sm input[type=time], input[type=date].input-sm, input[type=datetime-local].input-sm, input[type=month].input-sm, input[type=time].input-sm {
        line-height: 30px
    }

    .input-group-lg input[type=date], .input-group-lg input[type=datetime-local], .input-group-lg input[type=month], .input-group-lg input[type=time], input[type=date].input-lg, input[type=datetime-local].input-lg, input[type=month].input-lg, input[type=time].input-lg {
        line-height: 46px
    }
}

.form-group {
    margin-bottom: 15px
}

.checkbox, .radio {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px
}

    .checkbox.disabled label, .radio.disabled label, fieldset[disabled] .checkbox label, fieldset[disabled] .radio label {
        cursor: not-allowed
    }

    .checkbox label, .radio label {
        min-height: 20px;
        padding-left: 20px;
        margin-bottom: 0;
        font-weight: 400;
        cursor: pointer
    }

    .checkbox input[type=checkbox], .checkbox-inline input[type=checkbox], .radio input[type=radio], .radio-inline input[type=radio] {
        position: absolute;
        margin-top: 4px\9;
        margin-left: -20px
    }

    .checkbox + .checkbox, .radio + .radio {
        margin-top: -5px
    }

.checkbox-inline, .radio-inline {
    position: relative;
    display: inline-block;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: 400;
    vertical-align: middle;
    cursor: pointer
}

    .checkbox-inline.disabled, .radio-inline.disabled, fieldset[disabled] .checkbox-inline, fieldset[disabled] .radio-inline {
        cursor: not-allowed
    }

    .checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline {
        margin-top: 0;
        margin-left: 10px
    }

.form-control-static {
    min-height: 34px;
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 0
}

    .form-control-static.input-lg, .form-control-static.input-sm {
        padding-right: 0;
        padding-left: 0
    }

.input-sm {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

select.input-sm {
    height: 30px;
    line-height: 30px
}

select[multiple].input-sm, textarea.input-sm {
    height: auto
}

.form-group-sm .form-control {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

.form-group-sm select.form-control {
    height: 30px;
    line-height: 30px
}

.form-group-sm select[multiple].form-control, .form-group-sm textarea.form-control {
    height: auto
}

.form-group-sm .form-control-static {
    height: 30px;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
    line-height: 1.5
}

.input-lg {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px
}

select.input-lg {
    height: 46px;
    line-height: 46px
}

select[multiple].input-lg, textarea.input-lg {
    height: auto
}

.form-group-lg .form-control {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px
}

.form-group-lg select.form-control {
    height: 46px;
    line-height: 46px
}

.form-group-lg select[multiple].form-control, .form-group-lg textarea.form-control {
    height: auto
}

.form-group-lg .form-control-static {
    height: 46px;
    min-height: 38px;
    padding: 11px 16px;
    font-size: 18px;
    line-height: 1.3333333
}

.has-feedback {
    position: relative
}

    .has-feedback .form-control {
        padding-right: 42.5px
    }

.form-control-feedback {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    pointer-events: none
}

.form-group-lg .form-control + .form-control-feedback, .input-group-lg + .form-control-feedback, .input-lg + .form-control-feedback {
    width: 46px;
    height: 46px;
    line-height: 46px
}

.form-group-sm .form-control + .form-control-feedback, .input-group-sm + .form-control-feedback, .input-sm + .form-control-feedback {
    width: 30px;
    height: 30px;
    line-height: 30px
}

.has-success .checkbox, .has-success .checkbox-inline, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.checkbox label, .has-success.checkbox-inline label, .has-success.radio label, .has-success.radio-inline label {
    color: #3c763d
}

.has-success .form-control {
    border-color: #3c763d;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-success .form-control:focus {
        border-color: #2b542c;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168
    }

.has-success .input-group-addon {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #3c763d
}

.has-success .form-control-feedback {
    color: #3c763d
}

.has-warning .checkbox, .has-warning .checkbox-inline, .has-warning .control-label, .has-warning .help-block, .has-warning .radio, .has-warning .radio-inline, .has-warning.checkbox label, .has-warning.checkbox-inline label, .has-warning.radio label, .has-warning.radio-inline label {
    color: #8a6d3b
}

.has-warning .form-control {
    border-color: #8a6d3b;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-warning .form-control:focus {
        border-color: #66512c;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b
    }

.has-warning .input-group-addon {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #8a6d3b
}

.has-warning .form-control-feedback {
    color: #8a6d3b
}

.has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label {
    color: #a94442
}

.has-error .form-control {
    border-color: #a94442;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-error .form-control:focus {
        border-color: #843534;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483
    }

.has-error .input-group-addon {
    color: #a94442;
    background-color: #f2dede;
    border-color: #a94442
}

.has-error .form-control-feedback {
    color: #a94442
}

.has-feedback label ~ .form-control-feedback {
    top: 25px
}

.has-feedback label.sr-only ~ .form-control-feedback {
    top: 0
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373
}

@media (min-width:768px) {
    .form-inline .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle
    }

    .form-inline .form-control-static {
        display: inline-block
    }

    .form-inline .input-group {
        display: inline-table;
        vertical-align: middle
    }

        .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn {
            width: auto
        }

        .form-inline .input-group > .form-control {
            width: 100%
        }

    .form-inline .control-label {
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .checkbox, .form-inline .radio {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle
    }

        .form-inline .checkbox label, .form-inline .radio label {
            padding-left: 0
        }

        .form-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] {
            position: relative;
            margin-left: 0
        }

    .form-inline .has-feedback .form-control-feedback {
        top: 0
    }
}

.form-horizontal .checkbox, .form-horizontal .checkbox-inline, .form-horizontal .radio, .form-horizontal .radio-inline {
    padding-top: 7px;
    margin-top: 0;
    margin-bottom: 0
}

.form-horizontal .checkbox, .form-horizontal .radio {
    min-height: 27px
}

.form-horizontal .form-group {
    margin-right: -15px;
    margin-left: -15px
}

@media (min-width:768px) {
    .form-horizontal .control-label {
        padding-top: 7px;
        margin-bottom: 0;
        text-align: right
    }
}

.form-horizontal .has-feedback .form-control-feedback {
    right: 15px
}

@media (min-width:768px) {
    .form-horizontal .form-group-lg .control-label {
        padding-top: 11px;
        font-size: 18px
    }
}

@media (min-width:768px) {
    .form-horizontal .form-group-sm .control-label {
        padding-top: 6px;
        font-size: 12px
    }
}

.btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

    .btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
        outline: 5px auto -webkit-focus-ring-color;
        outline-offset: -2px
    }

    .btn.focus, .btn:focus, .btn:hover {
        color: #333;
        text-decoration: none
    }

    .btn.active, .btn:active {
        background-image: none;
        outline: 0;
        -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
        box-shadow: inset 0 3px 5px rgba(0,0,0,.125)
    }

    .btn.disabled, .btn[disabled], fieldset[disabled] .btn {
        cursor: not-allowed;
        filter: alpha(opacity=65);
        opacity: .65;
        -webkit-box-shadow: none;
        box-shadow: none
    }

a.btn.disabled, fieldset[disabled] a.btn {
    pointer-events: none
}

.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc
}

    .btn-default.focus, .btn-default:focus {
        color: #333;
        background-color: #e6e6e6;
        border-color: #8c8c8c
    }

    .btn-default:hover {
        color: #333;
        background-color: #e6e6e6;
        border-color: #adadad
    }

    .btn-default.active, .btn-default:active, .open > .dropdown-toggle.btn-default {
        color: #333;
        background-color: #e6e6e6;
        background-image: none;
        border-color: #adadad
    }

        .btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open > .dropdown-toggle.btn-default.focus, .open > .dropdown-toggle.btn-default:focus, .open > .dropdown-toggle.btn-default:hover {
            color: #333;
            background-color: #d4d4d4;
            border-color: #8c8c8c
        }

    .btn-default.disabled.focus, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled].focus, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {
        background-color: #fff;
        border-color: #ccc
    }

    .btn-default .badge {
        color: #fff;
        background-color: #333
    }

.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4
}

    .btn-primary.focus, .btn-primary:focus {
        color: #fff;
        background-color: #286090;
        border-color: #122b40
    }

    .btn-primary:hover {
        color: #fff;
        background-color: #286090;
        border-color: #204d74
    }

    .btn-primary.active, .btn-primary:active, .open > .dropdown-toggle.btn-primary {
        color: #fff;
        background-color: #286090;
        background-image: none;
        border-color: #204d74
    }

        .btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open > .dropdown-toggle.btn-primary.focus, .open > .dropdown-toggle.btn-primary:focus, .open > .dropdown-toggle.btn-primary:hover {
            color: #fff;
            background-color: #204d74;
            border-color: #122b40
        }

    .btn-primary.disabled.focus, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled].focus, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
        background-color: #337ab7;
        border-color: #2e6da4
    }

    .btn-primary .badge {
        color: #337ab7;
        background-color: #fff
    }

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c
}

    .btn-success.focus, .btn-success:focus {
        color: #fff;
        background-color: #449d44;
        border-color: #255625
    }

    .btn-success:hover {
        color: #fff;
        background-color: #449d44;
        border-color: #398439
    }

    .btn-success.active, .btn-success:active, .open > .dropdown-toggle.btn-success {
        color: #fff;
        background-color: #449d44;
        background-image: none;
        border-color: #398439
    }

        .btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .btn-success:active:focus, .btn-success:active:hover, .open > .dropdown-toggle.btn-success.focus, .open > .dropdown-toggle.btn-success:focus, .open > .dropdown-toggle.btn-success:hover {
            color: #fff;
            background-color: #398439;
            border-color: #255625
        }

    .btn-success.disabled.focus, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled].focus, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {
        background-color: #5cb85c;
        border-color: #4cae4c
    }

    .btn-success .badge {
        color: #5cb85c;
        background-color: #fff
    }

.btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da
}

    .btn-info.focus, .btn-info:focus {
        color: #fff;
        background-color: #31b0d5;
        border-color: #1b6d85
    }

    .btn-info:hover {
        color: #fff;
        background-color: #31b0d5;
        border-color: #269abc
    }

    .btn-info.active, .btn-info:active, .open > .dropdown-toggle.btn-info {
        color: #fff;
        background-color: #31b0d5;
        background-image: none;
        border-color: #269abc
    }

        .btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .btn-info:active:focus, .btn-info:active:hover, .open > .dropdown-toggle.btn-info.focus, .open > .dropdown-toggle.btn-info:focus, .open > .dropdown-toggle.btn-info:hover {
            color: #fff;
            background-color: #269abc;
            border-color: #1b6d85
        }

    .btn-info.disabled.focus, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled].focus, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {
        background-color: #5bc0de;
        border-color: #46b8da
    }

    .btn-info .badge {
        color: #5bc0de;
        background-color: #fff
    }

.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236
}

    .btn-warning.focus, .btn-warning:focus {
        color: #fff;
        background-color: #ec971f;
        border-color: #985f0d
    }

    .btn-warning:hover {
        color: #fff;
        background-color: #ec971f;
        border-color: #d58512
    }

    .btn-warning.active, .btn-warning:active, .open > .dropdown-toggle.btn-warning {
        color: #fff;
        background-color: #ec971f;
        background-image: none;
        border-color: #d58512
    }

        .btn-warning.active.focus, .btn-warning.active:focus, .btn-warning.active:hover, .btn-warning:active.focus, .btn-warning:active:focus, .btn-warning:active:hover, .open > .dropdown-toggle.btn-warning.focus, .open > .dropdown-toggle.btn-warning:focus, .open > .dropdown-toggle.btn-warning:hover {
            color: #fff;
            background-color: #d58512;
            border-color: #985f0d
        }

    .btn-warning.disabled.focus, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled].focus, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {
        background-color: #f0ad4e;
        border-color: #eea236
    }

    .btn-warning .badge {
        color: #f0ad4e;
        background-color: #fff
    }

.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a
}

    .btn-danger.focus, .btn-danger:focus {
        color: #fff;
        background-color: #c9302c;
        border-color: #761c19
    }

    .btn-danger:hover {
        color: #fff;
        background-color: #c9302c;
        border-color: #ac2925
    }

    .btn-danger.active, .btn-danger:active, .open > .dropdown-toggle.btn-danger {
        color: #fff;
        background-color: #c9302c;
        background-image: none;
        border-color: #ac2925
    }

        .btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .btn-danger:active:focus, .btn-danger:active:hover, .open > .dropdown-toggle.btn-danger.focus, .open > .dropdown-toggle.btn-danger:focus, .open > .dropdown-toggle.btn-danger:hover {
            color: #fff;
            background-color: #ac2925;
            border-color: #761c19
        }

    .btn-danger.disabled.focus, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled].focus, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {
        background-color: #d9534f;
        border-color: #d43f3a
    }

    .btn-danger .badge {
        color: #d9534f;
        background-color: #fff
    }

.btn-link {
    font-weight: 400;
    color: #337ab7;
    border-radius: 0
}

    .btn-link, .btn-link.active, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
        background-color: transparent;
        -webkit-box-shadow: none;
        box-shadow: none
    }

        .btn-link, .btn-link:active, .btn-link:focus, .btn-link:hover {
            border-color: transparent
        }

            .btn-link:focus, .btn-link:hover {
                color: #23527c;
                text-decoration: underline;
                background-color: transparent
            }

            .btn-link[disabled]:focus, .btn-link[disabled]:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover {
                color: #777;
                text-decoration: none
            }

.btn-group-lg > .btn, .btn-lg {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px
}

.btn-group-sm > .btn, .btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

.btn-group-xs > .btn, .btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

.btn-block {
    display: block;
    width: 100%
}

    .btn-block + .btn-block {
        margin-top: 5px
    }

input[type=button].btn-block, input[type=reset].btn-block, input[type=submit].btn-block {
    width: 100%
}

.fade {
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear
}

    .fade.in {
        opacity: 1
    }

.collapse {
    display: none
}

    .collapse.in {
        display: block
    }

tr.collapse.in {
    display: table-row
}

tbody.collapse.in {
    display: table-row-group
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition-property: height,visibility;
    -o-transition-property: height,visibility;
    transition-property: height,visibility;
    -webkit-transition-duration: .35s;
    -o-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid\9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent
}

.dropdown, .dropup {
    position: relative
}

.dropdown-toggle:focus {
    outline: 0
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175)
}

    .dropdown-menu.pull-right {
        right: 0;
        left: auto
    }

    .dropdown-menu .divider {
        height: 1px;
        margin: 9px 0;
        overflow: hidden;
        background-color: #e5e5e5
    }

    .dropdown-menu > li > a {
        display: block;
        padding: 3px 20px;
        clear: both;
        font-weight: 400;
        line-height: 1.42857143;
        color: #333;
        white-space: nowrap
    }

        .dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
            color: #262626;
            text-decoration: none;
            background-color: #f5f5f5
        }

    .dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
        color: #fff;
        text-decoration: none;
        background-color: #337ab7;
        outline: 0
    }

    .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover {
        color: #777
    }

        .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover {
            text-decoration: none;
            cursor: not-allowed;
            background-color: transparent;
            background-image: none;
            filter: progid:DXImageTransform.Microsoft.gradient(enabled=false)
        }

.open > .dropdown-menu {
    display: block
}

.open > a {
    outline: 0
}

.dropdown-menu-right {
    right: 0;
    left: auto
}

.dropdown-menu-left {
    right: auto;
    left: 0
}

.dropdown-header {
    display: block;
    padding: 3px 20px;
    font-size: 12px;
    line-height: 1.42857143;
    color: #777;
    white-space: nowrap
}

.dropdown-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 990
}

.pull-right > .dropdown-menu {
    right: 0;
    left: auto
}

.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
    content: "";
    border-top: 0;
    border-bottom: 4px dashed;
    border-bottom: 4px solid\9
}

.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-bottom: 2px
}

@media (min-width:768px) {
    .navbar-right .dropdown-menu {
        right: 0;
        left: auto
    }

    .navbar-right .dropdown-menu-left {
        right: auto;
        left: 0
    }
}

.btn-group, .btn-group-vertical {
    position: relative;
    display: inline-block;
    vertical-align: middle
}

    .btn-group-vertical > .btn, .btn-group > .btn {
        position: relative;
        float: left
    }

        .btn-group-vertical > .btn.active, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:hover, .btn-group > .btn.active, .btn-group > .btn:active, .btn-group > .btn:focus, .btn-group > .btn:hover {
            z-index: 2
        }

    .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
        margin-left: -1px
    }

.btn-toolbar {
    margin-left: -5px
}

    .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group {
        float: left
    }

    .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group {
        margin-left: 5px
    }

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0
}

.btn-group > .btn:first-child {
    margin-left: 0
}

    .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.btn-group > .btn-group {
    float: left
}

    .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
        border-radius: 0
    }

    .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
    outline: 0
}

.btn-group > .btn + .dropdown-toggle {
    padding-right: 8px;
    padding-left: 8px
}

.btn-group > .btn-lg + .dropdown-toggle {
    padding-right: 12px;
    padding-left: 12px
}

.btn-group.open .dropdown-toggle {
    -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125)
}

    .btn-group.open .dropdown-toggle.btn-link {
        -webkit-box-shadow: none;
        box-shadow: none
    }

.btn .caret {
    margin-left: 0
}

.btn-lg .caret {
    border-width: 5px 5px 0;
    border-bottom-width: 0
}

.dropup .btn-lg .caret {
    border-width: 0 5px 5px
}

.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn {
    display: block;
    float: none;
    width: 100%;
    max-width: 100%
}

    .btn-group-vertical > .btn-group > .btn {
        float: none
    }

    .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
        margin-top: -1px;
        margin-left: 0
    }

    .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
        border-radius: 0
    }

    .btn-group-vertical > .btn:first-child:not(:last-child) {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    .btn-group-vertical > .btn:last-child:not(:first-child) {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 4px
    }

    .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
        border-radius: 0
    }

    .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }

.btn-group-justified {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate
}

    .btn-group-justified > .btn, .btn-group-justified > .btn-group {
        display: table-cell;
        float: none;
        width: 1%
    }

        .btn-group-justified > .btn-group .btn {
            width: 100%
        }

        .btn-group-justified > .btn-group .dropdown-menu {
            left: auto
        }

[data-toggle=buttons] > .btn input[type=checkbox], [data-toggle=buttons] > .btn input[type=radio], [data-toggle=buttons] > .btn-group > .btn input[type=checkbox], [data-toggle=buttons] > .btn-group > .btn input[type=radio] {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate
}

    .input-group[class*=col-] {
        float: none;
        padding-right: 0;
        padding-left: 0
    }

    .input-group .form-control {
        position: relative;
        z-index: 2;
        float: left;
        width: 100%;
        margin-bottom: 0
    }

        .input-group .form-control:focus {
            z-index: 3
        }

.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px
}

select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn {
    height: 46px;
    line-height: 46px
}

select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn, textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn {
    height: auto
}

.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn {
    height: 30px;
    line-height: 30px
}

select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn, textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn {
    height: auto
}

.input-group .form-control, .input-group-addon, .input-group-btn {
    display: table-cell
}

    .input-group .form-control:not(:first-child):not(:last-child), .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child) {
        border-radius: 0
    }

.input-group-addon, .input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle
}

.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px
}

    .input-group-addon.input-sm {
        padding: 5px 10px;
        font-size: 12px;
        border-radius: 3px
    }

    .input-group-addon.input-lg {
        padding: 10px 16px;
        font-size: 18px;
        border-radius: 6px
    }

    .input-group-addon input[type=checkbox], .input-group-addon input[type=radio] {
        margin-top: 0
    }

    .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .input-group-addon:first-child {
        border-right: 0
    }

    .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .input-group-addon:last-child {
        border-left: 0
    }

.input-group-btn {
    position: relative;
    font-size: 0;
    white-space: nowrap
}

    .input-group-btn > .btn {
        position: relative
    }

        .input-group-btn > .btn + .btn {
            margin-left: -1px
        }

        .input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover {
            z-index: 2
        }

    .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group {
        margin-right: -1px
    }

    .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group {
        z-index: 2;
        margin-left: -1px
    }

.nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

    .nav > li {
        position: relative;
        display: block
    }

        .nav > li > a {
            position: relative;
            display: block;
            padding: 10px 15px
        }

            .nav > li > a:focus, .nav > li > a:hover {
                text-decoration: none;
                background-color: #eee
            }

        .nav > li.disabled > a {
            color: #777
        }

            .nav > li.disabled > a:focus, .nav > li.disabled > a:hover {
                color: #777;
                text-decoration: none;
                cursor: not-allowed;
                background-color: transparent
            }

    .nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
        background-color: #eee;
        border-color: #337ab7
    }

    .nav .nav-divider {
        height: 1px;
        margin: 9px 0;
        overflow: hidden;
        background-color: #e5e5e5
    }

    .nav > li > a > img {
        max-width: none
    }

.nav-tabs {
    border-bottom: 1px solid #ddd
}

    .nav-tabs > li {
        float: left;
        margin-bottom: -1px
    }

        .nav-tabs > li > a {
            margin-right: 2px;
            line-height: 1.42857143;
            border: 1px solid transparent;
            border-radius: 4px 4px 0 0
        }

            .nav-tabs > li > a:hover {
                border-color: #eee #eee #ddd
            }

        .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
            color: #555;
            cursor: default;
            background-color: #fff;
            border: 1px solid #ddd;
            border-bottom-color: transparent
        }

    .nav-tabs.nav-justified {
        width: 100%;
        border-bottom: 0
    }

        .nav-tabs.nav-justified > li {
            float: none
        }

            .nav-tabs.nav-justified > li > a {
                margin-bottom: 5px;
                text-align: center
            }

        .nav-tabs.nav-justified > .dropdown .dropdown-menu {
            top: auto;
            left: auto
        }

@media (min-width:768px) {
    .nav-tabs.nav-justified > li {
        display: table-cell;
        width: 1%
    }

        .nav-tabs.nav-justified > li > a {
            margin-bottom: 0
        }
}

.nav-tabs.nav-justified > li > a {
    margin-right: 0;
    border-radius: 4px
}

.nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover {
    border: 1px solid #ddd
}

@media (min-width:768px) {
    .nav-tabs.nav-justified > li > a {
        border-bottom: 1px solid #ddd;
        border-radius: 4px 4px 0 0
    }

    .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover {
        border-bottom-color: #fff
    }
}

.nav-pills > li {
    float: left
}

    .nav-pills > li > a {
        border-radius: 4px
    }

    .nav-pills > li + li {
        margin-left: 2px
    }

    .nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover {
        color: #fff;
        background-color: #337ab7
    }

.nav-stacked > li {
    float: none
}

    .nav-stacked > li + li {
        margin-top: 2px;
        margin-left: 0
    }

.nav-justified {
    width: 100%
}

    .nav-justified > li {
        float: none
    }

        .nav-justified > li > a {
            margin-bottom: 5px;
            text-align: center
        }

    .nav-justified > .dropdown .dropdown-menu {
        top: auto;
        left: auto
    }

@media (min-width:768px) {
    .nav-justified > li {
        display: table-cell;
        width: 1%
    }

        .nav-justified > li > a {
            margin-bottom: 0
        }
}

.nav-tabs-justified {
    border-bottom: 0
}

    .nav-tabs-justified > li > a {
        margin-right: 0;
        border-radius: 4px
    }

    .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover {
        border: 1px solid #ddd
    }

@media (min-width:768px) {
    .nav-tabs-justified > li > a {
        border-bottom: 1px solid #ddd;
        border-radius: 4px 4px 0 0
    }

    .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:focus, .nav-tabs-justified > .active > a:hover {
        border-bottom-color: #fff
    }
}

.tab-content > .tab-pane {
    display: none
}

.tab-content > .active {
    display: block
}

.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.navbar {
    position: relative;
    min-height: 50px;
    margin-bottom: 20px;
    border: 1px solid transparent
}

@media (min-width:768px) {
    .navbar {
        border-radius: 4px
    }
}

@media (min-width:768px) {
    .navbar-header {
        float: left
    }
}

.navbar-collapse {
    padding-right: 15px;
    padding-left: 15px;
    overflow-x: visible;
    border-top: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
    -webkit-overflow-scrolling: touch
}

    .navbar-collapse.in {
        overflow-y: auto
    }

@media (min-width:768px) {
    .navbar-collapse {
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none
    }

        .navbar-collapse.collapse {
            display: block !important;
            height: auto !important;
            padding-bottom: 0;
            overflow: visible !important
        }

        .navbar-collapse.in {
            overflow-y: visible
        }

    .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse {
        padding-right: 0;
        padding-left: 0
    }
}

.navbar-fixed-bottom, .navbar-fixed-top {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030
}

    .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
        max-height: 340px
    }

@media (max-device-width:480px) and (orientation:landscape) {
    .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
        max-height: 200px
    }
}

@media (min-width:768px) {
    .navbar-fixed-bottom, .navbar-fixed-top {
        border-radius: 0
    }
}

.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px
}

.navbar-fixed-bottom {
    bottom: 0;
    margin-bottom: 0;
    border-width: 1px 0 0
}

.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
    margin-right: -15px;
    margin-left: -15px
}

@media (min-width:768px) {
    .container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
        margin-right: 0;
        margin-left: 0
    }
}

.navbar-static-top {
    z-index: 1000;
    border-width: 0 0 1px
}

@media (min-width:768px) {
    .navbar-static-top {
        border-radius: 0
    }
}

.navbar-brand {
    float: left;
    height: 50px;
    padding: 15px 15px;
    font-size: 18px;
    line-height: 20px
}

    .navbar-brand:focus, .navbar-brand:hover {
        text-decoration: none
    }

    .navbar-brand > img {
        display: block
    }

@media (min-width:768px) {
    .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
        margin-left: -15px
    }
}

.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-right: 15px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px
}

    .navbar-toggle:focus {
        outline: 0
    }

    .navbar-toggle .icon-bar {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 1px
    }

        .navbar-toggle .icon-bar + .icon-bar {
            margin-top: 4px
        }

@media (min-width:768px) {
    .navbar-toggle {
        display: none
    }
}

.navbar-nav {
    margin: 7.5px -15px
}

    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 20px
    }

@media (max-width:767px) {
    .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none
    }

        .navbar-nav .open .dropdown-menu .dropdown-header, .navbar-nav .open .dropdown-menu > li > a {
            padding: 5px 15px 5px 25px
        }

        .navbar-nav .open .dropdown-menu > li > a {
            line-height: 20px
        }

            .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-nav .open .dropdown-menu > li > a:hover {
                background-image: none
            }
}

@media (min-width:768px) {
    .navbar-nav {
        float: left;
        margin: 0
    }

        .navbar-nav > li {
            float: left
        }

            .navbar-nav > li > a {
                padding-top: 15px;
                padding-bottom: 15px
            }
}

.navbar-form {
    padding: 10px 15px;
    margin-right: -15px;
    margin-left: -15px;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);
    margin-top: 8px;
    margin-bottom: 8px
}

@media (min-width:768px) {
    .navbar-form .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle
    }

    .navbar-form .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle
    }

    .navbar-form .form-control-static {
        display: inline-block
    }

    .navbar-form .input-group {
        display: inline-table;
        vertical-align: middle
    }

        .navbar-form .input-group .form-control, .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn {
            width: auto
        }

        .navbar-form .input-group > .form-control {
            width: 100%
        }

    .navbar-form .control-label {
        margin-bottom: 0;
        vertical-align: middle
    }

    .navbar-form .checkbox, .navbar-form .radio {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle
    }

        .navbar-form .checkbox label, .navbar-form .radio label {
            padding-left: 0
        }

        .navbar-form .checkbox input[type=checkbox], .navbar-form .radio input[type=radio] {
            position: relative;
            margin-left: 0
        }

    .navbar-form .has-feedback .form-control-feedback {
        top: 0
    }
}

@media (max-width:767px) {
    .navbar-form .form-group {
        margin-bottom: 5px
    }

        .navbar-form .form-group:last-child {
            margin-bottom: 0
        }
}

@media (min-width:768px) {
    .navbar-form {
        width: auto;
        padding-top: 0;
        padding-bottom: 0;
        margin-right: 0;
        margin-left: 0;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

.navbar-nav > li > .dropdown-menu {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
    margin-bottom: 0;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.navbar-btn {
    margin-top: 8px;
    margin-bottom: 8px
}

    .navbar-btn.btn-sm {
        margin-top: 10px;
        margin-bottom: 10px
    }

    .navbar-btn.btn-xs {
        margin-top: 14px;
        margin-bottom: 14px
    }

.navbar-text {
    margin-top: 15px;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .navbar-text {
        float: left;
        margin-right: 15px;
        margin-left: 15px
    }
}

@media (min-width:768px) {
    .navbar-left {
        float: left !important
    }

    .navbar-right {
        float: right !important;
        margin-right: -15px
    }

        .navbar-right ~ .navbar-right {
            margin-right: 0
        }
}

.navbar-default {
    background-color: #f8f8f8;
    border-color: #e7e7e7
}

    .navbar-default .navbar-brand {
        color: #777
    }

        .navbar-default .navbar-brand:focus, .navbar-default .navbar-brand:hover {
            color: #5e5e5e;
            background-color: transparent
        }

    .navbar-default .navbar-text {
        color: #777
    }

    .navbar-default .navbar-nav > li > a {
        color: #777
    }

        .navbar-default .navbar-nav > li > a:focus, .navbar-default .navbar-nav > li > a:hover {
            color: #333;
            background-color: transparent
        }

    .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > .active > a:hover {
        color: #555;
        background-color: #e7e7e7
    }

    .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:focus, .navbar-default .navbar-nav > .disabled > a:hover {
        color: #ccc;
        background-color: transparent
    }

    .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:focus, .navbar-default .navbar-nav > .open > a:hover {
        color: #555;
        background-color: #e7e7e7
    }

@media (max-width:767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
        color: #777
    }

        .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover {
            color: #333;
            background-color: transparent
        }

    .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover {
        color: #555;
        background-color: #e7e7e7
    }

    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover {
        color: #ccc;
        background-color: transparent
    }
}

.navbar-default .navbar-toggle {
    border-color: #ddd
}

    .navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
        background-color: #ddd
    }

    .navbar-default .navbar-toggle .icon-bar {
        background-color: #888
    }

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border-color: #e7e7e7
}

.navbar-default .navbar-link {
    color: #777
}

    .navbar-default .navbar-link:hover {
        color: #333
    }

.navbar-default .btn-link {
    color: #777
}

    .navbar-default .btn-link:focus, .navbar-default .btn-link:hover {
        color: #333
    }

    .navbar-default .btn-link[disabled]:focus, .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:focus, fieldset[disabled] .navbar-default .btn-link:hover {
        color: #ccc
    }

.navbar-inverse {
    background-color: #222;
    border-color: #080808
}

    .navbar-inverse .navbar-brand {
        color: #9d9d9d
    }

        .navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover {
            color: #fff;
            background-color: transparent
        }

    .navbar-inverse .navbar-text {
        color: #9d9d9d
    }

    .navbar-inverse .navbar-nav > li > a {
        color: #9d9d9d
    }

        .navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover {
            color: #fff;
            background-color: transparent
        }

    .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover {
        color: #fff;
        background-color: #080808
    }

    .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:focus, .navbar-inverse .navbar-nav > .disabled > a:hover {
        color: #444;
        background-color: transparent
    }

    .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover {
        color: #fff;
        background-color: #080808
    }

@media (max-width:767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
        border-color: #080808
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
        background-color: #080808
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
        color: #9d9d9d
    }

        .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover {
            color: #fff;
            background-color: transparent
        }

    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover {
        color: #fff;
        background-color: #080808
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover {
        color: #444;
        background-color: transparent
    }
}

.navbar-inverse .navbar-toggle {
    border-color: #333
}

    .navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
        background-color: #333
    }

    .navbar-inverse .navbar-toggle .icon-bar {
        background-color: #fff
    }

.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
    border-color: #101010
}

.navbar-inverse .navbar-link {
    color: #9d9d9d
}

    .navbar-inverse .navbar-link:hover {
        color: #fff
    }

.navbar-inverse .btn-link {
    color: #9d9d9d
}

    .navbar-inverse .btn-link:focus, .navbar-inverse .btn-link:hover {
        color: #fff
    }

    .navbar-inverse .btn-link[disabled]:focus, .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:focus, fieldset[disabled] .navbar-inverse .btn-link:hover {
        color: #444
    }

.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px
}

    .breadcrumb > li {
        display: inline-block
    }

        .breadcrumb > li + li:before {
            padding: 0 5px;
            color: #ccc;
            content: "/\00a0"
        }

    .breadcrumb > .active {
        color: #777
    }

.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px
}

    .pagination > li {
        display: inline
    }

        .pagination > li > a, .pagination > li > span {
            position: relative;
            float: left;
            padding: 6px 12px;
            margin-left: -1px;
            line-height: 1.42857143;
            color: #337ab7;
            text-decoration: none;
            background-color: #fff;
            border: 1px solid #ddd
        }

            .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
                z-index: 2;
                color: #23527c;
                background-color: #eee;
                border-color: #ddd
            }

        .pagination > li:first-child > a, .pagination > li:first-child > span {
            margin-left: 0;
            border-top-left-radius: 4px;
            border-bottom-left-radius: 4px
        }

        .pagination > li:last-child > a, .pagination > li:last-child > span {
            border-top-right-radius: 4px;
            border-bottom-right-radius: 4px
        }

    .pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
        z-index: 3;
        color: #fff;
        cursor: default;
        background-color: #337ab7;
        border-color: #337ab7
    }

    .pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover, .pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover {
        color: #777;
        cursor: not-allowed;
        background-color: #fff;
        border-color: #ddd
    }

.pagination-lg > li > a, .pagination-lg > li > span {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333
}

.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px
}

.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px
}

.pagination-sm > li > a, .pagination-sm > li > span {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5
}

.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px
}

.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px
}

.pager {
    padding-left: 0;
    margin: 20px 0;
    text-align: center;
    list-style: none
}

    .pager li {
        display: inline
    }

        .pager li > a, .pager li > span {
            display: inline-block;
            padding: 5px 14px;
            background-color: #fff;
            border: 1px solid #ddd;
            border-radius: 15px
        }

            .pager li > a:focus, .pager li > a:hover {
                text-decoration: none;
                background-color: #eee
            }

    .pager .next > a, .pager .next > span {
        float: right
    }

    .pager .previous > a, .pager .previous > span {
        float: left
    }

    .pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover, .pager .disabled > span {
        color: #777;
        cursor: not-allowed;
        background-color: #fff
    }

.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em
}

a.label:focus, a.label:hover {
    color: #fff;
    text-decoration: none;
    cursor: pointer
}

.label:empty {
    display: none
}

.btn .label {
    position: relative;
    top: -1px
}

.label-default {
    background-color: #777
}

    .label-default[href]:focus, .label-default[href]:hover {
        background-color: #5e5e5e
    }

.label-primary {
    background-color: #337ab7
}

    .label-primary[href]:focus, .label-primary[href]:hover {
        background-color: #286090
    }

.label-success {
    background-color: #5cb85c
}

    .label-success[href]:focus, .label-success[href]:hover {
        background-color: #449d44
    }

.label-info {
    background-color: #5bc0de
}

    .label-info[href]:focus, .label-info[href]:hover {
        background-color: #31b0d5
    }

.label-warning {
    background-color: #f0ad4e
}

    .label-warning[href]:focus, .label-warning[href]:hover {
        background-color: #ec971f
    }

.label-danger {
    background-color: #d9534f
}

    .label-danger[href]:focus, .label-danger[href]:hover {
        background-color: #c9302c
    }

.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #777;
    border-radius: 10px
}

    .badge:empty {
        display: none
    }

.btn .badge {
    position: relative;
    top: -1px
}

.btn-group-xs > .btn .badge, .btn-xs .badge {
    top: 0;
    padding: 1px 5px
}

a.badge:focus, a.badge:hover {
    color: #fff;
    text-decoration: none;
    cursor: pointer
}

.list-group-item.active > .badge, .nav-pills > .active > a > .badge {
    color: #337ab7;
    background-color: #fff
}

.list-group-item > .badge {
    float: right
}

    .list-group-item > .badge + .badge {
        margin-right: 5px
    }

.nav-pills > li > a > .badge {
    margin-left: 3px
}

.jumbotron {
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    color: inherit;
    background-color: #eee
}

    .jumbotron .h1, .jumbotron h1 {
        color: inherit
    }

    .jumbotron p {
        margin-bottom: 15px;
        font-size: 21px;
        font-weight: 200
    }

    .jumbotron > hr {
        border-top-color: #d5d5d5
    }

.container .jumbotron, .container-fluid .jumbotron {
    padding-right: 15px;
    padding-left: 15px;
    border-radius: 6px
}

.jumbotron .container {
    max-width: 100%
}

@media screen and (min-width:768px) {
    .jumbotron {
        padding-top: 48px;
        padding-bottom: 48px
    }

    .container .jumbotron, .container-fluid .jumbotron {
        padding-right: 60px;
        padding-left: 60px
    }

    .jumbotron .h1, .jumbotron h1 {
        font-size: 63px
    }
}

.thumbnail {
    display: block;
    padding: 4px;
    margin-bottom: 20px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out
}

    .thumbnail a > img, .thumbnail > img {
        margin-right: auto;
        margin-left: auto
    }

a.thumbnail.active, a.thumbnail:focus, a.thumbnail:hover {
    border-color: #337ab7
}

.thumbnail .caption {
    padding: 9px;
    color: #333
}

.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px
}

    .alert h4 {
        margin-top: 0;
        color: inherit
    }

    .alert .alert-link {
        font-weight: 700
    }

    .alert > p, .alert > ul {
        margin-bottom: 0
    }

        .alert > p + p {
            margin-top: 5px
        }

.alert-dismissable, .alert-dismissible {
    padding-right: 35px
}

    .alert-dismissable .close, .alert-dismissible .close {
        position: relative;
        top: -2px;
        right: -21px;
        color: inherit
    }

.alert-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6
}

    .alert-success hr {
        border-top-color: #c9e2b3
    }

    .alert-success .alert-link {
        color: #2b542c
    }

.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1
}

    .alert-info hr {
        border-top-color: #a6e1ec
    }

    .alert-info .alert-link {
        color: #245269
    }

.alert-warning {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc
}

    .alert-warning hr {
        border-top-color: #f7e1b5
    }

    .alert-warning .alert-link {
        color: #66512c
    }

.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1
}

    .alert-danger hr {
        border-top-color: #e4b9c0
    }

    .alert-danger .alert-link {
        color: #843534
    }

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0
    }

    to {
        background-position: 0 0
    }
}

@-o-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0
    }

    to {
        background-position: 0 0
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 40px 0
    }

    to {
        background-position: 0 0
    }
}

.progress {
    height: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    background-color: #f5f5f5;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1)
}

.progress-bar {
    float: left;
    width: 0%;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #337ab7;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    -webkit-transition: width .6s ease;
    -o-transition: width .6s ease;
    transition: width .6s ease
}

.progress-bar-striped, .progress-striped .progress-bar {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    -webkit-background-size: 40px 40px;
    background-size: 40px 40px
}

.progress-bar.active, .progress.active .progress-bar {
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    -o-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite
}

.progress-bar-success {
    background-color: #5cb85c
}

.progress-striped .progress-bar-success {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)
}

.progress-bar-info {
    background-color: #5bc0de
}

.progress-striped .progress-bar-info {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)
}

.progress-bar-warning {
    background-color: #f0ad4e
}

.progress-striped .progress-bar-warning {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)
}

.progress-bar-danger {
    background-color: #d9534f
}

.progress-striped .progress-bar-danger {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)
}

.media {
    margin-top: 15px
}

    .media:first-child {
        margin-top: 0
    }

.media, .media-body {
    overflow: hidden;
    zoom: 1
}

.media-body {
    width: 10000px
}

.media-object {
    display: block
}

    .media-object.img-thumbnail {
        max-width: none
    }

.media-right, .media > .pull-right {
    padding-left: 10px
}

.media-left, .media > .pull-left {
    padding-right: 10px
}

.media-body, .media-left, .media-right {
    display: table-cell;
    vertical-align: top
}

.media-middle {
    vertical-align: middle
}

.media-bottom {
    vertical-align: bottom
}

.media-heading {
    margin-top: 0;
    margin-bottom: 5px
}

.media-list {
    padding-left: 0;
    list-style: none
}

.list-group {
    padding-left: 0;
    margin-bottom: 20px
}

.list-group-item {
    position: relative;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd
}

    .list-group-item:first-child {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px
    }

    .list-group-item:last-child {
        margin-bottom: 0;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 4px
    }

    .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
        color: #777;
        cursor: not-allowed;
        background-color: #eee
    }

        .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
            color: inherit
        }

        .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
            color: #777
        }

    .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
        z-index: 2;
        color: #fff;
        background-color: #337ab7;
        border-color: #337ab7
    }

        .list-group-item.active .list-group-item-heading, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > small {
            color: inherit
        }

        .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
            color: #c7ddef
        }

a.list-group-item, button.list-group-item {
    color: #555
}

    a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading {
        color: #333
    }

    a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover {
        color: #555;
        text-decoration: none;
        background-color: #f5f5f5
    }

button.list-group-item {
    width: 100%;
    text-align: left
}

.list-group-item-success {
    color: #3c763d;
    background-color: #dff0d8
}

a.list-group-item-success, button.list-group-item-success {
    color: #3c763d
}

    a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading {
        color: inherit
    }

    a.list-group-item-success:focus, a.list-group-item-success:hover, button.list-group-item-success:focus, button.list-group-item-success:hover {
        color: #3c763d;
        background-color: #d0e9c6
    }

    a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover, button.list-group-item-success.active, button.list-group-item-success.active:focus, button.list-group-item-success.active:hover {
        color: #fff;
        background-color: #3c763d;
        border-color: #3c763d
    }

.list-group-item-info {
    color: #31708f;
    background-color: #d9edf7
}

a.list-group-item-info, button.list-group-item-info {
    color: #31708f
}

    a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading {
        color: inherit
    }

    a.list-group-item-info:focus, a.list-group-item-info:hover, button.list-group-item-info:focus, button.list-group-item-info:hover {
        color: #31708f;
        background-color: #c4e3f3
    }

    a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover, button.list-group-item-info.active, button.list-group-item-info.active:focus, button.list-group-item-info.active:hover {
        color: #fff;
        background-color: #31708f;
        border-color: #31708f
    }

.list-group-item-warning {
    color: #8a6d3b;
    background-color: #fcf8e3
}

a.list-group-item-warning, button.list-group-item-warning {
    color: #8a6d3b
}

    a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading {
        color: inherit
    }

    a.list-group-item-warning:focus, a.list-group-item-warning:hover, button.list-group-item-warning:focus, button.list-group-item-warning:hover {
        color: #8a6d3b;
        background-color: #faf2cc
    }

    a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover, button.list-group-item-warning.active, button.list-group-item-warning.active:focus, button.list-group-item-warning.active:hover {
        color: #fff;
        background-color: #8a6d3b;
        border-color: #8a6d3b
    }

.list-group-item-danger {
    color: #a94442;
    background-color: #f2dede
}

a.list-group-item-danger, button.list-group-item-danger {
    color: #a94442
}

    a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading {
        color: inherit
    }

    a.list-group-item-danger:focus, a.list-group-item-danger:hover, button.list-group-item-danger:focus, button.list-group-item-danger:hover {
        color: #a94442;
        background-color: #ebcccc
    }

    a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover, button.list-group-item-danger.active, button.list-group-item-danger.active:focus, button.list-group-item-danger.active:hover {
        color: #fff;
        background-color: #a94442;
        border-color: #a94442
    }

.list-group-item-heading {
    margin-top: 0;
    margin-bottom: 5px
}

.list-group-item-text {
    margin-bottom: 0;
    line-height: 1.3
}

.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
    box-shadow: 0 1px 1px rgba(0,0,0,.05)
}

.panel-body {
    padding: 15px
}

.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px
}

    .panel-heading > .dropdown .dropdown-toggle {
        color: inherit
    }

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    color: inherit
}

    .panel-title > .small, .panel-title > .small > a, .panel-title > a, .panel-title > small, .panel-title > small > a {
        color: inherit
    }

.panel-footer {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px
}

.panel > .list-group, .panel > .panel-collapse > .list-group {
    margin-bottom: 0
}

    .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item {
        border-width: 1px 0;
        border-radius: 0
    }

    .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
        border-top: 0;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px
    }

    .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
        border-bottom: 0;
        border-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px
    }

.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.panel-heading + .list-group .list-group-item:first-child {
    border-top-width: 0
}

.list-group + .panel-footer {
    border-top-width: 0
}

.panel > .panel-collapse > .table, .panel > .table, .panel > .table-responsive > .table {
    margin-bottom: 0
}

    .panel > .panel-collapse > .table caption, .panel > .table caption, .panel > .table-responsive > .table caption {
        padding-right: 15px;
        padding-left: 15px
    }

    .panel > .table-responsive:first-child > .table:first-child, .panel > .table:first-child {
        border-top-left-radius: 3px;
        border-top-right-radius: 3px
    }

        .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table:first-child > thead:first-child > tr:first-child {
            border-top-left-radius: 3px;
            border-top-right-radius: 3px
        }

            .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child {
                border-top-left-radius: 3px
            }

            .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child {
                border-top-right-radius: 3px
            }

    .panel > .table-responsive:last-child > .table:last-child, .panel > .table:last-child {
        border-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px
    }

        .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child {
            border-bottom-right-radius: 3px;
            border-bottom-left-radius: 3px
        }

            .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
                border-bottom-left-radius: 3px
            }

            .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
                border-bottom-right-radius: 3px
            }

    .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body {
        border-top: 1px solid #ddd
    }

    .panel > .table > tbody:first-child > tr:first-child td, .panel > .table > tbody:first-child > tr:first-child th {
        border-top: 0
    }

.panel > .table-bordered, .panel > .table-responsive > .table-bordered {
    border: 0
}

    .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child {
        border-left: 0
    }

    .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child {
        border-right: 0
    }

    .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th {
        border-bottom: 0
    }

    .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
        border-bottom: 0
    }

.panel > .table-responsive {
    margin-bottom: 0;
    border: 0
}

.panel-group {
    margin-bottom: 20px
}

    .panel-group .panel {
        margin-bottom: 0;
        border-radius: 4px
    }

        .panel-group .panel + .panel {
            margin-top: 5px
        }

    .panel-group .panel-heading {
        border-bottom: 0
    }

        .panel-group .panel-heading + .panel-collapse > .list-group, .panel-group .panel-heading + .panel-collapse > .panel-body {
            border-top: 1px solid #ddd
        }

    .panel-group .panel-footer {
        border-top: 0
    }

        .panel-group .panel-footer + .panel-collapse .panel-body {
            border-bottom: 1px solid #ddd
        }

.panel-default {
    border-color: #ddd
}

    .panel-default > .panel-heading {
        color: #333;
        background-color: #f5f5f5;
        border-color: #ddd
    }

        .panel-default > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #ddd
        }

        .panel-default > .panel-heading .badge {
            color: #f5f5f5;
            background-color: #333
        }

    .panel-default > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #ddd
    }

.panel-primary {
    border-color: #337ab7
}

    .panel-primary > .panel-heading {
        color: #fff;
        background-color: #337ab7;
        border-color: #337ab7
    }

        .panel-primary > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #337ab7
        }

        .panel-primary > .panel-heading .badge {
            color: #337ab7;
            background-color: #fff
        }

    .panel-primary > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #337ab7
    }

.panel-success {
    border-color: #d6e9c6
}

    .panel-success > .panel-heading {
        color: #3c763d;
        background-color: #dff0d8;
        border-color: #d6e9c6
    }

        .panel-success > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #d6e9c6
        }

        .panel-success > .panel-heading .badge {
            color: #dff0d8;
            background-color: #3c763d
        }

    .panel-success > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #d6e9c6
    }

.panel-info {
    border-color: #bce8f1
}

    .panel-info > .panel-heading {
        color: #31708f;
        background-color: #d9edf7;
        border-color: #bce8f1
    }

        .panel-info > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #bce8f1
        }

        .panel-info > .panel-heading .badge {
            color: #d9edf7;
            background-color: #31708f
        }

    .panel-info > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #bce8f1
    }

.panel-warning {
    border-color: #faebcc
}

    .panel-warning > .panel-heading {
        color: #8a6d3b;
        background-color: #fcf8e3;
        border-color: #faebcc
    }

        .panel-warning > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #faebcc
        }

        .panel-warning > .panel-heading .badge {
            color: #fcf8e3;
            background-color: #8a6d3b
        }

    .panel-warning > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #faebcc
    }

.panel-danger {
    border-color: #ebccd1
}

    .panel-danger > .panel-heading {
        color: #a94442;
        background-color: #f2dede;
        border-color: #ebccd1
    }

        .panel-danger > .panel-heading + .panel-collapse > .panel-body {
            border-top-color: #ebccd1
        }

        .panel-danger > .panel-heading .badge {
            color: #f2dede;
            background-color: #a94442
        }

    .panel-danger > .panel-footer + .panel-collapse > .panel-body {
        border-bottom-color: #ebccd1
    }

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden
}

    .embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0
    }

.embed-responsive-16by9 {
    padding-bottom: 56.25%
}

.embed-responsive-4by3 {
    padding-bottom: 75%
}

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05)
}

    .well blockquote {
        border-color: #ddd;
        border-color: rgba(0,0,0,.15)
    }

.well-lg {
    padding: 24px;
    border-radius: 6px
}

.well-sm {
    padding: 9px;
    border-radius: 3px
}

.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    filter: alpha(opacity=20);
    opacity: .2
}

    .close:focus, .close:hover {
        color: #000;
        text-decoration: none;
        cursor: pointer;
        filter: alpha(opacity=50);
        opacity: .5
    }

button.close {
    padding: 0;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.modal-open {
    overflow: hidden
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0
}

    .modal.fade .modal-dialog {
        -webkit-transform: translate(0,-25%);
        -ms-transform: translate(0,-25%);
        -o-transform: translate(0,-25%);
        transform: translate(0,-25%);
        -webkit-transition: -webkit-transform .3s ease-out;
        -o-transition: -o-transform .3s ease-out;
        transition: -webkit-transform .3s ease-out;
        transition: transform .3s ease-out;
        transition: transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out
    }

    .modal.in .modal-dialog {
        -webkit-transform: translate(0,0);
        -ms-transform: translate(0,0);
        -o-transform: translate(0,0);
        transform: translate(0,0)
    }

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px
}

.modal-content {
    position: relative;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 6px;
    -webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
    box-shadow: 0 3px 9px rgba(0,0,0,.5);
    outline: 0
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000
}

    .modal-backdrop.fade {
        filter: alpha(opacity=0);
        opacity: 0
    }

    .modal-backdrop.in {
        filter: alpha(opacity=50);
        opacity: .5
    }

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5
}

    .modal-header .close {
        margin-top: -2px
    }

.modal-title {
    margin: 0;
    line-height: 1.42857143
}

.modal-body {
    position: relative;
    padding: 15px
}

.modal-footer {
    padding: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5
}

    .modal-footer .btn + .btn {
        margin-bottom: 0;
        margin-left: 5px
    }

    .modal-footer .btn-group .btn + .btn {
        margin-left: -1px
    }

    .modal-footer .btn-block + .btn-block {
        margin-left: 0
    }

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll
}

@media (min-width:768px) {
    .modal-dialog {
        width: 600px;
        margin: 30px auto
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
        box-shadow: 0 5px 15px rgba(0,0,0,.5)
    }

    .modal-sm {
        width: 300px
    }
}

@media (min-width:992px) {
    .modal-lg {
        width: 900px
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-break: auto;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    font-size: 12px;
    filter: alpha(opacity=0);
    opacity: 0
}

    .tooltip.in {
        filter: alpha(opacity=90);
        opacity: .9
    }

    .tooltip.top {
        padding: 5px 0;
        margin-top: -3px
    }

    .tooltip.right {
        padding: 0 5px;
        margin-left: 3px
    }

    .tooltip.bottom {
        padding: 5px 0;
        margin-top: 3px
    }

    .tooltip.left {
        padding: 0 5px;
        margin-left: -3px
    }

    .tooltip.top .tooltip-arrow {
        bottom: 0;
        left: 50%;
        margin-left: -5px;
        border-width: 5px 5px 0;
        border-top-color: #000
    }

    .tooltip.top-left .tooltip-arrow {
        right: 5px;
        bottom: 0;
        margin-bottom: -5px;
        border-width: 5px 5px 0;
        border-top-color: #000
    }

    .tooltip.top-right .tooltip-arrow {
        bottom: 0;
        left: 5px;
        margin-bottom: -5px;
        border-width: 5px 5px 0;
        border-top-color: #000
    }

    .tooltip.right .tooltip-arrow {
        top: 50%;
        left: 0;
        margin-top: -5px;
        border-width: 5px 5px 5px 0;
        border-right-color: #000
    }

    .tooltip.left .tooltip-arrow {
        top: 50%;
        right: 0;
        margin-top: -5px;
        border-width: 5px 0 5px 5px;
        border-left-color: #000
    }

    .tooltip.bottom .tooltip-arrow {
        top: 0;
        left: 50%;
        margin-left: -5px;
        border-width: 0 5px 5px;
        border-bottom-color: #000
    }

    .tooltip.bottom-left .tooltip-arrow {
        top: 0;
        right: 5px;
        margin-top: -5px;
        border-width: 0 5px 5px;
        border-bottom-color: #000
    }

    .tooltip.bottom-right .tooltip-arrow {
        top: 0;
        left: 5px;
        margin-top: -5px;
        border-width: 0 5px 5px;
        border-bottom-color: #000
    }

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 4px
}

.tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 1px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-break: auto;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    font-size: 14px;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
    box-shadow: 0 5px 10px rgba(0,0,0,.2)
}

    .popover.top {
        margin-top: -10px
    }

    .popover.right {
        margin-left: 10px
    }

    .popover.bottom {
        margin-top: 10px
    }

    .popover.left {
        margin-left: -10px
    }

    .popover > .arrow {
        border-width: 11px
    }

        .popover > .arrow, .popover > .arrow:after {
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            border-color: transparent;
            border-style: solid
        }

            .popover > .arrow:after {
                content: "";
                border-width: 10px
            }

    .popover.top > .arrow {
        bottom: -11px;
        left: 50%;
        margin-left: -11px;
        border-top-color: #999;
        border-top-color: rgba(0,0,0,.25);
        border-bottom-width: 0
    }

        .popover.top > .arrow:after {
            bottom: 1px;
            margin-left: -10px;
            content: " ";
            border-top-color: #fff;
            border-bottom-width: 0
        }

    .popover.right > .arrow {
        top: 50%;
        left: -11px;
        margin-top: -11px;
        border-right-color: #999;
        border-right-color: rgba(0,0,0,.25);
        border-left-width: 0
    }

        .popover.right > .arrow:after {
            bottom: -10px;
            left: 1px;
            content: " ";
            border-right-color: #fff;
            border-left-width: 0
        }

    .popover.bottom > .arrow {
        top: -11px;
        left: 50%;
        margin-left: -11px;
        border-top-width: 0;
        border-bottom-color: #999;
        border-bottom-color: rgba(0,0,0,.25)
    }

        .popover.bottom > .arrow:after {
            top: 1px;
            margin-left: -10px;
            content: " ";
            border-top-width: 0;
            border-bottom-color: #fff
        }

    .popover.left > .arrow {
        top: 50%;
        right: -11px;
        margin-top: -11px;
        border-right-width: 0;
        border-left-color: #999;
        border-left-color: rgba(0,0,0,.25)
    }

        .popover.left > .arrow:after {
            right: 1px;
            bottom: -10px;
            content: " ";
            border-right-width: 0;
            border-left-color: #fff
        }

.popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-radius: 5px 5px 0 0
}

.popover-content {
    padding: 9px 14px
}

.carousel {
    position: relative
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

    .carousel-inner > .item {
        position: relative;
        display: none;
        -webkit-transition: .6s ease-in-out left;
        -o-transition: .6s ease-in-out left;
        transition: .6s ease-in-out left
    }

        .carousel-inner > .item > a > img, .carousel-inner > .item > img {
            line-height: 1
        }

@media all and (transform-3d),(-webkit-transform-3d) {
    .carousel-inner > .item {
        -webkit-transition: -webkit-transform .6s ease-in-out;
        -o-transition: -o-transform .6s ease-in-out;
        transition: -webkit-transform .6s ease-in-out;
        transition: transform .6s ease-in-out;
        transition: transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        perspective: 1000px
    }

        .carousel-inner > .item.active.right, .carousel-inner > .item.next {
            -webkit-transform: translate3d(100%,0,0);
            transform: translate3d(100%,0,0);
            left: 0
        }

        .carousel-inner > .item.active.left, .carousel-inner > .item.prev {
            -webkit-transform: translate3d(-100%,0,0);
            transform: translate3d(-100%,0,0);
            left: 0
        }

            .carousel-inner > .item.active, .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right {
                -webkit-transform: translate3d(0,0,0);
                transform: translate3d(0,0,0);
                left: 0
            }
}

.carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev {
    display: block
}

.carousel-inner > .active {
    left: 0
}

.carousel-inner > .next, .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%
}

.carousel-inner > .next {
    left: 100%
}

.carousel-inner > .prev {
    left: -100%
}

    .carousel-inner > .next.left, .carousel-inner > .prev.right {
        left: 0
    }

.carousel-inner > .active.left {
    left: -100%
}

.carousel-inner > .active.right {
    left: 100%
}

.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.6);
    background-color: rgba(0,0,0,0);
    filter: alpha(opacity=50);
    opacity: .5
}

    .carousel-control.left {
        background-image: -webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
        background-image: -o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
        background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));
        background-image: linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
        background-repeat: repeat-x
    }

    .carousel-control.right {
        right: 0;
        left: auto;
        background-image: -webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
        background-image: -o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
        background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));
        background-image: linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
        background-repeat: repeat-x
    }

    .carousel-control:focus, .carousel-control:hover {
        color: #fff;
        text-decoration: none;
        outline: 0;
        filter: alpha(opacity=90);
        opacity: .9
    }

    .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev {
        position: absolute;
        top: 50%;
        z-index: 5;
        display: inline-block;
        margin-top: -10px
    }

    .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
        left: 50%;
        margin-left: -10px
    }

    .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
        right: 50%;
        margin-right: -10px
    }

    .carousel-control .icon-next, .carousel-control .icon-prev {
        width: 20px;
        height: 20px;
        font-family: serif;
        line-height: 1
    }

        .carousel-control .icon-prev:before {
            content: "\2039"
        }

        .carousel-control .icon-next:before {
            content: "\203a"
        }

.carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none
}

    .carousel-indicators li {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 1px;
        text-indent: -999px;
        cursor: pointer;
        background-color: #000\9;
        background-color: rgba(0,0,0,0);
        border: 1px solid #fff;
        border-radius: 10px
    }

    .carousel-indicators .active {
        width: 12px;
        height: 12px;
        margin: 0;
        background-color: #fff
    }

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.6)
}

    .carousel-caption .btn {
        text-shadow: none
    }

@media screen and (min-width:768px) {
    .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev {
        width: 30px;
        height: 30px;
        margin-top: -10px;
        font-size: 30px
    }

    .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
        margin-left: -10px
    }

    .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
        margin-right: -10px
    }

    .carousel-caption {
        right: 20%;
        left: 20%;
        padding-bottom: 30px
    }

    .carousel-indicators {
        bottom: 20px
    }
}

.btn-group-vertical > .btn-group:after, .btn-group-vertical > .btn-group:before, .btn-toolbar:after, .btn-toolbar:before, .clearfix:after, .clearfix:before, .container-fluid:after, .container-fluid:before, .container:after, .container:before, .dl-horizontal dd:after, .dl-horizontal dd:before, .form-horizontal .form-group:after, .form-horizontal .form-group:before, .modal-footer:after, .modal-footer:before, .modal-header:after, .modal-header:before, .nav:after, .nav:before, .navbar-collapse:after, .navbar-collapse:before, .navbar-header:after, .navbar-header:before, .navbar:after, .navbar:before, .pager:after, .pager:before, .panel-body:after, .panel-body:before, .row:after, .row:before {
    display: table;
    content: " "
}

.btn-group-vertical > .btn-group:after, .btn-toolbar:after, .clearfix:after, .container-fluid:after, .container:after, .dl-horizontal dd:after, .form-horizontal .form-group:after, .modal-footer:after, .modal-header:after, .nav:after, .navbar-collapse:after, .navbar-header:after, .navbar:after, .pager:after, .panel-body:after, .row:after {
    clear: both
}

.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto
}

.pull-right {
    float: right !important
}

.pull-left {
    float: left !important
}

.hide {
    display: none !important
}

.show {
    display: block !important
}

.invisible {
    visibility: hidden
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0
}

.hidden {
    display: none !important
}

.affix {
    position: fixed
}

@-ms-viewport {
    width: device-width
}

.visible-lg, .visible-md, .visible-sm, .visible-xs {
    display: none !important
}

.visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block {
    display: none !important
}

@media (max-width:767px) {
    .visible-xs {
        display: block !important
    }

    table.visible-xs {
        display: table !important
    }

    tr.visible-xs {
        display: table-row !important
    }

    td.visible-xs, th.visible-xs {
        display: table-cell !important
    }
}

@media (max-width:767px) {
    .visible-xs-block {
        display: block !important
    }
}

@media (max-width:767px) {
    .visible-xs-inline {
        display: inline !important
    }
}

@media (max-width:767px) {
    .visible-xs-inline-block {
        display: inline-block !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm {
        display: block !important
    }

    table.visible-sm {
        display: table !important
    }

    tr.visible-sm {
        display: table-row !important
    }

    td.visible-sm, th.visible-sm {
        display: table-cell !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-block {
        display: block !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline {
        display: inline !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline-block {
        display: inline-block !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md {
        display: block !important
    }

    table.visible-md {
        display: table !important
    }

    tr.visible-md {
        display: table-row !important
    }

    td.visible-md, th.visible-md {
        display: table-cell !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-block {
        display: block !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline {
        display: inline !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline-block {
        display: inline-block !important
    }
}

@media (min-width:1200px) {
    .visible-lg {
        display: block !important
    }

    table.visible-lg {
        display: table !important
    }

    tr.visible-lg {
        display: table-row !important
    }

    td.visible-lg, th.visible-lg {
        display: table-cell !important
    }
}

@media (min-width:1200px) {
    .visible-lg-block {
        display: block !important
    }
}

@media (min-width:1200px) {
    .visible-lg-inline {
        display: inline !important
    }
}

@media (min-width:1200px) {
    .visible-lg-inline-block {
        display: inline-block !important
    }
}

@media (max-width:767px) {
    .hidden-xs {
        display: none !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .hidden-sm {
        display: none !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .hidden-md {
        display: none !important
    }
}

@media (min-width:1200px) {
    .hidden-lg {
        display: none !important
    }
}

.visible-print {
    display: none !important
}

@media print {
    .visible-print {
        display: block !important
    }

    table.visible-print {
        display: table !important
    }

    tr.visible-print {
        display: table-row !important
    }

    td.visible-print, th.visible-print {
        display: table-cell !important
    }
}

.visible-print-block {
    display: none !important
}

@media print {
    .visible-print-block {
        display: block !important
    }
}

.visible-print-inline {
    display: none !important
}

@media print {
    .visible-print-inline {
        display: inline !important
    }
}

.visible-print-inline-block {
    display: none !important
}

@media print {
    .visible-print-inline-block {
        display: inline-block !important
    }
}

@media print {
    .hidden-print {
        display: none !important
    }
}
/*# sourceMappingURL=bootstrap.min.css.map */

/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

.btn-danger, .btn-default, .btn-info, .btn-primary, .btn-success, .btn-warning {
    text-shadow: 0 -1px 0 rgba(0,0,0,.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)
}

    .btn-danger.active, .btn-danger:active, .btn-default.active, .btn-default:active, .btn-info.active, .btn-info:active, .btn-primary.active, .btn-primary:active, .btn-success.active, .btn-success:active, .btn-warning.active, .btn-warning:active {
        -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
        box-shadow: inset 0 3px 5px rgba(0,0,0,.125)
    }

    .btn-danger.disabled, .btn-danger[disabled], .btn-default.disabled, .btn-default[disabled], .btn-info.disabled, .btn-info[disabled], .btn-primary.disabled, .btn-primary[disabled], .btn-success.disabled, .btn-success[disabled], .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-danger, fieldset[disabled] .btn-default, fieldset[disabled] .btn-info, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-warning {
        -webkit-box-shadow: none;
        box-shadow: none
    }

    .btn-danger .badge, .btn-default .badge, .btn-info .badge, .btn-primary .badge, .btn-success .badge, .btn-warning .badge {
        text-shadow: none
    }

.btn.active, .btn:active {
    background-image: none
}

.btn-default {
    background-image: -webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);
    background-image: -o-linear-gradient(top,#fff 0,#e0e0e0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));
    background-image: linear-gradient(to bottom,#fff 0,#e0e0e0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #dbdbdb;
    text-shadow: 0 1px 0 #fff;
    border-color: #ccc
}

    .btn-default:focus, .btn-default:hover {
        background-color: #e0e0e0;
        background-position: 0 -15px
    }

    .btn-default.active, .btn-default:active {
        background-color: #e0e0e0;
        border-color: #dbdbdb
    }

    .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {
        background-color: #e0e0e0;
        background-image: none
    }

.btn-primary {
    background-image: -webkit-linear-gradient(top,#337ab7 0,#265a88 100%);
    background-image: -o-linear-gradient(top,#337ab7 0,#265a88 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));
    background-image: linear-gradient(to bottom,#337ab7 0,#265a88 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #245580
}

    .btn-primary:focus, .btn-primary:hover {
        background-color: #265a88;
        background-position: 0 -15px
    }

    .btn-primary.active, .btn-primary:active {
        background-color: #265a88;
        border-color: #245580
    }

    .btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover {
        background-color: #265a88;
        background-image: none
    }

.btn-success {
    background-image: -webkit-linear-gradient(top,#5cb85c 0,#419641 100%);
    background-image: -o-linear-gradient(top,#5cb85c 0,#419641 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));
    background-image: linear-gradient(to bottom,#5cb85c 0,#419641 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #3e8f3e
}

    .btn-success:focus, .btn-success:hover {
        background-color: #419641;
        background-position: 0 -15px
    }

    .btn-success.active, .btn-success:active {
        background-color: #419641;
        border-color: #3e8f3e
    }

    .btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover {
        background-color: #419641;
        background-image: none
    }

.btn-info {
    background-image: -webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);
    background-image: -o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));
    background-image: linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #28a4c9
}

    .btn-info:focus, .btn-info:hover {
        background-color: #2aabd2;
        background-position: 0 -15px
    }

    .btn-info.active, .btn-info:active {
        background-color: #2aabd2;
        border-color: #28a4c9
    }

    .btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover {
        background-color: #2aabd2;
        background-image: none
    }

.btn-warning {
    background-image: -webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);
    background-image: -o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));
    background-image: linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #e38d13
}

    .btn-warning:focus, .btn-warning:hover {
        background-color: #eb9316;
        background-position: 0 -15px
    }

    .btn-warning.active, .btn-warning:active {
        background-color: #eb9316;
        border-color: #e38d13
    }

    .btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover {
        background-color: #eb9316;
        background-image: none
    }

.btn-danger {
    background-image: -webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);
    background-image: -o-linear-gradient(top,#d9534f 0,#c12e2a 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));
    background-image: linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #b92c28
}

    .btn-danger:focus, .btn-danger:hover {
        background-color: #c12e2a;
        background-position: 0 -15px
    }

    .btn-danger.active, .btn-danger:active {
        background-color: #c12e2a;
        border-color: #b92c28
    }

    .btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover {
        background-color: #c12e2a;
        background-image: none
    }

.img-thumbnail, .thumbnail {
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.075);
    box-shadow: 0 1px 2px rgba(0,0,0,.075)
}

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
    background-image: -webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);
    background-image: -o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));
    background-image: linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
    background-repeat: repeat-x;
    background-color: #e8e8e8
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
    background-image: -webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);
    background-image: -o-linear-gradient(top,#337ab7 0,#2e6da4 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));
    background-image: linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
    background-repeat: repeat-x;
    background-color: #2e6da4
}

.navbar-default {
    background-image: -webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);
    background-image: -o-linear-gradient(top,#fff 0,#f8f8f8 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));
    background-image: linear-gradient(to bottom,#fff 0,#f8f8f8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)
}

    .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .open > a {
        background-image: -webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);
        background-image: -o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);
        background-image: -webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));
        background-image: linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
        background-repeat: repeat-x;
        -webkit-box-shadow: inset 0 3px 9px rgba(0,0,0,.075);
        box-shadow: inset 0 3px 9px rgba(0,0,0,.075)
    }

.navbar-brand, .navbar-nav > li > a {
    text-shadow: 0 1px 0 rgba(255,255,255,.25)
}

.navbar-inverse {
    background-image: -webkit-linear-gradient(top,#3c3c3c 0,#222 100%);
    background-image: -o-linear-gradient(top,#3c3c3c 0,#222 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));
    background-image: linear-gradient(to bottom,#3c3c3c 0,#222 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    border-radius: 4px
}

    .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .open > a {
        background-image: -webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);
        background-image: -o-linear-gradient(top,#080808 0,#0f0f0f 100%);
        background-image: -webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));
        background-image: linear-gradient(to bottom,#080808 0,#0f0f0f 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
        background-repeat: repeat-x;
        -webkit-box-shadow: inset 0 3px 9px rgba(0,0,0,.25);
        box-shadow: inset 0 3px 9px rgba(0,0,0,.25)
    }

    .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a {
        text-shadow: 0 -1px 0 rgba(0,0,0,.25)
    }

.navbar-fixed-bottom, .navbar-fixed-top, .navbar-static-top {
    border-radius: 0
}

@media (max-width:767px) {
    .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover {
        color: #fff;
        background-image: -webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);
        background-image: -o-linear-gradient(top,#337ab7 0,#2e6da4 100%);
        background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));
        background-image: linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
        background-repeat: repeat-x
    }
}

.alert {
    text-shadow: 0 1px 0 rgba(255,255,255,.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)
}

.alert-success {
    background-image: -webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);
    background-image: -o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));
    background-image: linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
    background-repeat: repeat-x;
    border-color: #b2dba1
}

.alert-info {
    background-image: -webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);
    background-image: -o-linear-gradient(top,#d9edf7 0,#b9def0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));
    background-image: linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
    background-repeat: repeat-x;
    border-color: #9acfea
}

.alert-warning {
    background-image: -webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);
    background-image: -o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));
    background-image: linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
    background-repeat: repeat-x;
    border-color: #f5e79e
}

.alert-danger {
    background-image: -webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);
    background-image: -o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));
    background-image: linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
    background-repeat: repeat-x;
    border-color: #dca7a7
}

.progress {
    background-image: -webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);
    background-image: -o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));
    background-image: linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar {
    background-image: -webkit-linear-gradient(top,#337ab7 0,#286090 100%);
    background-image: -o-linear-gradient(top,#337ab7 0,#286090 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));
    background-image: linear-gradient(to bottom,#337ab7 0,#286090 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar-success {
    background-image: -webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);
    background-image: -o-linear-gradient(top,#5cb85c 0,#449d44 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));
    background-image: linear-gradient(to bottom,#5cb85c 0,#449d44 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar-info {
    background-image: -webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);
    background-image: -o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));
    background-image: linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar-warning {
    background-image: -webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);
    background-image: -o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));
    background-image: linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar-danger {
    background-image: -webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);
    background-image: -o-linear-gradient(top,#d9534f 0,#c9302c 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));
    background-image: linear-gradient(to bottom,#d9534f 0,#c9302c 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
    background-repeat: repeat-x
}

.progress-bar-striped {
    background-image: -webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: -o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)
}

.list-group {
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.075);
    box-shadow: 0 1px 2px rgba(0,0,0,.075)
}

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
    text-shadow: 0 -1px 0 #286090;
    background-image: -webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);
    background-image: -o-linear-gradient(top,#337ab7 0,#2b669a 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));
    background-image: linear-gradient(to bottom,#337ab7 0,#2b669a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
    background-repeat: repeat-x;
    border-color: #2b669a
}

    .list-group-item.active .badge, .list-group-item.active:focus .badge, .list-group-item.active:hover .badge {
        text-shadow: none
    }

.panel {
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
    box-shadow: 0 1px 2px rgba(0,0,0,.05)
}

.panel-default > .panel-heading {
    background-image: -webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);
    background-image: -o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));
    background-image: linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
    background-repeat: repeat-x
}

.panel-primary > .panel-heading {
    background-image: -webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);
    background-image: -o-linear-gradient(top,#337ab7 0,#2e6da4 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));
    background-image: linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
    background-repeat: repeat-x
}

.panel-success > .panel-heading {
    background-image: -webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);
    background-image: -o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));
    background-image: linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
    background-repeat: repeat-x
}

.panel-info > .panel-heading {
    background-image: -webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);
    background-image: -o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));
    background-image: linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
    background-repeat: repeat-x
}

.panel-warning > .panel-heading {
    background-image: -webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);
    background-image: -o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));
    background-image: linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
    background-repeat: repeat-x
}

.panel-danger > .panel-heading {
    background-image: -webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);
    background-image: -o-linear-gradient(top,#f2dede 0,#ebcccc 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));
    background-image: linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
    background-repeat: repeat-x
}

.well {
    background-image: -webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);
    background-image: -o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));
    background-image: linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
    background-repeat: repeat-x;
    border-color: #dcdcdc;
    -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);
    box-shadow: inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)
}
/*# sourceMappingURL=bootstrap-theme.min.css.map */

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.428571429;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  background-color: #eeeeee;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  cursor: default;
  background-color: #428bca;
  border-color: #428bca;
}

.pagination > .disabled > span,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #999999;
  cursor: not-allowed;
  background-color: #ffffff;
  border-color: #dddddd;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.pager .next > a,
.pager .next > span {
  float: right;
}

.pager .previous > a,
.pager .previous > span {
  float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999999;
  cursor: not-allowed;
  background-color: #ffffff;
}

html {

    height: 100%;

}

body 
{

    padding-top: 50px;
    padding-bottom: 0px;

}

footer 
{

    padding-bottom: 10px;

}

/* Set padding to keep content from hitting the edges */
.body-content {
    height: calc(100vh - 50px);
    max-height: calc(100vh - 50px);
    /* dvh = den hoejde der FAKTISK er synlig (mobilens adresselinje taeller ikke med). */
    height: calc(100dvh - 50px);
    max-height: calc(100dvh - 50px);
}

/* Footeren skal sidde i BUNDEN - ikke midt paa siden (Mads 8/8).
   .body-content trak 50px fra for navbaren (som er fixed), mens .containsBody trak 214px
   fra for navbar OG footer. De to regnestykker var uenige, og forskellen blev til et
   tomrum under footeren. Her fordeles pladsen i stedet: indholdet tager det der er, og
   footeren fylder praecis sig selv. Saa er der ingen tal at holde synkroniseret. */
@media screen {
    .body-content {
        display: flex;
        flex-direction: column;
    }

    .body-content > * {
        flex: 0 0 auto;
    }

    .body-content > .containsBody {
        flex: 1 1 auto;
        min-height: 0;
    }
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt 
{

    white-space: normal;

}

div.table-full-page-search-over {
    height: calc(100vh - 114px - 80px - 110px);
    overflow: auto;
    width: 100%;
    position: relative;
    border-bottom: 0px solid #ddd;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}

.container.body-content {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
    width: 100% !important;
    max-width: 100% !important;
}



@media (max-width: 499px) {

    .containsBody {
        position: relative;
        height: calc(100vh - 94px);
        max-height: calc(100vh - 94px);
        min-height: 500px;
        width: 100%;
        min-width:200px;
        padding-left: 15px;
        padding-right: 15px;
        margin-left: 0px;
        margin-right: 0px;
        overflow-y: auto;
    }

}

@media (min-width: 500px) {

    .containsBody {
        position: relative;
        height: calc(100vh - 94px);
        max-height: calc(100vh - 94px);
        min-height: 500px;
        width: 100% !important;
        max-width: calc(100%);
        padding-left: 30px;
        padding-right: 30px;
        margin-left: 0px;
        margin-right: 0px;
        overflow-y: auto;
    }

}

    .footer {
        left: 10px;
        width: calc(100% - 20px);
        height: 30px;
        position: relative;
        bottom: 0px;
        overflow-y: auto;
    }

    .body-menu {
        
        min-height:80px;
        padding-bottom: 10px;
        margin-top:20px;

    }

        .body-menu h2{

            font-weight: bold;

        }

.body-data {
    height: calc(100vh - 124px - 90px);
    max-height: calc(100vh - 124px - 90px);
    overflow-x:hidden;
}

/* DOBBELT LODRET SCROLL - RODAARSAGEN (Mads 7/8).

   Hoejden ovenfor er et GAET paa hvad der staar over .body-data. Hver gang en side fik et
   element mere i toppen - en broedkrumme, en pager, en besked - passede tallet ikke laengere,
   og siden fik sin egen scrollbar oven i panelets. Det er praecis den "stoej" der flytter
   rundt paa alt: hver ny side skulle huske at kompensere, og fire sider havde hver sin
   lokale kopi af regnestykket.

   Loesningen er at holde op med at gaette: .containsBody bliver en flex-kolonne med den
   plads der faktisk er, og .body-data tager HVAD DER ER TILBAGE. Saa er det ligegyldigt hvor
   meget der staar over den. Det magiske tal staar nu ét sted og daekker kun navbar og footer,
   som altid er der og altid er lige hoeje.

   Moenstret er afproevet i appen i forvejen (projekternes prisaftale-sider). Kun paa skaerm:
   ved print skal indholdet floede frit over flere sider. */
@media screen {
    .containsBody {
        display: flex;
        flex-direction: column;
        /* INGEN fast hoejde: .body-content fordeler pladsen, og denne tager sin del.
           Det gamle calc(100vh - 124px - 90px) var et gaet paa navbar + footer, og det
           gaet stemte ikke med .body-content's eget - deraf tomrummet under footeren. */
        min-height: 0;
    }

    /* Alt over datapanelet fylder praecis sin egen hoejde ... */
    .containsBody > * {
        flex: 0 0 auto;
    }

    /* _only_div_Layout laegger sit indhold i en .container-fluid, og Bootstrap giver den
       margin-left/right:auto. I en FLEX-boks ophaever auto-margins stretch og CENTRERER
       i stedet - og saa stod en side med smalt indhold (fx en tom liste) midt paa
       skaermen, mens en side med en bred tabel saa rigtig ud. Det rammer alle ~75 sider
       der bruger det layout; det var bare kun synligt naar indholdet var smalt. */
    .containsBody > [data-rlsd-pagecontext] {
        align-self: stretch;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* ... og datapanelet tager resten. min-height:0 er noedvendig, ellers naegter en
       flex-boks at blive mindre end sit indhold, og scrollen havner det forkerte sted. */
    .containsBody > .body-data,
    .body-data {
        flex: 1 1 auto;
        height: auto;
        max-height: none;
        min-height: 0;
        overflow-y: auto;
    }
}

/* Budgetstriben paa fakturaen: fylder sin egen hoejde og kraever ikke en andel af
   den ledige plads. Den havde klassen .body-data og delte derfor hoejden med selve
   fakturahovedet - to "tag resten"-paneler paa samme side giver et tomrum, der
   vokser og skrumper med vinduet. */
.rlsd-sibudget-host {
    flex: 0 0 auto;
    /* Striben laa klods op ad fakturahovedet nedenunder (Mads 08-09-2026). En ramme
       uden luft under sig laeses som en del af det, der foelger efter. */
    margin-bottom: 14px;
}

/* Overskriften "Fakturalinjer" og Tilfoej-knappen paa samme linje. Knappen hoerer til
   linjerne, ikke til vaerktoejslinjen oeverst, og skal derfor staa dér oejet er. */
.rlsd-inv-lines-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 6px;
}

    .rlsd-inv-lines-head h3 {
        margin: 0;
    }

.rlsd-inv-lines-none {
    font-style: italic;
}

/* MOBIL: lad siden scrolle, ikke et panel inde i siden.
   Et fastlaast panel med sin egen scroll er rigtigt paa en stor skaerm, hvor menuen skal
   blive staaende. Paa en telefon er det forkert: man faar et lille vindue at kigge gennem,
   browserens adresselinje skjuler sig ikke naar man ruller, og "scroll til bunden" rammer
   panelet i stedet for siden. Her slaas hoejdelaasen fra, saa hele siden opfoerer sig som
   en almindelig side. */
@media screen and (max-width: 767px) {
    .containsBody {
        display: block;
        height: auto;
        max-height: none;
    }

    .containsBody > .body-data,
    .body-data {
        height: auto;
        max-height: none;
        overflow-y: visible;
    }

    /* Brede tabeller skal kunne skubbes vandret UDEN at hele siden goer det. */
    .rlsd-table-wrap,
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Knapper og felter skal kunne rammes med en finger (~44px anbefales). */
    .body-menu .btn,
    .body-menu .form-control {
        min-height: 38px;
    }
}

@media print {

    .body-data {
        height: 100%;
        max-height: 100%;
        overflow-x: visible;
    }

    .containsBody {
        position: relative;
        height: 100%;
        max-height: 100%;
        min-height: 500px;
        width: 100% !important;
        max-width: calc(100%);
        padding-left: 30px;
        padding-right: 30px;
        margin-left: 0px;
        margin-right: 0px;
        overflow-y: visible;
    }
}


@media (max-width: 1200px) {

    .navbar > .container {
        width: 100% !important;
        max-width:calc(100%);
    }
}


@media (min-width: 1150px) and (max-width: 1200px) {

    .navbar-right {
        font-size: 13px;
    }
}

@media (min-width: 1000px) and (max-width: 1149px) {

    .navbar-right {
        font-size: 12px;
    }
}

@media (min-width: 768px) and (max-width: 999px) {

    .navbar-right {
        font-size: 11px;
    }
}

@media (min-width: 768px) {

    .dropdown button.dropdown-toggle {
        width: 100%;
        text-align: left;
        height: 42px;
    }

    .dropdown a.dropdown-toggle {
        width: 100%;
        text-align: left;
        line-height: 28px;
        vertical-align: middle;
        display: block;

    }

    div.dropdown {

        height:100%;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-left: 2px;
        padding-right: 2px;

    }

    div.dropdown.dropdown:hover .dropdown-menu {
        display: block;
    }

    .dropdown-menu {
        margin-top: 0px !important;
    }

    .nav.navbar-nav.flex{

        height: 54px;

    }

}

@media (max-width: 767px) {

    .navbar-right {
        font-size: 14px;
    }

    .dropdown > button.dropdown-toggle {
        width: 100%;
        text-align: left;
        height: 44px;
    }

    div.dropdown{

        padding-top:5px;
        padding-bottom:5px;
        padding-left:5px;
        padding-right:5px;
        
    }
}


@media print {
   
    @page {
        /*size: A4;*/ /* DIN A4 standard, Europe */
        margin: 25px 15px 15px 25px;
        counter-increment: page;


        @bottom-right {
            /*height: 25px;*/ /* Constrain the height */
            border-top: 1px solid #000000;
/*            padding: 5px;*/
            padding-right: 20px;
            font-size: 12px !important;
            color: black;
            content: "Side " counter(page) " af " counter(pages);
        }

        @bottom-left {
            /*height: 25px;*/ /* Constrain the height */
/*            padding: 5px;*/
            font-size: 12px !important;
            color: black;
            content: "Printet fra RL-books";
            border-top: 1px solid #000000;
        }
    }

    @page :first {
        margin: 10px 15px 15px 25px;                
    }

    .hidden-print {
        display: none !important;
    }

    .show-print {
        display: block !important;
    }

    a[href]:after {
        content: none !important;
    }

    img[src]:after {
        content: none !important;
    }

    button {
        display: none;
    }
}

.required:after {
    content: "*";
    font-weight: bold;
    color: red;
}

.modal-footer > a .btn-success {
    color: white;
}

body.modal-open {
    padding-right: 0px !important;
    overflow: unset !important;
}

.modal {
    padding-right: 0px !important;
}

.modal-content textarea{

    width: 100% !important;

}

.modal-content div.col-md-10 {
    width: 83.33333333%;
}

.modal-content label.col-md-2 {
    width: 16.66666667%;
}

.modal-content label.col-md-10 {
    width: 83.33333333%;
}

.modal-content div.col-md-2 {
    width: 16.66666667%;
}

.navbar {
    padding-right: 0px !important;
}

.dropbtn {
    background-color: transparent;
    color: #9d9d9d;
    padding: 15px;
    font-size: 14px;
    border: none;
    text-decoration: none;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
    position: relative;
    display: inline-block;

}

@media only screen and (max-width: 849px) {

    .menu_text_hidden {
        display: none;
    }

    .menu_icon_hidden {
        display: inline-block;
    }

}

@media only screen and (min-width: 850px) {

    .menu_text_hidden {
        display: inline-block;
    }

    .menu_icon_hidden {
        display: none;
    }
    
}

@media only screen and (max-width: 767px) {

    .dropdown.dropbtn > .menu_text {
        display: inline-block;
    }

    .dropdown.dropbtn > .menu_icon {
        display: inline-block;
    }

    .dropdown {
        width: 100%;
        display: inline-block;
        vertical-align: middle;
        text-align: left;
    }

    .dropdown-content {
        display: none;
        position: absolute;
        background-color: #333333;
        min-width: 100%;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        z-index: 1;
    }


}

@media only screen and (max-width: 1100px) and (min-width: 768px){

    .dropdown span.menu_text {
        display: none;
    }

    .dropdown.dropbtn > .menu_text {
        display: none;
    }

    .dropdown.dropbtn > .menu_icon {
        display: inline-block;
    }
}

@media only screen and (min-width: 1101px) {

    .dropdown.dropbtn > .menu_text {
        display: inline-block;
    }

    .dropdown.dropbtn > .menu_icon {
        display: inline-block;
    }

}

a.dropdown-content {
    padding: 5px;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #333333;
    min-width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

        /* Links inside the dropdown */
        .dropdown-content a {
            padding: 10px;
            text-decoration: none;
            display: block;
            color: #9d9d9d;
        }

            /* Change color of dropdown links on hover */
            .dropdown-content a:hover {
                color: white;
                background-color: green;
            }

            .dropdown-content a:link {
                color: #9d9d9d;
            }

            .dropdown-content a:visited {
                color: #9d9d9d;
            }

                .dropdown-content a:visited:hover {
                    color: white;
                }

    .dataTable > tbody > tr {
        cursor: pointer;
    }

    /* Show the dropdown menu on hover */
    .dropdown:hover .dropdown-content {
        display: block;
    }

    /* Change the background color of the dropdown button when the dropdown content is shown */
    .dropdown:hover .dropbtn {
        background-color: darkslategrey;
        color: white;
    }

    .loader {
        border: 16px solid #f3f3f3;
        border-radius: 50%;
        border-top: 16px solid blue;
        border-bottom: 16px solid blue;
        width: 120px;
        height: 120px;
        -webkit-animation: spin 2s linear infinite;
        animation: spin 2s linear infinite;

    }

.loadingSite {
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid blue;
    border-bottom: 16px solid blue;
    width: 300px;
    height: 300px;
    top: calc(50% - 150px);
    left: calc(50% - 150px);
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    position: absolute;
    z-index: 10;
}

.containsBodyHide {
    z-index: 5;
    background-color: white;
    position:fixed !important;
    top:54px;
}

.containsModalHide {
    z-index: 5;
    background-color: white;
}


@-webkit-keyframes spin {
    0% {
            -webkit-transform: rotate(0deg);
        }

        100% {
            -webkit-transform: rotate(360deg);
        }
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    /* Style buttons */
    .buttonload {
        background-color: #4CAF50; /* Green background */
        border: none; /* Remove borders */
        color: white; /* White text */
        padding: 12px 16px; /* Some padding */
        font-size: 16px /* Set a font size */
    }

    button > .fa {
        margin-left: -5px;
        margin-right: 8px;
    }

    .table > tbody > tr:hover {
        background-color: #bfbfbf;
    }


    a.btn.btn-disable {
        background-color: lightgray;
        border-color: lightgray;
        color: white;
    }

        a.btn.btn-disable:hover {
            background-color: slategray;
            border-color: slategray;
            color: white;
        }

    @media only screen and (min-width: 370px) {

        .login-box {
            width: 300px;
            max-width: calc(100vw);
            min-width: 190px;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            color: rgba(69,125,50,1);
            padding-bottom: 20px;
        }

            .login-box h2 {
                float: left;
                color: black;
                font-size: 40px;
                border-bottom: 6px solid rgba(69,125,50,1);
                margin-bottom: 50px;
                padding: 13px 0;
            }

        .login-box-textbox {
            width: 100%;
            
            overflow: hidden;
            font-size: 20px;
            padding: 8px 0;
            margin: 8px 0;
            border-bottom: 1px solid rgba(69,125,50,1);
        }

            .login-box-textbox i {
                width: 26px;
                float: left;
                text-align: center;
            }

            .login-box-textbox input {
                border: none;
                outline: none;
                background: none;
                background-color: white;
                color: black;
                font-size: 14px;
                width: calc(100% - 46px);
                float: left;
                margin: 0 10px;
            }

        .login-box .btn {
            background: none;
            border: 2px solid rgba(69,125,50,1);
            color: black;
            font-size: 18px;
            padding: 5px;
            cursor: pointer;
            width: 100%;
            margin: 12px 0;
            align-items: center;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%,0%);
            transition: 0.3s;
        }

            .login-box .btn:hover {
                background-color: rgba(69,125,50,1);
                color: white;
            }

        /* Login box checkbox styles */
        .login-box-checkbox {
            display: flex;
            align-items: center;
            margin: 15px 0;
        }

        .login-box-checkbox .checkbox-label {
            display: flex;
            align-items: center;
            cursor: pointer;
            font-size: 14px;
            color: #333;
            margin: 0;
            user-select: none;
        }

        .login-box-checkbox .remember-me-checkbox {
            margin-right: 8px;
            transform: scale(1.2);
        }

        .login-box-checkbox .remember-me-checkbox:checked {
            accent-color: #457d32;
        }
    }

    @media only screen and (max-width: 369px) {

        .login-box {
            width: 100%;
            min-width: 190px;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            color: rgba(69,125,50,1);
            padding-bottom: 20px;
        }

            .login-box h2 {
                float: left;
                color: black;
                font-size: 40px;
                border-bottom: 6px solid rgba(69,125,50,1);
                margin-bottom: 50px;
                padding: 13px 0;
            }

        .login-box-textbox {
            width: 100%;
            overflow: hidden;
            font-size: 20px;
            padding: 8px 0;
            margin: 8px 0;
            border-bottom: 1px solid rgba(69,125,50,1);
        }

            .login-box-textbox i {
                width: 26px;
                float: left;
                text-align: center;
            }

            .login-box-textbox input {
                border: none;
                outline: none;
                background: none;
                background-color: white;
                color: black;
                font-size: 14px;
                width: calc(100% - 46px);
                float: left;
                margin: 0 10px;
            }

        .login-box .btn {
            background: none;
            border: 2px solid rgba(69,125,50,1);
            color: black;
            font-size: 18px;
            padding: 5px;
            cursor: pointer;
            width: 100%;
            margin: 12px 0;
            align-items: center;
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%,0%);
            transition: 0.3s;
        }

            .login-box .btn:hover {
                background-color: rgba(69,125,50,1);
                color: white;
            }
    }

    /*<--  Language selector  -->*/

    .lang-menu {
        /*position: relative;
    float: right;*/
    }


    .selected-lang {
        cursor: pointer;
        display: flex;
        /*justify-content: space-between;*/
        line-height: 50px;
        width: 80px;
        color: #9d9d9d;
        vertical-align: middle;
        text-align: right;
        text-transform: capitalize;
    }

        .selected-lang:hover {
            color: white;
            cursor: pointer;
        }

        .selected-lang:before {
            content: '';
            display: block;
            width: 32px;
            padding: 5px 10px;
            background-repeat: no-repeat;
            background-position: center;
            vertical-align: middle;
            margin-right: 10px;
        }

        .selected-lang.da-DK:before {
            background-image: url('../Images/denmark-flag-icon-32.png');
        }

        .selected-lang.en-US:before {
            background-image: url('../Images/united-states-of-america-flag-icon-32.png');
        }

        .selected-lang.de-DE:before {
            background-image: url('../Images/germany-flag-icon-32.png');
        }

    @media (min-width: 768px) {


        .lang-menu ul {
            position: absolute;
            top: 50px;
            right: 0;
        }

            .lang-menu ul:hover {
                display: block;
            }

            .lang-menu ul li a {
                width: auto;
                min-width: 230px;
            }

        .nav.navbar-nav.flex {
            display: flex;
        }

        .selected-lang {
            height: 50px;
            padding-left: 15px;
            padding-right: 15px;
        }

            .selected-lang:before {
                margin: auto;
                height: 50px;
            }

            .selected-lang.da-DK:after {
                content: "\00a0 da";
            }

            .selected-lang.en-US:after {
                content: "\00a0 en";
            }

            .selected-lang.de-DE:after {
                content: "\00a0 de";
            }
    }

    @media (max-width: 767px) {

        div.dropdown a.dropdown-toggle {
            width: 100%;
            text-align: left;
            height: 44px;
            line-height: 30px;
            font-size: larger !important;
        }

        div.dropdown ul.dropdown-menu {
            position: relative;
            top: 2px;
            left: 30px;
            width: calc(100% - 30px);
        }

        div.dropdown ul.dropdown-menu li a {
            width: 100%;
            line-height: 30px;
            height: 44px;
            padding-top: 6px;
            padding-bottom: 6px;
            padding-left: 12px;
            padding-right: 12px;
            font-size: larger !important;
        }

        div.navbar-right ul li a {
            width: 100%;
            line-height: 30px;
            height: 44px;
            padding-top: 6px;
            padding-bottom: 6px;
            padding-left: 12px;
            padding-right: 12px;
            font-size: larger !important;
        }

        .lang-menu ul {
            position: relative;
            top: 0;
            right: 0;
        }

        .lang-menu ul li a {
            width: 100%;
        }

        .selected-lang {
            width: 100%;
            height: 40px;
            padding-left: 0px;
            padding-right: 15px;
        }

        .selected-lang:before {
            height: 40px;
        }

        .selected-lang.da-DK:after {
            content: "\00a0 Dansk (Danmark)";
            margin-top: -5px;
        }

        .selected-lang.en-US:after {
            content: "\00a0 English (United States)";
            margin-top: -5px;
        }

        .selected-lang.de-DE:after {
            content: "\00a0 de";
            margin-top: -5px;
        }

        .nav.navbar.flex {
            margin-bottom: 0px;
        }

        div.col-xs-12.col-sm-push-8.col-sm-4.text-right.imgContainer {
            text-align: center;
        }

    }

    .lang-menu ul {
        margin: 0;
        padding: 0;
        background-color: white;
        border: 1px solid #f8f8f8;
        box-shadow: 0px 1px 10px rgba(0,0,0,0.2);
        border-radius: 5px;
    }

        .lang-menu ul li {
            list-style: none;
            padding: 0;
        }

            .lang-menu ul li a {
                display: flex;
                align-items: center;
                white-space: nowrap;
                width: 100%;
                padding: 8px 14px;
                line-height: 32px;
                text-decoration: none;
                color: black;
            }

                .lang-menu ul li a:before {
                    content: '';
                    display: block;
                    flex: 0 0 32px;
                    height: 32px;
                    margin-right: 10px;
                    background-repeat: no-repeat;
                    background-position: center;
                }

                .lang-menu ul li a.da-DK:before {
                    background-image: url('../Images/denmark-flag-icon-32.png');
                }

                .lang-menu ul li a.en-US:before {
                    background-image: url('../Images/united-states-of-america-flag-icon-32.png');
                }

                .lang-menu ul li a.de-DE:before {
                    background-image: url('../Images/germany-flag-icon-32.png');
                }

                .lang-menu ul li a:hover {
                    background-color: #f2f2f2;
                }

.div_table > .div_table_row_costume > .div_table_column_2_costume > h3 
{
    font-weight: bold;
}

.div_table > .div_table_row_costume > .div_table_column_1_costume > h3 {
    font-weight: bold;
}

.div_table_row_costume::after {
    content: "";
    clear: both;
    display: table;
}

.div_table_column_2_costume {
    float: left;
    width: 50%;
    padding: 5px;
}

.div_table_column_1_costume {
    float: left;
    width: 100%;
    padding: 5px;
}

    @media(max-width: 500px) {
        .div_table_column_2_costume {
            width: 100%;
        }
    }

dl.dl-horizontal > dt{

    text-align: left;

}

.ui-autocomplete {
    max-height: 250px;
    overflow-y: auto;
    overflow-x:hidden;
}

.modal-body .body-data {
    height: calc(100vh - 124px - 250px);
}

/*input[type='checkbox'] {
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    background: white;
    border-radius: 5px;
    border: 2px solid #555;
}*/

input[type='date'] {
    max-width: initial;
    width:auto;
    text-align:left;
}



.checkboxDouble {
    zoom: 2;
    /*transform: scale(2);
    -ms-transform: scale(2);
    -webkit-transform: scale(2);
    -o-transform: scale(2);
    -moz-transform: scale(2);
    transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    -moz-transform-origin: 0 0;*/
}

div.body-data div.dataTables_scrollBody{

    max-height:350px;

}



div.navbar-collapse{

    max-height: calc(100vh - 50px) !important;

}


@media (max-width: 409px) {
    ul.ui-menu {
        max-width: calc(342px + 2em - 409px + 100vw - 5px);
    }

    div.modal-body input.custom-combobox-input {
        max-width: calc(342px - 409px + 100vw - 5px) !important;
    }

    div.modal-body textarea {
        min-width: 0px !important;
    }
}

@media (min-width: 410px) {
    ul.ui-menu {
        max-width: calc(342px + 2em);
    }

    div.modal-body input.custom-combobox-input {
        max-width: 338px !important;
    }

    
}

@media (min-width: 992px) {

    Div.modal-body input[type='date'] {
        float: right;
    }

    Div.modal-body input[type='number'] {
        float: right;
    }

    Div.modal-body form{

        width: 100%;

    }

}






/* ============================================================
   RLSD shared authentication pages (login / register / forgot)
   Full-width green backdrop + centered white card. Used by all
   auth views so they share ONE design.
   ============================================================ */
/* Klip scrollbar-bredde-overflow fra full-bleed-elementer (100vw > synlig bredde naar der er en
   lodret scrollbar). Lister/tabeller scroller i deres egen container, saa dette paavirker dem ikke. */
html { overflow-x: hidden; }

.rlsd-auth-wrap {
    /* Centrér kortet i det SYNLIGE areal. Tidligere brugte vi width:100vw + margin:calc(50%-50vw)
       for en kant-til-kant backdrop, men 100vw tæller den lodrette scrollbar med (~15px):
         (1) wrappen blev bredere end synligt -> vandret scroll (kun skjult af html{overflow-x:hidden}),
         (2) justify-content:center centrerede kortet om 100vw-midten -> kort + felter + knap stod
             ~7-8px til siden (skaevt).
       .container.body-content er allerede centreret, saa width:100% centrerer kortet korrekt i
       viewporten UDEN 100vw-overflow. Gradienten er naesten-hvid, saa container-bredde vs.
       kant-til-kant er visuelt umaerkeligt. */
    width: 100%;
    min-height: calc(100vh - 120px);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 6vh 12px 40px 12px;
    background: linear-gradient(180deg, #f7f9f6 0%, #eef2ec 100%);
}

.rlsd-auth-card {
    background: #fff;
    width: 100%;
    max-width: 400px;
    border: 1px solid #e3e8e0;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(35, 60, 25, 0.10), 0 2px 6px rgba(0, 0, 0, 0.04);
    padding: 34px 34px 26px 34px;
}

.rlsd-auth-logo {
    display: block;
    height: 72px;
    margin: 0 auto 10px auto;
}

.rlsd-auth-brand {
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    color: #2d3a27;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

    .rlsd-auth-brand span {
        color: #457d32;
    }

.rlsd-auth-sub {
    text-align: center;
    color: #8a9583;
    font-size: 13px;
    margin-bottom: 24px;
}

.rlsd-auth-field {
    margin-bottom: 14px;
}

    .rlsd-auth-field label {
        display: block;
        font-size: 12px;
        font-weight: 600;
        color: #55604f;
        margin-bottom: 5px;
        text-transform: uppercase;
        letter-spacing: 0.4px;
    }

    .rlsd-auth-field input[type="text"],
    .rlsd-auth-field input[type="email"],
    .rlsd-auth-field input[type="password"] {
        width: 100%;
        border: 1px solid #cfd8ca;
        border-radius: 8px;
        padding: 10px 12px;
        font-size: 14px;
        color: #222;
        background: #fbfcfa;
        outline: none;
        transition: border-color 0.15s, box-shadow 0.15s;
    }

        .rlsd-auth-field input[type="text"]:focus,
        .rlsd-auth-field input[type="email"]:focus,
        .rlsd-auth-field input[type="password"]:focus {
            border-color: #457d32;
            box-shadow: 0 0 0 3px rgba(69, 125, 50, 0.15);
            background: #fff;
        }

.rlsd-auth-remember {
    display: flex;
    align-items: center;
    margin: 4px 0 14px 0;
    font-size: 13px;
    color: #444;
    cursor: pointer;
    user-select: none;
}

    .rlsd-auth-remember input {
        margin: 0 8px 0 0;
        transform: scale(1.15);
        accent-color: #457d32;
    }

.rlsd-auth-captcha {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
    min-height: 78px;
}

.rlsd-auth-submit {
    width: 100%;
    background: #457d32;
    border: 1px solid #3c6d2b;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 11px 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}

    .rlsd-auth-submit:hover {
        background: #3c6d2b;
        color: #fff;
    }

.rlsd-auth-links {
    display: flex;
    justify-content: space-between;
    margin-top: 14px;
    font-size: 13px;
}

    .rlsd-auth-links a {
        color: #457d32;
        text-decoration: none;
    }

        .rlsd-auth-links a:hover {
            text-decoration: underline;
        }

.rlsd-auth-back {
    text-align: center;
    margin-top: 16px;
    font-size: 13px;
}

    .rlsd-auth-back a {
        color: #457d32;
        text-decoration: none;
    }

        .rlsd-auth-back a:hover {
            text-decoration: underline;
        }

.rlsd-auth-error {
    background: #fdecea;
    border: 1px solid #f5c6c2;
    color: #a5302b;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    margin-bottom: 14px;
}

    /* MVC's ValidationSummary renderer ALTID en container; uden fejl faar den klassen
       .validation-summary-valid (+ et skjult <ul><li>), saa :empty rammer den ikke og den
       tomme roede boks blev vist. Skjul baade tom OG "valid" (ingen fejl). */
    .rlsd-auth-error:empty,
    .rlsd-auth-error.validation-summary-valid {
        display: none;
        padding: 0;
        border: none;
    }

/* Collapsible external-login (Google / Microsoft) block */
.rlsd-auth-social {
    margin-top: 18px;
    border-top: 1px solid #eef1ec;
    padding-top: 12px;
}

    .rlsd-auth-social > summary {
        list-style: none;
        cursor: pointer;
        text-align: center;
        color: #55604f;
        font-size: 13px;
        font-weight: 600;
        padding: 6px 0;
        user-select: none;
    }

        .rlsd-auth-social > summary::-webkit-details-marker {
            display: none;
        }

        .rlsd-auth-social > summary:after {
            content: " \25BE";
            color: #9aa595;
        }

    .rlsd-auth-social[open] > summary:after {
        content: " \25B4";
    }

    .rlsd-auth-social hr {
        display: none;
    }

    .rlsd-auth-social button,
    .rlsd-auth-social .external-login-btn {
        width: 100%;
        border-radius: 8px;
    }

/* the collapsible <summary> already shows the heading - hide the partial's own title */
.rlsd-auth-social .external-login-title {
    display: none;
}
.rlsd-auth-social #socialLoginList {
    margin: 8px 0 0 0;
}

/* ============================================================
   Row delete feedback (used with rlsdDialog on list views).
   .rlsd-row-deleting  = accepted, request in flight, nothing clickable
   .rlsd-row-exploding = success, burst apart then removed by JS
   ============================================================ */
tr.rlsd-row-deleting {
    pointer-events: none;
    filter: grayscale(0.35);
    animation: rlsd-row-pulse 0.9s ease-in-out infinite;
}

    tr.rlsd-row-deleting > td {
        cursor: default !important;
        position: relative;
    }

@keyframes rlsd-row-pulse {
    0%, 100% { opacity: 0.55; }
    50%      { opacity: 0.30; }
}

tr.rlsd-row-exploding {
    pointer-events: none;
}

    /* each cell bursts toward its own centre = "explode" then vanishes */
    tr.rlsd-row-exploding > td {
        animation: rlsd-row-explode 0.45s cubic-bezier(0.3, 0.0, 0.2, 1) forwards;
        transform-origin: center center;
    }

@keyframes rlsd-row-explode {
    0%   { transform: scale(1);    opacity: 1; background-color: #fdecea; }
    25%  { transform: scale(1.09); opacity: 1; background-color: #f8d0cc; }
    100% { transform: scale(0.1);  opacity: 0; background-color: #fdecea; }
}

/* ============================================================
   RLSD reusable inline list filter bar (rlsd-filter.js)
   ============================================================ */
.rlsd-filterbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    background: #f4f7f2;
    border: 1px solid #e3e8e0;
    border-radius: 10px;
    padding: 10px 12px;
    margin: 6px 0 2px 0;
}

.rlsd-filterbar-field {
    display: flex;
    flex-direction: column;
}

    .rlsd-filterbar-field label {
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #55604f;
        margin-bottom: 3px;
    }

    .rlsd-filterbar-field input {
        border: 1px solid #cfd8ca;
        border-radius: 6px;
        padding: 5px 8px;
        font-size: 13px;
        background: #fff;
        height: 32px;
    }

        .rlsd-filterbar-field input:focus {
            border-color: #457d32;
            outline: none;
            box-shadow: 0 0 0 2px rgba(69, 125, 50, 0.15);
        }

    .rlsd-filterbar-field input[type="date"] { width: 150px; }
    .rlsd-filterbar-field input[type="number"] { width: 90px; text-align: right; }

.rlsd-filterbar-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    align-self: flex-start;
    cursor: pointer;
    user-select: none;
    height: 32px;
    min-width: 56px;
    padding: 0 14px;
    border: 1px solid #cfd8ca;
    border-radius: 8px;
    background: #fff;
    transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;
}

    .rlsd-filterbar-check:hover {
        border-color: #457d32;
        background: #f0f4ee;
        box-shadow: 0 1px 4px rgba(69, 125, 50, 0.12);
    }

    /* active state when ticked (Chrome :has) - the whole chip turns green */
    .rlsd-filterbar-check:has(input:checked) {
        border-color: #457d32;
        background: #e7f0e3;
        color: #2d5a1e;
    }

    .rlsd-filterbar-check input {
        transform: scale(1.3);
        accent-color: #457d32;
        margin: 0;
        cursor: pointer;
    }

.rlsd-filterbar-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-left: auto;
    align-self: center;
}

/* ===== RLSD komponentbibliotek (Views/Shared/Components) - 2026-07-03 ===== */
.rlsd-form { max-width: 640px; }
/* Broedkrumme: to-klasse-selektor (.breadcrumb.rlsd-breadcrumb) saa den vinder over Bootstraps
   graa default-baggrund uanset CSS-load-raekkefoelge. Diskret, groen-tonet -> matcher panel-success. */
.breadcrumb.rlsd-breadcrumb {
    background: transparent;
    padding: 4px 0 6px 0;
    margin-bottom: 10px;
    border-radius: 0;
    border-bottom: 1px solid #e3e8e0;
    font-size: 13px;
    list-style: none;
}
.breadcrumb.rlsd-breadcrumb > li > a { color: #457d32; }
.breadcrumb.rlsd-breadcrumb > li > a:hover { color: #3c6d2b; text-decoration: underline; }
.breadcrumb.rlsd-breadcrumb > .active { color: #6b7a63; }
.breadcrumb.rlsd-breadcrumb > li + li:before { color: #b0b8ad; content: "\203A"; padding: 0 6px; }
/* Tom broedkrumme-raekke: fylder praecis det samme, men ses ikke - saa titlen staar samme sted
   paa sider MED og UDEN broedkrumme (ellers hopper hele indholdet ned naar der er en). */
.breadcrumb.rlsd-breadcrumb-empty { visibility: hidden; }

/* Detalje-sidens titel-raekke: titel til venstre, handlings-vaerktoejslinje til hoejre. Flex saa
   knapperne sidder paa linje med titlen (integreret) og IKKE krydser broedkrumme-linjen. */
.rlsd-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 5px; }
.rlsd-title-row > h2 { margin: 0; }
.rlsd-detail-actions { flex: 0 0 auto; display: inline-flex; gap: 6px; }
.rlsd-detail-actions .rlsd-icon-btn { min-width: 36px; }

/* RLSD: fuldside-formularer centreres; many2one-felt (custom-combobox) i form-control-look */
.rlsd-form { margin-left: auto; margin-right: auto; }
.rlsd-many2one-wrap { position: relative; display: block; }
.rlsd-many2one-wrap .custom-combobox-input { width: 100%; padding-right: 30px; }
.rlsd-many2one-toggle { position: absolute; top: 0; right: 0; bottom: 0; width: 28px; text-align: center; line-height: 32px; color: #555; cursor: pointer; text-decoration: none; border-left: 1px solid #ccc; }
.rlsd-many2one-toggle:hover { background: #eee; color: #333; text-decoration: none; }
ul.ui-autocomplete { z-index: 20050 !important; max-height: 320px; overflow-y: auto; overflow-x: hidden; }

/* Reusable count badge for list headers (e.g. "Projekter [42]") */
.rlsd-count-badge {
    display: inline-block;
    min-width: 26px;
    padding: 2px 9px;
    margin-left: 6px;
    border-radius: 11px;
    background: #457d32;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    vertical-align: middle;
    text-align: center;
}

/* Reusable empty-state row cell */
.rlsd-empty-row td {
    text-align: center;
    color: #8a9583;
    padding: 26px;
    font-style: italic;
}

/* RLSD: grupperede tabelrækker (DataTables RowGroup via _IndexTable GroupBy) */
table.rlsd-datatable tr.dtrg-group td { font-weight: bold; }
table.rlsd-datatable tr.dtrg-level-0 td { background: #cfe8f7 !important; }
table.rlsd-datatable tr.dtrg-level-1 td { background: #e6f3fb !important; }

/* RLSD: kolonne-soegefelter + scroll-tabel (rlsd-datatable) */
tr.rlsd-colfilters th { padding: 4px 6px; }
tr.rlsd-colfilters input { width: 100%; min-width: 50px; font-weight: normal; }
.dataTables_scrollBody { border-bottom: 1px solid #ddd; }

/* RLSD: tydelige sorterings-pile paa rlsd-tabeller (DataTables-klasser) */
table.rlsd-datatable thead th.sorting,
table.rlsd-datatable thead th.sorting_asc,
table.rlsd-datatable thead th.sorting_desc { cursor: pointer; position: relative; padding-right: 24px !important; background-image: none !important; }
table.rlsd-datatable thead th.sorting:after { content: '\21C5'; position: absolute; right: 7px; opacity: 0.25; }
table.rlsd-datatable thead th.sorting_asc:after { content: '\2191'; position: absolute; right: 7px; opacity: 0.95; }
table.rlsd-datatable thead th.sorting_desc:after { content: '\2193'; position: absolute; right: 7px; opacity: 0.95; }
/* DataTables 1.10.20 tegner sorterings-pile via BAADE :before og :after. Vi bruger kun :after (ovenfor),
   saa :before skal slaas fra - ellers faar man DOBBELTE pile pr. kolonne. */
table.rlsd-datatable thead th.sorting:before,
table.rlsd-datatable thead th.sorting_asc:before,
table.rlsd-datatable thead th.sorting_desc:before { content: none !important; display: none !important; }
/* scrollY splitter tabellen: scroll-kroppen faar en SKJULT alignment-header hvis sorterings-pile
   ellers lækker som en tom "spoegelses-header-raekke" over foerste dataraekke. Slaa dem helt fra. */
.dataTables_scrollBody thead .sorting:after, .dataTables_scrollBody thead .sorting_asc:after,
.dataTables_scrollBody thead .sorting_desc:after, .dataTables_scrollBody thead .sorting:before,
.dataTables_scrollBody thead .sorting_asc:before, .dataTables_scrollBody thead .sorting_desc:before { content: none !important; display: none !important; }

/* RLSD: inaktive raekker i lister (InactiveField paa _IndexTable).

   🔴 REGLEN GJALDT KUN rlsd-datatable - IKKE rlsd-table.
   De to er forskellige komponenter, der lever side om side (se rlsd-table.js). Raekkerne
   fik klassen rlsd-inactive rigtigt, men INGEN regel matchede dem, saa lukkede
   underprojekter og projekter stod i almindelig sort. Mads 21-09-2026: "goere inaktives
   linjer med roed tekst" - den var altsaa aldrig blevet roed noget sted paa de nye tabeller.

   Rammer alle rlsd-table-lister paa een gang: underprojekter, kundens projekter m.fl. */
table.rlsd-datatable tbody tr.rlsd-inactive td,
table.rlsd-table tbody tr.rlsd-inactive td { color: #c9302c; }

/* RLSD komponent-styling (adskilt fil saa den kan committes uafhaengigt af Style.css-WIP).
   Indlaeses fra _Layout efter Content/css. */

/* Talkolonner (hoejrestillede via _IndexTable) skrumper til indhold i stedet for at
   fylde skaermen - tekstkolonner faar pladsen. !important slaar DataTables' inline-bredder. */
table.rlsd-datatable > thead th[style*="text-align:right"],
table.rlsd-datatable > tbody td[style*="text-align:right"] {
    width: 1% !important;
    white-space: nowrap;
}

/* Eksport-knapper + global soegning: taettere paa tabellen og med luft imellem */
.dataTables_wrapper .dt-buttons {
    margin-right: 15px;
    margin-bottom: 8px;
}
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 8px;
}

/* Spinner til lazy-tabs m.v. (universal-css'ens keyframes forsvandt med Universal) */
.rlsd-spin { animation: rlsd-spin 0.8s linear infinite; display: inline-block; }
@keyframes rlsd-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
/* Info-kort paa detaljesider (dl i tre paneler; tomme vaerdier daempes som em-dash) */
/* Etiketterne blev KLIPPET: Bootstraps .dl-horizontal dt saetter overflow:hidden +
   text-overflow:ellipsis + white-space:nowrap, og .rlsd-info overskrev kun BREDDEN.
   "Ansættelsen ophørte den" blev derfor til "Ansættelsen ophørte ..." selv om der var
   rigelig plads ved siden af (Mads 24/8).

   Grid frem for floats: etiketkolonnen bliver praecis saa bred som den laengste etiket
   kraever. Dermed er der ingen magisk bredde at vokse fra igen naeste gang et felt faar
   et laengere navn - og det er hele pointen, for 140px var ogsaa "rigeligt" engang.

   KUN fra 768px: under den bredde stabler Bootstrap selv dt/dd, og to smalle kolonner
   paa en telefon er vaerre end at klippe. */
@media (min-width: 768px) {
    .rlsd-info {
        display: grid;
        grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
        column-gap: 16px;
        row-gap: 2px;
    }

    .rlsd-info dt,
    .rlsd-info dd {
        float: none;
        width: auto;
        margin-left: 0;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .rlsd-info dt { text-align: left; font-weight: 600; }
    .rlsd-info dd { word-break: break-word; }
}

/* Time-overblik (Views/Timesheet/Overview): diagram-kort i responsivt grid.
   Flex i stedet for Bootstrap-floats saa kort i samme raekke altid flugter i hoejden. */
.rlsd-chart-grid { display: flex; flex-wrap: wrap; }
.rlsd-chart-grid > div { display: flex; }
.rlsd-chart-grid .rlsd-chart-card { display: flex; flex-direction: column; width: 100%; margin-bottom: 15px; }
.rlsd-chart-card > .panel-body { flex: 1 1 auto; padding: 8px; }
/* Hoejdelaasen gaelder KUN diagram-kortene paa time-overblikket. Den stod foer paa
   .rlsd-chart uden videre - en klasse rlsd-chart.js siden har taget i brug som rod for
   ALLE sine grafer. Dermed blev enhver graf 320 px hoej, ogsaa en miniaturekurve inde i
   et noegletalskort, og signaturen under en cirkel blev skubbet UD af kortet (Mads 9/8). */
.rlsd-chart-card .rlsd-chart { width: 100%; height: 320px; }
.rlsd-chart-wait { height: 320px; display: flex; align-items: center; justify-content: center; color: #999; font-size: 14px; }
/* hidden-attributten SKAL vinde over display:flex ovenfor. Uden dette har [hidden] (UA-regel)
   og .rlsd-chart-wait samme specificitet -> author-reglen vinder -> baade "Loader..." og
   "Ingen data" vises samtidig. .rlsd-chart-wait[hidden] (0,2,0) slaar .rlsd-chart-wait (0,1,0). */
.rlsd-chart-wait[hidden], .rlsd-chart[hidden] { display: none; }
.rlsd-chart-card .rlsd-chart-expand { margin-top: -2px; }

/* Stor visning (global toggle): alle kort i fuld bredde og naesten fuld skaermhoejde */
.rlsd-chart-grid.rlsd-grid-big > div { flex: 0 0 100%; width: 100% !important; max-width: 100%; }
.rlsd-grid-big .rlsd-chart-card .rlsd-chart,
.rlsd-grid-big .rlsd-chart-wait { height: calc(100vh - 300px); min-height: 420px; }

/* Fuldskaerms-modal for eet diagram: fast dialog-hoejde + flex-kolonne, saa modal-body
   (og dermed diagrammet) fylder PRAECIS resten af dialogen - intet overloeb under bunden */
#rlsdChartModal .rlsd-chart-modal-dialog { width: 96vw; max-width: none; margin: 10px auto; height: calc(100vh - 20px); }
#rlsdChartModal .modal-content { height: 100%; display: flex; flex-direction: column; }
#rlsdChartModal .modal-header { flex: 0 0 auto; }
#rlsdChartModal .modal-body { flex: 1 1 auto; min-height: 0; padding: 10px; overflow: hidden; }
#rlsdChartModal .rlsd-chart-full { width: 100%; height: 100%; min-height: 0; }
#rlsdChartModal { z-index: 2147483647; }

/* Debug-tilstand (se som bruger / rolle-simulation): fast bund-banner, kan ikke overses */
#rlsd-debug-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 2147483647; background: #b94a48; color: #fff; padding: 6px 14px; text-align: center; box-shadow: 0 -2px 6px rgba(0,0,0,.3); }

/* Vaerktoejslinje-kortet paa time-overblikket (periode-felter + Opdater paa een raekke) */
.rlsd-toolbar .form-group { margin-right: 14px; }
.rlsd-toolbar label { margin-right: 6px; }
.rlsd-toolbar .rlsd-quick-group { margin-left: 14px; }
.rlsd-toolbar .rlsd-toolbar-title { font-size: 20px; font-weight: bold; margin-right: 18px; vertical-align: middle; }

/* ---- rlsd-table (afhaengighedsfri liste-tabel: sortering/filter/paginering/colvis/eksport) ----
   Flyttet hertil fra de enkelte views' inline <style> saa enhver liste kan bruge rlsd-table uden at
   duplikere CSS (samme selvstaendiggoerelse som rlsd-combobox/rlsd-popup). rlsd-table.js goer resten. */
/* 🔴 LODRET AFSTAND SKAL VAERE STOERRE END DEN VANDRETTE.
   gap: 8px gjaldt begge veje, og naar toolbaren ombryder, lander soegefeltet paa
   naeste linje 8 px under knapperne - de ser ud til at hoere sammen i een klump.
   Mads 21-09-2026: "faa lige lidt afstand mellem soegefelt og knapper".
   Foerste tal er raekke-gab, andet er kolonne-gab. */
.rlsd-table-toolbar { display: flex; align-items: center; gap: 14px 8px; margin-bottom: 10px; flex-wrap: wrap; }
/* Soegefeltet foerst med FAST bredde: rykker sig ikke uanset antal knapper til hoejre. */
.rlsd-table-toolbar .rlsd-table-search { flex: 0 0 240px; width: 240px; }
/* Egne knapper hoistet ind i toolbaren (data-rlsd-toolbar-btn): nulstil deres eventuelle egen-margins. */
.rlsd-table-toolbar [data-rlsd-toolbar-btn] { margin: 0 !important; }
/* Ingen indre scroll-boks: tabellen flyder på siden (siden scroller). overflow-x bevares kun som
   sikkerhed for meget brede tabeller. (MC: index-tabeller må ikke være indskrænket i en scroll-boks.) */
.rlsd-table-wrap { overflow-x: auto; border: 1px solid #ddd; }

/* KUN RAEKKERNE RULLER (Mads 8/8).
   Foer rullede hele datapanelet: overskrift og soegefelter var ganske vist "sticky", men
   pagineringen ligger EFTER tabellen og rullede derfor ud af syne - man skulle til bunden
   af listen for at skifte side. Nu er det tabel-wrapperen der ruller, og den fylder
   praecis panelet: saa staar hoved og soegefelter fast i toppen, pagineringen fast i
   bunden, og kun raekkerne bevaeger sig imellem dem.
   :has() bruges for kun at roere paneler der FAKTISK indeholder en tabel - andre sider
   (formularer, kort) skal blive ved med at rulle som hidtil. */
@media screen {
    /* To tabelsystemer lever side om side: det nye (.rlsd-table-wrap, 18 sider) og et aeldre
       DataTables-baseret (.table-full-page-search-over, 2 sider - bl.a. selskabslisten).
       Det gamle havde sit EGET faste hoejde-gaet, calc(100vh - 114px - 80px - 110px), som
       ikke passede med resten - derfor rullede den side stadig forkert. Begge behandles ens
       her, saa der ikke er noget tal at holde synkroniseret. */
    .body-data:has(> .rlsd-table-wrap),
    .body-data:has(> .table-full-page-search-over) {
        display: flex;
        flex-direction: column;
        overflow: hidden;          /* ellers ruller BAADE panelet og tabellen */
    }

    .body-data > .rlsd-table-wrap,
    .body-data > .table-full-page-search-over {
        flex: 1 1 auto;
        min-height: 0;             /* uden denne naegter flex-boksen at blive mindre end indholdet */
        height: auto;              /* slaar det gamle faste hoejde-gaet fra */
        max-height: none;
        overflow: auto;
    }

    /* Den aeldre tabeltype havde ingen fastlaast overskrift - kun den nye. Rullede man ned
       i selskabs- eller kundelisten, forsvandt bade kolonnenavne og soegefelter. */
    .body-data > .table-full-page-search-over > table > thead > tr > th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #f4f5f7;
    }

    /* DataTables laegger soegefelterne i en ANDEN raekke i samme thead; den skal klaebe
       lige under kolonnenavnene. */
    .body-data > .table-full-page-search-over > table > thead > tr:nth-child(2) > th {
        top: 34px;
        z-index: 1;
    }

    /* Pagineringen ligger nu UDEN FOR det der ruller (rlsd-table.js placerer den efter
       wrapperen), saa den staar fast i bunden uden sticky-tricks. */
    .body-data > .rlsd-table-footer {
        flex: 0 0 auto;
        margin-top: 0;
        padding: 8px 2px 0;
    }

    /* Totalerne hoerer til tabellen og klaeber til bunden af DENS rullefelt, saa de er
       synlige mens man ruller. De kan ikke stoede sammen med pagineringen laengere. */
    .body-data > .rlsd-table-wrap table.rlsd-table tfoot td {
        position: sticky;
        bottom: 0;
        z-index: 2;
    }

    /* FLERE TABELLER PAA SAMME SIDE (Mads 23-09-2026, afstemningen mod e-conomic): reglen
       ovenfor er skrevet til EEN tabel, der fylder resten af hoejden. Med to eller tre
       tabeller deler de den samme rest, og hver faar en rullebox paa nogle faa raekker -
       man kunne naesten ikke se raekkerne. Har panelet mere end een tabel-wrapper, flyder
       siden i stedet som normalt: hele siden ruller, hver tabel faar sin fulde hoejde,
       og kolonnenavnene klaeber stadig via rlsd-table.js. Totalerne slipper sticky-bottom,
       som ellers ville laase dem til vinduets underkant. */
    .body-data:has(> .rlsd-table-wrap ~ .rlsd-table-wrap) {
        display: block;
        overflow: visible;
    }
    .body-data:has(> .rlsd-table-wrap ~ .rlsd-table-wrap) > .rlsd-table-wrap {
        flex: none;
        overflow: visible;
        overflow-x: auto;
        margin-bottom: 12px;
    }
    .body-data:has(> .rlsd-table-wrap ~ .rlsd-table-wrap) > .rlsd-table-wrap table.rlsd-table tfoot td {
        position: static;
    }

    /* FRAVALG PR. SIDE (Mads 24-09-2026, udvikleropgavens side: "det oeverste af siden kan ikke ses").
       En side med paneler og en formular OVER een tabel (historikken) er ikke en listeside: laases
       panelet til vinduets hoejde, kan man hverken rulle op til toppen eller ned til knapperne.
       Klassen rlsd-page-flow paa .body-data slaar tilstanden fra: siden ruller som normalt, og
       tabellen faar sin fulde hoejde. Samme virkning som reglen for flere tabeller ovenfor. */
    /* NOT A LIST PAGE, SO THE PAGE SCROLLS (issue #56, 08-10-2026).
       The fill-the-panel layout assumes the table IS the page: some intro text, alerts and a
       filter bar above it, a short note below it. Projects -> Settings has a form above its
       table and another form below it; with the panel locked to the window and overflow
       hidden, the lower form fell outside the panel and could not be reached at all.
       The same normal page flow as rlsd-page-flow therefore applies automatically when
         1. anything follows the table other than what belongs to the list itself (its footer,
            a short <p> note, an element marked .rlsd-table-note, scripts, hidden inputs,
            modal markup) - an ALLOW-list on purpose: a new kind of content after a table
            gives a page that scrolls (harmless), never content that cannot be reached;
         2. the panel holds a form section (.form-horizontal, .rlsd-mv-share-panel) next to
            the table - an edit page with a history table, like DevTasks/Edit.
       Both selectors also require a table wrapper, so ordinary form pages without a table keep
       their own panel scrolling. dev\Test-RlsdTablePageLayout.ps1 pins this. */
    .body-data.rlsd-page-flow,
    .body-data:has(> .rlsd-table-wrap ~ :not(.rlsd-table-footer, .rlsd-table-note, p, script, style, input[type="hidden"], .modal)),
    .body-data:has(> .rlsd-table-wrap):has(> .form-horizontal, > form .form-horizontal, > .rlsd-mv-share-panel) {
        display: block;
        overflow: visible;
    }
    .body-data.rlsd-page-flow > .rlsd-table-wrap,
    .body-data:has(> .rlsd-table-wrap ~ :not(.rlsd-table-footer, .rlsd-table-note, p, script, style, input[type="hidden"], .modal)) > .rlsd-table-wrap,
    .body-data:has(> .rlsd-table-wrap):has(> .form-horizontal, > form .form-horizontal, > .rlsd-mv-share-panel) > .rlsd-table-wrap {
        flex: none;
        overflow: visible;
        overflow-x: auto;
        margin-bottom: 12px;
    }
    .body-data.rlsd-page-flow > .rlsd-table-wrap table.rlsd-table tfoot td,
    .body-data:has(> .rlsd-table-wrap ~ :not(.rlsd-table-footer, .rlsd-table-note, p, script, style, input[type="hidden"], .modal)) > .rlsd-table-wrap table.rlsd-table tfoot td,
    .body-data:has(> .rlsd-table-wrap):has(> .form-horizontal, > form .form-horizontal, > .rlsd-mv-share-panel) > .rlsd-table-wrap table.rlsd-table tfoot td {
        position: static;
    }
}
table.rlsd-table { width: 100%; border-collapse: collapse; background: #fff; }
table.rlsd-table th, table.rlsd-table td { padding: 6px 10px; border-bottom: 1px solid #eee; text-align: left; white-space: nowrap; }

/* FRITEKST MAA BRYDE (Mads 8/8).
   Med nowrap paa ALLE celler blev tabellen saa bred som det laengste kundenavn, og saa fik
   man en vandret rulning oven i den lodrette - ogsaa paa en bred skaerm hvor der var plads
   nok. Kolonnenavne og tal skal blive paa én linje; en firmanavn behoever ikke.
   Tabellen ruller stadig vandret naar den ER for bred - der er bare ikke laengere brug for
   det ved almindelige bredder. */
table.rlsd-table td { white-space: normal; }
table.rlsd-table td.rlsd-num,
table.rlsd-table td[data-type="date"],
table.rlsd-table td[data-sort] { white-space: nowrap; }

/* KOLONNER DER IKKE SKAL STRAEKKES (Mads 8/8).
   Tabellens width:100% fordeler den overskydende plads ud paa alle kolonner, saa et
   kontonummer eller et antal blev lige saa bredt som et firmanavn. Tal og korte koder
   fylder kun hvad de skal bruge; resten af pladsen tilfalder fritekst-kolonnerne, som er
   dem der faktisk kan bruge den.
   width:1% + nowrap er maaden at sige "kryb sammen om dit indhold". */
table.rlsd-table th.rlsd-num,
table.rlsd-table td.rlsd-num,
table.rlsd-table th.rlsd-col-narrow,
table.rlsd-table td.rlsd-col-narrow {
    width: 1%;
    white-space: nowrap;
}
table.rlsd-table td.rlsd-num, table.rlsd-table th.rlsd-num { text-align: right; }
table.rlsd-table thead th { position: sticky; top: 0; z-index: 2; background: #f4f5f7; border-bottom: 2px solid #ccc; }
table.rlsd-table thead tr.rlsd-table-colfilters th { top: 34px; padding: 3px 4px; }
/* Soegefelterne skal kunne KRYMPE (Mads 8/8).
   Et <input> har en indbygget minimumsbredde (~150px, fra dets standard size-attribut), og
   den vinder over width:100% naar tabellen selv fordeler bredden. Seks soegefelter tvang
   derfor en minimumsbredde igennem, saa tabellen stak ud over sin beholder og gav en vandret
   rulning der ikke var brug for - selv efter at kolonnerne var gjort smalle.
   min-width:0 ophaever den indbyggede bund; border-box holder rammen inde i cellen. */
table.rlsd-table thead tr.rlsd-table-colfilters input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Samme problem for det brede fritekst-soegefelt over tabellen. */
.rlsd-dt-toolbar input[type="search"],
.rlsd-dt-toolbar input[type="text"] { min-width: 0; box-sizing: border-box; }
/* DETALJESIDEN (_DetailPage, 26-09-2026). Kortene ligger side om side og fylder bredden ud, saa
   en side med tre smaa kort ikke bliver en meterlang soejle. Samme flex-regler som betalingskortene
   paa loenoverblikket, hvor raggede korthoejder blev fanget paa et skaermbillede. */
/* Luften ned mod kortene. MAALT 27-09-2026 paa slottet: husets andre sider har 13-59 px
   mellem sidehovedet og det foerste indhold; detaljesiden havde 8, fordi .body-menus
   padding-bottom var det eneste der skilte dem. Mads saa det med det samme.
   8 + 8 = 16 px lander mellem kundekortets 13 og listesidernes 49. */
.rlsd-detail-cards { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; margin-top: 8px; }
.rlsd-detail-card { flex: 1 1 320px; min-width: 0; margin-bottom: 0; }
/* Bredden paa en blok (RlsdDetail.Span). Standarden er Auto - reglen ovenfor - som er det,
   kortene altid har gjort: tag ca. 320px og ombryd, naar pladsen slipper op. De to her er
   til de sider, hvor forfatteren har en grund: en bred tabel, der ikke maa staa ved siden af
   noget, eller to kort, der hoerer sammen og skal BLIVE ved med at goere det.
   Halvdelen regnes med mellemrummet trukket fra (gap: 16px), ellers ombryder to halve. */
.rlsd-detail-card-full { flex-basis: 100%; }
.rlsd-detail-card-half { flex-basis: calc(50% - 8px); }

/* Undertabellen har sin egen polstring i _IndexTable - panelet skal ikke laegge mere oveni,
   ellers staar tabellen og flyder inde i sit eget kort. */
/* En advarsel staar BAADE roed og fed. Fratraedelsesdatoen paa medarbejderkortet gjorde
   det i forvejen, med vilje: "en dato her betyder at personen er stoppet, det skal man bide
   maerke i". Uden fedheden ville standarden daempe et signal, nogen havde skruet op for. */
.rlsd-detail-fields .text-danger { font-weight: 600; }

/* Noten hoerer til kortet og staar under feltlisten - ikke ud for et felt. */
.rlsd-detail-note { margin: 8px 0 0; }

.rlsd-detail-tablebody { padding: 0; }
.rlsd-detail-banner { margin-bottom: 16px; }
.rlsd-detail-tabs { margin-top: 16px; }
.rlsd-detail-tabhead { padding-bottom: 0; border-bottom: 0; }
.rlsd-detail-fields { margin-bottom: 0; }
.rlsd-detail-fields dt { white-space: normal; }          /* et langt felt ombryder frem for at klippe */
.rlsd-detail-fields dd { margin-bottom: 6px; word-break: break-word; }
/* display:block er IKKE pynt. .rlsd-num saetter text-align:right, og text-align goer
   intet paa et inline-element - saa vaerdien paa et detaljekort stod venstrestillet,
   mens komponentens egen kommentar paastod det modsatte. Rettet 28-09-2026. */
.rlsd-detail-num { display: block; text-align: right; font-variant-numeric: tabular-nums; }
.rlsd-detail-bool { font-size: 15px; }
.rlsd-detail-help { font-size: 12px; color: #8a6d3b; }   /* "gruppen findes ikke laengere" er en advarsel, ikke en note */
.rlsd-detail-status { font-size: 12px; vertical-align: middle; margin-left: 8px; }
@media (max-width: 767px) {
    /* Paa telefonen staar etiketten OVER vaerdien - dl-horizontal klipper ellers etiketten. */
    .rlsd-detail-fields dt { float: none; width: auto; text-align: left; }
    .rlsd-detail-fields dd { margin-left: 0; margin-bottom: 10px; }
}
table.rlsd-table tbody tr:hover { background: #f6f9fc; }
table.rlsd-table tbody tr[data-href] { cursor: pointer; }
/* EN REFERENCE I EN CELLE SKAL IKKE RAABE (set paa skaermbilledet 26-09-2026).
   Da reference-kolonnerne blev klikbare, blev en hel kolonne blaa - paa kundelisten stod
   kundegruppen "Diverse" som det mest iøjnefaldende paa siden, mens kundens eget navn, som
   raekken faktisk aabner, stod sort. Hierarkiet vendte om: det sekundaere raabte, det
   primaere tav.
   Linket bliver derfor ved med at vaere et link - det kan klikkes, tabbes til og aabnes i en
   ny fane - men det laeses som tekst, indtil man peger paa det. Paa en detaljeside er den
   blaa farve stadig rigtig; der er feltet eet blandt faa, ikke en hel kolonne. */
table.rlsd-table td a.rlsd-ref { color: inherit; text-decoration: none; }
table.rlsd-table td a.rlsd-ref:hover,
table.rlsd-table td a.rlsd-ref:focus { color: #337ab7; text-decoration: underline; }
table.rlsd-table td a.rlsd-ref:focus-visible { outline: 2px solid #337ab7; outline-offset: 1px; }
th.rlsd-sortable { cursor: pointer; user-select: none; }
th.rlsd-sortable::after { content: " \2195"; opacity: .3; font-size: 11px; }
th.rlsd-sort-asc::after { content: " \2191"; opacity: 1; }
th.rlsd-sort-desc::after { content: " \2193"; opacity: 1; }
.rlsd-table-footer { display: flex; align-items: center; gap: 20px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #e3e8e0; flex-wrap: wrap; }

/* FYLD HELE SIDEN (Mads 23-09-2026): rlsd-table.js saetter .rlsd-table-expanded paa EEN
   tabel-wrapper ad gangen. Den laegger sig over hele vinduet med sit eget rullefelt;
   vaerktoejslinjen (med luk-knappen) klaeber i toppen, kolonnenavnene lige under den,
   pagineringen (flyttet ind i wrapperen) i bunden. Siden bagved laases mod at rulle.
   z-index 1500: over sidens hoved (Bootstrap 1030), under popups (2000+). */
.rlsd-table-expand-title { display: none; }
.rlsd-table-wrap.rlsd-table-expanded {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 1500;
    margin: 0;
    max-width: none;
    padding: 0 14px 10px;
    background: #fff;
    border: 0;
    overflow: auto;
}
.rlsd-table-expanded > .rlsd-table-toolbar {
    position: sticky;
    top: 0;
    z-index: 4;
    margin: 0;
    padding: 8px 0;
    background: #fff;
    border-bottom: 1px solid #ddd;
}
.rlsd-table-expanded .rlsd-table-expand-title { display: inline-block; margin-right: 6px; font-size: 15px; }
.rlsd-table-expanded > table.rlsd-table thead th { top: var(--rlsd-toolbar-h, 0); }
.rlsd-table-expanded > .rlsd-table-footer {
    position: sticky;
    bottom: 0;
    z-index: 4;
    margin: 0;
    padding: 8px 0;
    background: #fff;
}
.rlsd-table-expanded > table.rlsd-table tfoot td { position: sticky; bottom: 0; z-index: 2; }
body.rlsd-table-expanded-body { overflow: hidden; }
.rlsd-table-footer .pagination { margin: 0; }
/* Kolonne-justerede totaler i <tfoot> - tallene staar praecist under deres egen kolonne. Ved
   paginering: to linjer ("Side" + "I alt"); ellers kun "I alt". Tekst yderst til venstre. */
table.rlsd-table tfoot td { padding: 6px 10px; background: #f4f5f7; white-space: nowrap; }
table.rlsd-table tfoot tr.rlsd-table-total-row:first-child td { border-top: 2px solid #ccc; }
table.rlsd-table tfoot tr.rlsd-table-total-row + tr.rlsd-table-total-row td { border-top: 1px solid #dfe3da; }
table.rlsd-table tfoot td strong { color: #2d3a27; }
table.rlsd-table tfoot td.rlsd-table-total-label { text-align: left; color: #6b7280; }
table.rlsd-table tfoot td .rlsd-total-suffix { color: #8a9384; font-weight: 400; font-size: 92%; }

/* AEldre inline-total-visning (nu erstattet af <tfoot>) - beholdt for evt. andre tabeller. */
.rlsd-table-totals { display: inline-flex; flex-wrap: wrap; gap: 22px; align-items: baseline; }
.rlsd-table-totals span { white-space: nowrap; }
.rlsd-table-totals span strong { color: #2d3a27; margin-right: 3px; }
/* Boolean toggle-switch (RlsdCheckbox editor) - stoerre og tydeligere klik-flade end en native checkbox. */
.rlsd-switch { position: relative; display: inline-block; width: 46px; height: 26px; cursor: pointer; vertical-align: middle; margin: 3px 0 0; }
.rlsd-switch input[type="checkbox"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.rlsd-switch input[type="hidden"] { display: none; }
.rlsd-switch-slider { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #c7ccc3; border-radius: 26px; transition: background .15s; pointer-events: none; }
.rlsd-switch-slider::before { content: ""; position: absolute; height: 20px; width: 20px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.rlsd-switch input[type="checkbox"]:checked ~ .rlsd-switch-slider { background: #4a903d; }
.rlsd-switch input[type="checkbox"]:checked ~ .rlsd-switch-slider::before { transform: translateX(20px); }
.rlsd-switch input[type="checkbox"]:focus ~ .rlsd-switch-slider { box-shadow: 0 0 0 2px rgba(74,144,61,.35); }

.rlsd-table-tools { margin-left: auto; display: inline-flex; gap: 4px; align-items: center; }
/* Ikon-kun-knapper: nulstil den globale "button > .fa"-margin (margin-left:-5px;margin-right:8px)
   fra Style.css, så ikonet står centreret i knappen. */
.rlsd-table-tools .btn > .fa, .rlsd-table-tools .btn > .glyphicon { margin-left: 0; margin-right: 0; }
.rlsd-colvis { position: relative; }
.rlsd-colvis-panel { position: absolute; right: 0; top: 100%; z-index: 20; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.15); padding: 6px 10px; min-width: 160px; }
.rlsd-colvis-panel label { display: block; font-weight: normal; margin: 2px 0; white-space: nowrap; }

/* Ctrl/Cmd holdt nede -> celler kan kopieres (Ctrl+klik): copy-cursor + fremhævning + copy-ikon.
   Kort grøn blink-bekræftelse når en celle er kopieret. */
body.rlsd-copy-mode table.rlsd-table tbody td { cursor: copy; }
body.rlsd-copy-mode table.rlsd-table tbody td:hover { background: #fff8d6; box-shadow: inset 0 0 0 1px #e6c34a; }
body.rlsd-copy-mode table.rlsd-table tbody td:hover::after { content: "\e205"; font-family: 'Glyphicons Halflings'; float: right; margin-left: 6px; opacity: .55; font-size: 11px; }
table.rlsd-table td.rlsd-copied { background: #d9f0d9 !important; transition: background .1s ease; }

/* Ryd-kryds i select-filtre (placeret til venstre for select-pilen). */
.rlsd-filter-wrap { position: relative; display: block; }
.rlsd-filter-wrap > select.form-control { padding-right: 36px; }
.rlsd-filter-clear { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); z-index: 1; border: none; background: transparent; color: #999; font-size: 16px; line-height: 1; cursor: pointer; padding: 0 3px; }
.rlsd-filter-clear:hover { color: #333; }

/* Genvejs-oversigt ("?"-knap) - keycap-look + grøn-tonet header + luftigt layout (matcher app-paletten). */
.rlsd-shortcuts-panel { min-width: 344px; padding: 12px 14px; border-color: #d9e2d3; border-radius: 8px; box-shadow: 0 10px 28px rgba(20,28,16,.18); }
.rlsd-shortcuts-head { font-weight: 700; font-size: 13px; color: #2d3a27; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid #e3e8e0; }
.rlsd-shortcut-row { display: flex; align-items: center; gap: 12px; margin: 0; padding: 6px 0; white-space: nowrap; }
.rlsd-shortcut-row + .rlsd-shortcut-row { border-top: 1px solid #f2f4f0; }
/* Tast-badge: lys "keycap" i stedet for Bootstraps hårde sorte kbd. */
.rlsd-shortcut-row kbd {
    flex: 0 0 auto; min-width: 96px; text-align: center;
    background: #f6f8f4; color: #2d3a27;
    border: 1px solid #cfd8ca; border-bottom-width: 2px; border-radius: 6px;
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
    padding: 3px 8px; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.5;
}
.rlsd-shortcut-row > span { color: #4a5646; font-size: 13px; }

/* Standard-tabel-toolbar (2026-07-05, MC): én linje pr. tabel - VENSTRE: view-knapper ("Opret ny",
   markeret data-rlsd-toolbar-btn) + eksport + kolonnevælger + længde-vælger; HØJRE: global søgning.
   Bygget af rlsd-export.js (attachButtons). Reglerne herunder ligger EFTER .dataTables_wrapper-reglerne
   ovenfor og vinder på cascade (samme specificitet). */
.rlsd-dt-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.rlsd-dt-toolbar-left { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.rlsd-dt-toolbar .dataTables_filter { float: none; margin: 0; }
.rlsd-dt-toolbar .dataTables_filter label { margin: 0; font-weight: normal; }
.rlsd-dt-toolbar .dataTables_length { margin: 0; }
.rlsd-dt-toolbar .dataTables_length label { margin: 0; font-weight: normal; }
.rlsd-dt-toolbar .dt-buttons { margin: 0; }
.rlsd-dt-toolbar-left .rlsd-export-group { display: inline-flex; gap: 4px; }
.rlsd-dt-toolbar-left [data-rlsd-toolbar-btn] { margin: 0; }

/* BESKEDER PAA SKAERMEN (rlsd-notify.js).
   Ligger i hjoernet over alt andet. Farverne foelger de samme fire niveauer som
   server-beskederne, saa en kvittering ser ens ud uanset om den kommer fra serveren
   eller fra en handling i browseren. */
#rlsd-notify-stack {
    position: fixed;
    top: 70px;
    right: 16px;
    z-index: 2147483647;   /* over modaler og backdrops - en fejl maa aldrig gemme sig bagved */
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: min(420px, calc(100vw - 32px));
    pointer-events: none;  /* selve stakken skal ikke spaerre for klik ... */
}

.rlsd-notify {
    pointer-events: auto;  /* ... men beskederne skal kunne lukkes */
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid transparent;
    box-shadow: 0 4px 14px rgba(0,0,0,.14);
    font-size: 14px;
    line-height: 1.45;
    background: #fff;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .22s ease, transform .22s ease;
}

.rlsd-notify-in {
    opacity: 1;
    transform: translateY(0);
}

.rlsd-notify-icon { flex: 0 0 auto; font-weight: bold; line-height: 1.45; }
.rlsd-notify-text { flex: 1 1 auto; word-break: break-word; }

.rlsd-notify-close {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    padding: 0 2px;
    cursor: pointer;
    opacity: .5;
}

.rlsd-notify-close:hover { opacity: 1; }

.rlsd-notify-success { background: #eaf6ec; border-color: #bcdfc4; color: #1e5b2c; }
.rlsd-notify-info    { background: #eaf1f8; border-color: #bcd4ea; color: #1d4972; }
.rlsd-notify-warning { background: #fdf5e3; border-color: #f0dcaa; color: #6b5314; }
.rlsd-notify-error   { background: #fdecea; border-color: #f5c6c2; color: #a5302b; }

/* Paa telefon: fuld bredde i toppen - der er ikke plads til et hjoerne. */
@media screen and (max-width: 767px) {
    #rlsd-notify-stack {
        top: 8px;
        right: 8px;
        left: 8px;
        max-width: none;
    }
}

/* Beskeder hoerer ikke med paa et udskrift. */
@media print {
    #rlsd-notify-stack { display: none; }
}

/* VALIDERING: skjul fejlfeltet indtil der FAKTISK er en fejl.
   ASP.NET renderer altid et fejl-felt ved hvert inputfelt og skifter dets klasse fra
   field-validation-valid til field-validation-error naar valideringen fejler. Reglen der
   skjuler den gyldige tilstand har manglet i denne app - det saa man bare ikke, saa laenge
   felterne var tomme. Skriver man en fast tekst i dem (som ved ugesedlens oversaettelse),
   stod alle fejlbeskederne synlige allerede da dialogen aabnede (Mads 7/8). */
.field-validation-valid { display: none; }
.validation-summary-valid { display: none; }
/* ---------------------------------------------------------------------------
   Faktureringsnoter (Components/_InvoicingNotes.cshtml)
   Noten skal ikke kunne overses af den der fakturerer - derfor gul advarsel og
   ikke en diskret note. Kilden (kunde/projekt/underprojekt) staar altid over
   teksten, saa man kan se HVOR kravet kommer fra.
   --------------------------------------------------------------------------- */
.rlsd-invoicing-notes { margin: 0 0 12px 0; }

.rlsd-invoicing-notes-head {
    margin: 0 0 6px 0;
    font-size: 14px;
    font-weight: 600;
}

.rlsd-invoicing-note {
    margin-bottom: 6px;
    padding: 8px 10px;
}

.rlsd-invoicing-note-source {
    font-size: 12px;
    opacity: .8;
    margin-bottom: 2px;
}

/* Fri tekst: linjeskift skal bevares, og et langt ord maa ikke sprænge kortet. */
.rlsd-invoicing-note-body {
    white-space: pre-wrap;
    overflow-wrap: break-word;
}

.rlsd-invoicing-note-add { margin-top: 2px; }

.rlsd-invoicing-note-addlink {
    display: inline-block;
    margin-right: 12px;
}

/* ---------------------------------------------------------------------------
   Traek-og-slip paa arkivmapperne (Projects/Details, Filer-fanen).
   Indbakkens zone er stylet paa #myDrop i sit eget view; her har mapperne deres
   egen klasse, saa de to ikke haenger sammen ved et uheld.
   --------------------------------------------------------------------------- */
.rlsd-folder-drop {
    border: 2px dashed #cfd8dc;
    border-radius: 6px;
    background: #fafafa;
    padding: 14px;
    margin: 0 0 10px 0;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s, background-color .15s;
    min-height: 0;
}

.rlsd-folder-drop:hover,
.rlsd-folder-drop.dz-drag-hover {
    border-color: #5cb85c;
    background: #f1f8f1;
}

.rlsd-folder-drop .rlsd-dz-icon { font-size: 18px; margin-right: 6px; opacity: .6; }
.rlsd-folder-drop .rlsd-dz-title { font-weight: 600; }
.rlsd-folder-drop .rlsd-dz-hint { display: block; font-size: 12px; opacity: .7; }

/* Miniaturerne fylder ellers hele zonen mens der uploades. */
.rlsd-folder-drop .dz-preview { margin: 8px; }

/* Vaerktoejslinje med knapper. .containsBody er en flex-kolonne, saa en loes knap bliver
   sit eget barn og straekkes til fuld bredde - én bar pr. knap. Alt der skal staa side om
   side, skal derfor ligge i EN beholder. gap frem for mellemrum mellem knapperne, saa de
   ombrydes paent paa en smal skaerm i stedet for at flyde sammen. */
.rlsd-btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-bottom: 10px;
}


/* ---- Koerselsafregning -----------------------------------------------------
   Maanedstallene staar som kort i en raekke, ikke som en tabel: man laeser dem for
   at faa et OVERBLIK ("hvor meget i juli?"), ikke for at sammenligne kolonner. */
.rlsd-mileage-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.rlsd-mileage-month {
    flex: 0 0 auto;
    min-width: 118px;
    padding: 8px 12px;
    border: 1px solid #dfe4dc;
    border-radius: 4px;
    background: #fbfcfa;
}

    .rlsd-mileage-month-name {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: #7b857a;
    }

    .rlsd-mileage-month-km {
        font-size: 13px;
        color: #4a544a;
        font-variant-numeric: tabular-nums;
    }

    .rlsd-mileage-month-amt {
        font-size: 17px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

    .rlsd-mileage-month-bill {
        font-size: 11px;
        color: #457d32;
        font-variant-numeric: tabular-nums;
    }

.rlsd-mileage-total {
    background: #eef3ec;
    border-color: #c5d2c0;
}

/* Bilagets hoved: de oplysninger SKAT kraever, samlet hvor de kan ses paa én gang. */
.rlsd-mileage-head {
    padding: 10px 14px;
    background: #fbfcfa;
    border: 1px solid #dfe4dc;
    border-radius: 4px;
    margin-bottom: 10px;
    max-width: 760px;
}

/* Advarslerne skal fylde. En regel man overtraeder koster hele den skattefri udbetaling,
   saa de maa ikke se ud som en note. */
.rlsd-mileage-warning {
    padding: 8px 12px;
    margin-bottom: 6px;
}

.rlsd-masked {
    font-family: Consolas, "Lucida Console", monospace;
    letter-spacing: .06em;
}

/* Klikbar raekke: skal SE klikbar ud, ellers opdager man den ikke. */
.rlsd-row-link:hover { background-color: #eef3ec !important; }

/* Bilagets hoved og kontrollen ved siden af hinanden - man skal kunne se BEGGE dele
   uden at rulle, for det er dem der afgoer om afregningen kan attesteres. */
.rlsd-mileage-cols {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

.rlsd-mileage-checks {
    flex: 1 1 340px;
    min-width: 320px;
    padding: 10px 14px;
    background: #fbfcfa;
    border: 1px solid #dfe4dc;
    border-radius: 4px;
}

.rlsd-mileage-checks-head {
    margin-bottom: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.rlsd-check {
    padding: 3px 0;
    font-size: 13px;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

    .rlsd-check + .rlsd-check { border-top: 1px solid #eef1ec; }
    .rlsd-check .rlsd-check-text { flex: 1 1 auto; }
    .rlsd-check .rlsd-check-by { color: #8a938a; font-size: 11px; white-space: nowrap; }

    /* Groen = svaret; graa = mangler stadig. Farven baerer status, tallet i toppen baerer
       hvor meget der mangler. */
    .rlsd-check.is-ok .glyphicon { color: #457d32; }
    .rlsd-check.is-open { color: #7b6a3a; }
    .rlsd-check.is-open .glyphicon { color: #b06000; }

/* Ny-linje-raekken skal se ud som en del af tabellen, ikke som en formular ved siden af. */
.rlsd-mileage-new > td { background: #f6f9f4; vertical-align: middle; }

/* ===== Sidehovedets toolbar (Mads 30-08-2026) =====

   FØR: titlen stod i sin egen række, knapperne i en række UNDER den, og der gik 217 px før
   indholdet begyndte. Det meste var luft.

   NU: ét flex-layout hvor titel og knapper deler linjen på brede skærme. På smalle skærme
   folder knapperne sammen bag én "Handlinger"-knap - ellers fylder de halvdelen af en telefon.

   Reglerne står HER, ikke i de enkelte sider: layoutet skal være ens overalt, og et view der
   selv bestemmer, er præcis grunden til at det skred før. */
.rlsd-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 6px;
    /* Rækken er lige høj MED og UDEN knapper. Uden det her står titlen 4 px lavere på sider
       der har knapper (en knap er højere end en overskrift), og så hopper indholdet, når man
       skifter side. Det var netop den fejl der blev rettet 28/8 med den tomme brødkrumme. */
    min-height: 34px;
}

.rlsd-toolbar-title {
    margin: 0;
    flex: 0 1 auto;
    font-weight: bold;
    line-height: 1.25;
}

.rlsd-toolbar-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;             /* knapperne skubbes til højre - titlen bliver stående */
}

/* "Handlinger"-knappen findes kun på smalle skærme. */
.rlsd-toolbar-more { display: none; }

/* Luften over titlen: min-height var 80 px OVEN I margin-top 20 og brødkrummen. */
.body-menu {
    min-height: 0;
    margin-top: 8px;
    padding-bottom: 8px;
}

@media (max-width: 991px) {
    /* Knapperne foldes sammen. Skærmen er for smal til en linje med både titel og 7 knapper. */
    .rlsd-toolbar-more { display: inline-block; margin-left: auto; }
    .rlsd-toolbar-actions { display: none; }
    .rlsd-toolbar.is-open .rlsd-toolbar-actions {
        display: flex;
        flex-basis: 100%;          /* egen linje under titlen */
        margin-left: 0;
        margin-top: 4px;
    }
    /* Knapperne fylder bredden, så de er til at ramme med en finger. */
    .rlsd-toolbar.is-open .rlsd-toolbar-actions > .btn,
    .rlsd-toolbar.is-open .rlsd-toolbar-actions > a.btn { flex: 1 1 46%; }
}

@media (max-width: 479px) {
    .rlsd-toolbar-more-text { display: none; }   /* kun ikonet - der er ikke plads til mere */
}

/* ============================================================================
   Indbakkens bogføringsformular (rlsd-inbox-form.js)

   Formularen tegner sig selv ud fra adapterens feltskema, så CSS'en må ikke
   kende de enkelte felter — kun de FEM felttyper. Et felt er en celle i et
   grid, der falder fra fire spor til ét, når skærmen bliver smal.
   ========================================================================= */
.rlsd-if-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
    align-items: start;
}

.rlsd-if-field { min-width: 0; }

    .rlsd-if-field > label {
        display: block;
        margin-bottom: 3px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .02em;
        text-transform: uppercase;
        color: #6b7280;
    }

.rlsd-if-req { color: #b91c1c; }

.rlsd-if-hint,
.rlsd-if-sub {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.3;
    color: #6b7280;
    min-height: 14px;           /* pladsen står fast, så felterne ikke hopper når teksten skifter */
}

.rlsd-if-sub { font-variant-numeric: tabular-nums; }

/* Felter der ikke gælder den valgte bilagstype fjernes helt — ikke bare tones ned.
   Halvsynlige felter man ikke kan bruge, er værre end ingen felter. */
.rlsd-if-hidden { display: none !important; }

/* Beløb og kurs læses i kolonner — cifrene skal stå under hinanden. */
.rlsd-if-field input[data-k="amount"],
.rlsd-if-field input[data-k="exchange_rate"] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Felt med en knap ved siden af (åbne poster). */
.rlsd-if-inline { display: flex; gap: 4px; }
    .rlsd-if-inline > input { flex: 1 1 auto; min-width: 0; }
    .rlsd-if-inline > .btn { flex: 0 0 auto; }

.rlsd-if-field.has-error > label { color: #b91c1c; }
.rlsd-if-field.has-error input,
.rlsd-if-field.has-error select {
    border-color: #dc2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, .12);
}

/* --- søgelisten under konto- og modpartsfelter ------------------------------ */
.rlsd-if-dd {
    position: absolute;
    z-index: 2147483646;        /* over alt på siden, under modaler */
    max-height: 260px;
    overflow-y: auto;
    min-width: 220px;
    padding: 3px 0;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .14);
}

.rlsd-if-dd-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 4px 10px;
    cursor: pointer;
    white-space: nowrap;
}

    .rlsd-if-dd-item.is-active,
    .rlsd-if-dd-item:hover { background: #eff6ff; }

.rlsd-if-dd-key {
    flex: 0 0 auto;
    min-width: 46px;
    font-variant-numeric: tabular-nums;
    color: #374151;
    font-weight: 600;
}

.rlsd-if-dd-label {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rlsd-if-dd-sub { flex: 0 0 auto; font-size: 11px; color: #6b7280; }

.rlsd-if-dd-empty { padding: 6px 10px; color: #9ca3af; }

@media (max-width: 991px) {
    .rlsd-if-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .rlsd-if-grid { grid-template-columns: 1fr; }
}

/* --- fordeling: ét bilag, flere linjer -------------------------------------
   Med én linje skal siden se ud som ÉN formular — ingen ramme, intet
   linjenummer, ingen slet-knap. Rammen kommer først, når der er noget at
   skelne imellem. */
.rlsd-if-line + .rlsd-if-line { margin-top: 10px; }

.rlsd-if-line-head { display: none; }

.rlsd-if-lines-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.rlsd-if-balance {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #15803d;
}

    .rlsd-if-balance.is-off { color: #b45309; }

.rlsd-if-line-problems:empty { display: none; }
.rlsd-if-line-problems { margin-top: 6px; }

.is-split .rlsd-if-line {
    padding: 8px 10px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #fbfbfc;
}

.is-split .rlsd-if-line-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.is-split .rlsd-if-line-no {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #6b7280;
}

.rlsd-if-del {
    padding: 0 4px;
    font-size: 18px;
    line-height: 1;
    color: #9ca3af;
    text-decoration: none;
}

    .rlsd-if-del:hover, .rlsd-if-del:focus { color: #b91c1c; text-decoration: none; }

/* --- indbakkens bogføringsskærm: bilaget til venstre, formularen til højre ---
   Under 992px stables de: bilaget øverst, formularen under. På en telefon er
   den rækkefølge den rigtige — man ser hvad man taster efter. */
.rlsd-book {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.rlsd-book-doc {
    flex: 0 0 46%;
    min-width: 340px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #f6f7f9;
    overflow: hidden;
}

.rlsd-book-doc-head {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 6px 10px;
    border-bottom: 1px solid #ddd;
}

    .rlsd-book-doc-head > b {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.rlsd-book-doc > iframe {
    flex: 1;
    width: 100%;
    min-height: 70vh;
    border: 0;
}

.rlsd-book-doc-img {
    flex: 1;
    overflow: auto;
    padding: 8px;
    text-align: center;
}

.rlsd-book-doc-other { padding: 20px; }

.rlsd-book-form { flex: 1; min-width: 0; }

.rlsd-book-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.rlsd-book-spacer { margin-left: auto; }

@media (max-width: 991px) {
    .rlsd-book { display: block; }
    .rlsd-book-doc { min-width: 0; margin-bottom: 14px; }
        .rlsd-book-doc > iframe { min-height: 46vh; }
}

/* --- vælgeren for åbne poster (bruges af formularen, ikke af gridet) --- */
.rlsd-oe { max-height: 60vh; overflow: auto; }
    .rlsd-oe .rlsd-oe-filter { margin-bottom: 8px; }
    .rlsd-oe table { font-size: 13px; }
    .rlsd-oe .rlsd-oe-row { cursor: pointer; }
    .rlsd-oe td.text-right, .rlsd-oe th.text-right { font-variant-numeric: tabular-nums; }

/* --- ventetilstand for indbakkens formular ---------------------------------
   Skelettet tegner formens raster, saa man ser hvad der er paa vej i stedet
   for et ord. Samme grid som .rlsd-if-grid, saa der ikke hopper noget naar
   felterne lander. */
.rlsd-if-loading-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #6b7280;
}

.rlsd-if-skeleton {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 14px;
}

.rlsd-if-skel-field { display: block; }

.rlsd-if-skel-label,
.rlsd-if-skel-box {
    display: block;
    border-radius: 3px;
    background: linear-gradient(90deg, #eceef1 25%, #f5f6f8 37%, #eceef1 63%);
    background-size: 400% 100%;
    animation: rlsd-if-shimmer 1.4s ease infinite;
}

.rlsd-if-skel-label { width: 42%; height: 9px; margin-bottom: 6px; }
.rlsd-if-skel-box { height: 30px; }

@keyframes rlsd-if-shimmer {
    from { background-position: 100% 50%; }
    to { background-position: 0 50%; }
}

.rlsd-if-loading-slow { margin-top: 12px; font-size: 12px; }

/* Bevaeger noget sig ikke for brugeren, skal det heller ikke her. */
@media (prefers-reduced-motion: reduce) {
    .rlsd-if-skel-label,
    .rlsd-if-skel-box { animation: none; }
    .rlsd-spin { animation: none; }
}

@media (max-width: 991px) {
    .rlsd-if-skeleton { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .rlsd-if-skeleton { grid-template-columns: 1fr; }
}

/* --- hvad skanningen læste ud af bilaget -----------------------------------
   Står OVER formularen, fordi det er baggrunden for de tal der allerede er
   fyldt ind. Hvert fund bærer sin begrundelse - et forslag man ikke kan
   efterprøve, er ikke til at stole på. */
.rlsd-scan {
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #6b7fd7;
    border-radius: 4px;
    background: #fbfbfd;
    font-size: 12px;
}

.rlsd-scan-head {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 11px;
    color: #4b5563;
    margin-bottom: 6px;
}

.rlsd-scan-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 3px 0;
    flex-wrap: wrap;
}

.rlsd-scan-field { min-width: 92px; color: #6b7280; }

.rlsd-scan-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.rlsd-scan-badge {
    flex: 0 0 auto;
    padding: 0 6px;
    border-radius: 8px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #eef0f4;
    color: #6b7280;
}

    .rlsd-scan-badge.is-on { background: #dcfce7; color: #15803d; }

.rlsd-scan-why {
    flex: 1 1 220px;
    min-width: 0;
    color: #9ca3af;
}

.rlsd-scan-row.is-used .rlsd-scan-value { color: #15803d; }

.rlsd-scan-empty { color: #6b7280; }

.rlsd-scan-notes { margin-top: 8px; }
    .rlsd-scan-notes summary { cursor: pointer; color: #6b7280; }
    .rlsd-scan-notes ul { margin: 6px 0 0 18px; color: #6b7280; }

/* ---------------------------------------------------------------- inbox-flow-striben
   Samme fremdriftsbillede som chrome-udvidelsens inbox-flow: smaa piller med OK /
   kladde / sprunget / fejl / tilbage, og tastehintet yderst. Farverne foelger
   udvidelsens: groen for OK, gul for sprunget, roed for fejl, graa for resten. */
.rlsd-flow-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 6px 12px;
    margin: 0 0 8px;
}
.rlsd-flow-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    background: #eee;
    color: #333;
    white-space: nowrap;
}
.rlsd-flow-badge b { font-weight: 700; }
.rlsd-flow-badge.is-ok    { background: #dff0d8; color: #2d6a2d; }
.rlsd-flow-badge.is-draft { background: #d9edf7; color: #31708f; }
.rlsd-flow-badge.is-skip  { background: #fcf8e3; color: #8a6d3b; }
.rlsd-flow-badge.is-err   { background: #f2dede; color: #a94442; }
.rlsd-flow-badge.is-left  { background: #e4e4e4; color: #555; }
.rlsd-flow-keys {
    margin-left: auto;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rlsd-flow-cmd {
    width: 260px;
    display: inline-block;
    font-size: 12px;
    height: 26px;
    padding: 2px 8px;
}

/* ---- bilags-badges (type/retning/sikkerhed) - som udvidelsens raekke ---- */
.rlsd-doc-badges[hidden] { display: none; }   /* samme faelde - se noten ovenfor */
.rlsd-doc-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0 0 8px; }
.rlsd-badge {
    display: inline-block; padding: 2px 10px; border-radius: 3px;
    font-size: 12px; background: #337ab7; color: #fff; white-space: nowrap;
}
.rlsd-badge.is-warn { background: #d9534f; }
.rlsd-badge-signals { font-size: 12px; }
.rlsd-badge-signals summary { cursor: pointer; color: #555; }
.rlsd-book-validate { margin: 8px 0 0; padding: 8px 12px; font-size: 13px; }

/* ---- fund fra skanningen vist PAA feltet: groen kant + flueben m. titel ---- */
.rlsd-if-line [data-field].is-scanned input,
.rlsd-if-line [data-field].is-scanned select {
    border-left: 3px solid #5cb85c;
}
.rlsd-if-scanned {
    color: #2d6a2d;
    font-weight: 700;
    margin-left: 5px;
    cursor: help;
}

/* ---- detalje-folden: maerkbar men stille ---- */
.rlsd-doc-details { margin: 0 0 10px; font-size: 12px; }
.rlsd-doc-details > summary { cursor: pointer; color: #666; }
.rlsd-doc-details[open] > summary { margin-bottom: 6px; }

/* ---- bilaget over for kreditorkortet: raekker, ikke tekstsuppe ---- */
.rlsd-match-head { font-weight: 700; margin: 4px 0 6px; }
.rlsd-match-row {
    display: grid;
    grid-template-columns: 110px 1fr 1fr 90px auto;
    gap: 8px;
    align-items: baseline;
    padding: 3px 6px;
    border-left: 3px solid #ddd;
    margin-bottom: 2px;
}
.rlsd-match-row.is-agrees { border-left-color: #5cb85c; }
.rlsd-match-row.is-differs { border-left-color: #d9534f; background: #fdf7f7; }
.rlsd-match-row.is-only_document { border-left-color: #5bc0de; }
.rlsd-match-row .rlsd-match-field { font-weight: 600; }
.rlsd-match-row i { color: #999; font-style: normal; font-size: 11px; margin-right: 3px; }
.rlsd-match-status { font-size: 11px; text-transform: uppercase; color: #777; }
.rlsd-match-row.is-differs .rlsd-match-status { color: #a94442; font-weight: 700; }
.rlsd-match-why { grid-column: 1 / -1; font-size: 11px; color: #888; }
.rlsd-match-none { margin: 4px 0 8px; }

/* ---- Manglende bilag (Finance/MissingVouchers) ---- */
.rlsd-mv-bar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 10px 0 14px; }
.rlsd-mv-only { margin: 0; font-weight: normal; cursor: pointer; }
.rlsd-mv-only input { margin-right: 5px; }
.rlsd-mv-h { margin: 22px 0 8px; }
.rlsd-mv-count { font-size: 13px; color: #667079; font-weight: normal; margin-left: 6px; }
.rlsd-mv-table td { vertical-align: middle; }
.rlsd-mv-table tr.rlsd-mv-ok td { color: #6a7680; }
.rlsd-mv-att.is-ok { color: #3c763d; font-weight: 700; }
.rlsd-mv-att.is-missing { display: inline-block; padding: 1px 7px; border-radius: 3px; background: #f2dede; color: #a94442; font-size: 12px; font-weight: 600; }
.rlsd-mv-state { min-width: 100px; }
.rlsd-mv-note { min-width: 140px; }
.rlsd-mv-saved { box-shadow: 0 0 0 2px #3c763d; transition: box-shadow .4s; }
.rlsd-mv-share-panel { position: relative; max-width: 520px; border: 1px solid #d3dbe2; border-radius: 6px; background: #fbfdff; padding: 14px 18px; margin: 0 0 14px; }
.rlsd-mv-att.is-peer { display: inline-block; padding: 1px 7px; border-radius: 3px; background: #fcf8e3; color: #8a6d3b; font-size: 12px; font-weight: 600; }
.rlsd-mv-table tr.rlsd-mv-ok td { background: #f0f8ee; }
.rlsd-mv-table tr.rlsd-mv-drop td { background: #e3f0fa; box-shadow: inset 0 0 0 1px #2c6f9b; }
.rlsd-mv-table tr.rlsd-mv-uploading td { opacity: .5; }
.rlsd-mv-preview { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 2000; display: flex; align-items: center; justify-content: center; }
.rlsd-mv-preview-box { position: relative; width: min(900px, 92vw); height: min(85vh, 1100px); background: #fff; border-radius: 6px; padding: 34px 10px 10px; box-shadow: 0 6px 30px rgba(0,0,0,.3); }
.rlsd-mv-preview-box .close { position: absolute; top: 6px; right: 12px; font-size: 24px; }
/* Bilagsviseren: scenen er rammen, billedet passes ind i DEN - ikke omvendt.
   Foer laa bilaget i en iframe og blev vist i sin naturlige stoerrelse, saa et
   telefonfoto fyldte langt ud over rammen og kun et hjoerne var synligt. */
.rlsd-mv-preview-tools { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 0 0 8px; }
.rlsd-mv-tools-sep { width: 1px; height: 18px; background: #ddd; margin: 0 4px; }
.rlsd-mv-zoom-label { min-width: 54px; text-align: center; font-size: 12px; color: #666; }
.rlsd-mv-view-note { font-size: 12px; color: #777; margin-left: auto; }
.rlsd-mv-preview-stage { position: relative; width: 100%; height: calc(100% - 34px); overflow: auto;
                         display: flex; align-items: center; justify-content: center; background: #f4f4f4; }
.rlsd-mv-preview-stage img { max-width: 100%; max-height: 100%; transform-origin: center center;
                             transition: transform .12s ease-out; }
.rlsd-mv-preview-stage iframe { width: 100%; height: 100%; border: 0; }
/* Uden vaerktoejslinjen (pdf) skal scenen have hele hoejden. */
.rlsd-mv-preview-tools[hidden] + .rlsd-mv-preview-stage { height: 100%; }
.rlsd-mv-preview-box iframe { width: 100%; height: 100%; border: 1px solid #e3e6ea; }
.rlsd-mv-assignwrap { display: inline-block; }
.rlsd-mv-preview[hidden] { display: none; }
.rlsd-mv-actions { white-space: nowrap; }
.rlsd-mv-actions .btn { margin-right: 6px; }
.rlsd-mv-actions .btn:last-child { margin-right: 0; }
.rlsd-mv-table tr.rlsd-mv-removed td { color: #9aa3ab; background: #f7f7f7; text-decoration: line-through; }
.rlsd-mv-table tr.rlsd-mv-removed td.rlsd-mv-actions { text-decoration: none; }
.rlsd-mv-att.is-removed { display: inline-block; padding: 1px 7px; border-radius: 3px; background: #eee; color: #777; font-size: 12px; font-weight: 600; }
/* Arkiveret = behandlet og ude af vejen. Daempet, men IKKE gennemstreget:
   raekken er gjort faerdig, ikke kasseret - det er forskellen paa den og fjernet. */
.rlsd-mv-table tr.rlsd-mv-archived td { color: #8a939b; background: #fbfbfd; }
.rlsd-mv-att.is-archived { display: inline-block; padding: 1px 7px; border-radius: 3px; background: #e8eef6; color: #5b6b7d; font-size: 12px; font-weight: 600; }

/* ---- Selskabets spilleregler (CompanyConventions) ---- */
.rlsd-cc-card { position: relative; max-width: 900px; border: 1px solid #e3e6ea; border-radius: 6px; background: #fff; padding: 14px 18px; margin: 0 0 14px; }
.rlsd-cc-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; padding-right: 44px; }
.rlsd-cc-body { font-family: inherit; }
.rlsd-cc-actions { margin-top: 8px; }
.rlsd-cc-deleteform { position: absolute; top: 12px; right: 14px; margin: 0; }
.rlsd-cc-new { background: #fbfdff; border-style: dashed; }
.rlsd-scope-privileged { border-left: 3px solid #f0ad4e; padding-left: 8px; }
.rlsd-mv-doneinfo { font-size: 11px; color: #6a7680; margin-top: 2px; white-space: nowrap; }
.rlsd-mv-hist-box { height: auto; max-height: 80vh; display: flex; flex-direction: column; padding: 18px 22px; }
.rlsd-mv-hist-scroll { overflow-y: auto; }

/* ---- Projektbudget paa fakturasiden ---- */
.rlsd-sibudget { border: 1px solid #e3e6ea; border-radius: 6px; background: #fbfdff; padding: 8px 14px; max-width: 900px; }
.rlsd-sibudget summary { cursor: pointer; }
.rlsd-sibudget-body { margin-top: 8px; }
.rlsd-sibudget-table { border-collapse: collapse; margin-bottom: 8px; }
.rlsd-sibudget-table th, .rlsd-sibudget-table td { padding: 3px 14px 3px 0; text-align: right; font-size: 13px; }
.rlsd-sibudget-table td:first-child, .rlsd-sibudget-table th:first-child { text-align: left; }
.rlsd-sibudget-rev { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; margin: 6px 0; }
.rlsd-sibudget-warn { display: inline-block; padding: 1px 8px; border-radius: 3px; background: #fcf8e3; color: #8a6d3b; font-weight: 600; }
.rlsd-sibudget-upcoming { font-size: 13px; margin-top: 6px; }
.rlsd-sibudget-upcoming ul { margin: 4px 0 0 18px; padding: 0; }
.rlsd-mil-files td { padding: 3px 14px 3px 0; font-size: 13px; }

/* ADGANG: en knap eller et link brugeren ikke maa foelge.

   Daempet - ikke skjult - saa man kan se at funktionen findes og hvad man skal bede om.
   Hele faner og sektioner skjules derimod paa serveren.

   FULD OPACITET og lys baggrund, som Bootstraps deaktiverede FELTER (#eeeeee, opacity 1)
   - ikke som deaktiverede knapper (opacity .65). Foerste forsoeg brugte .45 plus
   graatoning, og saa var teksten praktisk talt vaek: man kunne se AT der var en knap,
   men ikke HVAD den hed. Pointen med at daempe frem for at skjule er netop, at man skal
   kunne laese, hvad man ikke har adgang til.

   Se rlsd-components.js (applyAccess) og Infrastructure/RlsdAccessMap. */
.rlsd-denied {
    opacity: 1;
    background-color: #eeeeee !important;
    background-image: none !important;
    border-color: #ddd !important;
    color: #777 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: not-allowed !important;
    text-decoration: none !important;
}

/* Farvede knapper (gron "Opret ny", rod "Slet") mister deres farve, saa de ikke lokker.
   Ikonet indeni skal ogsaa med - ellers staar et hvidt glyphicon paa lys grund. */
.rlsd-denied .glyphicon,
.rlsd-denied .fa,
.rlsd-denied span { color: #777 !important; }

.rlsd-denied:hover,
.rlsd-denied:focus { background-color: #eeeeee !important; color: #777 !important; }

/* BROEDKRUMMEN: et led man ikke maa foelge, skal blive til ren TEKST - ikke et graat
   felt midt i stien. Krummen er en stedsangivelse foerst og et link bagefter; at
   fjerne linket maa ikke fjerne oplysningen om, hvor man er. */
.rlsd-breadcrumb .rlsd-denied {
    background-color: transparent !important;
    border: 0 !important;
    color: #777 !important;
    cursor: default !important;
}

/* HANDLINGSKOLONNEN I LISTER.

   Knapperne stod klods op ad hinanden i en fast 70 px kolonne, saa to knapper ombroed
   og gjorde hver eneste raekke dobbelt saa hoej. Flex + gap holder dem paa EEN linje
   med luft imellem, og cellen tager kun den bredde den skal bruge. */
td.rlsd-actions-cell { white-space: nowrap; width: 1%; text-align: right; }
th.rlsd-col-actions  { width: 1%; white-space: nowrap; }

.rlsd-row-actions {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    justify-content: flex-end;
}
.rlsd-row-actions > .btn,
.rlsd-row-actions > a.btn { margin: 0; float: none; }

/* Menuen aabner mod hoejre, saa den ikke skubbes ud over tabellens kant. */
.rlsd-row-actions .dropdown-menu { min-width: 160px; }

/* UDVIKLERTILSTAND: "?" ved alt med en adgangsgate.
   Kun synligt naar RlsdDevMode er taendt - kortet sendes slet ikke ellers.
   Striber om hvert element var stoej; eet lille maerke og et klik er nok. */
.rlsd-gate-q {
    display: inline-block;
    width: 14px; height: 14px; line-height: 14px;
    margin-left: 3px;
    font-size: 10px; font-weight: 700; text-align: center;
    border-radius: 50%;
    background: #00823b; color: #fff;
    cursor: help; user-select: none;
    vertical-align: super;
}
.rlsd-gate-q-blocked { background: #c0392b; }

.rlsd-gate-pop {
    position: fixed; z-index: 2147483646;
    width: 380px; max-width: calc(100vw - 16px);
    max-height: calc(100vh - 90px); overflow-y: auto;
    background: #fff; border: 1px solid #ccc; border-radius: 3px;
    box-shadow: 0 6px 18px rgba(0,0,0,.2);
    padding: 12px 14px; font-size: 12.5px;
}
.rlsd-gate-pop-head { font-weight: 600; margin-bottom: 8px; }
.rlsd-gate-pop dl { margin: 0 0 10px; }
.rlsd-gate-pop dt { color: #777; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; margin-top: 7px; }
.rlsd-gate-pop dd { margin: 1px 0 0; word-break: break-word; font-family: ui-monospace, Menlo, Consolas, monospace; }

/* Integrationsknapper (e-conomic, Uniconta). Tekst frem for hotlinkede logoer -
   se begrundelsen i _Navbar.cshtml. */
.rlsd-integration-btn { padding: 5px 10px; margin: 1px; white-space: nowrap; }

/* ===========================================================================
   KNAPTYPER — farven bor HER, ikke i det enkelte view.

   RlsdActionHtml.Kind saetter to klasser paa hver handlingsknap: husets
   semantiske (rlsd-btn-create) og Bootstraps (btn-success). I dag maler
   Bootstrap; de semantiske klasser er kroge, der venter.

   HVORFOR TO: at male 400 knapper om i samme aandedrag som en oprydning ville
   vaere en visuel aendring, ingen har bedt om. Naar farveskemaet SKAL skiftes,
   er der to greb - og kun to:

     1. Fyld vaerdier i tokenene nedenfor og fjern kommentaren fra reglerne.
     2. Fjern Bootstrap-klassen i RlsdActionHtml.CssFor - een linje pr. type.

   Kaldstederne roeres ikke. Det er hele pointen med at have typerne.

   Bemaerk: hover- og active-tilstande kommer fortsat fra Bootstrap. De skal
   med i samme omgang, ellers lyser en knap op i den gamle farve ved museover.
   =========================================================================== */
:root {
    --rlsd-btn-create:  #5cb85c;   /* i dag: Bootstraps btn-success */
    --rlsd-btn-edit:    #5bc0de;   /* btn-info    */
    --rlsd-btn-delete:  #d9534f;   /* btn-danger  */
    --rlsd-btn-save:    #5cb85c;   /* btn-success */
    --rlsd-btn-send:    #337ab7;   /* btn-primary */
    --rlsd-btn-post:    #f0ad4e;   /* btn-warning */
    --rlsd-btn-open:    #5bc0de;   /* btn-info    */
    --rlsd-btn-export:  #ffffff;   /* btn-default */
}

/* Naar Bootstrap-klassen fjernes i CssFor, aktiveres disse:
.rlsd-btn-create { background-color: var(--rlsd-btn-create); border-color: var(--rlsd-btn-create); color:#fff; }
.rlsd-btn-edit   { background-color: var(--rlsd-btn-edit);   border-color: var(--rlsd-btn-edit);   color:#fff; }
.rlsd-btn-delete { background-color: var(--rlsd-btn-delete); border-color: var(--rlsd-btn-delete); color:#fff; }
.rlsd-btn-save   { background-color: var(--rlsd-btn-save);   border-color: var(--rlsd-btn-save);   color:#fff; }
.rlsd-btn-send   { background-color: var(--rlsd-btn-send);   border-color: var(--rlsd-btn-send);   color:#fff; }
.rlsd-btn-post   { background-color: var(--rlsd-btn-post);   border-color: var(--rlsd-btn-post);   color:#fff; }
.rlsd-btn-open   { background-color: var(--rlsd-btn-open);   border-color: var(--rlsd-btn-open);   color:#fff; }
.rlsd-btn-export { background-color: var(--rlsd-btn-export); border-color:#ccc; color:#333; }
*/

/* ============================ TIMEOPGOERELSEN (pivot) ============================
   Mads 07-09-2026. Farverne staar som variabler her og INGEN andre steder, saa et nyt
   farveskema skiftes eet sted - ikke i hver celle.

   VARMESKALAEN er RELATIV til det travleste felt i tabellen (se RlsdTimePivot.Varme):
   en dagskolonne topper omkring 8 timer, en aarskolonne omkring 1.700. En fast skala
   ville farve hele aarstabellen ens og dermed vise ingenting.

   Kun BAGGRUNDEN baerer varmen - teksten bliver staaende soergelig moerk hele vejen, saa
   tallene kan laeses ogsaa i det kraftigste trin. Farven er en tilfoejelse til tallet,
   aldrig en erstatning: den der ikke skelner farverne, kan stadig laese tabellen. */
:root {
    --rlsd-pv-h1: #eaf3fb;
    --rlsd-pv-h2: #d3e6f6;
    --rlsd-pv-h3: #b3d4ef;
    --rlsd-pv-h4: #8dbde6;
    --rlsd-pv-h5: #63a3da;
    --rlsd-pv-hul: #fdecea;   /* hverdag uden timer - roedlig, men ikke alarmerende */
    --rlsd-pv-fri: #fafafa;   /* weekend - graa, saa den ikke forveksles med et hul */
}

.rlsd-pv-wrap { max-height: calc(100vh - 300px); overflow: auto; }

.rlsd-pv { border-collapse: separate; border-spacing: 0; font-size: 12px; width: auto; min-width: 100%; }
.rlsd-pv th, .rlsd-pv td { border-bottom: 1px solid #eee; padding: 3px 6px; white-space: nowrap; }

/* Overskriftsraekken og navnekolonnen bliver staaende. Uden det mister man baade hvilken
   uge og hvilken sag man kigger paa, saa snart tabellen er bredere end skaermen - og en
   pivottabel er naesten altid bredere end skaermen. */
.rlsd-pv thead th { position: sticky; top: 0; z-index: 3; background: #f5f5f5; border-bottom: 2px solid #ddd; }
.rlsd-pv .rlsd-pv-navn { position: sticky; left: 0; z-index: 2; background: #fff; text-align: left;
                         font-weight: normal; max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
.rlsd-pv thead .rlsd-pv-navn { z-index: 4; background: #f5f5f5; }
.rlsd-pv tfoot .rlsd-pv-navn { background: #f5f5f5; font-weight: bold; }

.rlsd-pv-kol { text-align: right; }
.rlsd-pv-kol a { color: #333; text-decoration: none; border-bottom: 1px dotted #999; }
.rlsd-pv-celle { text-align: right; font-variant-numeric: tabular-nums; }
.rlsd-pv-celle a { color: #222; text-decoration: none; display: block; }
.rlsd-pv-celle a:hover { text-decoration: underline; }
.rlsd-pv-sum { text-align: right; font-weight: bold; font-variant-numeric: tabular-nums; background: #f5f5f5; }
.rlsd-pv tfoot td, .rlsd-pv tfoot th { position: sticky; bottom: 0; z-index: 2; border-top: 2px solid #ddd; }
.rlsd-pv-alt { background: #ececec; }

.rlsd-pv-h1 { background-color: var(--rlsd-pv-h1); }
.rlsd-pv-h2 { background-color: var(--rlsd-pv-h2); }
.rlsd-pv-h3 { background-color: var(--rlsd-pv-h3); }
.rlsd-pv-h4 { background-color: var(--rlsd-pv-h4); }
.rlsd-pv-h5 { background-color: var(--rlsd-pv-h5); }
.rlsd-pv-fri { background-color: var(--rlsd-pv-fri); }
.rlsd-pv-hul { background-color: var(--rlsd-pv-hul); }

/* Tilbageførte timer. Varmeskalaen viser TRAVLHED og gælder derfor kun positive tal;
   en negativ celle får sin egen markering i stedet, så den ikke bare ser ud som en
   stille måned. Før blev negative celler tegnet HELT tomme, mens de stadig indgik i
   totalen - så kunne tabellens tal ikke lægges sammen til dens egen sum. */
.rlsd-pv-neg, .rlsd-pv-neg a { color: #a94442; }
.rlsd-pv-neg { background-color: #fdf3f2; }

/* Sags- og kundenavne fører til deres detaljeside, når brugeren har adgang. Navnet
   skal stadig læses som en overskrift i tabellen, ikke som en knap - derfor samme
   farve som teksten, og understregning først ved berøring. */
.rlsd-pv-navn a { color: inherit; text-decoration: none; }
.rlsd-pv-navn a:hover, .rlsd-pv-navn a:focus { text-decoration: underline; }

/* Raekkens farvebrik. Fast pr. navn (FNV-hash), saa den samme salgstype har samme farve
   hver gang - ogsaa naar raekkefoelgen skifter. En farve der flytter sig, laerer man aldrig. */
.rlsd-pv-chip { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; vertical-align: baseline; }
.rlsd-pv-t0 { background: #4e79a7; } .rlsd-pv-t1 { background: #f28e2b; }
.rlsd-pv-t2 { background: #e15759; } .rlsd-pv-t3 { background: #76b7b2; }
.rlsd-pv-t4 { background: #59a14f; } .rlsd-pv-t5 { background: #edc948; }
.rlsd-pv-t6 { background: #b07aa1; } .rlsd-pv-t7 { background: #ff9da7; }
.rlsd-pv-t8 { background: #9c755f; } .rlsd-pv-t9 { background: #bab0ac; }

.rlsd-pv-forklaring { margin-top: 8px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.rlsd-pv-proeve { display: inline-block; width: 18px; height: 12px; border: 1px solid #ddd; }

/* ===== "Egen information": ét kort pr. sæt =================================
   HVORFOR table-layout: fixed.
   Hvert sæt er sin EGEN tabel. Uden fast layout bestemmer hvert kort sine
   kolonnebredder ud fra sit eget indhold - så "Admin Odoo" (korte navne som
   "Bruger", "Kode") lod værdien starte ét sted, mens "Alpi" ("Brugernavn",
   "Password") lod den starte et helt andet. Knapperne stod trappevis ned
   gennem siden. Faste bredder gør kortene ens, uanset hvad de indeholder.

   Handlingskolonnen er i PIXELS, ikke procent, og det er med vilje: knapperne
   har fast størrelse og skalerer ikke med vinduet. En procentbredde ville
   enten spilde plads på en bred skærm eller klippe den fjerde knap på en smal.
   Nøgle og værdi er derimod procent, så de følger den samlede bredde.

   Rækkerne har ikke lige mange knapper - en maskeret linje har også "Vis" -
   så kolonnen er højrestillet; ellers ville knapperne starte forskudt. */
.rlsd-ci-lines { table-layout: fixed; width: 100%; margin-bottom: 0; }
.rlsd-ci-lines > tbody > tr > td { vertical-align: middle; }

.rlsd-ci-key { width: 24%; word-break: break-word; }
.rlsd-ci-val { word-break: break-word; }   /* resten - fixed layout fordeler selv */
.rlsd-ci-act { width: 172px; text-align: right; white-space: nowrap; }

/* Prikkerne skal fylde som en værdi, så rækken ikke hopper når man viser den. */
.rlsd-ci-dots { letter-spacing: 2px; color: #999; }

@media (max-width: 767px) {
    /* Smal skærm: navnet må ikke æde værdien. Knapperne beholder deres plads,
       for de kan ikke skrumpe. */
    .rlsd-ci-key { width: 34%; }
    .rlsd-ci-act { width: 150px; }
}

/* FAKTURAENS ADRESSEBLOKKE (modtager + levering).
   To lige brede kort under fakturahovedet. Rammen er der, fordi en adresse skal kunne
   ses som EEN ting - loese linjer under hinanden laeses ikke som en adresse. */
.rlsd-inv-adr {
    margin-top: 10px;
}

.rlsd-inv-adr-box {
    border: 1px solid #e3e6ea;
    border-radius: 6px;
    background: #fbfdff;
    padding: 8px 12px;
    height: 100%;
}

.rlsd-inv-adr-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.rlsd-inv-adr-title {
    font-weight: 600;
}

.rlsd-inv-adr-body {
    line-height: 1.5;
}

/* Advarslen naar betalingsbetingelse og forfaldsdato modsiger hinanden. */
.rlsd-inv-terms-warn {
    margin-left: 8px;
}

/* FAELLES FEJLKORT (_ErrorCard). Samme form paa "siden findes ikke", "der gik noget
   galt" og adgangsnaegtelsen: trekant, overskrift, broedtekst, detaljer, hjaelp, knapper.
   Formen ER beskeden - laeseren skal kunne genkende alvoren foer hun har laest et ord. */
.rlsd-errpage {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Regnet fra viewporten minus menulinjen, saa kortet staar i midten af det, der
       faktisk er tilbage. 100dvh frem for 100vh: paa en telefon aendrer adresselinjen
       hoejden, og 100vh giver en side, der hopper. */
    min-height: calc(100vh - 160px);
    min-height: calc(100dvh - 160px);
    padding: 24px 16px 48px;
    box-sizing: border-box;
}

.rlsd-errpage-card {
    width: 100%;
    max-width: 520px;
    background: #fff;
    border: 1px solid #e3e6ea;
    border-top-width: 4px;
    border-radius: 8px;
    padding: 28px 28px 22px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    text-align: center;
}

/* Kanten foroven baerer alvoren. En gul og en roed side maa ikke se ens ud - det er
   forskellen paa "du skrev forkert" og "systemet fejlede". */
.rlsd-errpage-warning {
    border-top-color: #b8860b;
}

.rlsd-errpage-danger {
    border-top-color: #c0392b;
}

.rlsd-errpage-icon {
    width: 56px;
    height: 56px;
    display: block;
    margin: 0 auto 12px;
}

.rlsd-errpage-title {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 10px;
}

.rlsd-errpage-body {
    font-size: 15px;
    margin: 0 0 16px;
}

/* Detaljerne er VENSTRESTILLEDE, selv om kortet er centreret: en adresse eller en
   fejlkode laeses tegn for tegn, og centreret monospace er svaer at scanne. */
.rlsd-errpage-details {
    text-align: left;
    background: #f7f9fb;
    border: 1px solid #e8ecf0;
    border-radius: 6px;
    padding: 12px 14px;
    margin: 0 0 16px;
}

    .rlsd-errpage-details dt {
        font-weight: 600;
        font-size: 13px;
        color: #56616b;
        margin-bottom: 3px;
    }

    .rlsd-errpage-details dd {
        margin: 0 0 10px;
    }

    .rlsd-errpage-details dd:last-child {
        margin-bottom: 0;
    }

    .rlsd-errpage-details code {
        display: block;
        white-space: pre-wrap;
        word-break: break-all;
        background: transparent;
        padding: 0;
        color: #2f3a44;
    }

.rlsd-errpage-help {
    color: #6b7680;
    font-size: 14px;
    text-align: left;
    margin: 0 0 18px;
}

.rlsd-errpage-actions {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Tekstkortet fylder hele bredden: en fakturatekst er saetninger, ikke en adresse,
   og en halv kolonne ville braekke dem midt over. */
.rlsd-inv-adr-bred {
    flex: 1 1 100% !important;
    max-width: 100% !important;
}

.rlsd-inv-tekstlinje {
    white-space: pre-wrap;
    margin-bottom: 6px;
}

/* MODULVAELGEREN (_ModulePicker). Fluebenene stod foer i en dl-horizontal, altsaa én
   pr. raekke i fuld sidebredde - halvfjerds moduler blev til halvfjerds skaermhoejder.
   Et gitter viser dem alle paa én gang, og soegefeltet goer listen navigerbar. */
.rlsd-modulepicker-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

    .rlsd-modulepicker-tools input[type="text"] {
        width: 260px;
        max-width: 100%;
    }

.rlsd-modulepicker-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 2px 18px;
    margin-bottom: 18px;
}

.rlsd-modulepicker-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-weight: normal;
    padding: 5px 8px;
    border-radius: 4px;
    margin: 0;
    cursor: pointer;
}

    .rlsd-modulepicker-item:hover {
        background: #f2f6fa;
    }

    /* Fluebenet skal ikke flyde med teksten, naar et modulnavn foldes over to linjer. */
    .rlsd-modulepicker-item input[type="checkbox"] {
        margin: 0;
        flex: 0 0 auto;
        position: relative;
        top: 2px;
    }

/* KOERSELSPANELET paa faktureringsreglerne. Datoen staar SAMMEN med knappen, fordi det
   er den, der afgoer hvad knappen goer. En knap, hvis virkning afhaenger af et tal, man
   ikke kan se, er en faelde. */
.rlsd-run-panel {
    border: 1px solid #e3e6ea;
    border-radius: 6px;
    background: #fbfdff;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.rlsd-run-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

    .rlsd-run-row input[type="date"] {
        width: 190px;
    }

    .rlsd-run-row label {
        margin: 0;
        font-weight: 600;
    }

/* SAMMENLAEG-DIALOGEN paa fakturaen. Ligger over siden, saa man stadig kan se de linjer,
   man har valgt - valget er hele grundlaget for beslutningen. */
/* 🔴 hidden SKAL vinde over display:flex nedenfor. Attributten skjuler kun via
   browserens egen regel (specificitet 0,0,0), saa ENHVER klasseregel med display
   slaar den - og dialogen stod aabent paa fakturasiden, uden at nogen havde trykket
   (Mads 09-09-2026: "Denne popper nu op uden jeg har trykket noget?").

   Undtagelsen staar pr. klasse og ikke som [hidden]{display:none!important} ét sted:
   der findes markup med class="modal fade" hidden, og Bootstrap viser en modal ved at
   saette style.display="block" UDEN at fjerne attributten - en global !important ville
   skjule den for altid. dev\Check-HiddenDisplay.ps1 fanger den naeste, der glemmer det. */
.rlsd-merge-dialog[hidden] { display: none; }

.rlsd-merge-dialog {
    position: fixed;
    inset: 0;
    background: rgba(20,28,16,.55);
    z-index: 15500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.rlsd-merge-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 22px 60px rgba(0,0,0,.3);
    padding: 20px 22px;
    width: 520px;
    max-width: 100%;
}

    .rlsd-merge-card h4 {
        margin-top: 0;
    }

.rlsd-merge-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
}

/* PRIS-GENBEREGNING. Samme skal som sammenlaeg-dialogen (og dermed samme
   [hidden]-undtagelse ovenfor), men bredere: her staar en tabel med fire tal pr. linje,
   og en 520 px kolonne ville pakke dem oven paa hinanden. */
.rlsd-recalc-card { width: 860px; }
.rlsd-recalc-card table { margin-bottom: 0; }
.rlsd-recalc-card .rlsd-recalc-scroll { max-height: 46vh; overflow-y: auto; }

/* Linjer, hvor fakturaprisen ikke er posteringernes. Efter en genberegning er det
   MENINGEN - se noten i Edit.cshtml - saa maerket er en oplysning, ikke en advarsel. */
.rlsd-price-differs { background: #fdf6e3; }

/* KLAR-TIL-AFSENDELSE paa fakturaen. Manglerne staar taet, lige over linjerne - det er
   dér de rettes, og de skal ikke skubbe resten af siden ned. */
.rlsd-readiness { margin: 14px 0 6px; }
.rlsd-readiness .rlsd-readiness-row { padding: 8px 12px; margin-bottom: 6px; }
.rlsd-readiness .rlsd-readiness-row:last-child { margin-bottom: 0; }

/* ---- FELTER STYRET AF E-CONOMIC -------------------------------------------------
   Maerket siger HVOR dataene kommer fra og staar derfor altid; advarslen siger, hvad
   en rettelse KOSTER, og skrives foerst af rlsd-economic-fields.js, naar vaerdien
   faktisk aendres. To forskellige oplysninger, to forskellige oejeblikke.

   Maerket er bevidst daempet. Det sidder paa hvert eneste stamdatafelt i fire
   kartoteker, og et kraftigt maerke gentaget femten gange paa én formular ville
   overdoeve baade etiketterne og den advarsel, der rent faktisk betyder noget. */
.rlsd-economic-badge {
    display: inline-block;
    margin-bottom: 3px;
    padding: 1px 6px;
    border: 1px solid #c8d4e0;
    border-radius: 9px;
    background: #f2f6fa;
    color: #5a6b7d;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: help;
    -webkit-user-select: none;
    user-select: none;
}

/* Advarslen skal kunne ses uden at ligne en valideringsfejl: brugeren har ikke gjort
   noget forkert - der er en konsekvens, som skal kendes. Derfor gul, ikke roed. */
.rlsd-economic-warning {
    margin-top: 5px;
    padding: 6px 9px;
    border-left: 3px solid #e0a800;
    background: #fff9e6;
    color: #6b5600;
    font-size: 12px;
    line-height: 1.45;
    border-radius: 0 3px 3px 0;
}

/* Feltet selv faar en diskret markering, saa de styrede felter kan ses som gruppe,
   naar man skimmer formularen. */
.rlsd-economic-field input.form-control[data-rlsd-economic] {
    border-left: 3px solid #c8d4e0;
}

/* ---- TALFELTER MED REGNESTYKKE ---------------------------------------------------
   Kun ét udseende: markeringen naar teksten IKKE kunne laeses. Feltet ser ellers ud
   som alle andre - formateringen er hele pointen, og en ekstra ramme om hvert
   beloebsfelt ville stoeje mere end den hjaelper.

   Roed ramme frem for at nulstille vaerdien: en tastefejl maa ikke stille og roligt
   blive til et beloeb, ingen har skrevet. Se noten i rlsd-number-input.js. */
.rlsd-number-bad {
    border-color: #d9534f !important;
    background-color: #fdf3f2 !important;
}

/* Sprogvaelgeren i en indstillingsraekke: select og knap paa samme linje.
   Uden bredden fylder en Bootstrap-select hele raekken og skubber knappen ned. */
.rlsd-inline-select { display: inline-block; width: auto; max-width: 220px; vertical-align: middle; margin-right: 6px; }

/* Formularer, hvis felter ligger i en tabel og peger paa dem med form="...".
   De maa ikke fylde noget selv - de baerer kun anti-forgery-token og id'et. */
.rlsd-hidden-form { display: none; }

/* ---- Statusbjælke (Views/Shared/Components/_StatusBar) -----------------------------
   Trinnene står som en kæde med pile. Det nuværende trin er fremhævet; de passerede
   tones ned, så øjet kan se hvor langt man er, uden at læse hvert ord.

   🔴 TRINNENE ER KNAPPER, IKKE LINKS, og de skal se ens ud uanset hvad. Browserens
   standardknap har egen baggrund, kant og skrifttype — uden nulstillingen nedenfor
   ville det nuværende trin (et <span>) og de øvrige (<button>) ikke ligne hinanden.  */
.rlsd-statusbar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 2px;
    margin: 0 0 14px 0;
}

.rlsd-statusbar-step {
    display: inline-flex;
    align-items: center;
    padding: 6px 18px 6px 22px;
    background: #f2f2f2;
    color: #666;
    font-size: 13px;
    line-height: 1.4;
    border: 0;
    position: relative;
    white-space: nowrap;
}

/* Pilespidsen: to trekanter, så kæden læses fra venstre mod højre. */
.rlsd-statusbar-step::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 10px solid #f2f2f2;
    z-index: 2;
}

.rlsd-statusbar-step::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 10px solid #fff;
    z-index: 1;
}

.rlsd-statusbar-step:first-child { padding-left: 14px; }
.rlsd-statusbar-step:first-child::before { display: none; }
.rlsd-statusbar-step:last-child::after { display: none; }

.rlsd-statusbar-step.is-passed { background: #dff0d8; color: #3c763d; }
.rlsd-statusbar-step.is-passed::after { border-left-color: #dff0d8; }

.rlsd-statusbar-step.is-current {
    background: #337ab7;
    color: #fff;
    font-weight: 600;
}
.rlsd-statusbar-step.is-current::after { border-left-color: #337ab7; }

/* Kun de klikbare får markør og svar på mus — det nuværende trin er ikke en handling. */
.rlsd-statusbar-btn { cursor: pointer; font-family: inherit; }
.rlsd-statusbar-btn:hover { background: #e6e6e6; color: #333; }
.rlsd-statusbar-btn:hover::after { border-left-color: #e6e6e6; }
.rlsd-statusbar-btn:focus { outline: 2px solid #337ab7; outline-offset: -2px; }

.rlsd-statusbar-form { margin: 0; }

/* Telefon: kæden brydes, og pilene ville pege ud i luften. */
@media (max-width: 767px) {
    .rlsd-statusbar-step { padding: 6px 12px; }
    .rlsd-statusbar-step::before, .rlsd-statusbar-step::after { display: none; }
}

/* ---------------------------------------------------------------- sorterbar liste
   Registre, hvis RÆKKEFØLGE er data — projektstatusserne først. Bevidst ikke rlsd-table:
   den bygger rækkerne om ved sortering og filtrering, og et træk-og-slip i en liste,
   brugeren selv har sorteret om, ville gemme en anden rækkefølge end den viste. */
.rlsd-sortlist { list-style: none; padding: 0; margin: 0 0 12px 0; }

.rlsd-sortlist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
    margin-bottom: 4px;
    cursor: grab;
}

.rlsd-sortlist-item.is-dragging { opacity: .45; cursor: grabbing; }
.rlsd-sortlist-item.rlsd-inactive { background: #fafafa; color: #999; }

.rlsd-sortlist-grip { color: #bbb; }
.rlsd-sortlist-nr { min-width: 36px; text-align: right; color: #999; font-size: 12px; }
.rlsd-sortlist-name { flex: 1 1 auto; }
.rlsd-sortlist-actions { flex: 0 0 auto; white-space: nowrap; }
.rlsd-sortlist-actions .btn { margin-left: 4px; }

/* Træk-og-slip findes ikke på en touch-flade uden mus — tallet i Ret-formularen er vejen der. */
@media (max-width: 767px) {
    .rlsd-sortlist-item { cursor: default; }
    .rlsd-sortlist-grip { display: none; }
}

/* Samlet overskrift over en gruppe kolonner - se _Subprojects.cshtml.

   🔴 CENTRERINGEN SKAL STAA HER, IKKE PAA .text-center I MARKUP'EN.
   Grundreglen "table.rlsd-table th, table.rlsd-table td { text-align: left }" har
   specificitet (0,1,2); Bootstraps .text-center har (0,1,0) og TABER. Klassen saa
   rigtig ud i markup'en og gjorde ingenting, saa gruppeoverskriften stod
   venstrestillet ved starten af sit spaend - "Realiseret" landede over "Faktureret"
   og "Forventet" over den foerste forventede kolonne, som om colspan'et var forkert.
   Det var det ikke: 12 kolonner i BEGGE raekker, maalt paa den rendrede HTML.
   Selektoren her er (0,3,3) og vinder. Mads 21-09-2026. */
.rlsd-table thead tr[data-rlsd-group-row] th.rlsd-group-head {
    text-align: center;
    border-bottom: 2px solid #ccc;
    font-weight: bold;
    color: #555;
}

/* Toerkoerslens opdeling i fakturadialogen. Smal, tæt og hoejrestillede tal, saa
   beloebene staar under hinanden - en opdeling man ikke kan laese som eet tal. */
.rlsd-draft-breakdown { margin: 8px 0 0; background: #fff; }
.rlsd-draft-breakdown > thead > tr > th,
.rlsd-draft-breakdown > tbody > tr > td,
.rlsd-draft-breakdown > tfoot > tr > th { padding: 3px 8px; font-size: 12px; }
.rlsd-draft-breakdown > tfoot > tr > th { border-top: 2px solid #ddd; }

/* Periodevaelgeren hejst op i tabellens vaerktoejslinje: kompakt, saa den kan staa paa
   samme linje som soegefeltet uden at skubbe handlingerne ned. Etiketterne er smaa og
   felterne smalle - det er et filter, ikke en formular man udfylder. */
.rlsd-table-toolbar .rlsd-period-picker { display: inline-flex; align-items: center; gap: 6px; flex-wrap: nowrap; }
.rlsd-table-toolbar .rlsd-period-picker .form-group { margin: 0 !important; }
.rlsd-table-toolbar .rlsd-period-picker select,
.rlsd-table-toolbar .rlsd-period-picker input[type=date] { height: 30px; padding: 3px 6px; font-size: 12px; }
.rlsd-table-toolbar .rlsd-period-picker label { margin: 0; font-size: 12px; color: #666; }
.rlsd-table-toolbar .rlsd-period-picker .btn { padding: 4px 10px; }
/* Noten ("siden 30-06-2025") maa bryde til naeste linje frem for at presse resten ud. */
.rlsd-table-toolbar .rlsd-period-picker .rlsd-small { white-space: normal; }

/* PAYROLL CARDS - one row, one object (Mads 25-09-2026, seen on a screenshot of /Salary/Overview).
   Bootstrap 3 rows are floats, so a card with fewer lines ends up shorter than the one beside it
   and the row reads as five unrelated boxes. Flex on the row plus full width on the panel gives
   every card in a row the same edges. Only this list - the rest of the house keeps its floats. */
#rlsdPayrollCardList { display: flex; flex-wrap: wrap; }
#rlsdPayrollCardList > [class*="col-"] { display: flex; }
#rlsdPayrollCardList > [class*="col-"] > .panel { width: 100%; display: flex; flex-direction: column; }
#rlsdPayrollCardList .panel-body { flex: 1 1 auto; }

/* A searchable picker inside an inline form. The combobox wrapper is width:100% by design (it
   fills a form column); in a form-inline that stretches it across the whole row and leaves the
   arrow floating far from its input. Measured on /SalaryPeriods/Overtime 25-09-2026. */
.rlsd-combobox-inline .rlsd-combobox-wrap { width: 220px; }

/* ===================================================================== BESKREVNE FORMULARER
   Klasserne herunder udstedes af Views/Shared/Components/_FormField.cshtml og _FormPage.cshtml.

   🔴 DE FANDTES IKKE INDTIL 28-09-2026. Komponenterne skrev dem paa hvert eneste felt, og der
   var ikke en eneste regel bag - saa bredderne gjorde intet, og afstandene var Bootstraps
   standard plus en ekstra .form-group til hjaelpeteksten. Resultatet var felter, der laa klods
   op ad hinanden, og andre med for meget luft. Proeven i dev/Test-RlsdForm.ps1 laeste klassens
   NAVN tilbage og var groen hele tiden; den maalte ikke, om navnet betoed noget.
   ------------------------------------------------------------------------------------------ */

/* En beskrevet formular er bredere end husets smalle standardformular: den har en
   etiketkolonne OG en feltkolonne, og 640px klemmer dem begge. */
.rlsd-form.rlsd-form-described { max-width: 880px; }

/* Een afstand mellem felter, saa rytmen er den samme hele vejen ned. */
.rlsd-form-described .form-group { margin-bottom: 10px; }

/* Afsnitsoverskriften. Linjen under er det, der faktisk adskiller to afsnit - uden den
   laeser en overskrift som "endnu et felt med fed skrift". */
.rlsd-form-section {
    margin: 26px 0 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e3e3e3;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}
.rlsd-form-section:first-of-type { margin-top: 6px; }

/* Hjaelpeteksten er sin egen raekke i gitteret (templaten har allerede lukket sit
   form-group), saa den skal trakkes op under sit felt - ellers ser den ud til at hoere til
   det NAESTE felt, hvilket er vaerre end ingen hjaelpetekst. */
.rlsd-form-help { margin-top: -6px; margin-bottom: 14px; }
.rlsd-form-help small { line-height: 1.45; display: block; }

/* Bredderne. De saettes paa feltets KOLONNE, og begraenser kontrollen indeni - ikke
   kolonnen selv, for saa ville etiketten flytte sig fra felt til felt. */
.rlsd-f-quarter > .form-control,
.rlsd-f-quarter > .input-group { max-width: 150px; }
.rlsd-f-half > .form-control,
.rlsd-f-half > .input-group    { max-width: 340px; }
.rlsd-f-full > .form-control,
.rlsd-f-full > .input-group    { max-width: 100%; }
/* Et felt med en knap ved siden af (aabn/opret) fylder sin halvdel plus knapperne. */
.rlsd-f-half > .rlsd-picker-group  { max-width: 420px; }
.rlsd-f-quarter > .rlsd-picker-group { max-width: 230px; }

/* Flere linjer skal have hoejde nok til at vaere flere linjer. */
.rlsd-form-described textarea.form-control { min-height: 96px; }

@media (max-width: 767px) {
    /* Paa en telefon staar etiketten over feltet, og saa er en bredde paa 150px
       ikke "smal", men "afklippet". */
    .rlsd-f-quarter > .form-control,
    .rlsd-f-half > .form-control,
    .rlsd-f-quarter > .input-group,
    .rlsd-f-half > .input-group { max-width: 100%; }
}

/* Hintet paa et beloebsfelt. Vises kun ved fokus - tyve permanente hjaelpetekster paa en
   fakturaskaerm ville vaere stoej, og stoej er det, der holder op med at blive laest. */
.rlsd-calc-hint {
    display: none;
    margin-top: 3px;
    font-size: 11.5px;
    line-height: 1.4;
    color: #8a8a8a;
}

/* Husets egen advarsel paa et kontrolfelt. GUL, ikke roed: feltet er ikke afvist, og
   formularen kan stadig sendes - det, der skal spaerre, spaerres paa serveren. En roed
   markering paa noget, der alligevel gemmes, laerer folk at se bort fra roedt. */
.rlsd-field-warning {
    display: none;
    margin-top: 3px;
    font-size: 11.5px;
    line-height: 1.4;
    color: #8a6d3b;
}
.form-control.rlsd-field-bad {
    border-color: #e0b44a;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}
.form-control.rlsd-field-bad:focus {
    border-color: #c99a2e;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05), 0 0 6px rgba(224,180,74,.6);
}

/* ------------------------------------------------- doede klasser, fundet 28-09-2026
   Alle tre blev skrevet i markup uden at have en regel. De to foerste sidder i DELTE
   komponenter, saa de rammer hver eneste skaerm, der bruger dem. */

/* Statuslinjens etiket. Hele resten af komponenten er stylet (.rlsd-statusbar, -step,
   -btn, -form og chevronerne) - kun etiketten selv var glemt. */
.rlsd-statusbar-label {
    font-weight: 600;
    color: #555;
    margin-right: 8px;
    white-space: nowrap;
}

/* Overtidsudbetalingens kolonneoverskrift. Tallene under den er hoejrestillede med
   inline-stil, men overskriften havde ingenting - saa teksten stod til VENSTRE over
   hoejrestillede tal i tre ugeseddel-skaerme. */
th.rlsd-ot-paid { text-align: right; }

/* Beholderen om bank-kommentarerne. Boernene (-who, -when, -body, -del) er stylet i
   sidens egen <style>, men listen selv havde ingen. */
.rlsd-cmt-list { margin-top: 8px; }

/* ------------------------------------------------------------------ Min visning (28-09-2026)
   Panelet bag brugerens egen visning + indsigtsknappen.
   Markup: Views\Shared\Components\_Preferences.cshtml. Motor: Scripts\rlsd-prefs.js.

   Panelet AABNES af Bootstraps egen collapse - ingen af vores scripts er involveret. Det
   er med vilje: kan motoren ikke koere, er det praecis det oejeblik, hvor nogen har brug
   for at kunne laese indsigten. */
.rlsd-prefs-panel {
    margin: 8px 0 12px;
    max-width: 760px;
}
.rlsd-prefs-panel .panel-body { padding: 12px 15px; }

/* Skaermnoeglen ved siden af overskriften. Den er til den, der fejlsoeger ("hvilken
   noegle gemmer denne side paa?"), ikke til daglig laesning - derfor lille og daempet. */
.rlsd-prefs-screen {
    font-family: Menlo, Consolas, monospace;
    margin-left: 6px;
}

.rlsd-prefs-label {
    font-weight: 600;
    margin: 12px 0 4px;
}
.rlsd-prefs-save {
    background: #f7f7f9;
    border: 1px solid #e3e3e8;
    border-radius: 3px;
    padding: 8px 12px;
}
.rlsd-prefs-save .radio-inline { margin-right: 14px; }
.rlsd-prefs-save .rlsd-prefs-label { margin-top: 0; }

/* Hver facet er sin egen blok med en tynd streg imellem - ellers laeser hjaelpeteksten
   under den ene som om den hoerte til den naeste. */
.rlsd-prefs-facet {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}
.rlsd-prefs-facet:last-of-type { border-bottom: 0; }

/* Den gemte vaerdi er en NOEGLELISTE, ikke broedtekst. Monospace er et signal om, at den
   skal laeses bogstaveligt - samme regel som RlsdDetail.Kind.Code. */
.rlsd-prefs-value {
    font-family: Menlo, Consolas, monospace;
    font-size: 12px;
    word-break: break-word;
}

/* 🔴 DE TO NULSTILLINGER MAA ALDRIG LIGNE HINANDEN. De staar derfor paa hver sin linje
   med hver sin forklaring under sig, og husets standard er den gule: den sletter OGSAA
   det, brugeren har gemt paa tvaers af selskaber, og det er ikke til at fortryde. */
.rlsd-prefs-reset { margin-top: 8px; }
.rlsd-prefs-reset .btn { margin-bottom: 2px; }
.rlsd-prefs-reset .help-block { margin-top: 0; margin-bottom: 8px; }
.rlsd-prefs-reset-house { margin-top: 4px; }

.rlsd-prefs-insight-toggle { margin: 10px 0 0; }
.rlsd-prefs-why { padding-left: 0; }

.rlsd-prefs-table { margin-bottom: 8px; font-size: 12px; }
.rlsd-prefs-table > thead > tr > th { border-bottom-width: 1px; }
.rlsd-prefs-table > tbody > tr > td { vertical-align: top; }

/* Det trin, der GAELDER, skal kunne findes uden at laese hele tabellen - hele pointen med
   knappen er, at man kan se hvilket valg der vandt. De skyggede daempes, men slettes
   ikke: et trin, man ikke kan se, kan man ikke forstaa at man har. */
.rlsd-prefs-table > tbody > tr.rlsd-prefs-applies > td {
    font-weight: 600;
    background: #f2f8f2;
}
.rlsd-prefs-table > tbody > tr.rlsd-prefs-shadowed > td { color: #888; }
.rlsd-prefs-now { color: #3c763d; white-space: nowrap; }

.rlsd-prefs-ignored { padding-left: 18px; margin-bottom: 8px; }
.rlsd-prefs-ignored > li { font-size: 12px; }

/* Smalle skaerme: panelet fylder bredden, og knapperne stables af sig selv. */
@media (max-width: 767px) {
    .rlsd-prefs-panel { max-width: none; }
    .rlsd-prefs-save .radio-inline { display: block; margin-left: 0; }
}
/* En sletning skal SE ud som en sletning - ogsaa i en menu.
   Knapraekken har haft btn-danger hele tiden; menuen fik aldrig nogen farve, saa det
   farligste punkt saa ud som de to andre. Mads 28-09-2026: "og den er ikke roed som
   advarsel?" Farven er Bootstraps egen danger, saa den foelger temaet. */
.dropdown-menu > li > a.rlsd-menu-danger { color: #a94442; }
.dropdown-menu > li > a.rlsd-menu-danger:hover,
.dropdown-menu > li > a.rlsd-menu-danger:focus { color: #fff; background-color: #d9534f; }

/* ===== TWO COLUMNS ON A WIDE SCREEN (29-09-2026) =======================================

   Mads, 28-09, about /Accounts/Create: "why does that form not make better use of the
   screen size." The answer sat in .rlsd-form { max-width: 640px } - and those 640px are
   RIGHT. A single column of label + field stretched across 1600px is unreadable: the eye
   has to travel too far from the name to the value. So the answer is not a wider column,
   it is MORE columns.

   How: the form becomes a grid of two equal tracks. Only ordinary field rows split; every-
   thing else - the validation summary, section headings, help text, the button row - takes
   the full width, so a section is never cut in half. After a full-width item the next field
   starts again in the left track, which is what keeps sections together.

   Two things must not be split:
     * a free-text field (rlsd-field-wide, set in RlsdTextArea)
     * a field WITH help text - _FormField wraps the field and its help in one .rlsd-field,
       so they travel as one cell. Before that, the help was a sibling and landed in the
       other column, under a FOREIGN field.

   A dialog is not a screen: popup forms keep their single column, because the media query
   measures the WINDOW and not the dialog.
   ---------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------
   🔴 TO KOLONNER ER BUNDET TIL rlsd-form-DESCRIBED (01-10-2026).

   Gitteret sad foer paa rlsd-form-wide ALENE - og den klasse baerer 52 HAANDSKREVNE
   formularer ogsaa. De arvede derfor en opdeling, ingen havde besluttet for dem: maalt
   01-10-2026 brugte INGEN af dem rlsd-field-wide, saa ingen havde sagt hvad der skulle
   staa ved siden af hvad. Paa en kontaktformular laeses felterne LODRET - navn, adresse,
   telefon - og parret to og to laeser siden forkert.

   Mads 01-10-2026: "det var ikke tanken at alle formularer skulle blive to kolonner.
   fx. ser opdelingen paa opret kontakt helt maerkelig ud."

   En BESKREVET formular (Components/_FormPage) er en anden sag: dér siger controlleren
   hvad hvert felt er OG hvor bredt det er (RlsdForm.Width: Auto, Quarter, Half, Full),
   saa to kolonner er et valg, nogen har truffet. Skal en haandskreven formular have dem,
   skal den enten laegges om til saettet eller selv saette rlsd-field-wide paa det, der
   ikke maa deles.
   ---------------------------------------------------------------------------------- */
@media (min-width: 1400px) {
    .rlsd-form.rlsd-form-described.rlsd-form-wide {
        max-width: 1360px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 48px;
        align-items: start;
    }

    /* Full width is the default - only what IS a field splits. That way round, because a
       form can contain anything (a table, a panel, a partial), and an unknown element in
       half a column is a bug nobody saw coming. */
    .rlsd-form.rlsd-form-described.rlsd-form-wide > * { grid-column: 1 / -1; }
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group,
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .rlsd-field { grid-column: auto; }

    /* 🔴 RlsdMany2One puts a <script> IMMEDIATELY AFTER its field. The browser hides
       script by default, and a hidden element does not become a grid cell - but that
       default is the only thing standing between a form with fields in pairs and a form
       with an empty hole between every other field. So it is written out. */
    .rlsd-form.rlsd-form-described.rlsd-form-wide > script { display: none; }

    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group.rlsd-field-wide,
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .rlsd-field.rlsd-field-wide,
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group.rlsd-form-buttons { grid-column: 1 / -1; }

    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group:has(textarea),
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group:has(table) { grid-column: 1 / -1; }

    /* THE LABELS MUST SIT ON ONE RULER. A full-width row still has a label column of one
       third - of the WHOLE width - so its label moved far to the right of the others.
       Measured on /dev/editpage: "Beskrivelse" sat 230px further out than "Navn". So the
       label column here is computed from HALF the width, the one the narrow rows use:
       a third of (100% - gap) / 2 = (100% - 48px) / 6. */
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .rlsd-field-wide > .form-group > .control-label,
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group.rlsd-field-wide > .control-label {
        width: calc((100% - 48px) / 6);
    }
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .rlsd-field-wide > .form-group > .control-label + div,
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group.rlsd-field-wide > .control-label + div {
        width: calc(100% - (100% - 48px) / 6);
    }

    /* The button row sits at the left under both columns - not offset into the middle. */
    .rlsd-form.rlsd-form-described.rlsd-form-wide > .form-group.rlsd-form-buttons > [class*="col-md-offset"] {
        margin-left: 0;
        width: 100%;
    }

    .modal-body .rlsd-form.rlsd-form-described.rlsd-form-wide {
        display: block;
        max-width: none;
    }
}

/*
    rlsd-chart.css — udseende for de grafiske rapportkomponenter (rlsd-chart.js).

    Graferne skal ligne resten af appen, ikke et fremmed bibliotek: samme graatoner,
    samme kantfarver og samme skriftstoerrelser som tabellerne i rlsd-components.css.
*/

.rlsd-chart {
    margin: 0 0 18px;
    /* Flex-kolonne, saa figur og signatur DELER den plads der er. Ligger grafen i en
       kasse med fast hoejde (diagram-kortene paa time-overblikket), skal figuren give
       plads til signaturen frem for at skubbe den ud under kanten. */
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.rlsd-chart-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #666;
    margin-bottom: 8px;
}

/* En graf maa ikke skalere med hele skaermbredden. Forholdet er 800x320, saa paa en
   bred skaerm blev soejlerne 700 px hoeje - de siger ikke mere af den grund, og de
   skubbede alt andet ud af syne. Loftet holder dem i en stoerrelse man kan overskue. */
.rlsd-chart-canvas {
    width: 100%;
    max-width: 900px;
}

/* Loftet gaelder ikke naar diagrammet ER hovedsagen: i fuldskaerms-modalen og i
   stor-visning paa time-overblikket har brugeren netop bedt om at se det stort. */
.rlsd-chart-full .rlsd-chart-canvas,
.rlsd-grid-big .rlsd-chart-canvas {
    max-width: none;
}

/* Cirkeldiagrammer maa ikke fylde hele bredden - de bliver absurd store paa en
   bred skaerm og siger ikke mere af den grund. margin-right:auto holder dem til
   VENSTRE: en centreret figur med en venstrestillet signatur under sig staar skaevt,
   og oejet skal kunne loebe lige ned fra figuren til signaturen (Mads 9/8). */
.rlsd-chart-canvas--pie,
.rlsd-chart-canvas--donut {
    max-width: 340px;
    margin-right: auto;
}

/* Procenten paa selve stykket. Hvid med en svag moerk kant, saa den kan laeses paa
   baade en moerkeblaa og en orange flade uden at skulle vaelge farve pr. stykke. */
.rlsd-chart-slice-label {
    font-size: 13px;
    font-weight: 600;
    fill: #fff;
    paint-order: stroke;
    stroke: rgba(0, 0, 0, .35);
    stroke-width: 2.5px;
    stroke-linejoin: round;
    pointer-events: none;
    font-family: inherit;
}

/* Sparkline hoerer hjemme inde i en linje tekst eller en tabelcelle. */
.rlsd-chart-canvas--sparkline {
    display: inline-block;
    width: 120px;
    vertical-align: middle;
}

.rlsd-chart-svg {
    display: block;
    width: 100%;
    height: auto;
    /* IKKE overflow:visible. En graf der tegner uden for sin egen kasse lander oven
       paa det naeste afsnit - og saa er det ligegyldigt hvor paen den er. */
    overflow: hidden;
}

.rlsd-chart-axis-text {
    font-size: 11px;
    fill: #777;
    font-family: inherit;
}

/* Diskret skygge under soejler og cirkelstykker. Den skal kunne ANES, ikke ses: en
   graf laeses paa forskellen mellem to hoejder, og en tydelig skygge goer det svaerere
   at afgoere hvilken soejle der er stoerst (Mads 9/8). */
.rlsd-chart-bar,
.rlsd-chart-slice {
    transition: opacity .12s ease;
    cursor: default;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18));
}

.rlsd-chart-bar:hover,
.rlsd-chart-slice:hover {
    opacity: .82;
}

.rlsd-chart-point {
    cursor: default;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .22));
}

/* Print: skygger bliver til graa snavs paa papir, og gradienter koster blaek uden at
   goere figuren lettere at laese. */
@media print {
    .rlsd-chart-bar,
    .rlsd-chart-slice,
    .rlsd-chart-point {
        filter: none;
    }
}

/* --- signatur --- */

/* --- kasse med fast hoejde (diagram-kortene, stor visning, fuldskaerm) ---
   Her er hoejden givet udefra. Figuren tager det der er tilovers naar signaturen har
   faaet sit, og SVG'ets preserveAspectRatio="meet" skalerer den ind i pladsen. */

.rlsd-chart-card .rlsd-chart-canvas,
.rlsd-grid-big .rlsd-chart-canvas,
.rlsd-chart-full .rlsd-chart-canvas {
    flex: 1 1 auto;
    min-height: 0;
    max-width: none;
}

.rlsd-chart-card .rlsd-chart-svg,
.rlsd-grid-big .rlsd-chart-svg,
.rlsd-chart-full .rlsd-chart-svg {
    width: 100%;
    height: 100%;
}

.rlsd-chart-card .rlsd-chart-legend,
.rlsd-grid-big .rlsd-chart-legend,
.rlsd-chart-full .rlsd-chart-legend {
    flex: 0 0 auto;
}

.rlsd-chart-legend {
    margin-top: 10px;
    font-size: 12px;
    color: #555;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    justify-content: center;
}

/* Bladres der, staar navnene paa ÉN linje - ellers giver pilene ingen mening. */
.rlsd-chart-legend.is-paged {
    flex-wrap: nowrap;
    overflow: hidden;
}

/* Ét meget langt firmanavn maa ikke skubbe de andre ud. Hele navnet staar i title,
   saa det kan laeses ved at pege paa det. */
.rlsd-chart-legend.is-paged .rlsd-chart-legend-item {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rlsd-chart-legend-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
    flex: 0 0 auto;
}

.rlsd-chart-legend-arrow {
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #555;
    border-radius: 3px;
    width: 22px;
    height: 20px;
    line-height: 1;
    padding: 0;
    font-size: 15px;
    cursor: pointer;
}

.rlsd-chart-legend-arrow:hover {
    background: #f2f2f2;
    color: #222;
}

.rlsd-chart-legend-count {
    font-size: 11px;
    color: #888;
    font-variant-numeric: tabular-nums;
    min-width: 30px;
    text-align: center;
}

.rlsd-chart-legend-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.rlsd-chart-legend-item i {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 6px;
    flex-shrink: 0;
}

/* --- maaltal --- */

.rlsd-chart-goal-meta {
    margin-top: 4px;
    font-size: 13px;
    color: #555;
}

.rlsd-chart-goal-meta strong {
    font-size: 16px;
    color: #333;
}

.rlsd-chart-goal-fill {
    transition: width .3s ease;
}

/* --- KPI-kort --- */

.rlsd-kpi-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
    /* Lander raekken inde i en flex-kolonne (fx en side der ogsaa har en tabel og
       derfor koerer listeside-layout), maa den ikke VOKSE med den ledige hoejde -
       saa bliver fire kort paa 90 px til fire kort paa 400 px. Kortene skal stadig
       vaere lige hoeje indbyrdes; det er raekken der ikke skal straekkes. */
    flex: 0 0 auto;
    align-content: flex-start;
}

.rlsd-kpi {
    flex: 1 1 180px;
    min-width: 160px;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    /* Et strejf hvidt oeverst + en fin skygge: kortet loefter sig fra baggrunden
       ligesom appens oevrige paneler, i stedet for at ligge som et fladt felt. */
    background: linear-gradient(#fff, #fbfbfc);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .07);
    padding: 12px 14px;
}

.rlsd-kpi-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #777;
    margin-bottom: 4px;
}

.rlsd-kpi-value {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    line-height: 1.15;
    /* Tal i en raekke kort skal flugte - ellers hopper cifrene fra kort til kort. */
    font-variant-numeric: tabular-nums;
}

.rlsd-kpi-delta {
    font-size: 12px;
    margin-top: 3px;
    font-variant-numeric: tabular-nums;
}

.rlsd-kpi-delta.is-up { color: #3c763d; }
.rlsd-kpi-delta.is-down { color: #a94442; }
.rlsd-kpi-delta.is-flat { color: #777; }

.rlsd-kpi-spark {
    margin-top: 6px;
}

/* --- skjult datatabel ---
   Tallene skal findes som tekst for skaermlaesere, men maa ikke fylde paa skaermen.
   display:none ville skjule dem for skaermlaesere OGSAA - derfor den her metode. */

.rlsd-chart-data {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* --- vaerktoejstip --- */

.rlsd-chart-tip {
    position: fixed;
    z-index: 2147483647;
    background: rgba(33, 33, 33, .94);
    color: #fff;
    font-size: 12px;
    padding: 5px 9px;
    border-radius: 3px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .1s ease;
    max-width: 320px;
}

.rlsd-chart-tip.is-visible {
    opacity: 1;
}

/* --- print ---
   En rapport bliver printet. Tip og hover-effekter skal ikke med, og graferne
   maa ikke braekkes over to sider. */

@media print {
    .rlsd-chart-tip { display: none !important; }
    .rlsd-chart { break-inside: avoid; page-break-inside: avoid; }
    .rlsd-kpi { break-inside: avoid; page-break-inside: avoid; }
}

/* --- smalle skaerme --- */

@media (max-width: 767px) {
    .rlsd-kpi { flex: 1 1 100%; }
    .rlsd-chart-legend { font-size: 11px; }
}

/*
    rlsd-messages.css — talebobblen i toplinjen og dens liste.
*/

/* Panelet ligger paa <body> og er position:fixed. Inde i toplinjen ville en
   overflow:hidden et sted i menuen kunne klippe det. */
.rlsd-msg-panel {
    position: fixed;
    z-index: 2147483646;
    background: #fff;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    overflow: hidden;
    font-size: 13px;
    color: #333;
}

.rlsd-msg-panel[hidden] { display: none; }

.rlsd-msg-panel-list {
    max-height: 380px;
    overflow-y: auto;
}

.rlsd-msg-panel-item {
    display: block;
    position: relative;
    padding: 9px 26px 9px 12px;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
    text-decoration: none;
}

.rlsd-msg-panel-item:hover {
    background: #f5f8fb;
    color: #333;
    text-decoration: none;
}

.rlsd-msg-panel-item.is-unread .rlsd-msg-panel-subject {
    font-weight: 600;
}

.rlsd-msg-panel-subject {
    /* Ét langt emne maa ikke goere panelet bredere - det er fastlaast i JS'en. */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rlsd-msg-panel-meta {
    font-size: 11px;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}

/* Prikken siger "her er noget nyt" uden at optage en kolonne. */
.rlsd-msg-panel-dot {
    position: absolute;
    right: 11px;
    top: 50%;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #dc3912;
}

.rlsd-msg-panel-empty {
    padding: 16px 12px;
    color: #999;
    text-align: center;
}

.rlsd-msg-panel-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: #fafafa;
    border-top: 1px solid #eee;
}

.rlsd-msg-panel-foot a {
    font-size: 12px;
    color: #337ab7;
    text-decoration: none;
}

.rlsd-msg-panel-foot a:hover { text-decoration: underline; }

.rlsd-msg-panel-new { font-weight: 600; }

/* ---------------------------------------------------------------- samtalen ---- */

.rlsd-msg-list { max-width: 900px; }

.rlsd-msg {
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    background: #fff;
    padding: 10px 12px;
    margin-bottom: 8px;
}

/* Egne beskeder faar en anden bund og en kant i venstre side. Ingen "bobler i hver sin
   side": en arbejdssamtale laeses ovenfra og ned, og en zigzag goer den langsommere. */
.rlsd-msg.is-mine {
    background: #f4f8f4;
    border-left: 3px solid #109618;
}

.rlsd-msg-head { font-size: 12px; color: #666; margin-bottom: 4px; }
.rlsd-msg-time { margin-left: 8px; color: #999; }

/* Linjeskift i teksten bevares uden at der skal indsaettes markup. */
.rlsd-msg-body { white-space: pre-wrap; word-wrap: break-word; }

/* --- vedhaeftninger --- */

.rlsd-msg-files { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }

.rlsd-msg-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 4px 9px;
    border: 1px solid #dfe3e6;
    border-radius: 3px;
    background: #fafbfc;
    font-size: 12px;
    color: #337ab7;
    text-decoration: none;
}

.rlsd-msg-file:hover { background: #f0f4f8; text-decoration: none; }

.rlsd-msg-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.rlsd-msg-file-size { color: #999; }

/* --- laesekvittering --- */

.rlsd-msg-receipt {
    margin-top: 6px;
    font-size: 11px;
    color: #999;
    /* Kvitteringen skal kunne OVERSES. Den er en beroligelse, ikke en besked. */
}

.rlsd-receipt-all { color: #3c763d; }
.rlsd-receipt-some { color: #8a6d3b; }
.rlsd-receipt-none { color: #999; }

/* --- vedhaeft-knap ---
   Det raa <input type=file> ser forskelligt ud i hver browser. Etiketten er knappen;
   selve feltet ligger inde i den og skjules. */
.rlsd-attach-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: normal;
    padding: 5px 11px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    margin: 0;
}

.rlsd-attach-label:hover { background: #f5f5f5; }
.rlsd-attach-label input[type=file] { max-width: 200px; }
/* ------------------------------------------------------- talebobblen i menuen ---- */

/* Ikonet alene, centreret.
   HOEJDEN KOMMER FRA SITE.CSS: .dropdown a.dropdown-toggle har display:block og
   line-height:28px, og det er DEM der giver knappen samme hoejde som naboerne. Mit
   foerste forsoeg satte display:inline-flex for at centrere ikonet - og slog dermed
   begge dele ud, saa bobblen blev knap halv hoejde (Mads 10/8). Her aendres derfor KUN
   bredde, centrering og vandret luft; alt hvad der bestemmer hoejden bliver staaende. */
.dropdown a.dropdown-toggle.rlsd-msg-bubble {
    position: relative;
    width: 44px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

/* Er der nyt, siger BAADE farven og tallet det. Farven ses i oejenkrogen uden at man
   laeser; tallet svarer paa hvor meget. Én af delene alene er enten for stille eller
   for larmende. */
.rlsd-msg-bubble.has-new {
    background: #dc3912;
    border-color: #c33410;
}

.rlsd-msg-bubble.has-new:hover,
.rlsd-msg-bubble.has-new:focus {
    background: #c33410;
    border-color: #a82c0e;
}

.rlsd-msg-bubble-count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: #fff;
    color: #dc3912;
    font-size: 11px;
    font-weight: 700;
    line-height: 17px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    font-variant-numeric: tabular-nums;
}
/* Blink naar der lige er landet noget nyt. Kort og faa gange - en knap der blinker i
   det uendelige bliver til noget man laerer at overse. */
@keyframes rlsdMsgFlash {
    0%, 100% { background: #dc3912; }
    50%      { background: #ff7a52; }
}

.rlsd-msg-bubble.is-flashing {
    animation: rlsdMsgFlash .6s ease-in-out 4;
}

@media (prefers-reduced-motion: reduce) {
    .rlsd-msg-bubble.is-flashing { animation: none; }
}
/* Er man NAEVNT, faar bobblen en gul ring. "Der er sket noget" og "nogen har spurgt
   DIG om noget" er to forskellige beskeder - farven alene kan ikke baere begge, saa
   omtalen faar sin egen markering oveni den roede. */
.rlsd-msg-bubble.has-mention {
    box-shadow: 0 0 0 2px #ffb300, 0 0 6px rgba(255, 179, 0, .7);
}
/* Ulaest i et ANDET selskab. Roed = her, gul ring = du er naevnt - begge er optaget, og
   en tredje farve paa selve knappen ville goere de to foerste utydelige. Derfor en lille
   blaa prik i modsatte hjoerne af tallet: den siger "der er ogsaa noget et andet sted"
   uden at konkurrere. Titlen paa knappen navngiver selskaberne. */
.rlsd-msg-bubble.has-elsewhere::after {
    content: "";
    position: absolute;
    left: -3px;
    bottom: -3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2f6fb3;
    border: 2px solid #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}

/*
    rlsd-chat.css — samtalen: bobler, skrivefelt og den lille chat i hjoernet.
    Samme regler i begge visninger; .is-compact skruer ned hvor der er mindre plads.
*/

.rlsd-chat {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #fff;
}

/* Hele siden: samtalen tager DET DER ER TILBAGE. Ingen calc(100vh - et tal) - et
   gaettet tal passer aldrig paa alle skaerme, og er det for stort, ruller HELE siden i
   stedet for beskederne. Flex fordeler hoejden i stedet (Mads 10/8). */
.rlsd-chat.is-full {
    flex: 1 1 auto;
    min-height: 0;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
}

/* --- interne samtaler ---
   Baandet skal ikke kunne overses. Man skal aldrig komme i tvivl om at det her BLIVER
   i huset - forskellen paa "det er bare os" og "kunden laeser med" er hele forskellen
   paa hvad man skriver. */
.rlsd-chat-banner {
    flex: 0 0 auto;
    padding: 5px 12px;
    background: #fdf6e3;
    border-bottom: 1px solid #f0e4c0;
    color: #8a6d3b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* --- rullefeltet --- */

.rlsd-chat-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
    background: #f7f8fa;
}

.rlsd-chat-list { display: flex; flex-direction: column; }

.rlsd-chat-more {
    display: block;
    margin: 0 auto 12px;
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #555;
    border-radius: 12px;
    font-size: 11px;
    padding: 3px 14px;
    cursor: pointer;
}

.rlsd-chat-more:hover { background: #f0f0f0; }
.rlsd-chat-more[hidden] { display: none; }

.rlsd-chat-empty { text-align: center; color: #999; font-size: 12px; padding: 20px 0; }

/* --- boblerne ---
   Egne til hoejre, andres til venstre. Halen (det afskaarne hjoerne) peger mod
   afsenderens side, saa man kan se hvem der skrev hvad uden at laese navnet. */

.rlsd-bubble-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 10px;
    max-width: 100%;
}

.rlsd-bubble-row.is-mine { align-items: flex-end; }

.rlsd-bubble {
    max-width: 78%;
    padding: 7px 11px;
    border-radius: 12px;
    border-bottom-left-radius: 3px;
    background: #fff;
    border: 1px solid #e1e5ea;
    font-size: 13px;
    color: #333;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

.rlsd-bubble-row.is-mine .rlsd-bubble {
    background: #dcf3dc;
    border-color: #c3e6c3;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 3px;
}

/* Linjeskift bevares uden markup - beskeden er ren tekst. */
/* overflow-wrap braekker KUN naar et enkelt ord er for langt til linjen (en URL,
   et filnavn). word-break ville braekke hvor som helst. */
.rlsd-bubble-text { white-space: pre-wrap; overflow-wrap: break-word; word-break: normal; }

/* Afsender og tidspunkt UNDER boblen, smaat. I en arbejdssamtale er det teksten man
   skal laese; hvem-og-hvornaar slaar man op naar man undrer sig. */
.rlsd-bubble-meta {
    font-size: 10.5px;
    color: #999;
    margin-top: 2px;
    padding: 0 4px;
}

/* --- ny-markering --- */

.rlsd-bubble-divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: #dc3912;
    font-size: 11px;
    margin: 6px 0 12px;
}

.rlsd-bubble-divider::before,
.rlsd-bubble-divider::after {
    content: "";
    flex: 1 1 auto;
    border-top: 1px solid #f0c4bb;
}

.rlsd-bubble-divider span { padding: 0 10px; white-space: nowrap; }

/* --- vedhaeftninger i boblen --- */

.rlsd-bubble-file {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    padding: 4px 8px;
    border: 1px solid #dfe3e6;
    border-radius: 4px;
    background: rgba(255, 255, 255, .75);
    font-size: 11.5px;
    color: #337ab7;
    text-decoration: none;
}

.rlsd-bubble-file:hover { background: #fff; text-decoration: none; }
.rlsd-bubble-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rlsd-bubble-file-size { color: #999; flex: 0 0 auto; }

/* --- skrivefeltet ---
   Vedhaeft til venstre, felt i midten, Send til hoejre. Send er den groenne knap: det
   er den man leder efter, og den skal ligge hvor haanden slipper feltet. */

.rlsd-chat-composer {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 8px;
    border-top: 1px solid #e3e3e3;
    background: #fff;
}

.rlsd-chat-composer.is-disabled { opacity: .55; }

/* Vedhaeft er en BIKNAP. Den skal kunne findes, ikke ses - derfor lille, gennemsigtig
   og i samme graa som resten af hjaelpeteksten. Send er den groenne; kun én knap ad
   gangen maa traekke i oejet (Mads 10/8). */
.rlsd-chat-attach {
    flex: 0 0 auto;
    margin: 0 0 6px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 50%;
    color: #9aa3ab;
    cursor: pointer;
    font-weight: normal;
    font-size: 12px;
}

.rlsd-chat-attach:hover { background: #f0f0f0; color: #333; }

/* Selve filfeltet skjules - etiketten ER knappen. Det raa felt ser forskelligt ud i
   hver browser og kan ikke styles. */
.rlsd-chat-attach input[type=file] {
    position: absolute;
    width: 1px; height: 1px;
    opacity: 0;
    overflow: hidden;
}

/* Feltet skal kunne rumme en linje UDEN at rulle. Med 32 px og en lang pladsholder
   fik man en rullebjaelke i et tomt felt (Mads 10/8) - derfor er hoejden sat efter
   indholdet, og hintet om Enter er flyttet ned under feltet. */
.rlsd-chat-input {
    flex: 1 1 auto;
    min-height: 38px;
    max-height: 160px;
    resize: none;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 19px;
    padding: 8px 14px;
    font-size: 13px;
    line-height: 1.4;
    outline: none;
}

.rlsd-chat-input:focus { border-color: #66afe9; }

/* Ikonet centreres med flex. Bootstrap's .btn har sin egen line-height, og med
   padding:0 og fast hoejde satte den ikonet i toppen i stedet for paa midten. */
.rlsd-chat-send {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 19px;
    line-height: 1;
}

.rlsd-chat-send .glyphicon { top: 0; }

.rlsd-chat-chosen {
    flex: 0 0 auto;
    padding: 0 8px 8px 48px;
    font-size: 11px;
    color: #666;
}

.rlsd-chat-chosen[hidden] { display: none; }
.rlsd-chat-chosen-item { display: inline-block; margin-right: 8px; }

/* --- den lille chat i hjoernet --- */

.rlsd-chat-dock {
    position: fixed;
    right: 18px;
    bottom: 0;
    width: 340px;
    z-index: 2147483646;
    background: #fff;
    border: 1px solid #cfd4d9;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    box-shadow: 0 -2px 16px rgba(0, 0, 0, .18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rlsd-chat-dock-head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 7px 8px 7px 12px;
    background: #337ab7;
    color: #fff;
    font-size: 13px;
}

.rlsd-chat-dock-title {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;   /* klik folder sammen */
}

.rlsd-chat-dock-btn {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .85);
    padding: 2px 5px;
    cursor: pointer;
    font-size: 12px;
}

.rlsd-chat-dock-btn:hover { color: #fff; }

.rlsd-chat-dock-body { height: 420px; display: flex; flex-direction: column; min-height: 0; }
.rlsd-chat-dock-body > .rlsd-chat { flex: 1 1 auto; min-height: 0; }

/* Foldet: kun overskriften staar tilbage - man kan skubbe samtalen af vejen uden at
   miste den. */
.rlsd-chat-dock.is-folded .rlsd-chat-dock-body { display: none; }

.rlsd-chat.is-compact .rlsd-bubble { font-size: 12.5px; max-width: 85%; }
.rlsd-chat.is-compact .rlsd-chat-scroll { padding: 10px; }
.rlsd-chat.is-compact .rlsd-chat-banner { padding: 4px 10px; font-size: 10px; }

@media (max-width: 767px) {
    .rlsd-chat-dock { right: 0; left: 0; width: auto; border-radius: 0; }
    .rlsd-chat-dock-body { height: 60vh; }
    .rlsd-chat.is-full { height: auto; min-height: 60vh; }
}

/* --- hvem skriver jeg med ---
   Emnet siger hvad samtalen handler om, ikke hvem der sidder i den anden ende. I en
   lille chat i hjoernet er det netop dét man skal kunne se med det samme. */
.rlsd-chat-who {
    flex: 0 0 auto;
    padding: 6px 12px;
    border-bottom: 1px solid #eceff1;
    background: #fff;
    font-size: 12px;
    color: #555;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rlsd-chat-who[hidden] { display: none; }

/* Tastaturhintet: skal kunne ses én gang og derefter overses. */
.rlsd-chat-hint {
    flex: 0 0 auto;
    padding: 0 8px 6px 48px;
    font-size: 10.5px;
    color: #aaa;
}

.rlsd-chat.is-compact .rlsd-chat-hint { padding-bottom: 5px; font-size: 10px; }
/* --- valgte filer: smugkig og fortryd --- */

.rlsd-chat-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 220px;
    margin: 0 6px 4px 0;
    padding: 3px 4px 3px 3px;
    border: 1px solid #dfe3e6;
    border-radius: 14px;
    background: #fff;
    font-size: 11px;
}

/* Billeder faar et rigtigt smugkig; alt andet faar sin filtype. Et generisk
   dokument-ikon svarer ikke paa "er det den rigtige fil?". */
.rlsd-chat-chip-thumb {
    width: 22px; height: 22px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}

.rlsd-chat-chip-ext {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #eceff1;
    color: #667;
    font-size: 8.5px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    flex: 0 0 auto;
}

.rlsd-chat-chip-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.rlsd-chat-chip-x {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #aaa;
    font-size: 15px;
    line-height: 1;
    padding: 0 3px;
    cursor: pointer;
}

.rlsd-chat-chip-x:hover { color: #dc3912; }

/* --- trukket tilbage ---
   Boblen bliver STAAENDE. En besked der forsvinder sporloest goer samtalen
   utroovaerdig - modtageren kan allerede have laest den. */
.rlsd-bubble.is-retracted {
    background: #f4f5f6 !important;
    border-color: #e3e5e7 !important;
    color: #999;
    font-style: italic;
}

.rlsd-bubble-undo {
    border: 0;
    background: transparent;
    color: #bbb;
    font-size: 12px;
    line-height: 1;
    padding: 0 4px;
    cursor: pointer;
}

.rlsd-bubble-undo:hover { color: #dc3912; }
/* --- traek-og-slip ---
   Dekningen ligger over HELE samtalen. Kommer man med en fil i haanden, sigter man
   efter vinduet - ikke efter en lille knap. pointer-events:none, saa den ikke selv
   staeller sig i vejen for slippet. */
.rlsd-chat-drop {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(51, 122, 183, .10);
    border: 2px dashed #337ab7;
    border-radius: 4px;
    color: #2c6395;
    font-size: 14px;
    pointer-events: none;
}

.rlsd-chat-drop[hidden] { display: none; }
/* --- initialer ---
   Navnet paa hver eneste linje er stoej i en samtale mellem to-tre personer, men man
   skal stadig kunne se hvem der skrev hvad. Cirklen svarer paa det uden at fylde en
   linje; peger man paa den, staar navn og tidspunkt. */
/* width:100% er det AFGOERENDE. Uden den krymper linjen til sit eget indhold (den er
   selv et flex-barn i en kolonne med align-items:flex-end), og saa bliver boblens
   max-width:78% regnet af den KRYMPEDE bredde. Resultatet var en boble paa 50 px hvor
   "Hallo" blev braekket til "Hal/lo" - selvom der var en halv skaerm plads til venstre
   (Mads 10/8). Nu spaender linjen hele raekken, og justify-content skubber boblen ud
   til den rigtige side. */
.rlsd-bubble-line {
    display: flex;
    align-items: flex-end;
    gap: 7px;
    width: 100%;
}

/* Boblen maa gerne krympe under sin egen bredde, men aldrig braekke ord midt over.
   min-width:0 er noedvendig for at teksten kan ombrydes normalt i en flex-boks. */
.rlsd-bubble { flex: 0 1 auto; min-width: 0; }

.rlsd-bubble-row.is-mine .rlsd-bubble-line { justify-content: flex-end; }

.rlsd-bubble-avatar {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    letter-spacing: .02em;
    cursor: default;
    user-select: none;
}

/* Metalinjen skal flugte med boblen, ikke med cirklen. */
.rlsd-bubble-row:not(.is-mine) .rlsd-bubble-meta { padding-left: 37px; }
/* --- tidsstempel mellem grupperne ---
   Ét stempel pr. gruppe i stedet for ét pr. boble. Under hver boble bliver det stoej;
   som en linje mellem grupperne er det en overskrift man kan bruge. */
.rlsd-chat-stamp {
    text-align: center;
    margin: 10px 0 6px;
    font-size: 10.5px;
    color: #9aa3ab;
}

/* Beskeder i samme gruppe rykker taettere sammen - det er ÉN ytring delt over flere
   linjer, ikke tre selvstaendige. */
.rlsd-bubble-row.is-grouped { margin-top: -6px; }

/* Cirklen staar kun ud for gruppens SIDSTE besked, som i en almindelig chat. Pladsen
   bevares, saa boblerne stadig flugter. */
.rlsd-bubble-avatar.is-hidden { visibility: hidden; }

/* Fortryd-knappen dukker foerst op naar musen er over beskeden. */
.rlsd-bubble-meta { min-height: 0; }
.rlsd-bubble-row .rlsd-bubble-undo { opacity: 0; transition: opacity .12s ease; }
.rlsd-bubble-row:hover .rlsd-bubble-undo { opacity: 1; }

/* --- overskriften i den lille chat --- */

.rlsd-chat-dock-avatar {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    border-radius: 50%;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    margin-right: 8px;
}

.rlsd-chat-dock-lines { display: flex; flex-direction: column; min-width: 0; }

.rlsd-chat-dock-name {
    font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.rlsd-chat-dock-sub {
    font-size: 10.5px;
    color: rgba(255, 255, 255, .8);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* --- samtalesiden ---
   .body-data er en flex-kolonne her: hovedet fylder sit, og samtalen resten. overflow
   hidden paa siden, saa det ER beskedfeltet der ruller. */
.rlsd-chat-page {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rlsd-chat-page-head { flex: 0 0 auto; }

.rlsd-chat-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.rlsd-chat-tool-form { display: flex; align-items: center; gap: 4px; margin: 0; }
.rlsd-chat-tool-form input[type=text] { width: 260px; }
.rlsd-chat-tool-form select { width: 200px; }

/* Afslut skubbes helt ud til hoejre - vaek fra de handlinger der bare retter noget. */
.rlsd-chat-tool-end { margin-left: auto; }

.rlsd-chat-people {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.rlsd-chat-person {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px 4px 2px 10px;
    border: 1px solid #dfe3e6;
    border-radius: 12px;
    background: #fff;
    font-size: 12px;
    color: #444;
}

.rlsd-chat-person-x {
    border: 0;
    background: transparent;
    color: #bbb;
    font-size: 15px;
    line-height: 1;
    padding: 0 4px;
    cursor: pointer;
}

.rlsd-chat-person-x:hover { color: #dc3912; }

.rlsd-chat-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: 12px;
    background: #eef3f8;
    font-size: 12px;
    color: #3a6ea5;
}

.rlsd-chat-note { font-size: 11px; margin: 0 0 8px; }
/* --- citat i boblen --- */

.rlsd-bubble-quote {
    display: block;
    margin: -2px -4px 6px;
    padding: 4px 8px;
    border-left: 3px solid rgba(0, 0, 0, .18);
    background: rgba(0, 0, 0, .04);
    border-radius: 4px;
    font-size: 11.5px;
    line-height: 1.35;
}

.rlsd-bubble-quote-who { display: block; font-weight: 600; color: #667; }
.rlsd-bubble-quote-text {
    display: block;
    color: #778;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* --- reaktioner ---
   Under boblen, ikke inde i den: teksten er beskeden, reaktionen er en kommentar til
   den. Egne reaktioner faar en tydeligere kant, saa man kan se hvad man selv har sat. */

.rlsd-bubble-reactions { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.rlsd-bubble-row.is-mine .rlsd-bubble-reactions { justify-content: flex-end; }
.rlsd-bubble-row:not(.is-mine) .rlsd-bubble-reactions { padding-left: 33px; }

.rlsd-reaction {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border: 1px solid #e1e5ea;
    background: #fff;
    border-radius: 11px;
    padding: 1px 7px;
    font-size: 12px;
    line-height: 1.4;
    cursor: pointer;
}

.rlsd-reaction:hover { background: #f2f5f8; }
.rlsd-reaction.is-mine { border-color: #8fc3ea; background: #eaf3fb; }
.rlsd-reaction-n { font-size: 10.5px; color: #667; font-variant-numeric: tabular-nums; }

/* --- vaerktoejer ved boblen ---
   Skjult indtil musen er over beskeden. En samtale skal se ud som tekst, ikke som en
   vaerktoejskasse. */

/* Vaerktoejerne staar UNDER boblen, i samme side som den. max-height ud over opacity:
   uden den ville hver eneste besked reservere plads til en usynlig vaerktoejslinje, og
   samtalen ville staa med et tomt hul under hver boble. */
.rlsd-bubble-tools {
    display: flex;
    align-items: center;
    gap: 1px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity .12s ease, max-height .12s ease;
    flex: 0 0 auto;
    margin-top: 2px;
}

.rlsd-bubble-row:hover .rlsd-bubble-tools { opacity: 1; max-height: 30px; }
/* Modtagne beskeder er rykket ind efter afsenderens billede - vaerktoejerne foelger med,
   saa de flugter med reaktionerne. */
.rlsd-bubble-row:not(.is-mine) .rlsd-bubble-tools { padding-left: 33px; }

.rlsd-bubble-tool {
    border: 0;
    background: transparent;
    font-size: 13px;
    line-height: 1;
    padding: 3px 4px;
    border-radius: 50%;
    cursor: pointer;
    color: #888;
}

.rlsd-bubble-tool:hover { background: #e9edf1; }

/* --- svarbjaelken over skrivefeltet --- */

.rlsd-chat-replybar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-top: 1px solid #e3e3e3;
    background: #f6f8fa;
    font-size: 11.5px;
    color: #667;
}

.rlsd-chat-replybar[hidden] { display: none; }
.rlsd-reply-who { font-weight: 600; flex: 0 0 auto; }
.rlsd-reply-text { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.rlsd-reply-x {
    flex: 0 0 auto;
    border: 0; background: transparent; color: #aaa;
    font-size: 15px; line-height: 1; padding: 0 4px; cursor: pointer;
}

.rlsd-reply-x:hover { color: #dc3912; }
/* --- @-omtaler --- */

.rlsd-mention {
    background: rgba(51, 122, 183, .13);
    color: #2c6395;
    border-radius: 3px;
    padding: 0 2px;
    font-weight: 600;
}

/* Forslagslisten ligger OVER skrivefeltet: der er ikke plads under det i den lille
   chat, og listen maa ikke skubbe feltet ned mens man skriver. */
.rlsd-mention-box {
    flex: 0 0 auto;
    border-top: 1px solid #e3e3e3;
    background: #fff;
    max-height: 190px;
    overflow-y: auto;
}

.rlsd-mention-box[hidden] { display: none; }

.rlsd-mention-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
}

.rlsd-mention-option:hover { background: #f0f4f8; }

.rlsd-mention-avatar {
    flex: 0 0 auto;
    width: 24px; height: 24px;
    border-radius: 50%;
    color: #fff;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
}
/* --- laesekvittering ---
   Under MIN seneste besked. Den skal kunne OVERSES: det er en beroligelse, ikke en
   besked - og staar den for tydeligt, konkurrerer den med samtalen selv. */
.rlsd-receipt {
    font-size: 10.5px;
    margin-top: 2px;
    padding: 0 4px;
    text-align: right;
    cursor: default;
}

.rlsd-receipt.is-all  { color: #3c763d; }
.rlsd-receipt.is-some { color: #8a6d3b; }
.rlsd-receipt.is-none { color: #aaa; }
/* --- samtaler paa projekt-/kundesiden --- */

.rlsd-entity-threads {
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    background: #fff;
    padding: 8px 12px;
    margin: 10px 0;
    max-width: 720px;
    font-size: 12px;
}

.rlsd-entity-threads-head {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    color: #555;
}

.rlsd-entity-threads-head .btn { margin-left: auto; }
.rlsd-entity-threads-none { margin: 0; font-size: 12px; }

.rlsd-entity-thread-list { list-style: none; margin: 0; padding: 0; }

.rlsd-entity-thread-list li {
    padding: 4px 0;
    border-top: 1px solid #f2f2f2;
}

.rlsd-entity-thread-list li:first-child { border-top: 0; }

.rlsd-entity-thread-meta {
    display: block;
    font-size: 11px;
    color: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* --- samtaler bag talebobblen paa projekt-/kundesiden --- */

.rlsd-threads-pop { position: relative; display: inline-block; }

.rlsd-threads-pop-panel {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 4px;
    z-index: 2147483646;
    width: 340px;
    background: #fff;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    text-align: left;
}

.rlsd-threads-pop-panel[hidden] { display: none; }

/* Panelet er nu selv rammen - listen indeni skal ikke have sin egen. */
.rlsd-threads-pop-panel .rlsd-entity-threads {
    border: 0;
    margin: 0;
    max-width: none;
}

/* --- ikonknapper: samme hoejde OG ikonet paa midten ---
   Knapperne i vaerktoejsraekken er en blanding af <a> og <button>. De to elementer
   arver forskellig line-height fra Bootstrap, saa ikonerne sad i hver sin hoejde og
   nogle af knapperne blev hoejere end naboerne (Mads 10/8). Flex afgoer det for dem
   alle i stedet for at haabe paa at line-height passer. */
.rlsd-icon-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    padding: 0 !important;
    vertical-align: middle;
}

.rlsd-icon-btn .glyphicon {
    top: 0;          /* Bootstrap skubber glyphicons 1 px ned - det ses naar de centreres */
    line-height: 1;
}
/* Adresser i beskeder. Understregning foerst ved hover: en besked med flere links skal
   stadig laese som en saetning, ikke som en linkliste. */
.rlsd-bubble-link { color: #1f6feb; text-decoration: none; word-break: break-all; }
.rlsd-bubble-link:hover { text-decoration: underline; }
.rlsd-bubble-row.is-mine .rlsd-bubble-link { color: #14622c; }

/* rlsd-utilities.css — små hjælpeklasser, der erstatter de mest brugte inline styles i views
   (3.397 style="…" i 197 views; de 30 mest brugte dækkede 59 %). Bootstrap 3 har allerede
   .text-right / .text-left / .text-center / .text-nowrap / .hidden / .hidden-print — de bruges
   som de er. Her er kun det, Bootstrap ikke har. Ingen !important: klasserne skal kunne overstyres
   præcis som en inline style kunne. */

/* Tal: højrestillet og med ensbredde-cifre, så kolonner står lige. */
.rlsd-num       { text-align: right; font-variant-numeric: tabular-nums; }
.rlsd-num-bold  { text-align: right; font-variant-numeric: tabular-nums; font-weight: bold; }

.rlsd-bold      { font-weight: bold; }
.rlsd-bolder    { font-weight: bolder; }
.rlsd-normal    { font-weight: normal; }
.rlsd-pointer   { cursor: pointer; }
.rlsd-w100      { width: 100%; }
.rlsd-w100-max  { width: 100%; max-width: 100%; }
.rlsd-max900    { max-width: 900px; }
.rlsd-m0        { margin: 0; }
.rlsd-small     { font-size: 12px; }
.rlsd-red       { color: red; }
.rlsd-green     { color: forestgreen; }

/* Tabelhoved-celler: venstre, fed, midt-justeret (17+15 forekomster). */
.rlsd-th        { text-align: left; font-weight: bolder; vertical-align: middle; }

/* Sumrækker uden kantlinjer i siderne (14 forekomster). */
.rlsd-total     { text-align: right; border-bottom: hidden; border-right: hidden; border-left: hidden; }

/* Faste kolonnebredder (tabelceller). */
.rlsd-col80     { width: 80px;  min-width: 80px;  max-width: 80px;  text-align: center; }
.rlsd-col100    { width: 100px; }
.rlsd-col110    { width: 110px; }
.rlsd-col150    { width: 150px; }

/* Under PDF-indlæsning (rlsd-export: rlsdPdf-knappen). */
.rlsd-pdf-loading { opacity: .6; cursor: progress; }

/* Runde 2 (natplan 28/8): de naeste ~25 moenstre. */
.rlsd-vam      { vertical-align: middle; }
.rlsd-mb0      { margin-bottom: 0; }
.rlsd-mb5      { margin-bottom: 5px; }
.rlsd-mb10     { margin-bottom: 10px; }
.rlsd-mt8      { margin-top: 8px; }
.rlsd-ml6      { margin-left: 6px; }
.rlsd-ml8      { margin-left: 8px; }
.rlsd-p2       { padding: 2px; }
.rlsd-pb5      { padding-bottom: 5px; }
.rlsd-max760   { max-width: 760px; }
.rlsd-max820   { max-width: 820px; }
.rlsd-max1100  { max-width: 1100px; }
.rlsd-w80      { width: 80px; min-width: 80px; max-width: 80px; }
.rlsd-col70    { width: 70px; }
.rlsd-col90    { width: 90px; }
.rlsd-col140   { width: 140px; }
.rlsd-col200   { width: 200px; }

/* ---- Sektionsmenu (venstre side) for bogføringsdelen ------------------------------------------
   Sider under /finance, /journals, indbakken og bankkontiene deler menuen, saa man kan hoppe
   mellem dem uden at gaa via forsiden. Layoutet saettes af .rlsd-has-secnav i _Layout.
   Menuen kan foldes ind til en ikon-stribe, grupperne kan klappes sammen, og den scroller selv. */
.rlsd-has-secnav          { display: flex; gap: 20px; align-items: flex-start; }
.rlsd-has-secnav > .rlsd-secnav { flex: 0 0 210px; transition: flex-basis .12s ease; }
.rlsd-has-secnav > .rlsd-secnav.rlsd-secnav-is-collapsed { flex: 0 0 52px; }
.rlsd-has-secnav > .rlsd-secnav-body { flex: 1 1 auto; min-width: 0; }
.rlsd-secnav              { border-right: 1px solid #e3e6ea; padding: 0 12px 12px 0; position: sticky; top: 8px;
                            max-height: calc(100vh - 40px); overflow-y: auto; overflow-x: hidden; }
.rlsd-secnav-list         { padding-top: 14px; }      /* luft ned fra den sorte navbar */
.rlsd-secnav-collapse     { display: block; width: 100%; text-align: left; background: none; border: 0; color: #8a9199;
                            padding: 4px 10px 10px; cursor: pointer; }
.rlsd-secnav-collapse:hover { color: #2b3a45; }
.rlsd-secnav-group        { display: block; width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
                            font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #8a9199;
                            padding: 0; margin: 14px 0 4px; }
.rlsd-secnav-group:hover  { color: #2b3a45; }
.rlsd-secnav-caret        { font-size: 8px; width: 18px; display: inline-block; }
.rlsd-secnav-group-closed .rlsd-secnav-caret { transform: rotate(-90deg); }
.rlsd-secnav-hidden       { display: none; }
.rlsd-secnav-item         { display: block; padding: 6px 10px; border-radius: 4px; color: #2b3a45; text-decoration: none; white-space: nowrap; }
.rlsd-secnav-item:hover,
.rlsd-secnav-item:focus   { background: #eef2f5; color: #14212b; text-decoration: none; }
.rlsd-secnav-item .glyphicon { width: 18px; color: #8a9199; }
.rlsd-secnav-active       { background: #2c6f9b; color: #fff; font-weight: 600; }
.rlsd-secnav-active:hover,
.rlsd-secnav-active:focus { background: #24597c; color: #fff; }
.rlsd-secnav-active .glyphicon { color: #fff; }
.rlsd-secnav-label        { margin-left: 4px; }

/* Foldet ind: kun ikonerne staar tilbage (teksten ligger i title-attributten). */
.rlsd-secnav-is-collapsed .rlsd-secnav-label { display: none; }
.rlsd-secnav-is-collapsed .rlsd-secnav-group { text-align: center; margin: 12px 0 2px; }
.rlsd-secnav-is-collapsed .rlsd-secnav-caret { display: none; }
.rlsd-secnav-is-collapsed .rlsd-secnav-item  { text-align: center; padding: 8px 4px; }
.rlsd-secnav-is-collapsed .rlsd-secnav-item .glyphicon { width: auto; }
.rlsd-secnav-is-collapsed .rlsd-secnav-collapse { text-align: center; }

/* Mobil: hele sektionsmenuen falder sammen til ÉN knap, saa den ikke skubber siden ned.
   Ren CSS (skjult checkbox) - ingen JS der kan fejle, og den virker ogsaa i en popup. */
.rlsd-secnav-toggle       { position: absolute; opacity: 0; pointer-events: none; }
.rlsd-secnav-btn          { display: none; }
@media (max-width: 900px) {
    .rlsd-has-secnav      { display: block; }
    .rlsd-secnav          { border-right: 0; position: static; padding: 0; margin-bottom: 12px; max-height: none; overflow: visible; }
    .rlsd-has-secnav > .rlsd-secnav.rlsd-secnav-is-collapsed { flex: none; }
    .rlsd-secnav-is-collapsed .rlsd-secnav-label { display: inline; }     /* ikon-striben giver ikke mening paa mobil */
    .rlsd-secnav-btn      { display: block; width: 100%; padding: 9px 12px; margin: 0; background: #eef2f5; border: 1px solid #dfe4e8;
                            border-radius: 4px; font-weight: 600; cursor: pointer; }
    .rlsd-secnav-btn .glyphicon { margin-right: 6px; color: #667079; }
    .rlsd-secnav-list     { display: none; border: 1px solid #dfe4e8; border-top: 0; border-radius: 0 0 4px 4px;
                            padding: 6px 8px 10px; max-height: 60vh; overflow-y: auto; }
    .rlsd-secnav-toggle:checked ~ .rlsd-secnav-list { display: block; }
    .rlsd-secnav-collapse { display: none; }                              /* mobil har sin egen knap */
}

/* ---- smaa hjaelpeklasser brugt af kassekladderne ---------------------------------------------- */
.rlsd-mr12      { margin-right: 12px; }
.rlsd-mb6       { margin-bottom: 6px; }
.rlsd-mb12      { margin-bottom: 12px; }

/* ---- Finans-forsidens noegletal --------------------------------------------------------------- */
.rlsd-fin-card       { display: block; flex: 0 0 220px; padding: 16px 18px; border: 1px solid #e3e6ea; border-radius: 6px;
                       background: #fff; color: #2b3a45; text-decoration: none; }
.rlsd-fin-card:hover { border-color: #2c6f9b; box-shadow: 0 2px 8px rgba(0,0,0,.07); text-decoration: none; color: #14212b; }
.rlsd-fin-card-n     { display: block; font-size: 30px; font-weight: 600; line-height: 1.1; }
.rlsd-fin-card-t     { display: block; color: #667079; font-size: 13px; margin-top: 4px; }
.rlsd-fin-card-t .glyphicon { color: #8a9199; }

/* ---- Mobilmenuen i navbaren -------------------------------------------------------------------
   Under 768 px foldes navbaren ud som en liste af fuldbredde-knapper. De ikon-knapper der ikke har
   en tekst (indbakke, indstillinger, beskeder, "mere") faar en her - ellers er de bare firkanter. */
.menu_text_mobile         { display: none; }
@media only screen and (max-width: 767px) {
    .menu_text_mobile     { display: inline-block; }
    .rlsd-msg-bubble      { display: block; width: 100%; text-align: left; }
    .rlsd-mobile-hide     { display: none !important; }
    /* Selskabsvalget skal se ud som resten af mobilmenuen - ikke som et loest groent link. */
    .rlsd-client-link     { display: block; width: 100%; margin: 1px 0; padding: 8px 12px; border-radius: 4px;
                            background: #3f4b54; color: #fff !important; text-align: left; }
    .rlsd-client-link:hover, .rlsd-client-link:focus { background: #4c5b66; color: #fff !important; text-decoration: none; }
}

/* ---- Maerke for data der kommer fra et eksternt system ---------------------------------------- */
.rlsd-ext-badge      { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 10px; font-size: 11px;
                       background: #eaf1f6; color: #4a6a80; border: 1px solid #d6e3ec; text-decoration: none; }
a.rlsd-ext-badge:hover { background: #dbe8f1; color: #24597c; text-decoration: none; }
.rlsd-ext-badge .glyphicon { font-size: 10px; }

/* ---- Udviklertilstandens panel ---------------------------------------------------------------- */
#rlsd-devpanel            { position: fixed; right: 12px; bottom: 12px; z-index: 2147483000; font-size: 12px; }
#rlsd-devpanel .rlsd-dev-toggle { background: #2b3a45; color: #fff; border: 0; border-radius: 16px; padding: 6px 12px; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
#rlsd-devpanel .rlsd-dev-count  { background: #c0392b; border-radius: 8px; padding: 0 6px; margin-left: 4px; }
#rlsd-devpanel .rlsd-dev-body   { display: none; background: #fff; border: 1px solid #cfd4da; border-radius: 6px;
                                  box-shadow: 0 6px 18px rgba(0,0,0,.18); padding: 10px 12px; margin-top: 6px; min-width: 260px; max-width: 340px; }
#rlsd-devpanel.rlsd-dev-open .rlsd-dev-body { display: block; }
#rlsd-devpanel .rlsd-dev-row    { margin-bottom: 6px; word-break: break-word; }


/* Undergruppe-overskrifter i navbarens dropdowns (Mads 3/9): helt smaa, uppercase,
   afdaempede - orientering, ikke klikbare punkter. */
.dropdown-menu > li.rlsd-menu-group {
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding-top: 6px;
    padding-bottom: 2px;
    color: #999;
}

.rlsd-mt24      { margin-top: 24px; }
.rlsd-mr6       { margin-right: 6px; }
/* Fritekst med linjeskift (udvikleropgaver): bevar brugerens linjeskift, ombryd lange linjer. */
.rlsd-prewrap   { white-space: pre-wrap; word-break: break-word; }
.rlsd-mono      { font-family: Consolas, Menlo, monospace; font-size: 12px; }
/* Site.css saetter max-width: 280px paa ALLE input/select/textarea. Denne slaar det fra, hvor et felt skal fylde sin kolonne. */
.rlsd-wide      { max-width: 100% !important; }

/* De trin, huset ALLEREDE skrev, men som aldrig blev defineret (maalt 28-09-2026).
   Femten steder bad om dem - blandt andet hele _HeaderTextSuggestions.cshtml, som
   derfor stod uden lodret rytme. En klasse, ingen stil kender, er bare en streng. */
.rlsd-mt0  { margin-top: 0; }
.rlsd-mt6  { margin-top: 6px; }
.rlsd-mt12 { margin-top: 12px; }
.rlsd-mt16 { margin-top: 16px; }
.rlsd-mb16 { margin-bottom: 16px; }

/* Kassekladdens linjegrid (30-08-2026).

   Gridet skal kunne vise et helt bilag uden vandret rullen. Derfor:
   - bilagstype og moms viser KUN et ikon/en kode i lukket tilstand, mens den native
     dropdown stadig viser den fulde tekst. Kneb: <select> med color:transparent og et
     overlay ovenpå - <option> beholder sin egen farve, saa listen er upaavirket. Det
     bevarer al tastaturopfoersel og .val()/change, som gridet bygger paa.
   - konto/modpart/modkonto viser NUMMERET i feltet og navnet med smaat under. */

.rlsd-jrn-table                       { table-layout: fixed; }
.rlsd-jrn-table > tbody > tr > td     { padding: 3px 4px; vertical-align: top; }
.rlsd-jrn-table .form-control         { height: 26px; padding: 2px 5px; font-size: 12px; }

/* Overskrifterne KLIPPES. Uden det her lob et langt ord (Bilagstype, Modkonto moms) ud over
   nabokolonnen og laa oven i den - kolonnerne er smalle, og table-layout:fixed lader
   indholdet flyde ud. Det fulde navn staar i th's title. (Mads 30/8.) */
.rlsd-jrn-table > thead > tr > th {
    padding: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Kolonnebredder. Datoerne er de stoerste syndere - en date-input vil gerne fylde. */
.rlsd-jrn-c-type      { width: 54px; }
.rlsd-jrn-c-date      { width: 112px; }
.rlsd-jrn-c-voucher   { width: 78px; }
.rlsd-jrn-c-account   { width: 108px; }
.rlsd-jrn-c-slot      { width: 96px; }
.rlsd-jrn-c-text      { width: auto; min-width: 160px; }
.rlsd-jrn-c-amount    { width: 104px; }
.rlsd-jrn-c-contra    { width: 108px; }
.rlsd-jrn-c-contravat { width: 96px; }
.rlsd-jrn-c-due       { width: 112px; }
.rlsd-jrn-c-mark      { width: 74px; }
.rlsd-jrn-table .rlsd-jrn-sel { width: 28px; }

.rlsd-jrn-table input[type="date"]    { padding-right: 0; }

/* Navnet under nummeret. To linjer pr. raekke er prisen for at faa bredden ned. */
.rlsd-jrn-sub {
    font-size: 11px; line-height: 13px; color: #888;
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    padding: 1px 2px 0 2px; min-height: 14px;
}

/* Kompakt vaelger: den lukkede tilstand viser et ikon (bilagstype) eller en kode (moms),
   mens den native dropdown stadig viser den fulde tekst.
   Etiketten DAEKKER selectens tekstomraade med en ugennemsigtig baggrund - at gore teksten
   gennemsigtig er ikke nok, for browserne farver den lukkede tilstand efter <option>, og saa
   skinnede det lange navn igennem bag ikonet. Pilen til hoejre lades i fred. */
.rlsd-jrn-pick            { position: relative; display: block; }
.rlsd-jrn-pick > select   { color: transparent; text-shadow: none; }
.rlsd-jrn-pick > select > option { color: #333; background: #fff; }
.rlsd-jrn-pick > .rlsd-jrn-picklabel {
    position: absolute; left: 1px; top: 1px; bottom: 1px; right: 17px;
    display: flex; align-items: center;
    padding-left: 5px; font-size: 12px; color: #333; background: #fff;
    pointer-events: none; overflow: hidden; white-space: nowrap;
}
.rlsd-jrn-pick > select:focus + .rlsd-jrn-picklabel { color: #777; }
.rlsd-jrn-pick > select:disabled + .rlsd-jrn-picklabel { color: #aaa; background: #eee; }

/* Skjulte felter i en delt celle (konto/modpart, moms/fakturanr). */
.rlsd-jrn-hidden { display: none !important; }

/* Valuta og kurs er SKJULT som udgangspunkt: langt de fleste bilag er i selskabets egen
   valuta, og to kolonner mere ville koste bredde paa hver eneste linje. De kommer frem
   ved at saette hak i "Valuta" - eller af sig selv, saa snart én linje bruger fremmed valuta. */
.rlsd-jrn-c-currency  { width: 62px; }
.rlsd-jrn-c-rate      { width: 78px; }
.rlsd-jrn-table:not(.rlsd-jrn-showcurrency) .rlsd-jrn-c-currency,
.rlsd-jrn-table:not(.rlsd-jrn-showcurrency) .rlsd-jrn-c-rate { display: none; }

.rlsd-jrn-dim { background: #f7f7f7; }

/* Bilag paa linjen: slip en fil paa raekken, eller klik papirclipsen. */
.rlsd-jrn-row.rlsd-jrn-drop > td      { background: #e3f1ef; box-shadow: inset 0 0 0 1px #5cb85c; }
.rlsd-jrn-row.rlsd-jrn-uploading > td { opacity: .55; }
.rlsd-jrn-detach                      { padding: 0 3px; color: #999; }
.rlsd-jrn-detach:hover                { color: #d9534f; }

/* Linjer der hoerer til SAMME bilag (bilagsnummer + dato). Uden en markering kan man ikke
   se paa gridet at to raekker haenger sammen - og saa er "flere linjer paa ét bilag" usynligt. */
.rlsd-jrn-row.rlsd-jrn-grouped > td:first-child   { border-left: 3px solid #5bc0de; }
.rlsd-jrn-row.rlsd-jrn-groupstart > td            { border-top: 1px solid #5bc0de; }

