.control-label {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
}

.control-label[for=role_enable],
.control-label[for=role_id_enable],
.control-label[for=scene_enable],
.control-label[for=time_enable],
.control-label[for=fee_enable],
.control-label[for=freetext_enable] {
    margin-bottom: -30px;
    visibility: hidden;
    position: relative;
    display: block;
}

.control-label[for=role_enable] + .has-feedback,
.control-label[for=scene_enable] + .has-feedback,
.control-label[for=time_enable] + .has-feedback,
.control-label[for=fee_enable] + .has-feedback,
.control-label[for=freetext_enable] + .has-feedback {
    margin-left: -10px;
}

.btn.btn-rounded {
    border-radius: 50px;
}

.btn.btn-sm.btn-rounded {
    border-radius: 40px;
}

h3 {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
}

#alerts .alert {
    padding: 10px;
    font-size: 14px;
    line-height: 18px;
}

#alerts .alert h3 {
    font-size: 1.25rem;
    margin-bottom: 0.3rem;
}

.alert-warning-alt {
    background-color: #e3428e !important;
}

.badge-warning-alt {
    color: #212529;
    background-color: #ffe935;
}

.text-warning-alt {
    color: #ffe935;
}

.modal-content {
    border-radius: 0.3rem;
}

.modal-body {
    padding: 0.3rem 1rem;
}

.modal-header {
    background: white;
    border-top: 5px solid black;
    border-bottom: none;
    color: black;
    padding: 0.8rem 1rem;
    border-top-left-radius: 0.2rem;
    border-top-right-radius: 0.2rem;
    text-transform: uppercase;
}

.modal-header h4 {
    font-size: 18px;
    font-weight: bold;
}

.modal-footer {
    border-top: none;
}

.modal-footer .btn-success {
    background: black;
    color: white;
}

.form-hint {
    background-color: #8eb4cb;
}

.form-hint .popover-body {
    color: white;
}

.form-hint.bs-popover-left .arrow::after, .form-hint.bs-popover-auto[x-placement^="left"] .arrow::after {
    border-left-color: #8eb4cb;
}

.bootstrap-select .dropdown-item {
    padding: 0.25rem 0.7rem;
}

.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
    top: 8px;
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: none;
}

.disabled {
    cursor: not-allowed !important;
}

#selection-rect {
    border: 2px dashed #2a2a2a;
    position: absolute;
    pointer-events: none;
    background: rgba(84, 84, 3, 0.2);
}

.table th {
    border-top: none;
}

.table-style-2 th {
    font-size: 14px;
    font-weight: normal;
    padding: 12px 2px 1px 0;
    vertical-align: top;
}
.table-sticky-header thead th {
    position: sticky;
    top: 160px;
    background: white;
    z-index: 1019;
    box-shadow: inset 0 -2px 0 #dee2e6;
}

.progress {
    background-color: #f7f7f7;
    box-shadow: inset 0 0.05rem 0.05rem rgba(0, 0, 0, 0.05);
}

/*main.main-body {
    margin-top: calc(56px + 65px);
}*/

main.main-body  > header {
    position: -webkit-sticky;
    position: sticky;
    z-index: 1020;
    padding: 15px 0 10px;
    background: #eaeaea;
    top: 56px;
    margin-bottom: calc(1.5rem + 60px);
}

.container-fluid {
    max-width: 1800px;
}

#app footer .container-fluid .footer-text {
    border-top: 1px solid rgba(0,0,0,.125);
    text-align: center;
    font-size: 11px;
    color: rgba(0,0,0,.5);
    padding: 10px;
}

input, textarea {
    text-overflow: ellipsis;
}

.form-group textarea.form-control {
    min-height: 90px;
}

.form-control::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #b9b9b9;
}

.form-control::-moz-placeholder { /* Firefox 19+ */
    color: #b9b9b9;
}

.form-control:-ms-input-placeholder { /* IE 10+ */
    color: #b9b9b9;
}

.form-control:-moz-placeholder { /* Firefox 18- */
    color: #b9b9b9;
}

.list-group .active {
    font-weight: 600;
    background: #fafaf6;
    color: black;
}

.modal-xl {
    width: 100%;
    max-width: 1280px;
}

.nav-link {
    cursor: pointer;
}

.nav-tabs .nav-link {
    color: #3b3b3b;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
    border: 1px solid #cecece;
    background: white;
    background: linear-gradient(180deg, rgba(240,240,240,1) 0%, rgba(255,255,255,1) 100%);
    border-bottom: 1px solid white;
    color: #4b4b4b;
}

