/* Custom upload input */
.upload-box {
    position: relative;
    background: #f5f5f5;
    text-align: center;
    border: 3px #ddd dashed;
}

.upload-box span {
    font-size: 1em;
    font-weight: 700;
    line-height: 2em;
}

.inputfile {
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: transparent;
    position: absolute;
    top: 0;
    right: 0;
    color: transparent;
    border: none;
}

.inputfile + label {
    z-index: 3;
    max-width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    margin: 0;
}

.inputfile:focus + label,
.inputfile.has-focus + label {
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 5px;
}

.inputfile + label i {
    font-size: 25px;
    color: #fff;
    margin-top: 30px;
}

.inputfile-5 + label {
    color: #345a80;
}

.inputfile-5:focus + label,
.inputfile-5.has-focus + label,
.inputfile-5 + label:hover {
    color: #34495E;
}

.inputfile-5 + label figure {
    width: 75px;
    height: 85px;
    background-color: #345a80;
    display: block;
    position: relative;
    margin: 10px auto 6px;
}

.inputfile-5:focus + label figure,
.inputfile-5.has-focus + label figure,
.inputfile-5 + label:hover figure {
    background-color: #34495E;
}

.inputfile-5 + label figure::before,
.inputfile-5 + label figure::after {
    width: 0;
    height: 0;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
}

.inputfile-5 + label figure::before {
    border-top: 20px solid #f5f5f5;
    border-left: 20px solid transparent;
}

.inputfile-5 + label figure::after {
    border-bottom: 20px solid #2E4B67;
    border-right: 20px solid transparent;
}

.inputfile-5:focus + label figure::after,
.inputfile-5.has-focus + label figure::after,
.inputfile-5 + label:hover figure::after {
    border-bottom-color: #368ddc;
}
