.uploader {
    height: 200px;
    max-width: 355px;
    padding: 10px;
    margin: 15px auto;
}

.uploader label {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 4px;
    border: dashed 2px darkgray;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-clip: content-box;
    background-size: cover;				
    cursor: pointer;
}

.uploader label:hover {
    border-color: #32aece;
}

.uploader label i {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    -ms-transform: ranslateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    font-size: 4em;
    color: darkgray;
}

.uploader label:hover i {
    color: #32aece;
}

.uploader label input[type=file] {
  visibility: hidden;
  width: 0;
  height: 0;
}

.validation-error {
    text-align: center;
}

.validation-error .uploader label {
    border-color: red;
}

.validation-error .uploader label i {
    color: red;
}