.nav-tabs {
    border-bottom: 1px solid #c5c9cd;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: #000000;
    background-color: #ffffff;
    border-color: #c5c9cd #c5c9cd #ffffff;
}

.nav-mail-account a {
    position: relative;
    padding: 15px 1rem !important;
    color:white !important;
    font-weight: bold;
}

.nav-mail-account a .nav-bubble {
    position: absolute;
    font-family: Verdana,sans-serif;
    width:19px;
    height:19px;
    border-radius:50%;
    background: red;
    font-size: 9px;
    text-align: center;
    right: 5px;
    bottom: 5px;
    padding-top:3px;
    padding-right: 2px;
}

.mail-attachment-upload {
    background: rgb(224, 228, 232);
    font-size: 14px;
    border: 1px solid #ccc;
}

.mail-attachment-upload .list-file-chooser {
    border-top: 1px solid #ccc;
}

select.form-select {
    opacity: 0;
    height: 38px;
}

.tooltip.show {
    opacity: 1;
}

.tooltip-inner {
    padding: 0.5rem 0.75rem;
    text-align: left;
    background-color: rgb(25, 25, 25);
    line-height: 24px;
}

.tooltip-inner strong {
    text-transform: uppercase;
}

.tooltip small.list-item {
    line-height: 16px;
    font-size: 12px;
    display: inherit;
    margin-top: 2px;
    color: #eeeac3;
}

.dropdown-header {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 12px;
}

.base-label {
    color: #888f9c;
    font-size: 12px;
    font-weight: bold;
}

/** Navbar **/
#app > .navbar {
    background: black;
    padding: 0;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.7);
    min-height: 56px;
}

#app > .navbar .navbar-brand {
    margin-right: 80px;
}

#app > .navbar .user-picture {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50% 50%;
    color: black;
    background: white;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    padding-top: 4px;
}

#app > .navbar .navbar-main .active a.nav-link {
    color: red !important;
}

#app > .navbar .navbar-main a.nav-link {
    color: white !important;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 992px) {
    #app .navbar-nav.navbar-profile > .nav-item {
        border-left: 1px solid #505050;
        border-right: 1px solid #505050;
    }

    #app .navbar-nav.form-inline {
        border-left: 1px solid #343a40;
    }
}

/** Extra Navbar **/
.extra-navbar {
    overflow-x: auto;
    overflow-y:hidden;
    flex-wrap: nowrap;
    border-bottom: none;
}

.extra-navbar .nav-item {
    white-space: nowrap;
}

/** Page Header **/
.page-title h2 {
    font-size: 1.65rem;
    letter-spacing: 3px;
}

.page-buttons .btn {
    font-size: 12px;
}

.page-tabs .nav-tabs {
    margin-bottom: -10px;
    margin-top: 10px;
}

.page-tabs .nav-tabs .active {
    font-weight: bold;
}

.page-tabs .nav-tabs .nav-item {
    font-size: 14px;
}

/** Extra **/
.modal .extra-wrapper {
    margin-top: -10px;
    padding-top: -10px;
}

.extra-overview .extra-wrapper {
    border-bottom: 1px solid #000000;
}

.extra-overview .extra-wrapper:last-of-type {
    border: none;
}

.extra-wrapper:hover {
    background: rgb(230, 230, 230);
}

.extra-wrapper.active {
    background: rgb(200, 200, 200);
}

.extra-role {
    word-break: break-word;
}

.extra .extra-name {
    font-size: 20px;
    font-weight: bold;
}

.extra .extra-id {
    font-size: 14px;
    font-weight: bold;
}

.extra-status {
    min-width: 100px;
    color: white;
    font-size: 80%;
    text-transform: uppercase;
    padding: 0.3em 1em;
}

.extra .extra-props {
    padding-top: 6px;
}

.extra-marker {
    cursor: pointer;
}

.extra .extra-marker {
    margin: -15px 0;
    padding: 15px 0;
    height: 84px;
}

.extra .extra-marker:hover {
    background: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0) 90%, rgba(171, 211, 174, 1) 100%);
    background: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0) 90%, rgba(171, 211, 174, 1) 100%);
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 90%, rgba(171, 211, 174, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#abd3ae', GradientType=1);
}

.extra .extra-actions {
    padding-top: 10px;
}

.extra .extra-actions .extra-action {
    margin-right: 8px;
}

