:root{
	--black: rgba(20, 20, 20, 1);
	--white: rgba(255, 255, 255, 1);
	--orange: rgba(255,165, 0, 1);
	--lighterblue: rgba(103, 154, 195, 1);
	--lightblue: rgba(67, 112, 149, 1);
	--blue: rgba(62, 87, 107, 1);
	--darkblue: rgba(36, 58, 74, 1);
	--darkerblue: rgba(24, 29, 47, 1);
}

@font-face{
	font-family: roboto;
	src: url('font/Roboto-Regular.ttf');
	font-weight: normal;
	font-style: normal;
}

@font-face{
	font-family: roboto;
	src: url('font/Roboto-Bold.ttf');
	font-weight: bold;
	font-style: normal;
}

@font-face{
	font-family: roboto;
	src: url('font/Roboto-Italic.ttf');
	font-weight: normal;
	font-style: italic;
}

html{
	box-sizing: border-box;
}

*, *:before, *:after{
	box-sizing: inherit;
	font-family: roboto;
	font-size: 15px;
}

/* bootstrap icons margin */
i{
	margin-right: 0.4em;
}

/* overwrite pre tag nowrap default in tinymce */
pre{
	white-space: break-spaces;
}

code{
	font-family: consolas, monospace;
	font-weight: bold;
	background-color: lightblue;
	color: rgba(0, 0, 0, 1);
}

body{
	background: var(--black);
	color: var(--white);
	margin: 75px 25px;
}

input, textarea, button{
	outline: 0;
	border-radius: 3px;
	color: var(--black);
	padding: 5px 10px;
}

input{
	background-color: var(--black);
}

button{
	background-color: var(--orange);
	color: var(--black);
}

input::placeholder{
	color: var(--black);
	opacity: 0.6;
	text-align: center;
}

button:hover{
	cursor: pointer;
}

a{
	color: var(--white);
	text-decoration: none;
}

a:hover{
	color: var(--orange);
}

.menu{
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: var(--darkblue);
	box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.7);
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.menu-item{
	padding: 0 25px;
}

.menu-item:hover{
	cursor: pointer;
	color: var(--orange);
}

.menu-search-form{
	border-radius: 0;
	border: 2px solid var(--lightblue);
	background-color: var(--white);
}

.menu-search-button{
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	padding: 5px 10px;
	background-color: var(--lightblue);
	color: var(--white);
	border: 2px solid var(--lightblue);	
}

.menu-search-cancel-button{
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	padding: 5px 10px;
	background-color: var(--lightblue);
	color: var(--white);
	border: 2px solid var(--lightblue);		
}

.main{
	max-width: 1600px;
	min-width: 1000px;
	margin: auto;
}

.list-add-button{
	border: 2px solid var(--lightblue);
	padding: 6px 10px;
	background-color: var(--lightblue);
	color: var(--white);
}

.list-add-button:hover{
	background-color: var(--orange);
	border: 2px solid var(--orange);	
	color: var(--black);
}

.list-row{
	background-color: var(--darkblue);
	border: 2px solid var(--darkblue);
	padding: 10px;
	margin-bottom: 5px;
	color: var(--white);
	border-radius: 3px;
	font-weight: bold;
	word-break: break-word;
}

.list-row:nth-child(even){
	background-color: var(--blue);
	border: 2px solid var(--blue);
}

.list-row:nth-child(odd){
	background-color: rgba(50, 71, 88, 1);
	border: 2px solid rgba(50, 71, 88, 1);
}

.list-row:hover{
	border: 2px solid var(--orange);
	color: var(--orange);
	cursor: pointer;
	background-color: var(--darkblue);
}

.list-header{
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}

.detail-header{
	position: relative;
	width: 100%;
	background-color: var(--darkblue);
	font-size: 1.8em;
	font-weight: bold;
	text-align: center;
	border-radius: 3px;
	padding: 5px 25px;
	word-break: break-word;
}

.article-container{
	font-size: 3em;
}

