@media (max-width: 340px) {
	.header > .title {
		font-size: 1rem;
		margin-top: 5px;
	}
}

@media (min-width: 341px) {
	.header > .title {
		font-size: 1.2rem;
		margin-top: 2px;
	}
}

@media (max-width: 900px) {
	#menu {
		transition: width 1s;
		overflow: hidden;
		position: absolute;
		height: calc(100vh - 46px);
		background-color: #0d6efd;
	}

	.show-menu {
		width: 70%;
	}
	.hide-menu {
		width: 0px;
	}
	
	#menu > button {
		background-color: #0d6efd;
		color: #fff;
	}

	#menu > button:hover {
		background-color: #0b4cdb;
	}
	
	.logged-in-user-info {
		width: 100%;
		color: #fff;
	}

	.logged-in-user-info > hr {
		border-top: none;
	}

	.logged-in-user-info > a {
		color: #fff;
	}
	
	.body-container .body {
		width: 100%;
	}
}

@media (min-width: 901px) {
	.header > .menu-icon {
		display: none;
	}

	#menu {
		background-color: #f8f9fa;
	}

	.show-menu, .hide-menu, .logged-in-user-info {
		width: 230px;
		color: #000;
	}

	#menu > button {
		background-color: #f8f9fa;
		color: #000;
	}

	#menu > button:hover {
		background-color: #e2e3e5;
	}

	.logged-in-user-info > a {
		color: #000;
	}
	
	.body-container .body {
		width: calc(100% - 230px);
	}
}

body {
	margin: 0;
}

#message-box {
	display: none;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100vh;
	width: 100vw;
	background-color: #000000b3;
}

#message-success, #message-error {
	display: none;
	border-radius: 5px;
	width: fit-content;
	max-width: 270px;
	padding: 10px;
	margin: 30px auto 0 auto;
	font-family: 'Noto Serif', serif;
}

#message-success {
	background-color: #d1e7dd;
	color: #0f5132;
	border: 1px solid #badbcc;
}

#message-error {
	background-color: #f8d7da;
	color: #842029;
	border: 1px solid #f5c2c7;
}

.header {
	display: flex;
	background-color: #0d6efd;
	height: 32px;
	padding: 7px;
}

.header > .menu-icon {
	color: #fff;
	padding: 5px;
	border: 1px solid #fff;
	border-radius: 5px;
	width: 20px;
	height: 20px;
}

.header > .menu-icon:hover {
	background-color: #2f8fff;
}

.header > .title {
	font-family: 'Noto Serif', serif;
	color: #fff;
	font-weight: bold;
	padding-left: 5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.body-container {
	display: flex;
	min-height: calc(100vh - 46px);
}

#menu > button {
	width: 100%;
	padding: 10px 5px;
	border: none;
	text-align: left;
	font-family: 'Noto Serif', serif;
	font-size: 1rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.logged-in-user-info {
	position: absolute;
	bottom: 0;
	left: 0;
	white-space: nowrap;
	font-family: 'Noto Serif', serif;
	text-align: center;
	padding-bottom: 10px;
}

.logged-in-user-info > hr {
	margin: 7px 0 7px 0;
}

.logged-in-user-info > p {
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	padding: 0 5px 0 5px;
}

.logged-in-user-info > p:nth-child(2) {
	font-size: 0.9rem;
}

.logged-in-user-info > p:nth-child(3) {
	font-size: 0.8rem;
}

.logged-in-user-info > a {
	text-decoration: none;
	margin: 0 5px 0 5px;
	font-size: 0.9rem;
}

#confirm-op-container {
	display: none;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100vh;
	width: 100vw;
	background-color: #000000b3;
}

#confirm-dialog-box {
	margin: 50px auto 0 auto;
	background-color: #fff;
	border-radius: 5px;
	border: 1px solid #0008;
	box-shadow: 5px 5px 10px #0008;
	padding: 15px;
	font-family: 'Noto Serif', serif;
}

#confirm-op-msg {
	margin: 0 0 15px 0;
}

#confirm-dialog-box > div {
	text-align: right;
}

#confirm-op-btn {
	font-size: 1rem;
	font-family: 'Noto Serif', serif;
	background-color: #eee;
	color: #000;
	border: 1px solid #0004;
	border-radius: 5px;
	padding: 5px;
}

#confirm-op-btn:hover {
	background-color: #ccc;
}

@media (max-width: 440px) {
	#confirm-dialog-box {
		width: calc(100% - 40px);
	}
}

@media (min-width: 441px) {
	#confirm-dialog-box {
		width: 400px;
	}
}

.footer {
	background-color: #e2e3e5;
	text-align: center;
	padding: 15px 5px;
}

.footer a {
	text-decoration: none;
	color: #202124;
	font-size: 0.9rem;
	font-family: 'Noto Serif', serif;
}

.footer a:hover {
	font-weight: bold;
}