.extra .extra-subheading {
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 8px;
}

.extra .extra-subheading .btn {
    padding: 0.0rem 0.5rem;
    line-height: 1.2;
}

.btn-extra-details {
    float: right;
    position: relative;
    z-index: 10;
}

/** Extra requisiten buttons **/
.extra-prop {
    position: relative;
    width: 40px;
    display: inline-block;
    background: black;
    color: white;
    padding: 11px 5px 4px 5px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.extra-prop:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 10px solid black;
}

/** Extra action button **/
.extra-action {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-block;
    background: black;
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.extra-action a {
    color: white;
    display: block;
    padding: 11px 5px 4px 5px;
}

/** Calender **/
.calendar {
    position: relative;
}

.extra-calendar-wrapper {
    width: 100%;
    text-align: center;
    border: 2px solid black;
    table-layout: fixed;
    background: rgb(0, 0, 255);
    background: -moz-linear-gradient(left, rgba(0, 0, 255, 1) 99%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 255, 1) 99%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(to right, rgba(0, 0, 255, 1) 99%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ffffff', GradientType=1);
}

.extra-calendar-wrapper th {
    background: black;
    color: white;
    font-weight: bold;
}

.extra-calendar-wrapper td, .extra-calendar-wrapper th {
    padding: 4px 0;
    border: 1px solid white;
    font-size: 14px;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    text-align: center;
}

.extra-calendar-wrapper td.active {
    opacity: 0.75;
}

.calendar .dropdown {
    position: absolute;
    z-index: 9999;
}

.extra-calendar-wrapper td.today {
    font-weight: bold;
}

.extra-calendar-wrapper td.month-start {
    position: relative;
}

.extra-calendar-wrapper td.month-start span {
    position: absolute;
    top: 0;
    left: 3px;
    font-size: 10px;
    font-weight: bold;
    color: rgb(0, 0, 0, 0.5);
}

.extra-calendar-wrapper td.inactive {
    color: #b3b3b3;
    background: #f9f9f9;
}

.extra-calendar-wrapper td.default,
.extra-calendar-wrapper td.availability-null {
    background: rgb(198, 217, 241);
}

.extra-calendar-wrapper td.availability-mixed {
    background-color: var(--color1);
    background: repeating-linear-gradient( 45deg, var(--color2), var(--color2) 15%, var(--color1) 15%, var(--color1) 30% );
}

.extra-calendar:hover .extra-calendar-reload {
    visibility: visible !important;
}

.availability-note, .availability-blocked-project,
.availability-note, .availability-blocked-list {
    position: relative;
}

.availability-note:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    display: block;
    border-left: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-top: 10px solid #370100;
}

.availability-blocked-project:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f30d";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    display: block;
    color: #004cff;
    text-shadow: 0 0 1px white;
}

.availability-blocked-list:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f30d";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    display: block;
    color: #ff6cc5;
    text-shadow: 0 0 1px black;
}

/** Extra Lists **/
.extra-latest-lists:hover .extra-latest-lists-reload {
    visibility: visible !important;
}

.extra-latest-lists .extra-lists-wrapper {
    min-height: 190px;
    max-height: 190px;
    overflow-y: auto;
}

.extra-latest-lists .extra-lists th {
    width: 130px;
}

.extra-latest-lists .extra-lists td {
    font-size: 11px;
}

.extra-latest-lists .extra-lists .extra-list-buttons .btn-link {
    margin-left: -5px;
    padding: 0.25rem;
}

/** Extra Tabs **/
.extra-tabs .tab-pane {
    min-height: 100px;
    background: white;
    padding: 15px 10px 10px;
}

.extra-tabs .extra-tab-item .extra-tab-img {
    width: 120px;
    height: 120px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    float: left;
    background: #d2d2d2;
}

