/* Ecco2 Forms */

.form-control,
.bootstrap-tagsinput {
    border-radius: 0.1rem;
    outline: initial !important;
    box-shadow: initial !important;
    font-size: 0.8rem;
    padding: 0.75rem;
    line-height: 1;
}

@keyframes autofill {
    to {
        background: transparent;
    }
}

.bootstrap-tagsinput .tag {
    border-radius: 15px;
    padding: 3px 8px;
    margin-bottom: 0px;
    display: inline-block;
    font-size: 12px;
}

.input-daterange {
    width: 60%;
}

.input-sm {
    border-radius: 0.75rem !important;
    padding: 0.25rem 1.25rem !important;
    font-size: 0.76rem !important;
    line-height: 1.3 !important;
}

@media (max-width: 575px) {
    .hide-button {
        display: none;
    }
}

.form-check-label,
.custom-control-label {
    line-height: 24px;
    padding-top: 1px;
}

.form-control-sm {
    padding: .5rem;
    font-size: .75rem;
    height: auto !important;
}

.form-control-lg {
    padding: .5rem 1rem;
    font-size: 0.9rem;
    height: auto !important;
}

select {
    outline: initial !important;
    box-shadow: initial !important;
}

textarea.form-control {
    line-height: 1.5;
}

input:-webkit-autofill {
    animation-name: autofill;
    animation-fill-mode: both;
}

.has-float-label>div.error::after {
    background: initial;
}

.bootstrap-tagsinput {
    width: 100%;
}

.bootstrap-tagsinput input {
    padding: 0;
}

.bootstrap-tagsinput .tag [data-role="remove"] {
    margin-top: -1px;
    display: inline-block;
    vertical-align: top;
}

.bootstrap-tagsinput .tag [data-role="remove"]:hover {
    box-shadow: initial;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2.4rem + 3px);
}

.custom-control-label::before {
    background: initial;
}

.custom-control-input:active~.custom-control-label::before {
    background-color: transparent;
}

.custom-control-label,
.custom-control-input {
    outline: initial !important;
    box-shadow: initial !important;
}

.custom-control-input {
    left: 1px;
    opacity: 0;
    pointer-events: none;
    top: 3px;
    z-index: 1;
}

.custom-control-input:checked~.custom-control-label::before {
    box-shadow: initial !important;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
.custom-radio .custom-control-input:checked~.custom-control-label::before {
    box-shadow: initial !important;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
.custom-radio .custom-control-input:checked~.custom-control-label::before {
    box-shadow: initial !important;
}

.custom-control-label::after,
.custom-control-label::before {
    box-shadow: initial !important;
}

.custom-control-label::before {
    top: 0.25rem;
}

.custom-control-label::after {
    top: 0.25rem;
}

.btn.rotate-icon-click i {
    transition: transform 0.5s;
}

.btn.rotate i {
    transform: rotate(180deg);
}

.btn-group-icon {
    line-height: 22px;
}

.invalid-tooltip,
.valid-tooltip,
div.error {
    border-radius: 0.1rem;
    padding: 0.5rem 1rem;
    font-size: 0.76rem;
    text-align: center;
    width: unset !important;
    position: absolute;
    z-index: 4;
    margin-top: -0.5rem;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1.5;
}

.invalid-tooltip::before,
.valid-tooltip::before,
div.error::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -2.5px;
    margin-left: 50%;
    width: 10px;
    height: 5px;
    border-left: solid 5px transparent;
    border-right: solid 5px transparent;
}

.invalid-tooltip::after,
.valid-tooltip::after,
div.error::after {
    content: "";
    position: absolute;
    top: -4px;
    left: -2.5px;
    margin-left: 50%;
    width: 10px;
    height: 5px;
    border-left: solid 5px transparent;
    border-right: solid 5px transparent;
}

.tooltip-center-top .invalid-tooltip::before,
.tooltip-center-top .valid-tooltip::before,
.tooltip-center-top div.error::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: -5px;
    border-bottom: initial;
}

.tooltip-center-top .invalid-tooltip::after,
.tooltip-center-top .valid-tooltip::after,
.tooltip-center-top div.error::after {
    content: "";
    position: absolute;
    top: initial;
    bottom: -4px;
    border-bottom: initial;
}

