
.msg.hidden { display: none; }

.upload-field { margin: 1.5em 0; }

.upload-field .title { color: #8f8f8f; margin-bottom: 1em; }

.upload-field .has-files  { display: none; }
.upload-field.has-files .has-files { display: block; }

.upload-field .alert { 
    margin: 1.5em 0;
}

.upload-field .uploadstate { display: none; }
.upload-field[data-upload-state="help"] .uploadstate.help,
.upload-field[data-upload-state="uploading"] .uploadstate.uploading,
.upload-field[data-upload-state="uploaderror"] .uploadstate.uploaderror { display: block; }

.upload-field .upload-area {
    position: relative;
    width: 100%;
    max-width: 100%;
    font-size: 90%;
    padding: 0;
    border: 3px dotted #d6d6d6;
    background-color: #f9f9f9;
    padding: 3em 0.3em 2em;
    margin: 1.5em 0;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;

    -webkit-transition: background-color 0.4s ease, border-color 0.4s ease;
        -ms-transition: background-color 0.4s ease, border-color 0.4s ease;
            transition: background-color 0.4s ease, border-color 0.4s ease;
}

.upload-field .upload-area:hover {
    border-color: #989898;
    background-color: #f2f2f2;
}

.upload-field .upload-area i.fa-upload {
    display: inline-block;
    font-size: 2.5em;
    color: #646464;
    vertical-align: middle;
    margin-bottom: 0.3em;
}

.upload-field .upload-area input {
    opacity: 0;
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    height: 100%;
}

.upload-field .upload-area .upload-progress {
    pointer-events: none;
    position: relative;
    width: 80%;
    margin: 0 auto;
    height: 1em;
}

.upload-field .upload-area .upload-progress .bar {
    position: absolute;
    top: 0; left: 0;
    height: 100%; width: 0;
    background-color: #5fca77;
    background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
    background-size: 1rem 1rem;
    border-radius: 1em;

    -webkit-transition: opacity 0.4s ease;
        -ms-transition: opacity 0.4s ease;
            transition: opacity 0.4s ease;
}

.upload-field .upload-area.error .upload-progress .bar {
    background-color: #fe5959;
}

.upload-field .upload-area .info > * {
    font-size: 1em;
    line-height: inherit;
    margin-bottom: 0;
}

.upload-field .upload-area .info small {
    font-size: 85%;
    color: #8c8c8c;
}

.upload-field .upload-area .info .uploaderror {
    color: red;
}

.upload-field table.uploaded-files {
    width: 100%;
    max-width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 14px;
    table-layout: fixed;
    filter: drop-shadow(1px 1px 3px #cbccc4);
}

.upload-field table.uploaded-files tr.uploaded-file {
    border-top: 1px solid #ececec;
}

.upload-field table.uploaded-files tr.uploaded-file:nth-of-type(odd) { background-color: #f9f9f9; }
.upload-field table.uploaded-files tr.uploaded-file:nth-of-type(even) { background-color: #ffffff; }

.upload-field table.uploaded-files tr.uploaded-file td {
    padding: 8px;
    vertical-align: middle;
    font-size: inherit;
    line-height: inherit;
}

.upload-field table.uploaded-files tr.uploaded-file .preview img,
.upload-field table.uploaded-files tr.uploaded-file .preview i.fa {
    display: block;
    vertical-align: middle;
}

.upload-field table.uploaded-files tr.uploaded-file .preview img {
    width: 100%;
    max-width: 80px;
    min-width: 30px;
}

.upload-field table.uploaded-files tr.uploaded-file .preview i.fa {
    font-size: 2em;
    padding: 0.4em;
}

.upload-field table.uploaded-files tr.uploaded-file td.tools {
    text-align: center;
}

.upload-field table.uploaded-files tr.uploaded-file .image-tool {
    display: inline-block;
    font-size: 0.9em;
    margin: 0.5em;
    white-space: nowrap;
    vertical-align: middle;
}

@media all and ( max-width: 499px) {

    /* UPLOAD FIELD */

    .upload-field table.uploaded-files {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        font-size: 11px;
    }

}