.extra-tabs .extra-tab-item .extra-tab-img img.cropped {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.extra-tabs .list-extra-logs .extra-lists td {
    font-size: 12px;
}

.extra-tabs .list-extra-logs td.list-extra-log-action {
    width: 40px;
    text-align: center;
}

.extra-tabs .list-extra-logs td.list-extra-log-action i.fas {
    font-size: 18px;
}

/** Short view **/
.extra-shortview img {
    min-width: 150px;
    background: #d2d2d2;
}

.extra-shortview-list-places {
    position: absolute;
    display: inline-block;
    border: 2px solid black;
    background: white;
    width: 40px;
    border-radius: 6px;
    font-weight: bold;
    text-align: center;
    font-size: 12px;
    left: 50%;
    margin-left: -20px;
    line-height: 16px;
    margin-top: -10px;
}

@media (min-width: 568px) {
    .extra-shortview.seven-cols .col-md-1,
    .extra-shortview.seven-cols .col-sm-1,
    .extra-shortview.seven-cols .col-lg-1 {
        width: 100%;
        max-width: none;
    }
}

@media (min-width: 992px) {
    .extra-shortview.seven-cols .col-md-1,
    .extra-shortview.seven-cols .col-sm-1,
    .extra-shortview.seven-cols .col-lg-1 {
        flex: 0 0 11.111111111111111111111111111111%;
        max-width: none;
    }
}

@media (min-width: 1200px) {
    .extra-shortview.seven-cols .col-md-1,
    .extra-shortview.seven-cols .col-sm-1,
    .extra-shortview.seven-cols .col-lg-1 {
        flex: 0 0 11.111111111111111111111111111111%;
        max-width: none;
    }
}

.extra-tabs .extra-tab-item .extra-tab-description {
    float: left;
    padding-left: 10px;
    font-size: 14px;
    width: calc(100% - 120px);
}

.shortview-extra-action .extra-action {
    width: 38px;
    height: 38px;
    font-size: 11px;
}

/** Tools **/
.tool-buttons a.btn:not(:disabled):not(.disabled) {
    font-size: 14px;
}

.tool-buttons a.btn:not(:disabled):not(.disabled).active {
    font-weight: bold;
    color: red;
}

/** Users **/
.user-initial-logo {
    display: inline-block;
    width: 120px;
    height: 120px;
    border: 3px solid black;
    border-radius: 50%;
    font-weight: bold;
    text-align: center;
    padding-top: 20px;
    font-size: 48px;
}

/** Search **/
.search-widget-label {
    padding-top: 10px;
    font-size: 12px;
    font-weight: bold;
    color: #888f9c;
}

.search-widget-subheading {
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
}

/** Fluent Form View **/
.fluent-form-view .form-control:not([aria-label="Search"]) {
    border: none;
    box-shadow: none;
    color: black;
    height: calc(1.6em + 0.2rem + 2px);
    padding: 0.1rem 0.75rem;
}

.fluent-form-view .btn.dropdown-toggle {
    border: none;
    box-shadow: none;
    padding: 0.1rem 0.75rem;
}

.fluent-form-view .btn.dropdown-toggle::after {
    border-right: none;
    border-left: none;
}

.fluent-form-view .btn.dropdown-toggle:hover::after, .fluent-form-view .btn.dropdown-toggle[aria-expanded="true"]::after {
    border-right: 0.3em solid transparent;
    border-left: 0.3em solid transparent;
}

.fluent-form-view .fluent-static {
    padding: 0.4rem 0.8rem;
}

.fluent-form-view .has-error .form-control {
    border-bottom: 1px solid #a94442;
}

.fluent-form-view .icon-checkbox + label {
    margin-top: 0;
    margin-bottom: 0;
}

.fluent-form-view .table-style-2 th {
    padding: 7px 2px 1px 0;
}

/** Icon Checkbox (Default Red) **/
.icon-checkbox-default-red + label:before {
    content: "\f057";
    color: red;
}

.icon-checkbox-default-red:checked + label:before {
    content: "\f058";
    color: #00a546;
}

/** Icon Checkbox (Default) **/
.icon-checkbox-eye-red + label:before {
    content: "\f070";
    color: red;
}

.icon-checkbox-eye-red:checked + label:before {
    content: "\f06e";
    color: #00a546;
}

.fluent-form-view .has-error-force .form-control,
.fluent-form-view .has-error-force .form-select .btn.dropdown-toggle {
    border: 3px solid #a94442 !important;
}

.fluent-form-view .has-error-force .checkbox-nullable + label {
    color: #a94442 !important;
    padding-right: 15px;
    padding-bottom: 4px;
    border: 3px solid #a94442 !important;
    border-radius: 4px;
}

/** Dashboard / Widget Overwrites **/
.widget {
    border-top: 5px solid #000000;
    position: relative;
}

.widget .listview .row:first-of-type {
    display: flex;
}

.widget-current-projects .project-lists-hover:hover {
    background: rgb(240, 240, 240);
}

.widget-current-projects .project-list-new {
    background: rgb(196, 232, 255);
}

.widget-current-projects .progress {
    background-color: #eeeeee;
    box-shadow: inset 0 0.05rem 0.05rem rgba(0, 0, 0, 0.20);
}

.widget-current-projects .booked-status:before {
    position: absolute;
    margin-left: -25px;
}

.extra-wrapper .booked-status:before {
    margin-right: 6px;
}

.booked-status-booked:before {
    content: "⬤";
    color: var(--green);
}

.booked-status-partially:before {
    content: "⬤";
    color: var(--orange);
}


/** Autocomplete Menu Items **/
.ui-menu.ui-autocomplete {
    background: white;
    border: 1px solid #c3c3c3;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.ui-menu-item-wrapper {
    padding: 4px 8px 6px !important;
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
    margin: 0;
    background: #f0f0f0;
}

.ui-menu-item-main {
    font-size: 13px;
    font-weight: bold;
}

.ui-menu-item-second {
    font-size: 11px;
    color: #696969;
    line-height: 10px;
}

/** Lists Details **/
.img-unavailable:before, .img-unavailable:after {
    position: absolute;
    left: calc(50% - 2px);
    content: ' ';
    height: 120%;
    width: 4px;
    background-color: red;
    top: -22px;
}

.img-unavailable:before {
    transform: rotate(35deg);
}

.img-unavailable:after {
    transform: rotate(-35deg);
}

.img-unavailable img {
    border: 5px solid red !important;
}

.img-available img {
    border: 5px solid green !important;
}

.list-extra-actions .extra-action {
    width: 36px;
    height: 36px;
    font-size: 11px
}

.list-extra-actions .extra-action a {
    padding: 10px 4px 3px 4px;
}

.extra-list-shortview .extra-list-buttons .btn {
    padding: 5px;
    font-size: 20px;
}

/** List SMS **/
.message-bubble {
    margin-bottom: 10px;
    display: inline-block;
    position: relative;
    width: 100%;
    height: auto;
    background-color: #f5f5f5;
    padding: 15px;
}

.message-bubble:after {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    left: -20px;
    right: auto;
    top: 0;
    bottom: auto;
    border: 22px solid;
    border-color: #f5f5f5 transparent transparent transparent;
}

.message-bubble-sent {
    color: gray;
    font-size: 12px;
    margin-top: 5px;
}

/** List Email **/
.mail-history .mail {
    margin: auto -5px;
    padding: 4px 5px 0;
}

.mail-history .mail-subject {
    display: inline-block;
    font-weight: bold;
    width: calc(100% - 160px);
}

.mail-history .mail-date {
    display: inline-block;
    width: 150px;
    color: gray;
    font-size: 12px;
    text-align: right;
}

.mail-history .mail-message {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-history a {
    cursor: pointer;
}

.mail-history a:hover > .mail {
    background: #e8e8e8;
}

.mail-history .mail-container {
    padding-bottom: 5px;
    border-bottom: 1px solid black;
}

.mail-history .mail:last-of-type .mail-container {
    border-bottom: none;
}

/** Styled File Upload Input **/
.custom-file {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

/** Family and Friend styles **/
.friend-box {
    width: 320px;
    background: rgb(242, 242, 242);
    display: inline-block;
    margin-right: 15px;
}

.friend-img {
    float: left;
    width: 105px;
}

.friend-meta {
    position: relative;
    float: left;
    height: 140px;
    width: 215px;
    padding: 10px 15px;
}

.friend-request-buttons {
    position: absolute;
    bottom: 0;
    width: 100%;
    margin-left: -15px;
}

.friend-request-btn-accept, .friend-request-btn-reject {
    float: left;
    width: 50%;
    padding: 4px 10px;
    text-align: center;
    color: white;
    cursor: pointer;
}

.friend-request-btn-accept {
    background: rgb(0, 176, 80);
}

.friend-request-btn-reject {
    background: rgb(222, 0, 0);
}

.friend-btn-delete {
    position: absolute;
    bottom: 3px;
    right: 0;
    width: 41px;
}
.friend-btn-delete .btn {
    color: rgb(222, 0, 0) !important;
}


.friend-btn-add {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgb(0, 176, 80);
    color: white;
    padding: 5px 10px;
    text-align: center;
    margin-left: -15px;
    font-size: 13px;
    font-weight: bold;
}

.settings-table th {
    color: #888f9c !important;
    font-size: 15px !important;
    padding-right: 10px;
    padding-top: 11px;
}

/** Extra List Status **/
.extra-list-status-11,
.extra-list-status-20,
.extra-list-status-21,
.extra-list-status-22,
.extra-shooting-status-21 {
    border: 4px solid #009A46 !important;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

.extra-list-status-13, .extra-shooting-status-22 {
    border: 4px solid orange !important;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

.extra-list-status-12 {
    border: 4px solid red !important;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

.extra-list-status-12:before, .extra-list-status-12:after {
    position: absolute;
    content: '';
    background: red;
    display: block;
    width: 200%;
    height: 5px;
    left: -50%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.extra-list-status-13.extra-list-not-reacted:before, .extra-list-status-13.extra-list-not-reacted:after {
    position: absolute;
    content: '';
    background: orange;
    display: block;
    width: 200%;
    height: 5px;
    left: -50%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.extra-list-fallback {
    border-color: #004cff !important;
}

.extra-list-fallback:before, .extra-list-fallback:after {
    background-color: #004cff !important;
}

.extra-list-status-12:before, .extra-list-not-reacted:before {
    -webkit-transform: rotate(-53deg);
    transform: rotate(-53deg);
}

.extra-list-status-12:after, .extra-list-not-reacted:after {
    -webkit-transform: rotate(53deg);
    transform: rotate(53deg);
}

/** Fixed Width Bootstrap Columns **/
.col-fw-60, .col-fw-100, .col-fw-150, .col-fw-160, .col-fw-170, .col-fw-180, .col-fw-200, .col-fw-220, .col-fw-300 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    flex: 0 0 100%;
}

.col-fw-60 {
    max-width: 60px;
}

.col-fw-100 {
    max-width: 100px;
}

.col-fw-150 {
    max-width: 150px;
}

.col-fw-160 {
    max-width: 160px;
}

.col-fw-170 {
    max-width: 170px;
}

.col-fw-180 {
    max-width: 180px;
}

.col-fw-200 {
    max-width: 200px;
}

.col-fw-220 {
    max-width: 220px;
}

.col-fw-300 {
    max-width: 300px;
}

.col-fw-360 {
    max-width: 360px;
}

.col-fw-400 {
    max-width: 400px;
}

/** User Picture **/
.user-picture {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50% 50%;
    color: black;
    background: white;
    text-align: center;
    font-weight: bold;
    border: 1px solid black;
}

.user-picture.muted {
    color: #888f9c;
    border: 1px solid #888f9c;
}

.user-picture-40 {
    font-size: 1.2rem;
    padding-top: 4px;
}

.user-picture-20 {
    font-size: 9px;
    padding-top: 1px;
}

.user-picture-24 {
    position: relative;
    font-size: 11px;
    padding-top: 2px;
    margin-top: -2px;
}

/** Font Awesome extensions **/
.fa-layers-counter {
    position: absolute;
    background: red;
    color: white;
    display: block;
    bottom: 10px;
    font-size: 10px;
    padding-inline: 5px;
    border-radius: 10px;
    left: 30px;
}

/* Basic Progress Bar setup*/
.progressbar {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 100;
}
.progressbar li {
    list-style-type: none;
    width: 30%;
    float: left;
    font-size: 0.85rem;
    position: relative;
    text-align: center;
    color: darkgray;
}

.progressbar li.active {
    color: black;
}

.progressbar li:after {
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    background-color: rgba(0,0,0,.125);
    top: 25px;
    left: -50%;
    z-index: -1;
}
.progressbar li:first-child:after {
    content: none;
}

.progressbar li.active:before {
    border-color: darkgray;
    color: var(--success);
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f058" !important;
}

.progressbar li.current {
    color: black;
    font-weight: bold;
}

.progressbar li.current:before {
    border-color: darkgray;
    color: black;
}

.progressbar li.active + li:after {
    background-color: gray;
}

.progressbar li:before {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(0,0,0,.125);
    text-align: center;
    margin: auto auto 8px;
    font-size: 1rem;
    border-radius: 50%;
    background-color: white;
    color: darkgray;
    display: flex;
    align-items: center;
    justify-content: center;
}

.progressbar li:before {
    content: "";
}

/* For addition of Custom Icons */
.progressbar li.sign-in:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f090";
}
.progressbar li.conditions:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f316";
}
.progressbar li.user:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f007";
}
.progressbar li.profile:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f2bb";
}
.progressbar li.upload:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: bold;
    content: "\f093";
}

/** Key Value */
.kv {
    margin-bottom: 22px;
}

.kv .kv-key {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    color: black;
    font-weight: bold;
    letter-spacing: 0.4px;
    margin-bottom: 4px;
}
.kv .kv-value {
    color: #6c757d;
    font-size: 15px;
}

/** Casting **/
body.layout-casting {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #eaeaea;
}
body.layout-casting main.main-body > header {
    background: rgb(234, 234, 234);
    background: linear-gradient(0deg, rgba(234, 234, 234, 0.9) 0%, rgba(234, 234, 234, 1) 20%, rgba(234, 234, 234, 1) 100%);
    border-bottom: 1px solid rgb(234, 234, 234);
}
body.layout-casting .main-body > header .page-title h2 {
    letter-spacing: 2px;
    font-weight: bold;
    text-transform: uppercase;
    padding-block: 12px;
}

.btn-casting-uploads-media {
    color: #f3f3f3;
    transition: 0.5s;
}

.btn-casting-uploads-media:hover {
    color: white;
    text-decoration: none;
    text-shadow: 0 0 36px rgb(0,0,0);
    transition: 0.5s;
}

.casting-gallery-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #cdd4d6;
    background-color: black;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    max-width: min(100%, 240px);
    max-height: min(100%, 360px);
}

.casting-gallery-container img, .casting-gallery-container video {
    object-fit: contain;
    max-width: 100%;
    max-height: min(100%, 360px);
}

.casting-gallery .casting-gallery-title {
    font-weight: bold;
    width: min(100%, 240px);
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: nowrap;
}

.casting-gallery .casting-gallery-meta {
    font-size: 90%;
    line-height: 18px;
    margin-top: 4px;
}

.extra-casting-shortview .extra-wrapper.active {
    box-shadow: 0 0 24px -12px rgb(255, 0, 0);
    outline: 2px solid #644;
}

/** Company Casting Area **/
body.layout-company-casting {
    background: #262626;
}

/** UIKit Lightbox **/
.uk-lightbox {
    z-index: 99999 !important;
}

.uk-lightbox-toolbar {
    background: none !important;
}

.uk-lightbox-close {
    background: rgba(0, 0, 0, 0.2);
    border: none;
}

.uk-lightbox-close svg line,
.uk-lightbox-button svg polyline,
.uk-slidenav svg polyline {
    stroke: white !important;
}

/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
    --uk-inverse: light;
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1010;
    /* 5 */
    background: #000;
    /* 6 */
    opacity: 0;
    transition: opacity 0.15s linear;
    /* 7 */
    touch-action: pinch-zoom;
}
/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
    display: block;
    /* 2 */
    opacity: 1;
}
/*
 * Focus
 */