.tooltip-right-top .invalid-tooltip::before,
.tooltip-right-top .valid-tooltip::before,
.tooltip-right-top div.error::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: -5px;
    border-bottom: initial;
    left: initial;
    right: 25px;
    margin-left: 0;
}

.tooltip-right-top .invalid-tooltip::after,
.tooltip-right-top .valid-tooltip::after,
.tooltip-right-top div.error::after {
    content: "";
    position: absolute;
    top: initial;
    bottom: -4px;
    border-bottom: initial;
    left: initial;
    right: 25px;
    margin-left: 0;
}

.tooltip-left-top .invalid-tooltip::before,
.tooltip-left-top .valid-tooltip::before,
.tooltip-left-top div.error::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: -5px;
    border-bottom: initial;
    left: 25px;
    right: initial;
    margin-left: 0;
}

.tooltip-left-top .invalid-tooltip::after,
.tooltip-left-top .valid-tooltip::after,
.tooltip-left-top div.error::after {
    content: "";
    position: absolute;
    top: initial;
    bottom: -4px;
    border-bottom: initial;
    left: 25px;
    right: initial;
    margin-left: 0;
}

.tooltip-label-right .invalid-tooltip::before,
.tooltip-label-right .valid-tooltip::before,
.tooltip-label-right div.error::before {
    content: "";
    position: absolute;
    left: -5px;
    right: initial;
    margin-left: 0;
    border: initial;
    border-top: solid 5px transparent;
    border-bottom: solid 5px transparent;
    bottom: initial;
    top: 12px;
    width: 5px;
}

.tooltip-label-right .invalid-tooltip::after,
.tooltip-label-right .valid-tooltip::after,
.tooltip-label-right div.error::after {
    content: "";
    position: absolute;
    top: initial;
    left: -4px;
    right: initial;
    margin-left: 0;
    width: 5px;
    border: initial;
    border-top: solid 5px transparent;
    border-bottom: solid 5px transparent;
    bottom: initial;
    top: 12px;
    width: 5px;
}

.valid-icon {
    position: absolute;
    bottom: 8px;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.5rem;
    margin-top: 0;
    font-size: 0.76rem;
    line-height: 1;
    border-radius: 0.2rem;
    right: 4px;
    color: #3e884f;
}

.invalid-icon {
    position: absolute;
    bottom: 2px;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.5rem;
    margin-top: 0;
    font-size: 0.875rem;
    line-height: 1;
    border-radius: 0.2rem;
    right: 4px;
    color: #c43d4b;
}

.tooltip-right-top .invalid-tooltip,
.tooltip-right-top .valid-tooltip,
.tooltip-right-top div.error {
    bottom: 80%;
    transform: translateX(0) translateY(50%);
    top: initial;
    left: initial;
    right: 0;
}

.tooltip-right-bottom .invalid-tooltip,
.tooltip-right-bottom .valid-tooltip,
.tooltip-right-bottom div.error {
    left: initial;
    right: 0;
    transform: translateX(0);
    top: 80%;
}

.tooltip-right-bottom .invalid-tooltip::before,
.tooltip-right-bottom .invalid-tooltip::after,
.tooltip-right-bottom .valid-tooltip::before,
.tooltip-right-bottom .valid-tooltip::after,
.tooltip-right-bottom div.error::before,
.tooltip-right-bottom div.error::after {
    left: initial;
    right: 25px;
    margin-left: 0;
}

.tooltip-center-bottom .invalid-tooltip,
.tooltip-center-bottom .valid-tooltip,
.tooltip-center-bottom div.error {
    left: 50%;
    right: initial;
    transform: translateX(-50%) translateY(50%);
    top: 80%;
}

.tooltip-left-bottom .invalid-tooltip,
.tooltip-left-bottom .valid-tooltip,
.tooltip-left-bottom div.error {
    left: 0;
    right: initial;
    transform: translateX(0);
    top: 80%;
}

.tooltip-left-bottom .invalid-tooltip::before,
.tooltip-left-bottom .invalid-tooltip::after,
.tooltip-left-bottom .valid-tooltip::before,
.tooltip-left-bottom .valid-tooltip::after,
.tooltip-left-bottom div.error::before,
.tooltip-left-bottom div.error::after {
    left: 25px;
    right: initial;
    margin-left: 0;
}

