/** DOCUMENT **/
.document-container{
	display: flex;
	flex:1;
	/*100vh - 50px (header) - 50px (footer)*/
	height: calc(100vh - 100px);
	user-select: none;
}
.document-container.embedded {
	margin: 0px;
}
.document-container ul{
	list-style-type: none;
	margin:0;
	padding:0;
}
.document-container .file-preloader{
	text-align: center;
    color: #cecece;
    font-size: 40px;
    position: absolute;
    width: 100%;
    left:0;
    top:100px;
    padding: 50px;
}
.document-container .file-preloader i{
	/*background-color: #ffffff;*/
	padding:5px;
	border-radius: 100px;
}
.document-container .file-preloader .fa-spin {
    animation: fa-spin 0.6s infinite linear;
}
.document-container .tree-panel {
	width: 15%;
	order:1;
	padding: 15px;
	color:#444444;
	background-color: #f5f4f4;
	/*background-color: #ddedff;*/
	font-size: 15px;
	border-right:1px solid #cecece;
	/*100vh - 50px (header) - 50px (footer)*/
	height: calc(100vh - 100px);
	overflow-y: auto;
	/*resize: horizontal;*/
}

.document-container .tree-panel > ul li.folder.folder-open>i.far.fa-folder,
.document-container .tree-panel > ul li.folder.folder-open>i.far.fa-folder-open {
	font-weight: normal;
}
.document-container .tree-panel > ul li.folder.folder-open>i::before {
	content: "\f07c"!important;
}
.document-container i.far.fa-folder,
.document-container i.far.fa-folder-open {
	color: #f1c40f;
	font-weight: bold;
}
.document-container .tree-panel > ul li i.fa-folder-open,.document-container .tree-panel > ul li i.fa-folder{
	display: inline-block;
	width: 15px;
}
.document-container .tree-panel > ul li.folder:before {
	content :'\f105';
	padding-right:10px;
	color:#aeaeae;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	display: inline-block;
    width: 15px;
	transition: all 0.2s ease-in-out;
	opacity: 0;
}
.document-container .tree-panel > ul li.folder.folder-open:before {
	content:'\f107';
	padding-right:6px;
	color:#444444;
	font-family: 'Font Awesome 5 Free';
}
.document-container .tree-panel > ul li.folder:hover:before {
	opacity:1;
}
.document-container .tree-panel > ul li.folder {
	transition: transform 0.1s linear;
	word-break: break-all;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.document-container .tree-panel  ul li.folder-focused {
	font-weight: bold;
}
.document-container .tree-panel  ul li.folder-hover {
	font-weight: bold;
}
.document-container .tree-panel  ul li.folder-hover:before {
	content:'\f107';
	padding-right:6px;
	color:#aeaeae;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
.document-container .tree-panel ul li.folder-focused ul {
	font-weight: normal;
}

/* VUE LISTE */
.document-container  .file-elements-list tbody tr {
	cursor: pointer;
	transition: background 0.1s ease-in-out;
}
.document-container  .file-elements-list tbody tr:hover {
	background-color: #f8f8f8;
}
.document-container  .file-elements-list tbody tr .element-rename {
	opacity: 0;
	transform: translateX(-10px);
	margin-left: 10px;
	cursor: pointer;
	color:#cecece;
	transition: all 0.2s ease-in-out;
}
.document-container  .file-elements-list tbody tr:hover .element-rename {
	transform: translateX(0);
	opacity:1;
}
.document-container  .file-elements-list tbody tr.folder-receive-element {
	background-color:#bad4ff;
}
.file-elements-list .rename-input,.file-elements-list .rename-input:focus,.file-elements-list .rename-input:active{
	border:0px;
	padding:0;
	outline: none;
}
.document-container  .file-elements-list .element-focused {
	font-weight: bold;
	background-color: #f8f8f8;
}
.document-container .file-elements-list .element-thumbnail {
	height: 15px;
	width: 15px;
	margin-right: 5px;
}
.document-container .file-elements-list .file-element.element-thumbnail-symlink  span{
	position: relative;
}
.document-container .file-elements-list .file-element.element-thumbnail-symlink  span:after{
	top:10px;
	left:-10px;
	font-size: 8px;
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "\f360";
	font-weight: 900;
	color:#007bff;
}

/* VUE GRILLE*/
.file-elements-grid .file-element.element-thumbnail-symlink .element-thumbnail{
	position: relative;
}
.file-elements-grid .file-element.element-thumbnail-symlink .element-thumbnail:after{
    width: 100%;
    padding: 5px;
    bottom: 0px;
    right: 0;
    font-size: 18px;
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f360";
    font-weight: 900;
    color: #007bff;
}
.document-container  .file-elements-grid > li {
	cursor: pointer;
	display: inline-block;
	vertical-align: top;
	transition: background 0.1s ease-in-out;
	padding:15px;
	text-align: center;

	overflow: hidden;
}
.document-container ul.file-elements-grid{
	text-align: center;
}
.file-module[data-view="grid"] {
    background-color: #f8f8f8;
}
.document-container  .file-elements-grid .name-cell > span > span{
	width: calc(100% - 45px)!important;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.document-container  .file-elements-grid > li > .grid-container{
	border-radius:3px;
	width:250px;
	height:200px;
	background-color:#ffffff;
	padding: 15px 5px 5px 5px;
	border:1px solid #fefefe;
	box-shadow: 0 1px 4px rgba(165, 165, 165, 0.4);
	transition: all 0.2s ease-in-out;
	position: relative;
}
.document-container  .file-elements-grid  .element-thumbnail  {
	border-radius: 5px 5px 0 0;
    background-repeat: no-repeat;
    background-position:center center;
    margin: -15px -6px 0 -6px;
    height: 100px;
}
.document-container  .file-elements-grid .element-type-jfif  .element-thumbnail,
.document-container  .file-elements-grid .element-type-jpg  .element-thumbnail,
.document-container  .file-elements-grid .element-type-jpeg  .element-thumbnail,
.document-container  .file-elements-grid .element-type-png  .element-thumbnail,
.document-container  .file-elements-grid .element-type-gif  .element-thumbnail,
.document-container  .file-elements-grid .element-type-bmp  .element-thumbnail {
	background-size: cover;
	position: absolute;
	width:250px;
	height:200px;
	z-index: 0;
	border-radius: 5px;
}
.document-container  .file-elements-grid .element-type-jfif  .element-infos,
.document-container  .file-elements-grid .element-type-jpg  .element-infos,
.document-container  .file-elements-grid .element-type-jpeg  .element-infos,
.document-container  .file-elements-grid .element-type-png  .element-infos,
.document-container  .file-elements-grid .element-type-gif  .element-infos,
.document-container  .file-elements-grid .element-type-bmp  .element-infos {
	color:#ffffff;
    position: absolute;
    background: rgba(0,0,0,0.5);
    width:100%;
    bottom:0;
    border-radius:0 0 5px 5px;
    margin-left: -5px;
    margin-bottom: -2px;
    margin-right: -5px;
	z-index: 1;
}
.document-container  .file-elements-grid .element-type-jfif  .name-cell,
.document-container  .file-elements-grid .element-type-jpg  .name-cell,
.document-container  .file-elements-grid .element-type-jpeg  .name-cell,
.document-container  .file-elements-grid .element-type-png  .name-cell,
.document-container  .file-elements-grid .element-type-gif  .name-cell,
.document-container  .file-elements-grid .element-type-bmp  .name-cell {
	color:#ffffff;
}
.document-container  .view-module{
	position: absolute;
	right: 10px;
}
.document-container  .view-module > li{
	cursor: pointer;
	display: inline-block;
	vertical-align: top;
	padding:5px;
	opacity: 0.8;
	transition: all 0.2s ease-in-out;
}
.document-container  .view-module > li:hover{
	opacity: 1;
	transform: scale(1.1);
}
.document-container  .view-module > li.selected{
	color:#007bff;
}

.document-container  .file-elements-grid .name-cell{
	margin-top:5px;
	font-weight: bold;
	color: rgb(0, 123, 255);
	font-size: 12px;
}

.document-container  .file-elements-grid  .creator-cell,
.document-container  .file-elements-grid  .size-cell,
.document-container  .file-elements-grid  .updated-cell{
	font-size:11px;
	color:#cecece;
}

.document-container  .file-elements-grid .name-cell{
	margin-top:5px;
	font-weight: bold;
	color: rgb(0, 123, 255);
	font-size: 12px;
}


.document-container  .file-elements-grid  > li .grid-container:hover {
	/*background-color: #f8f8f8;*/
	transform: scale(1.05);
}

.document-container  .file-elements-grid .grid-container .element-rename {
	opacity: 0;
	transform: translateX(-10px);
	margin-left: 10px;
	position: absolute;
	cursor: pointer;
	color:#cecece;
	transition: all 0.2s ease-in-out;
}
.document-container  .file-elements-grid > li .name-cell:hover .element-rename {
	transform: translateX(0);
	opacity:1;
}


.document-container  .file-elements-grid > li.folder-receive-element  .grid-container{
	background-color:#bad4ff;
}

.file-elements-grid .rename-input,.file-elements-grid .rename-input:focus,.file-elements-grid .rename-input:active{
	border:0px;
	padding:0;
	outline: none;
}

.document-container  .file-elements-grid .element-focused .grid-container{
	box-shadow: 0 1px 4px #00adff;
}


/**/

.dragging-element{
	opacity: 0.5;
}
.original-placeholder {
	display: table-row;
	opacity: 0.5;
	background-color: #deebff !important;
}
.hidden-rename {
	display:none;
	white-space:pre;
}





.document-container .tree-panel > ul li.folder {
	cursor:pointer;
}

.document-container .tree-panel > ul li ul {
	padding-left: 10px;
}

.document-container .file-panel {
	flex: 1;
	order: 2;
	border-right:1px solid #cecece;
	position: relative;
	z-index: 100;
}
.document-create-dropdown a.dropdown-item {
	font-size: 0.9em;
    padding: .25rem .75rem;
    transition: background-color 0.05s linear;
}
.document-create-dropdown a.dropdown-item:hover {
    background: #f8f8f8;
}
.document-create-dropdown .dropdown-item.active,
.document-create-dropdown .dropdown-item:active,
.document-create-dropdown .dropdown-item:hover{
	background: inherit;
	color: inherit;
}

/* upload panel */


.upload-state{
	color: #fff;
	margin:5px 0 0 80px;
}


.document-container .upload-files{
    color: #fff;
    width: 500px;
    margin-top:20px;
    max-height: 400px;
    overflow-y: auto;
}

.document-container .upload-files > li > div{
	width:100%;
}

.document-container .upload-files h5{
	font-weight: bold;
	font-size: 14px;
	line-height: 18px;
	margin:0 5px 0 0;
	padding:0;
	float:left;
}
.document-container .upload-files small{
	opacity:0.5;
	margin-right:5px;
	float:left;
}

.document-container .upload-files .progress {
    margin: 7px 0;
    border-radius: 5rem;
    border: 1px solid #fff;
    background-color: transparent;
    height: 12px;
    width: 100%;
    float:left;
}


.document-container .upload-files .progress .progress-bar {
    color: #444;
    background-color: #fff;
}

.document-container .upload-file-state{
		float:right;
		font-size: 13px;
}
.document-container .upload-file-state:after{
	clear: both;
	display: block;
	content: ' ';
}
.document-container .upload-file-state.success
{
	color: #0bc60b;
}

.document-container .upload-file-state.error {
	color: #ff6b79;
}

.preloader-upload-container .preloader-upload-close{
	font-size: 30px;
    position: absolute;
    right: 20px;
    top: 65px;
    cursor: pointer;
    color: #d0d0d0;
}

.preloader-upload-container .upload-state h5{
	 font-weight: bold;
    font-size: 14px !important;
    text-transform: uppercase;
    font-size: 1.25rem;
    color: #a9a9a9;
}

.drag-overlay,
.preloader-upload-container {
	position: fixed; /* Sit on top of the page content */
	width: 100%; /* Full width (cover the whole page) */
	height: 100%; /* Full height (cover the whole page) */
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.7); /* Black background with opacity */
	z-index: 10000; /* Specify a stack order in case you're using a different order for other elements */
	cursor: pointer; /* Add a pointer on hover */
}

.overlay-text {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 30px;
	color: white;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	z-index: 10000;
}

.overlay-icon {
	position: absolute;
	top: 52%;
	left: 49%;
	font-size: 60px;
	font-weight: lighter;
	color: #ffc700;
	transform: translate(-49%,-52%);
	-ms-transform: translate(-49%,-52%);
	z-index: 10000;
	animation: floating 1.5s ease-in-out infinite;
}

.upload-button > div > i.far.fa-file-alt {
	color: #007bff;
}

.file-form input.label-required {
	background: rgba(229, 35, 37, 0.25);
}
.file-form input.label-required::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: red;
	opacity: 1; /* Firefox */
}

.file-form input.label-required:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: red;
}