.uk-lightbox :focus-visible {
    outline-color: rgba(255, 255, 255, 0.7);
}
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
    overflow: hidden;
}
/* Items
 ========================================================================== */
/*
 * Reset list
 */
.uk-lightbox-items {
    margin: 0;
    padding: 0;
    list-style: none;
}
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Optimize animation
 * 4. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 */
.uk-lightbox-items > * {
    /* 1 */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    display: none;
    justify-content: center;
    align-items: flex-start;
    /* 3 */
    will-change: transform, opacity;
    /* 4 */
    overflow: auto;
}
/* 2 */
.uk-lightbox-items > .uk-active {
    display: flex;
}
.uk-lightbox-items-fit > * {
    align-items: center;
}
/* 4 */
.uk-lightbox-items-fit > * > * {
    max-width: 100vw;
    max-height: 100vh;
}
.uk-lightbox-items-fit > * > :not(iframe) {
    width: auto;
    height: auto;
}
/* Zoom Cursor */
.uk-lightbox-items.uk-lightbox-items-fit .uk-lightbox-zoom:hover {
    cursor: zoom-in;
}
.uk-lightbox-items:not(.uk-lightbox-items-fit) .uk-lightbox-zoom:hover {
    cursor: zoom-out;
}
/* Navs
 ========================================================================== */