.tooltip-center-top .invalid-tooltip,
.tooltip-center-top .valid-tooltip,
.tooltip-center-top div.error {
    bottom: 80%;
    transform: translateX(-50%) translateY(50%);
    top: initial;
}

.tooltip-left-top .invalid-tooltip,
.tooltip-left-top .valid-tooltip,
.tooltip-left-top div.error {
    bottom: 80%;
    transform: translateX(0) translateY(50%);
    top: initial;
    left: 0;
    right: initial;
}

.tooltip-label-right .invalid-tooltip,
.tooltip-label-right .valid-tooltip,
.tooltip-label-right div.error {
    transform: translateX(0) translateY(-50%);
    top: 16px;
    left: 50px;
}

.tooltip-label-right .error-l-0 .invalid-tooltip,
.tooltip-label-right .error-l-0 .valid-tooltip,
.tooltip-label-right .error-l-0 div.error {
    left: 0px;
}

.tooltip-label-right .error-l-25 .invalid-tooltip,
.tooltip-label-right .error-l-25 .valid-tooltip,
.tooltip-label-right .error-l-25 div.error {
    left: 25px;
}

.tooltip-label-right .error-l-50 .invalid-tooltip,
.tooltip-label-right .error-l-50 .valid-tooltip,
.tooltip-label-right .error-l-50 div.error {
    left: 50px;
}

.tooltip-label-right .error-l-75 .invalid-tooltip,
.tooltip-label-right .error-l-75 .valid-tooltip,
.tooltip-label-right .error-l-75 div.error {
    left: 75px;
}

.tooltip-label-right .error-l-100 .invalid-tooltip,
.tooltip-label-right .error-l-100 .valid-tooltip,
.tooltip-label-right .error-l-100 div.error {
    left: 100px;
}

.tooltip-label-right .error-l-125 .invalid-tooltip,
.tooltip-label-right .error-l-125 .valid-tooltip,
.tooltip-label-right .error-l-125 div.error {
    left: 125px;
}

.tooltip-label-right .error-l-150 .invalid-tooltip,
.tooltip-label-right .error-l-150 .valid-tooltip,
.tooltip-label-right .error-l-150 div.error {
    left: 150px;
}

.tooltip-label-right .error-l-175 .invalid-tooltip,
.tooltip-label-right .error-l-175 .valid-tooltip,
.tooltip-label-right .error-l-175 div.error {
    left: 175px;
}

.tooltip-label-right .error-l-200 .invalid-tooltip,
.tooltip-label-right .error-l-200 .valid-tooltip,
.tooltip-label-right .error-l-200 div.error {
    left: 200px;
}

.tooltip-label-right .error-l-225 .invalid-tooltip,
.tooltip-label-right .error-l-225 .valid-tooltip,
.tooltip-label-right .error-l-225 div.error {
    left: 225px;
}

.tooltip-label-right .error-l-250 .invalid-tooltip,
.tooltip-label-right .error-l-250 .valid-tooltip,
.tooltip-label-right .error-l-250 div.error {
    left: 250px;
}

.tooltip-label-right .error-l-275 .invalid-tooltip,
.tooltip-label-right .error-l-275 .valid-tooltip,
.tooltip-label-right .error-l-275 div.error {
    left: 275px;
}

.tooltip-label-right .error-t-negative .invalid-tooltip,
.tooltip-label-right .error-t-negative .valid-tooltip,
.tooltip-label-right .error-t-negative div.error {
    top: -10px;
}

.form-group.is-invalid .invalid-tooltip {
    display: block;
}

.was-validated .custom-control-input:invalid~.custom-control-label::before,
.custom-control-input.is-invalid~.custom-control-label::before {
    background: initial;
}

.input-group-text {
    font-size: 0.8rem;
    padding: 0.75rem 0.75rem 0.5rem 0.75rem;
}

.select2-container--bootstrap .select2-search--dropdown .select2-search__field {
    border-radius: 0.1rem !important;
    outline: initial;
}

.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
    outline: initial;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
    border-radius: 0.1rem;
    margin: 9px 0 0 8px;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover {
    outline: initial;
    text-shadow: initial;
}

