.file_chooser
{
    font-size: 20px;
    background-color: #ffffff;
    position: relative;
    padding: 80px 20px;
    text-align: center;
    max-width: 700px;
    margin: 20px auto;
}
.file_chooser.has-advanced-upload
{
    outline: 2px dashed #92b0b3;
    outline-offset: -10px;
    cursor: pointer;
    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
    transition: outline-offset .15s ease-in-out, background-color .15s linear;
}
.file_chooser.has-advanced-upload.is-uploading,
.file_chooser.has-advanced-upload.is-success,
.file_chooser.has-advanced-upload.is-error,
.file_chooser.has-advanced-upload.is-dragover
{
    cursor: auto;
}
.file_chooser.is-dragover
{
    outline-offset: -20px;
    outline-color: #c8dadf;
    background-color: #fff;
}
.file_chooser__dragndrop,
.file_chooser__icon
{
    display: none;
}
.file_chooser.has-advanced-upload .file_chooser__dragndrop
{
    display: inline;
}
.file_chooser.has-advanced-upload .file_chooser__icon
{
    width: 100%;
    height: 80px;
    fill: #92b0b3;
    display: block;
    margin-bottom: 40px;
}
.file_chooser__input input {
    visibility: visible !important;
}
.file_chooser.is-uploading .file_chooser__input,
.file_chooser.is-success .file_chooser__input,
.file_chooser.is-error .file_chooser__input
{
    visibility: hidden;
}
.file_chooser__uploading,
.file_chooser__success,
.file_chooser__error
{
    display: none;
}
.file_chooser.is-uploading .file_chooser__uploading,
.file_chooser.is-success .file_chooser__success,
.file_chooser.is-error .file_chooser__error
{
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY( -50% );
    transform: translateY( -50% );
}
.file_chooser.is-error .file_chooser__error span {
    color: #ff0000;
}
.file_chooser.is-error .file_chooser__success span {
    color: #008000;
}
.file_chooser__uploading
{
    font-style: italic;
}
.file_chooser__success
{
    -webkit-animation: appear-from-inside .25s ease-in-out;
    animation: appear-from-inside .25s ease-in-out;
}
@-webkit-keyframes appear-from-inside
{
    from	{ -webkit-transform: translateY( -50% ) scale( 0 ); }
    75%		{ -webkit-transform: translateY( -50% ) scale( 1.1 ); }
    to		{ -webkit-transform: translateY( -50% ) scale( 1 ); }
}
@keyframes appear-from-inside
{
    from	{ transform: translateY( -50% ) scale( 0 ); }
    75%		{ transform: translateY( -50% ) scale( 1.1 ); }
    to		{ transform: translateY( -50% ) scale( 1 ); }
}

.file_chooser__restart
{
    font-weight: 700;
}
.file_chooser__restart:focus,
.file_chooser__restart:hover
{
    color: #39bfd3;
}

.file_chooser__file
{
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.file_chooser__file + label
{
    max-width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    font-weight: normal;
}
.file_chooser.has-advanced-upload:hover .file_chooser__file + label strong,
.file_chooser__file + label:hover strong,
.file_chooser__file:focus + label strong,
.file_chooser__file.has-focus + label strong
{
    color: #39bfd3;
}
.file_chooser__file:focus + label,
.file_chooser__file.has-focus + label
{
    outline: none;
}