.uk-lightbox-thumbnav-vertical :where(img, video) {
    max-width: 100px;
}
.uk-lightbox-thumbnav:not(.uk-lightbox-thumbnav-vertical) :where(img, video) {
    max-height: 100px;
}
.uk-lightbox-thumbnav:empty,
.uk-lightbox-dotnav:empty {
    display: none;
}
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
    display: none;
}
.uk-lightbox-caption {
    padding: 10px 10px;
    background: rgba(0, 0, 0, 0.3);
    color: rgba(255, 255, 255, 0.7);
    pointer-events: none;
}
.uk-lightbox-caption > * {
    color: rgba(255, 255, 255, 0.7);
}
/* Counter
 ========================================================================== */
.uk-lightbox-counter:empty {
    display: none;
}
/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
    width: 80%;
    height: 80%;
}

/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow.
 */
[class*="uk-position-top"],
[class*="uk-position-bottom"],
[class*="uk-position-left"],
[class*="uk-position-right"],
[class*="uk-position-center"] {
    position: absolute !important;
    /* 1 */
    max-width: calc(100% - (var(--uk-position-margin-offset) * 2));
    box-sizing: border-box;
}
/*
 * Edges
 * Don't use `width: 100%` because it's wrong if the parent has padding.
 */
.uk-position-top {
    top: 0;
    left: 0;
    right: 0;
}
.uk-position-bottom {
    bottom: 0;
    left: 0;
    right: 0;
}
.uk-position-left {
    top: 0;
    bottom: 0;
    left: 0;
}
.uk-position-right {
    top: 0;
    bottom: 0;
    right: 0;
}
/*
 * Corners
 */