.select2-container--bootstrap .select2-selection--single {
    border-radius: 0.1rem !important;
    font-size: 0.8rem;
    padding: 0.75rem;
    line-height: 1;
    height: calc(2.5rem + 4px);
}

.select2-container {
    width: 100% !important;
}

.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: calc(2.4rem + 1px);
}

.select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
    padding-top: 3px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0;
    padding-right: 10px;
}

.select2-dropdown,
.select2-container--bootstrap .select2-selection.form-control {
    border-radius: 0.1rem !important;
}

.datepicker table tr td,
.datepicker table tr th {
    width: 35px;
    height: 35px;
    border-radius: 0.1rem;
}

.datepicker.datepicker-inline,
.datepicker.datepicker-inline table {
    width: 100%;
}

.typeahead.dropdown-menu {
    width: 100%;
}

.dropzone {
    min-height: 115px !important;
    padding: 10px 10px !important;
    border-radius: 0.1rem !important;
    height: auto;
}

.dropzone .dz-preview.dz-image-preview,
.dropzone .dz-preview.dz-file-preview {
    width: 260px;
    height: 60px;
    min-height: unset;
    border-radius: 0.1rem !important;
}

.dropzone .dz-preview.dz-image-preview .preview-container i,
.dropzone .dz-preview.dz-file-preview .preview-container i {
    font-size: 20px;
    position: absolute;
    left: 50%;
    top: 29px;
    transform: translateX(-50%) translateY(-50%) !important;
    height: 22px;
}

.dropzone .dz-preview.dz-image-preview .remove,
.dropzone .dz-preview.dz-file-preview .remove {
    position: absolute;
    right: 5px;
    top: 5px;
}

.dropzone .dz-preview.dz-image-preview .dz-details,
.dropzone .dz-preview.dz-file-preview .dz-details {
    position: static;
    display: block;
    opacity: 1;
    text-align: left;
    min-width: unset;
    z-index: initial;
}

.dropzone .dz-preview.dz-image-preview .dz-error-mark,
.dropzone .dz-preview.dz-file-preview .dz-error-mark {
    top: 15px;
    left: 25px;
    margin-left: 0;
    margin-top: 0;
}

.dropzone .dz-preview.dz-image-preview .dz-error-mark span,
.dropzone .dz-preview.dz-file-preview .dz-error-mark span {
    display: inline-block;
    width: 28px;
    height: 28px;
}

.dropzone .dz-preview.dz-image-preview .dz-success-mark,
.dropzone .dz-preview.dz-file-preview .dz-success-mark {
    top: 15px;
    left: 25px;
    margin-left: 0;
    margin-top: 0;
}

.dropzone .dz-preview.dz-image-preview .dz-success-mark span,
.dropzone .dz-preview.dz-file-preview .dz-success-mark span {
    display: inline-block;
    width: 28px;
    height: 28px;
}

.dropzone .dz-preview.dz-image-preview strong,
.dropzone .dz-preview.dz-file-preview strong {
    font-weight: normal;
}

.dropzone .dz-preview.dz-image-preview .dz-progress .dz-upload,
.dropzone .dz-preview.dz-file-preview .dz-progress .dz-upload {
    width: 100%;
}

.dropzone .img-thumbnail {
    height: 58px !important;
    width: 100% !important;
    object-fit: cover !important;
}

.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message * {
    position: relative;
    transform: translateY(-50%);
    top: 50% !important;
    margin: 0;
}

.dropzone.dz-clickable .dz-message span {
    top: 50px !important;
}

.dropzone .dz-preview.dz-image-preview .preview-container,
.dropzone .dz-preview.dz-file-preview .preview-container {
    transition: initial !important;
    animation: initial !important;
    margin-left: 0;
    margin-top: 0;
    position: relative;
    width: 100%;
    height: 100%;
}

.dropzone .dz-preview.dz-image-preview .dz-progress,
.dropzone .dz-preview.dz-file-preview .dz-progress {
    width: 84%;
    margin-left: 0;
    margin-top: 0;
    right: 0;
    height: 5px !important;
    left: 15px;
}

