body {
	font-family: 微軟正黑體, Lora, "Helvetica Neue", Helvetica, Arial, sans-serif!important;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold!important;
}

img {
	margin: auto;
}

input {
	flex-grow: 1;
}

section p {
	padding: .5rem;
}

.btn {
	border-radius: 0.25rem;
}

.btn-primary {
	background-image: linear-gradient(to bottom, #337AB7 0%, #265A88 100%);
	border-color: #245580!important;
}

.btn-primary:hover {
	background-image: linear-gradient(to bottom, #265A88 100%, #265A88 100%);
}

.btn-agree {
	color: #34b082;
	font-weight: bold!important;
	background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
	border: 1px solid #34b082!important;
}

.btn-agree:hover {
	background-image: linear-gradient(to bottom, #e0e0e0 100%, #e0e0e0 100%);
}

.btn-tab {
	font-size: 1.2rem!important;
	background-color: #F1F1F1;
}

.btn-tab:hover,
.btn-tab.target {
	background-color: #DDDDDD;
}

/*---------------   Header   -----------------*/

header {
	width: 100%;
	height: 50px;
	position: fixed;
	padding: 0 1rem;
	display: flex!important;
	justify-content: space-between;
	align-items: center;
	color: white;
	background-color: #003377;
	z-index: 10;
}

.tool-bar {
	display: flex;
	flex-direction: row-reverse;
	font-size: 16px;
	font-weight: bold;
}

.header-btn {
	height: 50px;
	padding: 10px;
	display: grid;
	align-items: center;
	cursor: pointer;
}

.header-btn:hover {
	color: #003377;
	background-color: #EEEEEE;
}

/*---------------   Modal   -----------------*/

.modal-body .form-text,
.modal-body .form-inline span {
	padding: 10px;
}

.modal-body iframe {
	width: 100%;
	height: 70vh;
	border: none;
}

/*---------------   Main   -----------------*/

main {
	width: 100%;
	position: absolute;
	top: 50px;
	padding: 0 7rem;
	color: black;
}

section {
	margin: 7rem 0;
}

.content {
	max-width: 1050px;
	margin: 2rem auto;
}

.title h1 {
	padding: 2rem;
	font-weight: bolder;
	text-align: center;
}

.btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.btns > * {
	margin: 2.5px;
}

.meta-row {
	margin: 1rem 0;
	padding: 1rem;
	display: grid;
	grid-gap: .5rem;
	border: 1px solid gainsboro;
	border-radius: 5px;
}

.new {
	padding: 2px 5px;
	color: black;
	background-color: yellow;
	border-radius: 5px;
	font-size: .5rem;
	font-weight: normal;
}

.label {
	padding: 2px 5px;
	color: white;
	background-color: #545B62;
	border-radius: 5px;
}

/*---------------   Intro   -----------------*/

#banner {
	display: grid;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
}

#intro {
	padding: 2rem;
	text-align: center;
	border-radius: 10px;
	background-color: whitesmoke;
}

/*---------------   Guideline   -----------------*/

#guideline p {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
}

.guideline-btn {
	padding: 10px;
	display: grid;
	text-align: center;
	font-size: 1.1rem;
	font-weight: bold;
	cursor: pointer;
	border-radius: 10px;
}

.guideline-btn:hover,
.guideline-btn.target {
	background-color: aliceblue;
}

#guideline .content {
	padding: 1rem;
	display: none;
	background-color: whitesmoke;
	border-radius: 10px;
}

#guideline .content ul {
	width: fit-content;
	margin: 0 auto;
}

/*---------------   Tool   -----------------*/

#tool .content {
	display: grid;
	grid-gap: 3rem 1rem;
	grid-template-columns: repeat(3, 1fr);
}

.tool-obj {
	width: 240px;
	margin: auto;
	padding: 10px;
	position: relative;
	display: grid;
	text-align: center;
	font-weight: bold;
	font-size: 1.1rem;
	border-radius: 10px;
}

.tool-img {
	height: 160px;
	display: grid;
}

.tool-img img:hover {
	height: 160px;
	cursor: pointer;
}


.tool-label {
	position: absolute;
	top: 10px;
}

.favorite {
	display: grid;
	align-items: center;
	color: #FF5050;
	font-size: 1.5rem;
	cursor: pointer;
}

.favorite:hover {
	font-size: 1.6rem;
}

.toolBox-header {
	margin-bottom: 1rem;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.toolBox-header img {
	margin: 0;
}

/*---------------   OpenDB   -----------------*/

.db-obj {
	margin: 10px 0;
	padding: 1rem;
	cursor: pointer;
}

.db-obj:nth-child(even) {
	background-color: ghostwhite;
}

.db-obj:hover {
	box-shadow: 0 0 5px rgba(0,0,0,.3);
}

/*---------------   Learning   -----------------*/

.learn-obj {
	margin: 1rem 0;
	padding: 1rem;
}

.learn-obj:nth-child(even) {
	background-color: ghostwhite;
}

.learn-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1rem;
}

.learn-content iframe {
	margin: 1rem auto;
}

/*---------------   Model   -----------------*/

.model-obj {
	width: fit-content;
	margin: auto;
	padding: 2rem;
	display: grid;
	grid-gap: .5rem;
	border: none;
	border-radius: 10px;
	background-color: ghostwhite;
}

/*---------------   News   -----------------*/

.news-obj {
	margin: .5rem 0;
	cursor: pointer;
}

.news-obj:hover {
	box-shadow: 0 0 5px rgba(0,0,0,.3);
}

.news-title {
	padding: .5rem;
	display: flex;
	justify-content: space-between;
	background-color: ghostwhite;
}

.news-content {
	padding: 1rem;
	display: none;
}

.news-content p {
	margin: 0;
	padding: 0;
}

/*---------------   Board   -----------------*/

#board .content {
	width: 500px;
	display: grid;
	grid-gap: .5rem;
}

.msg-obj {
	position: relative;
	padding: .5rem;
	box-shadow: 0 0 3px rgba(0,0,0,.3);
}

.msg-title {
	display: flex;
	align-items: flex-end;
}

.time {
	margin-left: 5px;
	font-size: small;
	color: gray;
}

.msg-toolbar {
	position: absolute;
	top: 5px;
	right: 5px;
}

.icon-btn {
	color: dodgerblue;
	cursor: pointer;
}

.icon-btn:hover {
	font-size: large;
}

/*---------------   Collaboration   -----------------*/

#collaboration .content {
	display: grid;
	grid-gap: 1rem;
}

.collaborator-obj {
	display: grid;
	grid-gap: 1rem;
	text-align: center;
}

.project-obj {
	padding: 1rem;
}

.project-obj:nth-child(even) {
	background-color: ghostwhite;
}

/*---------------   About   -----------------*/

#aboutUs .content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2rem;
}

.about-obj {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	grid-gap: 1rem;
	text-align: center;
	background-color: ghostwhite;
	border-radius: 10px;
}

/*---------------   Footer   -----------------*/

footer {
	width: 100%;
	position: fixed;
	bottom: 0;
	padding: 1rem;
	background-color: #E6E6E6;
	text-align: center;
	font-size: 14px;
	border-top: 1px solid #DCDCDC;
}

.betaLink,
.betaLink:hover {
	color: inherit;
	cursor: inherit;
	text-decoration: none;
}