.uk-position-top-left {
    top: 0;
    left: 0;
}
.uk-position-top-right {
    top: 0;
    right: 0;
}
.uk-position-bottom-left {
    bottom: 0;
    left: 0;
}
.uk-position-bottom-right {
    bottom: 0;
    right: 0;
}
/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 *    Using `max-content` requires `max-width` of 100% which is set generally.
 */
.uk-position-center {
    top: calc(50% - var(--uk-position-margin-offset));
    left: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-x: -50%;
    --uk-position-translate-y: -50%;
    transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
    /* 1 */
    width: max-content;
}
/* Vertical */
[class*="uk-position-center-left"],
[class*="uk-position-center-right"],
.uk-position-center-vertical {
    top: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-y: -50%;
    transform: translate(0, var(--uk-position-translate-y));
}
.uk-position-center-left {
    left: 0;
}
.uk-position-center-right {
    right: 0;
}
.uk-position-center-vertical {
    left: 0;
    right: 0;
}
.uk-position-center-left-out {
    right: 100%;
    width: max-content;
}
.uk-position-center-right-out {
    left: 100%;
    width: max-content;
}
/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center,
.uk-position-center-horizontal {
    left: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-x: -50%;
    transform: translate(var(--uk-position-translate-x), 0);
    /* 1 */
    width: max-content;
}
.uk-position-top-center {
    top: 0;
}
.uk-position-bottom-center {
    bottom: 0;
}
.uk-position-center-horizontal {
    top: 0;
    bottom: 0;
}
/*
 * Cover
 */
