/* ---------- BASE CLASSES ---------- */

html, body {
    /* Mobile viewport bug fix */
    min-height: 100vh;
    min-height: -webkit-fill-available;
}

input, select, ng-select {
    scroll-margin: 20px;
}

*:focus {
    outline: none !important;
}

.hidden {
    display: none;
}

.clr-form-control input[type=text],
.clr-form-control input[type=password],
.clr-form-control input[type=number],
.clr-form-control .tooltip-validation,
.clr-control-container textarea,
.clr-select-wrapper,
.clr-select-wrapper select,
clr-password-container .clr-input-group {
    width: 100% !important;
    min-height: 36px;
    max-width: 100%;
}

.clr-form-control .checkbox input[type=checkbox][disabled]+label::before,
.clr-form-control .checkbox-inline input[type=checkbox][disabled]+label::before,
.clr-checkbox-wrapper input[type=checkbox][disabled]+label::before {
    background-color: #ddd !important;
}

.clr-form-control .checkbox input[type=checkbox][disabled]:checked+label::before,
.clr-form-control .checkbox-inline input[type=checkbox][disabled]:checked+label::before,
.clr-checkbox-wrapper input[type=checkbox][disabled]:checked+label::before {
    background-color: #666 !important;
}

.clr-form-control input[type=text][readonly],
.clr-form-control input[type=number][readonly],
.clr-form-control input[type=datetime][readonly],
.clr-form-control input[type=datetime][readonly]:focus {
    border-bottom: solid 1px #ddd;
}

.clr-form-control input[type=datetime]:focus {
    border-bottom-color: #0094d2;
    border-bottom-width: 2px;
}

.clr-form-control input[type=datetime] {
    border: 0;
    border-bottom: 1px solid #9a9a9a;
    background-color: transparent;
    padding-left: 6px;
    padding-right: 6px;
    min-height: 36px;
}

.toggle-switch input[type=checkbox]:checked:disabled+label:before {
    border-color: #62a420 !important;
    background-color: #62a420 !important;
}

.login-wrapper {
    background-image: url(../img/login-bg.png) !important;
    background-position: 100% 50% !important;
    background-size: cover !important;
}

input.ng-touched.ng-invalid,
select.ng-touched.ng-invalid {
    border-color: #F52F22 !important;
}

.branding .title {
    font-size: 0.5rem !important;
}

.clr-form-control .alert .alert-text {
    margin: 0 !important;
}

.clr-form-control label.file input[type=file] {
    display: none;
}

.ng-select > .ng-select-container {
    border-radius: 0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom-color: #9a9a9a !important;
}

.ng-select.ng-select-focused > .ng-select-container {
    border-bottom-color: #0094d2 !important;
    border-bottom-width: 2px;
}

.ng-select > .ng-select-container {
    background-color: transparent !important;
}

.ng-select.ng-select-disabled > .ng-select-container {
    background-color: transparent !important;
    border-bottom-color: #ddd !important;
}

.ng-select.ng-touched.ng-invalid > .ng-select-container {
    border-bottom-color: #F52F22 !important;
    border-bottom-width: 2px;
}

.ng-select .ng-select-container .ng-value-container .ng-input > input {
    padding: 0 !important;
}

select.clr-form-control-disabled,
.select select:disabled,
.select.disabled > select {
    opacity: 1 !important;
    border-bottom: solid 1px #ddd;
}

hr {
    border: 0;
    border-bottom: solid 1px #ddd;
}

.radio-inline:not(:last-child) {
    margin-right: 12px;
}

.branding {
    background-color: #313131;
}

@media screen and (max-width: 576px) {
    .branding {
        max-width: inherit !important;
    }
    .modal-body {
        overflow-x: auto !important;
    }

    .modal-body > .clr-row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .nl-hidden-xs {
        display: none;
    }
    .nl-block-xs {
        display: block;
    }
}

select.ng-invalid:required {
    color: #8e8e8e;
}

