/* general */
body { font-size: 0.9rem; }
            
h1 { font-size: 1.15rem; display: inline; font-weight: normal; }
h2 { font-size: 1.0rem; margin: 15px 0px 5px 0px; }
h3 { font-size: 0.9rem; }

a { color: #2F6AA5; }
a:hover { color: #1a252f; text-decoration: none; }
.topbar { height: 3rem; }

.card-header { padding: 0.3rem 1.25rem; }
.card-body div.table-responsive { overflow: inherit; }
.hide { display: none; }

body.login { background: url("../images/background-PdFCsU4.jpg") no-repeat fixed center center / 100% 100%; }
body.login #wrapper #content-wrapper { background: rgba(255, 255, 255, 0.8) none repeat scroll 0 0; }
.login .alert { height: 34px; padding: 0.3rem 0.75rem; }
.login .awesome { width: 42px; height: 34px; }
footer { line-height: 1; font-size: 0.7rem; padding: 0.3rem 0; border-top: 1px solid #ccc; background: #ecf0f1; }

/* colors */
.btn-sm { font-size: .8rem; line-height: 1.1; padding: 0.2rem 0.3rem; }
.btn-group-sm>.btn, .btn-sm { padding: 0.25rem 0.3rem; }

.border-left-primary { border-left: 0.25rem solid #2F6AA5!important; }
.bg-primary-dark-all { color: #fff; background: #2f6aa5 none repeat scroll 0 0; border: 1px solid #2c3e50; }
.bg-primary-dark { color: #fff; background: #2f6aa5 none repeat scroll 0 0; border-bottom: 1px solid #2c3e50; }
/*.alert { padding: 5px; }*/
.text-danger, .text-danger:hover { color: #e74c3c }

.btn-primary { color: #fff; background-color: #2c3e50; border-color: #2c3e50; }
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active { color:#fff; background-color: #1a252f !important; border-color: #161f29 !important; }

.text-primary,
.text-primary:hover,
.text-primary:focus,
.text-primary:active { color: #2F6AA5 !important; }

.alert-success,
.btn-success { color: #fff; background-color: #18bc9c; border-color: #18bc9c; }
.btn-success:hover,
.btn-success:focus,
.btn-success:active { color:#fff; background-color:#128f76; border-color:#11866f; }

.text-info,
.text-info:hover,
.text-info:focus,
.text-info:active { color: #3498db !important; }

.alert-info,
.btn-info { color: #fff; background-color: #3498db; border-color: #3498db; }
.btn-info:hover,
.btn-info:focus,
.btn-info:active { color:#fff; background-color:#217dbb; border-color:#2077b2; }

.alert-warning,
.btn-warning { color:#fff; background-color:#f39c12; border-color:#f39c12; }
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active { color:#fff; background-color:#c87f0a; border-color:#be780a; }

.alert-danger,
.btn-danger { color: #fff; background-color: #e74c3c; border-color: #e74c3c; }
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active { color:#fff; background-color:#d62c1a; border-color:#cd2a19; }

.btn-secondary.silver { background-color: #f8f9fc; border: 1px solid #e3e6f0; color: #000; }
.btn-modal { line-height: 1.2; padding: 0.25rem 0.5rem; }

/* header */
header { background: #2F6AA5 none repeat scroll 0 0; border-bottom: 1px solid #2C3E50; min-height: 0px; margin: 0 0 15px 0; }
header a, header h1, header li { font-size: 1.15rem; color: #fff; margin: 0px; padding: 0px; }
header a:hover { text-decoration: none; color: #fff; }
header.navbar { padding: 0.4rem 0 0.4rem 0; }
header .title { padding: 0 0 0 12px; }

header .navbar-brand { color: #fff; padding: 10px 0; height: auto; } 
header .navbar-brand:hover,
header .navbar-brand:focus,
header .navbar-brand:active { color: #fff; }
header .navbar-text { color: #fff; }

header .navbar-nav > li > a { color: #fff; padding: 10px 12px; border-right: 1px solid #2f6aa5; }
header .navbar-nav > li > a:hover,
header .navbar-nav > li > a:focus,
header .navbar-nav > li > a:active { color: #fff; background-color: #1a252f; border-right: 1px solid #1a252f;}

header .navbar-nav > .open > a,
header .navbar-nav > .open > a:hover,
header .navbar-nav > .open > a:focus,
header .navbar-nav > .open > a:active { color: #fff; background-color: #1a252f; }

header ul.navbar-nav.collapse.show ul.dropdown-menu { position: absolute; }

button.navbar-toggler, button.navbar-toggler:active, button.navbar-toggler:focus, button.navbar-toggler:hover, .navbar-toggler-icon:focus {
    color: #fff;
    border: 0px;
    border-radius: 0px;
    --bs-navbar-toggler-border-color: 0px;
    outline: none;
    box-shadow: none;
    float: right;
    text-align: right;
}

header ul.dropdown-menu { z-index: 100000; padding: 0px; margin: 0px; font-size: 16px; border-top: 1px solid #2c3e50; border-right: 1px solid #2f6aa5; border-bottom: 1px solid #2f6aa5; border-left: 1px solid #2f6aa5; border-radius: 0px; }
header ul.dropdown-menu li,
header ul.dropdown-menu li a { font-size: 16px; }
header ul.dropdown-menu > li > a { display: block; padding: 4px 12px; color: #337ab7; white-space: nowrap; }
header ul.dropdown-menu > .active > a,
header ul.dropdown-menu > .active > a:focus,
header ul.dropdown-menu > .active > a:hover,
header ul.dropdown-menu > li > a:hover { color: #fff; text-decoration: none; background-color: #2f6aa5; outline: 0; }
header ul.dropdown-menu > li > span { display: block; padding: 4px 12px; clear: both; font-weight: 400; color: #7b8a8b; white-space: nowrap; }
header ul.dropdown-menu .divider { height: 1px; margin: 2px 0; overflow: hidden; background-color: #fff; border-bottom: 1px solid #7b8a8b; }
.dropdown-menu[data-bs-popper] { top: 2rem; }

/* header spinner and progress bar */
header div#navbar-brand-spinner div.spinner { border-width: 0.15em; height: 1.2rem; margin: 0.1rem 0.7rem 0; width: 1.2rem; color: #fff; }
header div#navbar-brand-spinner div.progress { float: none; height: 1.2rem; margin: 0.1rem 0.7rem 0 0; width: auto; }

/* pagination */
ul.pagination { margin: 0px; }
.page-item.active .page-link { background-color: #2F6AA5; border-color: #1a252f; color: #fff; }
.page-link { line-height: 1.1; padding: 0.2rem 0.4rem 0.2rem 0.4rem; font-size: 0.9rem; }

/* table */
table.table.admin.overview { cursor: context-menu; }
table.admin.table { color: #000; margin: 0px; }
table.admin.table tbody tr:nth-of-type(odd),
table.admin.table tbody tr:nth-of-type(odd) td { background-color: #f9f9f9; }

table.admin tr.bg-primary th { background: #2F6AA5 none repeat scroll 0 0; margin: 0px; border: 1px solid #2C3E50 !important; }
table.admin tr.bg-primary th, table.admin tr.bg-primary th a, table.admin tr.bg-primary th a.btn { color: #fff; }
table.admin tr.bg-primary th:hover { color: #fff; background-color: #1a252f; }

table.admin.table-hover tr:hover { background-color: #eee !important; }
table.admin.table-hover td:hover { background-color: #fff !important; }

table.admin.table > thead > tr > th, table.admin.table > thead > tr > td { padding: 0rem 0.3rem 0rem 0.3rem; }
table.admin.table > tbody > tr > th, table.admin.table > tbody > tr > td, table.admin.table > tfoot > tr > th, .table > tfoot > tr > td { padding: 0.3rem 0.3rem 0.2rem 0.3rem; }

table.admin.table tr.inactive, table.admin.table tr.inactive td.inactive { background-color: #feecec !important; }
table.admin.table tr.warning, table.admin.table tr.warning td.warning { background-color: #f8ddc7 !important; }
table.admin.table tr.mark, table.admin.table tr.mark td.mark { background-color: #cfdaff !important; }
table.table td.tags span { padding: 0.1rem 0.2rem; margin: 0 0 0.1rem 0; }

/* item highlights */
table.admin.table td.warning.dateDue { color: #e74a3b !important; }

/* item actions */
table.admin.table ul.item-actions { min-width: unset; width: unset; }
table.admin.table ul.item-actions .dropdown-header { padding: 0rem 0.5rem; font-size: 0.8rem; text-transform: unset !important; }
table.admin.table ul.item-actions li.dropdown, 
table.admin.table ul.item-actions li.dropdown a,
table.admin.table ul.item-actions li.dropdown button { padding: 0.1rem 0.5rem; }
table.admin.table ul.item-actions li.dropdown i { width: 1rem; }
table.admin.table ul.item-actions li.dropdown a:focus,
table.admin.table ul.item-actions li.dropdown a:active { background: #eee; }

/* columns width */
table th.displayName { width: 20%; }
table th.fullName, table th.owner, table th.assignee, table th.author, table th.typeName, table th.o365User { width: 10rem; }
table th.type { width: 5rem; }
table th.color { width: 8%; }
table th.domainName, table th.user, table th.organizer, table th.category, table th.type, table th.typeName { width: 11%; }
table th.description { width: 17%; }
table th.username { width: 25%; }
table th.start, table th.end, table th.from, table th.to, table th.created, table th.updated, table th.published, table th.dateDue, table th.dateIssue { width: 9rem; }
table th.hours, table th.mailed { width: 5%; }
table th.isActive, table th.isPrivate, table th.def, table th.paid { width: 5.4rem; }
table th.isSynced { width: 5.9rem; }
table .actions { width: 0rem; }
table th.total { width: 8rem; }
table td.total { text-align: right; }
table th.time, table th.tests, table th.failures { width: 4.6rem; }

/* columns helpdesk module width */
table th.id { width: 4.5rem; }
table th.parent { width: 4.5rem; }
table th.tracker, table th.status, table th.priority { width: 5.2rem; }
table th.project { width: 7rem; }
table th.tags { width: 10rem; }

/* helpdesk bulk actions */
div#helpdesk_bulk div.custom.bulk-edit-checkbox.form-group { width: 2%; position: relative; float: left; }
div#helpdesk_bulk div.custom.bulk-edit-checkbox.form-group input { cursor: pointer; }
div#helpdesk_bulk div.custom.bulk-edit-item.form-group { width: 98%; position: relative; float: left; }

/* filter */
table.admin.table tr#filter td { padding: 0; margin: 0px; vertical-align: top; }
table.admin.table tr#filter select.comparison { background-position: bottom 0.35rem right 0.1rem; border-radius: unset; cursor: pointer; height: 25px; margin: 0 1px 0 0; padding: 0 0 0.15rem 0.15rem; width: 40px; line-height: 1; border-top: 0px; border-right: 0px; }
table.admin.table tr#filter select.select-bool { background-position: right 0.1rem center; cursor: pointer; height: 25px; margin: 0; padding: 0 0 0 5px; width: 100%; border-radius: unset; border-top: 0px; border-right: 0px; border-left: 0px; }
table.admin.table tr#filter input.filter { border-radius: unset; height: 25px; padding: 0 0 0 0.2rem; width: calc(100% - 41px); background-color: #fff; border-top: 0px; border-right: 0px; border-left: 0px; text-align: left; }
table.admin.table tr#filter td.datetime label { width: 40px; float: left; padding: 3px 0px 0px 4px; height: 25px; margin: 0px; font-size: 0.8rem; }
table.admin.table tr#filter td.datetime div { padding: 0; margin: 0; border: 0px; width: unset; border-radius: unset; }
table.admin.table tr#filter td.datetime div.date.from { border-bottom: 1px solid #d1d3e2; }
table.admin.table tr#filter td.datetime div input { border: 0px; font-size: 0.9rem; padding: .2rem .5rem; height: 25px; }
table.admin.table tr#filter td.datetime div span { border-radius: unset; border: 0px; }
table.admin.table tr#filter td.datetime div span.input-group-text { font-size: 0.9rem; line-height: 1.1; padding: 0.2rem 0.5rem; cursor: pointer; }

/* modal */
.modal-xl { min-width: 85%; }
div#action-into-modal { padding: 0px 10px 10px 10px; }
div#action-into-modal { background-color: #2C3E50; border-color: #2C3E50; }
div#action-into-modal h2 { background-color: #2C3E50; border-color: transparent; color: #fff; margin: 0px; padding: 5px 0 8px 0; cursor: move; }
div#action-into-modal form { background-color: #fff; padding: 10px; }
div#action-into-modal div.delete { height: unset; background-color: #fff; padding: 10px; }
div#action-into-modal div.delete div.buttons { height: 30px; }
div#action-into-modal button { float: right; margin: 0px 0px 0px 5px; }
div#action-into-modal button.custom_joined_remove_button { margin: 0px; height: 34px; width: 34px; padding: 0px; }
div#action-into-modal button#custom_joined_add_button { display: none; }

div#action-into-modal .nav-tabs > li > a { margin-right: 1px; padding: 5px 10px; color: #fff; }
div#action-into-modal .nav-tabs > li.active > a, 
div#action-into-modal .nav-tabs > li.active > a:focus,
div#action-into-modal .nav-tabs > li.active > a:hover { color: #555; cursor: default; background-color: #fff; border: 1px solid; border-color: #ddd #ddd transparent; }
div#action-into-modal .nav-tabs .badge { top: -2px !important; }

div#action-into-modal div.testdox h2,
div#action-into-modal div.info_detail h2 { padding: 2px 5px; }
div#action-into-modal div.info_detail h3 { margin: 10px 0px 0px 5px; }

div#action-into-modal form div.form-group { border-bottom: 1px solid #ccc; padding-bottom: 15px; }
div#action-into-modal form div.input-group { flex-wrap: unset !important; width: unset !important; }
div#action-into-modal form div.custom.form-group,
div#action-into-modal form div#change_password div.form-group { border: 0px; }

div#action-into-modal form div.custom.joined.comments.form-group div.custom.private { float: right; width: unset; margin: 0px; padding: 0px; }
div#action-into-modal form div.custom.joined.comments.form-group div.custom.private div.checkbox { width: unset; background: unset; border: 0px; margin: 0px; padding: 0px; -webkit-appearance: none; cursor: unset; }
div#action-into-modal form div.custom.joined.comments.form-group div.custom.textarea.form-group { clear: both; }

/* module helpdesk */
/* helpdesk/comment new - general */
div#action-into-modal form div.custom.joined.comments.new.form-group div.custom.created,
div#action-into-modal form div.custom.joined.comments.new.form-group div.custom.updated,
div#action-into-modal form div.custom.joined.comments.new.form-group div.custom.author,
div#action-into-modal form div.custom.joined.comments.new.form-group div.custom.id,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.new-item div.custom.created,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.new-item div.custom.updated,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.new-item div.custom.author,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.new-item div.custom.id { display: none; }
div#action-into-modal form div.custom.joined.comments.new.form-group div.custom.textarea.form-group textarea { width: 100%; }

/* helpdesk/comment edit - general */
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.textarea.form-group textarea { width: 100%; }
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.created,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.updated,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.author,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id { float: right; width: unset; margin: 0px; padding: 0px; }

/* helpdesk/comment edit - label */
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.created label,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.updated label,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.author label,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id label { width: unset; margin: 0 10px 0 10px; }

/* helpdesk/comment edit - input, select, span */
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.created input,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.updated input,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id input,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.author select { width: unset; background: unset; border: 0px; margin: 0px; padding: 0px; -webkit-appearance: none; cursor: unset; }
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id input[type=number] { -moz-appearance: textfield; }

div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.created input,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.updated input { width: 125px; }
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.id input { width: 50px; }
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.author select { width: 150px; height: 35px; }

div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.created span,
div#action-into-modal form div.custom.joined.comments.edit.form-group div.custom.updated span { display: none; }

/* module o365Report */
div#action-into-modal form[name="o365_category"] div.acls.form-group,
div#action-into-modal form[name="o365_category"] div.acls .form-group { margin: 0px; padding-bottom: 0px; border-bottom: 0px; }
div#action-into-modal form[name="o365_category"] div.acls > label {float: unset; width: 100%; border-bottom: 1px solid #ccc; }
div#action-into-modal form[name="o365_category"] div.acls div.acls-group > div.form-group { float: left; margin: 0 0.5rem 0.5rem 0; width: 18%; height: 4rem; padding: 5px; }
div#action-into-modal form[name="o365_category"] div.acl.user.form-group input { float: unset !important; margin: 0px 0px 0px 10px !important; width: unset !important; top: 1px; cursor: pointer; }
div#action-into-modal form[name="o365_category"] div.acl.role.form-group select { height: 25px; cursor: pointer; font-size: .75rem; padding: 3px 6px; }
div#action-into-modal form[name="o365_category"] div.buttons { clear: both; }

h3#childs a.btn { position: relative; float: right; top: -5px; }
div#child-link { float: right; top: 0px; margin: 0 0 0 5px; width: 7rem; }
div#child-link input { height: 1.55rem; padding: 0.2rem 0.3rem; font-size: .8rem; line-height: 1.1; }
div#child-link span { font-size: 0.6rem; padding: 0.4rem; }

h3#comments a.btn { position: relative; float: right; top: -5px; }
textarea#comment-new { margin: 0 0 10px 0; }

h3#files button.btn { position: relative; float: right; top: -5px; }

div.dropzone-wrapper { width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; z-index: 999; opacity: 0.8; background: #aaa; display: none; }
div.dropzone { width: 90%; height: 40%; margin: 5%; display: none; position: absolute; top: 0px; left: 0px; z-index: 1000; opacity: initial; background: #fff; border: 2px dashed #1a252f; border-radius: 4px; }
div.dropzone .dz-message { margin: 6% 0; }

div#modal-preview h2 { text-align: center; }
div#modal-preview h2 a { color: #f39c12; }
div#modal-preview h2 a:hover { color: #c87f0a; }
div#modal-preview img { display: block; margin: 0 auto; max-width: 100%; }
div#modal-preview iframe { display: block; margin: 0 auto; width: 100%; height: 90vh; }

/* modul info - modal */
div.status a, div.status span { margin: 0px 0px 4px 0px; }

div.releases h2, div.releases .h2 { background-color: #2f6aa5; border: 1px solid #2c3e50; color: #fff; padding: 5px; margin: 0px; }
div.releases h3 { font-weight: bold; margin: 10px 0px 5px 5px; padding: 0px; }
div.releases ul { margin: 0px 0px 1em 1em; padding: 0px; }
div.releases p, div.releases div, div.releases ul li { margin: 10px; }

div.info_detail { background-color: #fff; padding: 10px; }
div.info_detail h2 { padding: 5px; margin: 0px 0px 10px 0px; }
div.info_detail h3 { font-weight: bold; margin: 0px 0px 0px 5px; padding: 0px; }
div.info_detail ul { margin: 0px 0px 1em 1em; padding: 0px; }
div.info_detail p, div.info_detail div, div.info_detail ul li { margin: 10px; }
div.info_detail blockquote { padding: 0px; }

div.info_detail div.testdox { margin: 0px; }
div.info_detail div.testdox ul { list-style: none; margin: 0px 0px 1em 0px; }

div.info_detail pre { background: #3a3a3a; color: #f2dede; margin: 10px 0px 10px 0px; padding: 5px 10px; }

/* forms */
form select.form-control { -webkit-appearance: menulist; }

.form-control { width: 100%; height: 34px; padding: 6px 12px; border: 1px solid #dce4ec; background-color: #fff; background-image: none; border-radius: 4px; -webkit-box-shadow: none; box-shadow: none; -webkit-transition: none; -o-transition: none; transition: none; }
.form-group { margin-bottom: 0px; }
.form-group.has-error .form-control { border-color: #e74c3c }
.form-group.has-error .control-label { color: #e74c3c }
.form-group.has-error .help-block { background-color: #e74c3c; color: #fff; padding: 1em }

.form-group.has-error .help-block ul,
.form-group.has-error .help-block li { margin-bottom: 0 }
.form-group.has-error .help-block li + li { margin-top: 0.5em; }

.form-control::placeholder { color: #ccc; opacity: 1; }
textarea { max-width: 100% }

/* module invoice */
div#invoice form div.form-group { margin: 2px 0px 2px 0px; height: unset; }
div#invoice form div.form-group:last-child { height: auto; }
div#invoice form div.form-group label { display: none; }
div#invoice form div.form-group input { float: left; width: 100% !important; margin: 0px; }

div#invoice form .form-group.has-error .help-block { width: 100%; position: relative; display: block; height: auto; right: 0; padding: 1px; z-index: 100; text-align: center; margin: 0px; overflow: hidden; top: 1px; }
div#invoice form .form-group.has-error .help-block li { font-size: 11px; }

div#invoice form select { width: calc(100% - 2px); margin: 0px 1px 0px 1px; cursor: pointer; }
div#invoice form .form-control { height: 26px !important; padding: 0px 2px; }
div#invoice form .input-group-text { height: 26px !important; font-size: 0.9rem !important; }

div#invoice form .pr { padding-right: 20px; }
div#invoice form .vs { letter-spacing: normal; }

div#invoice form a.btn-success.flr { float: left; border: 1px solid #dce4ec; background-color: #fff; color: #000; }

div#invoice form input#invoice_total { float: right; text-align: right; width: 50%; }
div#invoice form table.invoice-items input { width: calc(100% - 2px); margin: 0px 1px 0px 1px; text-align: right; }
div#invoice form table.invoice-items td.half input { float: right; width: calc(50% - 2px) !important; text-align: center; margin: 0px 1px 0px 1px; }
div#invoice form table.invoice-items td.name input { float: left; text-align: left; }

div#invoice form table.invoice-items button.invoice-items-add-button { margin: 0px 5px 0px 0px; height: 15px; padding: 0px 1px; line-height: 1px; }
div#invoice form table.invoice-items button.invoice-items-add-button i { min-width: 2px; font-size: 12px; }

button.invoice-company-add-button { margin: 0px 5px 0px 0px; height: 15px; padding: 0px 1px; line-height: 1px; }
button.invoice-company-add-button i { min-width: 2px; font-size: 12px; }

div.input_with_button { width: 94% !important; min-width: 0px; float: right; }
div#invoice form table.invoice-items td.name input { float: left; text-align: left; position: relative; top: 1px; width: calc(100% - 20px); }
div#invoice form table.invoice-items td.name button.btn { position: relative; width: 20px; top: 3px; margin: 0px; height: 26px; padding: 0 4px; }
div#invoice form table.invoice-items td.name button.btn .fa,
div#invoice form table.invoice-items td.name button.btn .fas { min-width: 0px; }

div#invoice form table.invoice-items div.form-group.has-error span.help-block,
div#invoice form table.invoice-items-total div.form-group.has-error span.help-block { display: none; }
div#invoice div.sf-toolbar { display: none; }

div.card.invoice { min-height: calc(100vh - 7rem); }
div#invoice .input-group { flex-wrap: unset; }
div#invoice .input-group.date { width: 100%; }

/* module company */
table.admin.company tr.type.false { background-color: #e2f1ff; }
table.admin.company tr.type.false:hover { background-color: #d0e6fb; }
form div.form-group { position: relative; margin-bottom: 10px; height: 35px; }
form div.form-group label { position: relative; float: left; width: 150px; top: 7px; }
form div.form-group input { position: relative !important; float: left; width: calc(100% - 150px) !important; margin: 0 0 5px; }
form div.form-group div.checkbox label { width: unset; margin: 0px 10px 0px 0px; }
form div.form-group textarea { position: relative; float: left; width: calc(100% - 150px); height: 100px; margin: 0 0 5px; }
div.custom.textarea.form-group { height: 100px !important; }

.input-group-addon { padding: 5px 10px; }
form div.clear { clear: both; }

div.custom.form-group, div.modules.form-group { height: 35px; }
form div.custom.form-group input[type="checkbox"] { width: 20px !important; margin: 3px 0px 0px 0px; position: relative; }
form div.custom.form-group .radio label, form div.custom.form-group .checkbox label { padding: 0px; }
form div.custom.form-group select { width: calc(100% - 150px); cursor: pointer; }

form div.custom.form-group div#domain_users, 
form div.custom.form-group div#domain_modules,
form div.custom.form-group div#module_viewable,
form div.custom.form-group div#module_searchable {
    display: flow-root;
    width: unset;
    top: -10px;
    position: relative;
}

form div.joined > label.control-label { display: none; }
form div.custom.joined.form-group div.form-group:not([data-content]) { float: left; width: 100%; height: 100%; margin: 0 0 20px 0; }
    
form div.custom.joined.form-group label.custom_joined_label { float: right; width: 6%; top: 0px; }
form div.custom.joined.form-group select.custom_joined_selectbox, 
form div.custom.joined.form-group input.custom_joined_email { float: left; width: calc(100% - 190px) !important; }
form div.custom.join.form-group, form div.custom.join.form-group label.control-label { height: unset; }
input.custom_joined_email ~ span.help-block { width: 360px !important; right: 40px !important; }
div.input-group.date ~ span.help-block { width: 364px !important; right: 36px !important; position: absolute; top: 0px; }
span.has-error { background-color: #e74c3c; color: #fff; }

.input-group.date { width: 11rem; }
.input-group.date input[type=date] { font-size: 0.9rem; padding: .2rem .5rem; }

/* forms file */
form div.file { top: 20px; margin: 0 0 30px 0; }
form div.file input { top: 5px; height: 35px; padding: 4px; cursor: pointer; }
form div.form-image { margin: 30px auto; text-align: center; }

/* forms error messages */
div.form-group:last-child {height: 0px;}
.form-group.has-error .help-block {
    width: 400px;
    position: absolute;
    display: block;
    height: 30px;
    right: 0px;
    padding: 5px;
    z-index: 100;
    text-align: center;
    margin: 2px;
    overflow: hidden;
}

/* tagsinput */
.bootstrap-tagsinput { width: 99%; border: 1px solid #dce4ec; margin: 0px; padding: 0px; }
.bootstrap-tagsinput input { font-size: unset; line-height: unset; padding: 4px 0px 0px 12px; height: 28px; }
.bootstrap-tagsinput span.twitter-typeahead { width: 200px; }
.bootstrap-tagsinput .tag {
    margin: 2px 0px 0px 2px;
    padding: 4px 10px 4px 10px;
    border: 0;
    border-radius: .25em;
    float: left;
    font-size: unset;
    line-height: unset;
    font-weight: 400;
    text-transform: none;
    position: relative;
    background-color: #18bc9c;
    color: #fff;
}
.bootstrap-tagsinput .tag span { display: none; }

div#search span.input-group-btn { position: absolute; right: 0px; } 
div#search span.input-group-btn .btn { position: absolute; right: 0px; height: 30px; border-bottom-left-radius: 0; border-top-left-radius: 0; font-size: 0.7rem; }
div#search .bootstrap-tagsinput input { font-size: unset; line-height: unset; padding: 0px 0px 0px 12px; height: 28px; margin: 0px; }
div#search .bootstrap-tagsinput .tag { margin: 1px 1px 0px 0px; padding: 1px 10px 3px 10px; font-size: unset; line-height: unset; }

input.tt-hint { display: none; }
form div.form-group input.tt-hint, form div.form-group input.tt-input { margin: 0px; width: 100% !important; }
div.input-group.tags ~ span.help-block { width: 364px !important; right: 36px !important; position: absolute; top: 0px; }

div.card.log div.input-group-text label { display: unset; margin-bottom: unset; }
div.card.log div.input-group-text input[type="checkbox"] { cursor: pointer; }
.log .card-body { overflow: auto; }

.custom-sm-height { height: 1.55rem !important; }
.custom-input-group-sm { font-size: 0.7rem !important; padding: 0.3rem 0.5rem !important; cursor: pointer; }
.custom-input-group-sm-select { font-size: 0.8rem !important; padding: 0.1rem 1.2rem 0.1rem 0.5rem !important; cursor: pointer; background-position: bottom 0.3rem right 0.1rem; }
.custom-input-group-sm-title { font-size: 1rem!important; cursor: auto; padding: 0.2rem 0.3rem!important; }

/* Drag and drop table column */
.draggable { cursor: ew-resize; user-select: none; }
.placeholder { background-color: #edf2f7; border: 2px dashed #cbd5e0; }
.clone-list { border-left: 1px solid #ccc; border-top: 1px solid #ccc; display: flex; }
.clone-table { border: none; }
.clone-table tr:nth-child(2) { display: none; }
.clone-table th,
.clone-table td { border: 1px solid #ccc; border-left: none; border-top: none; }
.dragging { background: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; z-index: 999;  }
.z-index-1000 { z-index: 1000; }

.flex-fill-custom { flex: 1 1 auto; }
.d-flex-custom { display: flex; }

@media (max-width: 767.98px) {
    div#navbar-brand-spinner div.progress { display: none !important; }
    ul.navbar-nav.collapse.show, ul.navbar-nav.collapsing { 
        position: absolute; 
        top: 42px; 
        left: 0px; 
        width: 100%; 
        background: #2F6AA5 none repeat scroll 0 0;
        border-bottom: 1px solid #2C3E50;
        padding: 0.4rem 0 0.4rem 0;
        z-index: 1000;
    }
}