.uk-position-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
/* Margin
 ========================================================================== */
.uk-position-small {
    margin: 15px;
    --uk-position-margin-offset: 15px;
}
.uk-position-medium {
    margin: 30px;
    --uk-position-margin-offset: 30px;
}
.uk-position-large {
    margin: 30px;
    --uk-position-margin-offset: 30px;
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-position-large {
        margin: 50px;
        --uk-position-margin-offset: 50px;
    }
}
/* Schemes
 ========================================================================== */
.uk-position-relative {
    position: relative  !important;
}
.uk-position-absolute {
    position: absolute  !important;
}
.uk-position-fixed {
    position: fixed  !important;
}
.uk-position-sticky {
    position: sticky  !important;
}
/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
    text-align: left !important;
}
.uk-text-right {
    text-align: right !important;
}
.uk-text-center {
    text-align: center !important;
}
.uk-text-justify {
    text-align: justify !important;
}

/** List Collapse **/
.list-collapse-headline {
    font-size: 22px;
    letter-spacing: 3px;
    background: linear-gradient(1deg, rgba(149, 149, 149, 0.05) 0%, rgba(234,234,234,0) 70%, rgba(234,234,234,0) 100%);
    padding: 5px 0 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    margin-inline: -15px;
    padding-inline: 15px;
    transition: 0.5s all;
}

.list-collapse-headline:hover {
    background: linear-gradient(1deg, rgba(255, 149, 149, 0.1) 0%, rgba(255,234,234,0) 70%, rgba(255,234,234,0) 100%);
    transition: 0.5s all;
}
.list-collapse-headline a:hover {
    text-decoration: none;
    opacity: 0.8;
}
.list-collapse-headline a:active {
    text-decoration: none;
    opacity: 0.6;
}
