html,
body,
h1,
h2,
h3,
h4,
ul,
li,
pre,
code {
	margin: 0;
	padding: 0;
	outline: 0;
}

html {
	background: rgb(255, 255, 255);
	background: linear-gradient(0deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 1) 25%,
			rgba(255, 255, 255, 1) 75%,
			rgba(246, 246, 246, 1) 100%);
	background-size: 100vw 100vh;
	background-repeat: repeat-x;
}

body {
	padding: 80px 100px 20px 100px;
	font: 14px 'Helvetica Neue', 'Lucida Grande', 'Arial';
	color: #555;
	max-width: 1024px;
	margin: 0 auto;
	min-height: calc(100vh - 120px);
}

h1,
h2,
h3 {
	font-size: 22px;
	color: #343434;
}

h1 em,
h2 em {
	padding: 0 5px;
	font-weight: normal;
}

h1 {
	font-size: 60px;
}

h2 {
	margin-top: 10px;
}

h3 {
	margin: 5px 0 10px 0;
	padding-bottom: 5px;
	border-bottom: 1px solid #eee;
	font-size: 18px;
}

ul li {
	list-style: none;
}

ul li:hover {
	cursor: pointer;
	color: #2e2e2e;
}

ul li .path {
	padding-left: 5px;
	font-weight: bold;
}

ul li .line {
	padding-right: 5px;
	font-style: italic;
}

ul li:first-child .path {
	padding-left: 0;
}

p {
	line-height: 1.5;
}

a {
	color: #555;
	text-decoration: none;
}

a:hover {
	color: #303030;
}

#stacktrace {
	margin-top: 15px;
}

#wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: calc(100vh - 120px);
}

.directory h1 {
	margin-bottom: 15px;
	font-size: 18px;
}

.preview .image,
.preview code {
	/* min-width: calc(100vw - 200px - 32px); */
	min-height: 160px;
	padding: 16px;
	font-size: 14px;
	border: 1px solid #e9e9e9;
	border-radius: 5px;
	box-shadow: 1px 1px 4px 1px rgb(0 0 0 / 10%);
}

.preview .image {
	padding: 0;
	text-align: center;
}

.footer {
	text-align: right;
	padding-top: 32px;
	color: #d6d6d6;
}

.footer a {
	color: #ababab;
}

/*small*/
@media (max-width: 768px) {
	body {
		padding: 80px 24px 40px 24px;
	}
}

/*smaller*/
@media (max-width: 640px) {}

/*mobile*/
@media (max-width: 480px) {
	body {
		padding: 0;
	}

	.directory h1 {
		font-size: 2em;
		line-height: 1.5em;
		color: rgb(0, 0, 0);
		background: rgb(255, 255, 255);
		padding: 15px 10px;
		margin: 0;
	}

	.message {
		border-top: 1px solid #cacaca;
		border-bottom: 1px solid #cacaca;
		padding: 0px 10px;
	}

	.preview .image,
	.preview code {
		min-width: calc(100vw - 200px - 32px);
		min-height: 160px;
		padding: 16px;
		padding-bottom: 0px;
		font-size: 14px;
		border: none;
		margin: 0;
		border-radius: 0px;
		box-shadow: none;
	}

	.footer {
		text-align: center;
	}
}

ul#files {
	width: 100%;
	height: 100%;
	overflow: hidden;
	column-count: 3;
}

ul#files li {
	margin-bottom: 6px;
	line-height: 30px;
}

ul#files li a {
	display: block;
	height: 30px;
	border: 1px solid #e9e9e9;
	border-radius: 5px;
	padding: 2px;
	/* overflow: hidden; */
	/* white-space: nowrap; */
}

ul#files li a:focus,
ul#files li a:hover {
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid #dadada;
}

ul#files li a.highlight {
	transition: background 0.4s ease-in-out;
	background: #add6ff66;
	border-color: #add6ff8c;
}

ul#files li a span {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

ul#files li.hidden {
	display: none;
}

#search {
	display: block;
	position: fixed;
	top: 20px;
	right: 20px;
	width: 90px;
	transition: width ease 0.2s, opacity ease 0.4s;
	/* border-radius: 4px; */
	-webkit-font-smoothing: antialiased;
	text-align: left;
	font: 14px 'Helvetica Neue', Arial, sans-serif;
	padding: 6px 12px;
	border: none;
	background: #f1f1f1;
	margin-bottom: 0;
	outline: none;
	opacity: 0.7;
	color: #888;
}

#search:focus {
	width: 120px;
	opacity: 1;
}

@media (min-width: 1024px) {
	input#search {
		right: max(100px, calc(100vw / 2 - 512px));
	}
}

/*views*/
#files span {
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	text-indent: 10px;
}

#files .name {
	background-repeat: no-repeat;
	background-position: 6px center;
}

#files .icon .name {
	text-indent: 28px;
	background-size: 16px 16px;
}

/*tiles*/
.view-tiles .name {
	width: 100%;
	background-position: 8px 5px;
}

.view-tiles .size,
.view-tiles .date {
	display: none;
}

/*details*/
ul#files.view-details li {
	float: none;
	display: block;
	width: 90%;
}

ul#files.view-details li.header {
	height: 25px;
	background: #000;
	color: #fff;
	font-weight: bold;
}

.view-details .header {
	border-radius: 5px;
}

.view-details .name {
	width: 60%;
	background-position: 8px 5px;
}

.view-details .size {
	width: 10%;
}

.view-details .date {
	width: 30%;
}

.view-details .size,
.view-details .date {
	text-align: right;
	direction: rtl;
}

/*small*/
@media (max-width: 768px) {}

/*smaller*/
@media (max-width: 640px) {
	ul#files {
		column-count: 2;
	}
}

/*mobile*/
@media (max-width: 480px) {
	body {
		font-size: 14px;
		line-height: 16px;
	}

	#search {
		position: static;
		width: 100%;
		font-size: 2em;
		line-height: 1.8em;
		text-indent: 10px;
		border: 0;
		border-radius: 0;
		padding: 10px 0;
		margin: 0;
	}

	#search:focus {
		width: 100%;
		border: 0;
		opacity: 1;
	}

	ul#files {
		border-top: 1px solid #cacaca;
		column-count: 1;
	}

	ul#files li {
		float: none;
		width: auto !important;
		display: block;
		border-bottom: 1px solid #cacaca;
		font-size: 2em;
		line-height: 1.2em;
		text-indent: 0;
		margin: 0;
	}

	ul#files li a {
		height: auto;
		border: 0;
		border-radius: 0;
		padding: 15px 10px;
	}

	ul#files li a span {
		vertical-align: middle;
	}

	ul#files li a:focus,
	ul#files li a:hover {
		border: 0;
	}

	#files .header,
	#files .size,
	#files .date {
		display: none !important;
	}

	#files .name {
		float: none;
		display: inline-block;
		width: 100%;
		text-indent: 0;
		background-position: 0 50%;
	}

	#files .icon .name {
		text-indent: 41px;
		background-size: 28px 28px;
		background-position: 2px center;
	}
}

#files .icon-directory .name {
	background-image: url(../../../icons/back.gif);
}

#files .icon-application-pdf .name {
	background-image: url(../../icons/pdf2.png);
}

#files .icon-image .name {
	background-image: url(/fiveserver/serve-explorer/icons/image.svg);
}