.dropzone .dz-preview.dz-image-preview .dz-error-message,
.dropzone .dz-preview.dz-file-preview .dz-error-message {
    border-radius: 15px;
    background: #c43d4b !important;
    top: 60px;
}

.dropzone .dz-preview.dz-image-preview .dz-error-message:after,
.dropzone .dz-preview.dz-file-preview .dz-error-message:after {
    border-bottom: 6px solid #c43d4b !important;
}

.dropzone .dz-preview.dz-image-preview [data-dz-name],
.dropzone .dz-preview.dz-file-preview [data-dz-name] {
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 90%;
    display: inline-block;
    overflow: hidden;
}

.dropzone .dz-preview.dz-file-preview .img-thumbnail {
    display: none;
}

.dropzone .dz-error.dz-preview.dz-file-preview .preview-icon {
    display: none;
}

.dropzone .dz-preview.dz-image-preview .preview-icon {
    display: none;
}

@-webkit-keyframes pulse-inner {
    0% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    10% {
        -webkit-transform: scale(0.8, 1);
        -moz-transform: scale(0.8, 1);
        -ms-transform: scale(0.8, 1);
        -o-transform: scale(0.8, 1);
        transform: scale(0.8, 1);
    }
    20% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
}

@-moz-keyframes pulse-inner {
    0% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    10% {
        -webkit-transform: scale(0.8, 1);
        -moz-transform: scale(0.8, 1);
        -ms-transform: scale(0.8, 1);
        -o-transform: scale(0.8, 1);
        transform: scale(0.8, 1);
    }
    20% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
}

@keyframes pulse-inner {
    0% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    10% {
        -webkit-transform: scale(0.8, 1);
        -moz-transform: scale(0.8, 1);
        -ms-transform: scale(0.8, 1);
        -o-transform: scale(0.8, 1);
        transform: scale(0.8, 1);
    }
    20% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
}

.dropzone .dz-preview:not(.dz-processing) .dz-progress {
    -webkit-animation: pulse-inner 3s ease infinite;
    -moz-animation: pulse-inner 3s ease infinite;
    -ms-animation: pulse-inner 3s ease infinite;
    -o-animation: pulse-inner 3s ease infinite;
    animation: pulse-inner 3s ease infinite;
}

.input-group-text {
    border-radius: 0.1rem;
}

.form-control-sm,
.input-group-sm>.form-control,
.input-group-sm>.input-group-prepend>.input-group-text,
.input-group-sm>.input-group-append>.input-group-text,
.input-group-sm>.input-group-prepend>.btn,
.input-group-sm>.input-group-append>.btn {
    border-radius: 0.1rem;
}

.form-control-lg,
.input-group-lg>.form-control,
.input-group-lg>.input-group-prepend>.input-group-text,
.input-group-lg>.input-group-append>.input-group-text,
.input-group-lg>.input-group-prepend>.btn,
.input-group-lg>.input-group-append>.btn {
    border-radius: 0.1rem;
}

.custom-select {
    border-radius: 0.1rem;
    padding: 0.75rem 0.75rem 0.5rem 0.75rem;
}

.input-group>.form-control:not(:first-child),
.input-group>.custom-select:not(:first-child) {
    outline: initial !important;
    box-shadow: initial !important;
}

.custom-select {
    height: calc(2.5rem + 3px);
}

.custom-file,
.custom-file-label {
    height: calc(2.5rem + 3px);
}

.custom-file {
    height: calc(2.5rem + 2px);
}

.custom-file-input {
    box-shadow: initial !important;
}

.custom-file-label {
    box-shadow: initial !important;
    border-radius: 0.1rem;
    height: calc(2.5rem + 2px);
    padding: 0.75rem 0.75rem 0.5rem 0.75rem;
}

.custom-file-label:after,
.input-group>.custom-select:not(:first-child),
.input-group>.custom-select:not(:last-child),
.input-group>.form-control:not(:first-child),
.input-group>.form-control:not(:last-child) {
    outline: initial !important;
    box-shadow: initial !important;
}

.custom-file-input:focus~.custom-file-label {
    box-shadow: initial;
}

.custom-file-label::after {
    height: calc(calc(2.5rem + 2px) - 1px * 2);
    padding: 0.75rem 0.75rem 0.5rem 0.75rem;
}

.jumbotron {
    background: initial;
}