.nu-file-bold {
		font-weight: bold;
}

.nu-file-hide {
		display: none !important;
}

.nu-file-svg-icon {
		display: inline-block;
		width: 2em;
		height: 2em;
		fill: rgba(0, 0, 0, 0.4);
}

.nu-file-upload-icon {
		vertical-align: middle;
		margin-right: 0.25em;
		margin-top: -0.25em;
}

.nu-file-download-icon {
		fill: #6464ff;
}

.nu-file-delete-icon {
		fill: #ff6464;
}

.nu-file-camera-icon,
.nu-file-scan-icon {
	vertical-align: middle;
}

.nu-file-scan-icon {
	color : rgba(0, 0, 0, 0.4);
}

.nu-file-buttons {
		position: fixed;
		visibility: hidden;
		display: flex;
		top: -1000px;
		left: -1000px;
		z-index: 3;
		opacity: 0;
		transition: opacity 200ms;
}

.nu-file-buttons .nu-file-expand {
		font-weight: bold;
}

.nu-file-buttons button:not(:last-child) {
		margin-right: -1px;
}

.nu-file-container {
		display: flex;
		flex-direction: column;
		position: relative;
		background-color: whitesmoke;
		overflow: hidden;
		min-height: 2em;
		min-width: 12em;
		max-height: 100%;
		width: 100%;
		height: 100%;
}

.nu-file-container .nu-file-spinner {
		display: none;
}

.nu-file-container.nu-file-loading {
		border: 1px solid rgba(0, 0, 0, 0.4);
}

.nu-file-container.nu-file-loading .nu-file-spinner {
		display: block;
}

.nu-file-container.nu-file-loading .nu-file-files {
		display: none;
}

.nu-file-container.nu-file-loading .nu-file-target {
		display: none;
}

.nu-file-container .nu-file-show-collapsed {
		display: none;
}

.nu-file-container .nu-file-show-full {
		display: initial;
}

.nu-file-container .nu-file-target {
	background-color : #2185d0;
	color            : #fff;
	cursor           : pointer;
	font-size        : 1.5em;
	height           : 5rem;
	line-height      : 5rem;
	outline          : 2px dotted rgba(255, 255, 255, 0.9);
	outline-offset   : -0.5rem;
	padding          : 0 13px;
	text-align       : center;
}

.nu-file-container .nu-file-target:hover {
		background-color: #248dda;
}

.nu-file-container .nu-file-files {
		position: relative;
		flex: 1 1 auto;
		height: calc(100% - 5rem);
		margin: 0;
		padding: 0.25rem 0.25rem 0 0;
		overflow: auto;
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		justify-content: space-around;
		box-shadow: 2px 2px 1px 0px rgba(0, 0, 0, 0.1) inset;
		border: 1px solid rgba(0, 0, 0, 0.4);
		border-bottom: none;
		list-style-type: none;
}

.nu-file-container .nu-file-files .nu-file-file,
.nu-file-container .nu-file-files .nu-file-filler {
		width: 8em;
}

.nu-file-container .nu-file-files .nu-file-filler {
		height: 0px;
		margin-right: 0.25rem;
}