.article-icon{
	cursor: pointer;
	border-radius: 3px;
	background-color: var(--blue);
	color: var(--white);
	padding: 4px;
	width: 20px;
	height: 20px;
	margin-right: 5px;
}

.detail-body{
	width: 66%;
	background-color: var(--lightblue);
	padding: 25px;
	margin: 5px 5px 5px 0;
	border-radius: 3px;
}

.detail-body img{
	max-width: 100%;
	max-height: 100%;
	obejct-fit: contain;
	width: auto;
	height: auto;
}

.detail-body pre{
	background-color: lightblue;
	padding: 5px 10px;
	color: rgba(0, 0, 0, 1);
	font-weight: bold;
}

.detail-body code{
	padding: 0 10px;
	color: rgba(0, 0, 0, 1);
	font-weight: bold;
}

.detail-attach{
	width: 34%;
	padding: 25px;
	background-color: var(--blue);
	border-radius: 3px;
	margin: 5px 0 5px 0;
}

.login-container{
	background-color: var(--darkerblue);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	width: 250px;
	height: 200px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align:center;
	position: relative;
}

.login-input, .login-button{
	color: var(--black);
	border: 2px solid var(--lightblue);
	background-color: var(--white);
	width: 100%;
	margin: 3px 0;
}

.login-button{
	background-color: var(--blue);
	color: var(--white);
}

.kb-form{
	width: 100%;
	background-color: var(--white);
	border: 2px solid var(--lightblue);
	color: var(--black);
	padding: 5px 10px;
	margin: 10px 0;
}

.kb-form::placeholder{
	text-align: left;
	opacity: 0.7;
}

.kb-button{
	background-color: var(--lightblue);
	color: var(--white);
	border: 0;
	padding: 5px 25px;
}

.kb-button:hover{
	background-color: var(--orange);
	color: var(--black);
}

.file-container{
	margin-top: 50px;
}

.file-header, .link-header{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--white);
	padding-bottom: 2px;
}

.file-header-text, .link-header-text{
	font-size: 1.3em;
}

.file-header-button, .link-header-button{
	font-size: 0.9em;
}

.file-header-button:hover, .link-header-button:hover{
	color: var(--orange);
	cursor: pointer;
}

.file-item, .link-item{
	background-color: var(--darkerblue);
	margin-top: 8px;
	padding: 8px;
	display: flex;
	border-radius: 3px;
}

.file-item-text, .link-item-text{
	width: 75%;
	word-break: break-word;
}

.file-item-buttons, .link-item-buttons{
	width: 25%;
	text-align: right;
}

.file-item-buttons .file-button, .link-item-buttons .link-button{
	font-size: 0.8em;
	background-color: var(--blue);
	padding: 3px;
	cursor: pointer;
	border-radius: 3px;
	margin-right: 3px;
}

.file-item-buttons .file-button:last-child, .link-item-buttons .link-button:last-child{
	margin-right: 0;
}

.file-add-form, .link-add-form{
	margin: 8px 0 16px 0;
	display: none;
}

.file-add-input, .file-update-input, .link-add-input, .link-update-input{
	border: 2px solid var(--darkerblue);
	background-color: var(--white);
	color: var(--black);
	margin-bottom: 3px;
	width: 100%;
}

.file-add-button, .file-update-button, .link-add-button, .link-update-button{
	width: 100%;
	background-color: var(--darkerblue);
	color: var(--white);
	border: 2px solid var(--darkerblue);
}

.file-add-button:hover, .file-update-button:hover, .link-add-button:hover, .link-update-button:hover{
	color: var(--black);
	background-color: var(--orange);
}

.file-update-form, .link-update-form{
	display: none;
	margin: 8px 0 16px 0;
}

.file-update-form-buttons, .link-update-form-buttons{
	display: flex;
	justify-content: space-between;	
}

.file-not-found, .link-not-found{
	text-align: center;
	font-style: italic;
	font-size: 0.8em;
	margin-top: 10px;
}

.article-icon:hover, .file-button:hover{
	background-color: var(--orange);
	color: var(--black);
}