.file-form input.label-required::-ms-input-placeholder { /* Microsoft Edge */
	color: red;
}

@keyframes floating {
	from { transform: translate(0,  0px); }
	50%  { transform: translate(0, 15px); }
	to   { transform: translate(0, -0px); }
}

.document-container .file-panel.drag-over {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.doc-search-container {
	position: relative;
	width: 50%;
}
.doc-search-container .btn-search {
    position: absolute;
    right: 10px;
    top: 5px;
    bottom: 0;
    height: 25px;
    margin: auto;
    font-size: 14px;
    cursor: pointer;
    color: #a0a0a0;
    z-index: 4;
    transition: all 0.15s ease-in;
}

.document-container .search-clear {
	opacity: 0;
	transform: scale(0);
	position: absolute;
	right: 33px;
	top: 12px;
	bottom: 0;
	height: 25px;
	margin: auto;
	font-size: 14px;
	cursor: pointer;
	color: #a0a0a0;
	z-index: 4;
	transition: all 0.15s ease-in;
}

.doc-search-container.typing .search-clear {
	opacity: 1;
	transform: scale(1);
}

.input-group-append {
	z-index: 5;
}
.file-panel .breadcrumb-module {
	padding: 0 15px 0 15px;
	margin: 5px 0;
	color:#666666;
}
.file-panel .breadcrumb-module > ul li:not(:last-of-type) {
	background-image: url(../img/breadcrumb.svg);
}
.file-panel .breadcrumb-module > ul li{
    display: inline-block;
    padding: 8px 15px 0 0;
    margin: 0 0 0 5px;
    background-repeat: no-repeat;
    background-position: right center;
    height: 40px;
    background-size: auto 20px;
    cursor: pointer;
}
.file-panel .search-module {
	padding: 0 15px 0 15px;
	margin:0px 0 10px 0 ;
	color:#aeaeae;
	position: relative;
}
.file-panel .search-module .doc-search-container input {
	width:100%;
	border-radius: 2em;
}
.document-container .detail-panel {
	width: 20%;
	overflow-y: auto;
	order:3;
	border-right:1px solid #cecece;
}

.document-container .detail-panel::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.document-container .detail-panel::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
.document-container .detail-panel::-webkit-scrollbar-thumb {
  background: #cecece;
  border: 0px none #ffffff;
  border-radius: 50px;
}
.document-container .detail-panel::-webkit-scrollbar-thumb:hover {
  background: #707070;
}
.document-container .detail-panel::-webkit-scrollbar-thumb:active {
  background: #949494;
}
.document-container .detail-panel::-webkit-scrollbar-track {
  background: #ffffff;
  border: 0px none #ffffff;
  border-radius: 50px;
}
.document-container .detail-panel::-webkit-scrollbar-track:hover {
  background: #d4d4d4;
}
.document-container .detail-panel::-webkit-scrollbar-track:active {
  background: #d3d3d3;
}
.document-container .detail-panel::-webkit-scrollbar-corner {
  background: transparent;
}



.detail-panel h1{
	font-size: 18px;
	margin: 5px 0;
}
.document-container .document-add-element{
	display:inline-block;
	margin-left:10px;
}
.document-container .document-add-element > button{
	border-radius: 2em;
	padding-top: 4px;
	padding-bottom: 4px;
}
.documents-settings {
	position: absolute;
	right: 10px;
}
.file-module {
	border-top: 1px solid #cecece;
	/*100vh - 50px (header) - 50px (footer) - 92px (breadcrumb + search)*/
	height: calc(100vh - 192px);
	overflow-y: auto;
}
.file-module > table {
	width:100%;
}
.file-module > table th,
.file-module > table td{
	padding: 5px 10px;
}
.file-module > table thead th {
	padding: 10px;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
}
.file-module > table thead th:hover {
	color: #8c8c8c;
    background-color: #ddedff;
}
.file-module > table thead {
	color:#b2b2b2;
    font-size: 0.75em;
}
.file-module > table thead tr {
	border-bottom:1px solid #eaeaea;
}
.file-module > table thead tr th.name-head,
.file-module > table tbody tr td.name-cell {
	padding-left: 20px;
}
.file-module > table tbody tr td.name-cell {
	font-size: 0.8em;
	width: 350px;
	max-width: 350px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.file-module > table tbody tr td.size-cell {
	width: 100px;
	font-size: 11px;
}
.file-module > table tbody tr td.creator-cell,
.file-module > table tbody tr td.firm-cell,
.file-module > table tbody tr td.updated-cell {
	width: 160px;
	font-size: 11px;
}
.file-module > table tbody tr {
	border-bottom:1px solid #eaeaea;
	color:#595959;
}
.file-module > table tbody tr.ui-sortable-placeholder {
	display: none;
}

.detail-panel .detail-thumbnail{
	background: url(../img/default-image.svg) no-repeat center center #f5f4f4;
	height:250px;

	text-align: center;
	background-size: auto 140px;
}
.detail-panel .detail-thumbnail .thumbnail-preloader{
	font-size: 40px;
	height:250px;
	background-color: #f5f4f4;
	padding-top: 100px;
	opacity:0;
	box-sizing: border-box;
	color:#cecece;
	transition: opacity 0.2s ease-in-out;

}
.detail-panel .detail-thumbnail .thumbnail-preloader.show{
 	opacity:1;
 	transition:none;
}


.document-container .detail-buttons{
	padding: 5px 10px;
}
.document-container .detail-buttons li .btn{
	width:100%;
}
.detail-panel h1{
	padding: 5px 10px;
	color: #333333;
	word-break: break-all;
}
.detail-panel small.informations {
	display: inline-block;
	width: 100%;
	color: #bebebe;
	padding: 5px 10px;
}

.document-container .file-editor{
	position: absolute;
	background: #fefefe;
	width: 100%;
	height: calc(100vh - 192px);
	z-index: 10;
}
.document-container .file-editor .file-editor-input{
	width: 100%;
	height:100%;
	padding:15px;
	color:#222222;
	outline: none;
}
.document-container .btn-editor-save,.btn-editor-cancel,.btn-editor-expand{
	border-radius: 0px;
}
.document-container .file-editor .file-editor-header{
	background: #f5f4f4;
	display: flex;
}
.document-container .file-editor.expanded {
    width: 100%;
    position: fixed;
    top: 50px;
    left: 0;
    height: 100%;
}
.document-container .file-editor.expanded .file-editor-header {
    height: 38px;
}
.document-container .file-editor .file-editor-content {
	/*header: 50px + editor: 38px = 88px*/
    height:calc(100% - 88px);
}
.document-container .file-editor .file-editor-name{
	flex: 1 0;
	margin-left: 5px;
	font-weight: bold;
	height: 38px;
	opacity: 0.5;
	transition: opacity 0.1s ease-in-out;
	outline: none;
	background: transparent;
	border: 0;
	z-index: 1100;
}
.document-container .file-editor .file-editor-name:hover{
	opacity:1;
}

@keyframes pop{
	50%  {transform: scale(1.2);}
}


.preloader-upload {
	position: absolute;
	top: calc(30% - 20px);
	left: calc(50% - 250px);
}
@keyframes loader {
	0% { left: -100px }
	100% { left: 110%; }
}
.preloader-upload-box {
	width: 50px;
	height: 50px;
	background: #ffc700;
	animation: animate .5s linear infinite;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 3px;
}
@keyframes animate {
	17% { border-bottom-right-radius: 3px; }
	25% { transform: translateY(9px) rotate(22.5deg); }
	50% {
		transform: translateY(18px) scale(1,.9) rotate(45deg) ;
		border-bottom-right-radius: 40px;
	}
	75% { transform: translateY(9px) rotate(67.5deg); }
	100% { transform: translateY(0) rotate(90deg); }
}
.preloader-upload-shadow {
	width: 50px;
	height: 5px;
	background: #000;
	opacity: 0.1;
	position: absolute;
	top: 59px;
	left: 0;
	border-radius: 50%;
	animation: shadow .5s linear infinite;
}
@keyframes shadow {
	50% {
		transform: scale(1.2,1);
	}
}


@media (max-width: 768px){
	.module-document {
    overflow: auto;
	}
	.document-container{
		display: block;
	}
	.document-container .detail-panel {
	    display: block!important;
	    width: 100%;
	}
	.document-container .detail-thumbnail {

	   height:200px;
	}
	.module-document .footer{
		display: none;
	}
}