.nu-file-container .nu-file-files .nu-file-file {
		flex: 0 0 8em;
		display: flex;
		flex-direction: column;
		margin: 0 0 0.25rem 0.25rem;
		border: 1px solid rgba(0, 0, 0, 0.2);
		border-radius: 3px;
		background-color: white;
		box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
		text-align: center;
		position: relative;
		overflow: hidden;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-select {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 0.25em;
		background: inherit;
		color: inherit;
		text-decoration: inherit;
		overflow: hidden;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-select:hover {
		outline: 2px solid #2185d0;
		outline-offset: -2px;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-select-top {
		flex-grow: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 64px;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-image {
		max-height: 100%;
		max-width: 100%;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-title {
		flex-shrink: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		padding-top: 0.25em;
		margin-top: 0.25em;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-controls {
		flex-shrink: 0;
		display: flex;
		height: 2em;
		border-top: 1px solid rgba(0, 0, 0, 0.2);
		background: rgba(0, 0, 0, 0.05);
		overflow: hidden;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-controls .nu-file-progress {
		display: none;
		flex-grow: 1;
		align-self: center;
		height: 1em;
		margin: 0 0.25rem;
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-controls .nu-file-link {
		width: 100%;
		flex: 1 1 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0.25em;
		border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-controls .nu-file-link:hover {
		background-color: rgba(255, 255, 255, 0.5);
}

.nu-file-container .nu-file-files .nu-file-file .nu-file-controls .nu-file-link:last-child {
		border-right: none;
}

.nu-file-container .nu-file-files .nu-file-file.nu-file-pending {
		opacity: 0.5;
}

.nu-file-container .nu-file-files .nu-file-file.nu-file-pending .nu-file-progress {
		display: block;
}

.nu-file-container .nu-file-files .nu-file-file.nu-file-pending .nu-file-controls .nu-file-link {
		display: none;
}

.nu-file-container.nu-file-empty .nu-file-files::before {
	color       : rgba(0, 0, 0, 0.35);
	content     : attr(data-translate-text);
	font-size   : 1.5em;
	font-weight : bold;
	position    : absolute;
	top         : calc(50% - 1.5em);
}

.nu-file-collapsed.nu-file-container.nu-file-empty .nu-file-files::before {
	top : 0;
}

.nu-file-container.nu-file-empty.nu-file-single .nu-file-files::before {
		content: 'No File';
}

.nu-file-container input {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		visibility: hidden;
		overflow: hidden;
}

.nu-file-container.nu-file-dragging {
		background-color: #e1ffeb;
}

.nu-file-container.nu-file-dragging .nu-file-icon::before {
		border-color: #e1ffeb #e1ffeb rgba(255, 255, 255, 0.35) rgba(255, 255, 255, 0.35);
}

.nu-file-container.nu-file-dragging .nu-file-target {
		background-color: #248dda;
}

.nu-file-container.nu-file-collapsed .nu-file-target {
		display: none;
}

.nu-file-container.nu-file-collapsed .nu-file-files {
		border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-filler {
		display: none;
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file {
		padding: 0;
		flex: 1 1 auto;
		flex-direction: row;
		width: auto;
		min-width: 10em;
		min-height: 2em;
		position: relative;
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file .nu-file-select {
		flex: 1 1 auto;
		border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file .nu-file-select .nu-file-icon {
		display: none;
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file .nu-file-select .nu-file-title {
		margin: 0;
		padding: 0;
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file .nu-file-controls {
		margin: 0;
		height: auto;
		border: 0;
		border-radius: 0;
}

.nu-file-container.nu-file-collapsed .nu-file-files .nu-file-file .nu-file-progress {
		width: 3em;
}

.nu-file-container.nu-file-readonly .nu-file-target {
		display: none !important;
}

.nu-file-container.nu-file-readonly .nu-file-delete {
		display: none !important;
}

.nu-file-container.nu-file-readonly .nu-file-files {
		border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

/**
 * Spinner CSS (http://tobiasahlin.com/spinkit/)
 */
.nu-file-spinner {
		width: 40px;
		height: 40px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}

.nu-file-double-bounce1, .nu-file-double-bounce2 {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: #333;
		opacity: 0.6;
		position: absolute;
		top: 0;
		left: 0;
		animation: nu-file-sk-bounce 2.0s infinite ease-in-out;
}

.nu-file-double-bounce2 {
		animation-delay: -1.0s;
}

@keyframes nu-file-sk-bounce {
		0%, 100% {
				transform: scale(0);
		}
		50% {
				transform: scale(1);
		}
}

.nu-file-webcam-container {
	background: black;
	width: 100vw;
	height: 100vh;
}

.nu-file-webcam-mode {
	display: none;
}

.nu-file-webcam-container.camera-mode .nu-file-webcam-camera-mode {
	display: flex;
}

.nu-file-webcam-container.edit-mode .nu-file-webcam-edit-mode {
	display: flex;
}

.nu-file-webcam-container, .nu-file-webcam-stream {
	position : absolute;
	z-index  : 10001;
	top      : 0;
	left     : 0;
}

.nu-file-webcam-mode button {
	border: 1px solid white;
	border-radius: 5px;
	color: white;
	background: #2681BA;
	height: 40px;
	width: 148px;
}

.nu-file-webcam-controls button {
	margin: 5px;
}

.nu-file-webcam-image-settings {
	background: #2681BA;
	bottom: 0;
	color: white;
	flex-direction: column;
	padding: 1em;
	position: absolute;
	right: 0;
	z-index: 10002;
}

.nu-file-webcam-image-settings label {
	display: flex;
}

.nu-file-webcam-image-settings label span {
	flex: 1 1 0;
	margin: 0 1em 0 0;
}

.nu-file-webcam-stream.half-screen {
	height: 100vh;
	left: 50%;
	transform: translate(-50%)
}

.nu-file-webcam-controls {
	bottom: 10vh;
	display: flex;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translate(-50%);
	z-index: 10002;
}

.nu-file-webcam-close {
	cursor: pointer;
	fill: white;
	height: 50px;
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	z-index: 10002;
}

.nu-file-webcam-controls .nu-file-webcam-control {
	cursor: pointer;
}

.nu-file-webcam-container .cropper-container {
	z-index: 10001;
}

.nu-file-upload-container {
	display: flex;
}

.nu-file-upload-container .nu-file-target {
	flex : 1 1 0;
}

.nu-file-upload-container .nu-file-drop-target {
	flex: 3 1 0;
}

.nu-file-container .nu-file-target.nu-file-webcam-target {
	background : #4e6ee0;
	flex       : 1 3 0;
}

.nu-file-container .nu-file-target.nu-file-scan-target {
	background-color : #29a9b9;
	flex             : 1 3 0;
}

.nu-file-container .nu-file-target.nu-file-webcam-target:hover {
	background : #5e7ee9;
}

.photo_modal {
	height: 500px;
}