.datagrid-cell .label {
    margin-bottom: 4px !important;
}

.datagrid-foot .datagrid-foot-description {
    flex: 0 !important;
}

.datagrid-foot .pagination {
    flex: 1 !important;
}

.datagrid-row {
    cursor: pointer;
}

.cdk-overlay-container {
    z-index: 1060 !important;
}

.datagrid-host {
    height: auto !important;
}

/* ----------- CKEDITOR FIX ----------- */

.cke_top,
.cke_toolbox,
.cke_toolbar,
.cke_toolbar_separator,
.cke_toolgroup,
.cke_button,
.cke_button_icon,
.cke_button_label,
.cke_combo,
.cke_combo_button,
.cke_combo_text,
.cke_combo_open,
.cke_bottom,
.cke_resizer,
.cke_path,
.cke_path_empty,
.cke_path_item {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.owl-dt-container {
    font-size: 0.6rem !important;
}

label.required:after {
    content: "*";
    font-size: 1.1em;
    color: #c92100;
    margin-left: .25rem;
}

/* ---------- CUSTOM CLASSES ---------- */

.nl-action {
    margin-right: 12px;
}

.nl-master-title {
    margin-top: 12px !important;
    display: inline-block !important;
    font-size: 18px !important;
}

.nl-card-detail {
    margin: 0 0 24px 0 !important;
}

.nl-nowrap {
    white-space: nowrap;
}

.nl-datagrid .datagrid-placeholder-image {
    display: none !important;
}

.nl-language-dropdown > button {
    opacity: 1 !important;
}

.nl-language-dropdown .dropdown-menu {
    min-width: inherit !important;
}

.nl-language-dropdown .dropdown-menu button {
    text-align: center !important;
}

img.nl-boolean-compact {
    width: 16px;
    height: 16px;
}

.nl-pinboard-image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

.nl-pinboard-header {
    background-color: #fafafa;
    position: fixed;
    z-index: 2;
    left: 42px;
    right: 42px;
    padding: 5px 5px 5px 10px;
    border-radius: 0 0 5px 5px;
    border-left: solid 2px grey;
    border-right: solid 2px grey;
    border-bottom: solid 2px grey;
}

.nl-pinboard-delete {
    display: inline-block;
    margin: 2px;
    padding: 0 2px;
    background-color: #fff;
    border: solid 1px #ccc;
}

.nl-slideshow-preview {
    width: 300px;
    height: 80px;
    max-width: 100%;
    object-fit: cover;
}

.nl-slideshow-image {
    width: 600px;
    height: 160px;
    max-width: 100%;
    object-fit: cover;
}

.nl-gallery-preview {
    width: 60px;
    height: 60px;
    max-width: 100%;
    object-fit: cover;
}

.nl-gallery-image {
    width: 400px;
    height: 300px;
    max-width: 100%;
    object-fit: cover;
}

.nl-logo,
.nl-logo:link,
.nl-logo:visited {
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
}

.nl-logo > span {
    margin: 2px 0 0 4px;
}

.nl-dropdown-label {
    letter-spacing: normal;
    padding: .5rem 24px;
    line-height: .75rem;
    margin: 0;
    color: #313131;
}

.nl-link {
    cursor: pointer !important;
}

.nl-checkboxes-container {
    padding: 10px;
    border: solid 1px #ccc;
    height: 200px;
    overflow: auto;
}

.nl-prestazioni-richieste {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.nl-prestazioni-richieste .table {
    margin-top: 0;
}

.nl-prestazioni-richieste input[type=text] {
    width: 100%;
}

.nl-prestazioni-richieste input[type=text][readonly] {
    border-bottom: solid 1px #ddd;
}

.nl-credits,
.nl-credits:hover,
.nl-credits:focus,
.nl-credits:visited,
.nl-credits-collapsed,
.nl-credits-collapsed:hover,
.nl-credits-collapsed:focus,
.nl-credits-collapsed:visited {
    color: #666 !important;
    font-size: 0.5rem;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
}

.clr-vertical-nav.is-collapsed .nl-credits,
.clr-vertical-nav:not(.is-collapsed) .nl-credits-collapsed {
    display: none;
}

.clr-vertical-nav:not(.is-collapsed) .nl-credits,
.clr-vertical-nav.is-collapsed .nl-credits-collapsed {
    display: block;
}

.nl-form-compact .clr-form-control {
    margin-top: 0  !important;
}

.nl-margin-zero {
    margin: 0 !important;
}

.nl-empty-segnalato {
    color: #F52F22;
    font-weight: bold;
}

.nl-incomplete-segnalato {
    color: darkorange;
    font-weight: bold;
}

.nl-dialog-relazioni .modal-body {
    min-height: 15rem !important;
}

.nl-checkbox-condivisi {
    margin-top: -20px;
}

.nl-vertical-align-middle {
    vertical-align: middle !important;
}

.nl-margin-24 {
    margin: 24px !important;
}

.nl-icon-shares {
    color: #2084AF !important;
}

.nl-badge-shares {
    color: #ffffff !important;
    background: #2084AF !important;
}

.nl-label-shares clr-icon {
    color: #2084AF !important;
}

.nl-badge-shares-add {
    color: #ffffff !important;
    background: #eb8d00 !important;
}

.nl-label-shares-add clr-icon {
    color: #eb8d00 !important;
}

.nl-revision-container,
.nl-revision-container-textarea,
.nl-revision-container-select,
.nl-revision-container-toggle-switch {
    position: relative;
}

.nl-revision-container > input,
.nl-revision-container-select > input {
    padding-right: 22px !important;
}

.nl-revision-container > .nl-revision-field,
.nl-revision-container-select > .nl-revision-field {
    position: absolute;
    top: 0;
    right: 0;
}

.nl-revision-container-textarea > .nl-revision-field {
    position: absolute;
    bottom: -22px;
    right: 0;
}

.nl-revision-container-select > .ng-select > .ng-select-container {
    padding-right: 12px;
}

.nl-revision-last {
    margin-left: 6px;
    text-decoration: line-through;
}

.nl-revision-container-select > .nl-revision-last {
    margin-left: 10px;
}

.nl-revision-container-toggle-switch > .toggle-switch > .nl-revision-last {
    position: relative;
    display: inline-block;
    top: -6px;
    margin-left: 22px;
}

.nl-revision-container-toggle-switch > .nl-revision-field {
    position: absolute;
    top: -4px;
    left: 60px;
}

.nl-revision-container-datetime > .nl-revision-field {
    display: inline-block;
    margin-left: -16px;
}

.nl-italic {
    font-style: italic !important;
}

.nl-revision-approved {
    color: green !important;
}

.nl-revision-pending,
.nl-revision-pending > .ng-select-container > .ng-value-container > .ng-value > .ng-value-label {
    color: #F52F22 !important;
}

.nl-revision-container-toggle-switch > .toggle-switch > input.nl-revision-pending + label:after {
    background-color: #F52F22 !important;
}

.nl-revision-not-approved {
    color: gray !important;
}

.alert-text {
    flex-grow: 0 !important;
    flex-basis: auto !important;
}

.login-wrapper .login .login-group a.btn {
    margin: .25rem 0;
    padding: 0;
}

.nl-error {
    color: #F52F22 !important;
}

.nl-float-left {
    float: left;
}

.nl-float-right {
    float: right;
}

.nl-link {
    cursor: pointer;
    color: #0094d2;
}

.nl-border-right {
    border-right: solid 1px #ddd;
}

.nl-center-v {
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.nl-center-h {
    margin: 0;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.nl-loading {
    margin: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    font-weight: bold;
}

.nl-mt-1 {
    margin-top: 0.5rem;
}

.nl-mb-1 {
    margin-bottom: 0.5rem;
}