html, body { height: 100%; margin:0px; }

body {
	width:100%;
	/*font-size-adjust:100%;*/
	-webkit-text-size-adjust:100%;
	box-sizing:border-box;
	position:relative;
	color:#000000;
	font-size:16px;
	font-family:"Lato", "微軟正黑體", "Microsoft JhengHei", sans-serif;
	/*overflow:hidden-x;*/
	overflow-y:auto;
	}

* {
	box-sizing: border-box;
}

input[type=text], input[type=email], input[type=password], select, textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	resize: vertical;
}

input:valid{
	border: 1px solid #ccc;
}

input:invalid{
	border:2px solid red;
}

label {
	padding: 0px 12px 12px 0;
	display: inline-block;
}

input[type=submit] {
	background-color: #04AA6D;
	color: white;
	padding: 12px 20px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	float: right;
}

input[type=submit]:hover {
	background-color: #45a049;
}

a {
	color:#0000ff;
	outline:none;
	text-decoration:none;
}

.top_logo {
	padding: 0px 20px 0px 20px;
	display: flex;
	justify-content: center;
	width: 1000px;
	margin-left: auto; 
	margin-right: auto;
}

.logo {
	width: 100%;
	max-width: 250px;
}

.top_title {
	font-size: 24pt;
	/*font-weight: bold;*/
	padding: 0px 20px 0px 20px;
	margin-left: auto; 
	margin-right: auto;
	display: flex;
	justify-content: center;
	width: 1000px;
}

.top_description {
	font-size: 18pt;
	/*font-weight: bold;*/
	padding: 0px 20px 0px 20px;
	margin-left: auto; 
	margin-right: auto;
	display: flex;
	justify-content: center;
	text-align:center;
	width: 1000px;
}

.index_container {
	font-size: 18pt;
	/*font-weight: bold;*/
	padding: 20px;
	margin-left: auto; 
	margin-right: auto;
	display: flex;
	justify-content: center;
	text-align:center;
	width: 1000px;
}

.index_button {
	border: none;
	color: white;
	padding: 15px 32px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 16px;
	margin: 4px 2px;
	cursor: pointer;
	border: none;
	border-radius: 10px;
	width: 350px;
	height: 100px;
  }

.index_button_registration {
	background-color: #c00000;
}

.index_button_registration:hover {
	background-color: #e70000;
}

.index_button_resend {
	background-color: #0070c0; 
}

.index_button_resend:hover {
	background-color: #0184e1;
}

.must {
	color: red;
	display: flex;
	justify-content: right;
	text-align:right;
}

.checkboxlabel {
	padding: 0px 12px 0px 0px;
	display: inline-block;
}

.checkboxrow {
	display: flex;
	align-items: flex-start;
	margin-top: 12px;
}

.checkboxtext {
	display: flex;
	flex-direction: column;
}

.container {
	border-radius: 5px;
	background-color: #f2f2f2;
	padding: 20px;
	margin-left: auto; 
	margin-right: auto;
	width: 1000px;
}

.form_input{
	width: 74.4% !important;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	resize: vertical;
}

.form_select{
	width: 25% !important;
}

.remark{
	font-size: 10pt;
	color: #004F88;
}

a.resend:link {
	font-size: 18pt !important;
	color: #0000ff !important;
}

a.resend:visited { 
	font-size: 18pt !important;
	color: #0000ff !important;
}

a.resend:hover {
	font-size: 18pt !important;
	color: #6b6bfd !important;
}

a.resend:active {
	font-size: 18pt !important;
	color: #0000ff !important;
}

.footer {
	padding: 0px 20px 0px 20px;
	display: flex;
	margin-left: auto; 
	margin-right: auto;
	width: 1000px;
}

.col-20 {
	float: left;
	width: 20%;
	margin-top: 6px;
}

.col-80 {
	float: left;
	width: 80%;
	margin-top: 6px;
}

/* Clear floats after the columns */
.row:after {
	content: "";
	display: table;
	clear: both;
}

.admin_container {
	border-radius: 5px;
	background-color: #f2f2f2;
	padding: 20px;
	margin-left: auto; 
	margin-right: auto;
	width: 100%;
	text-align: end;
}

.admin_table {
	border: 1px solid black;
	border-collapse: collapse;
	width: 100%;
  }
  
.admin_td {
	border: 1px solid black;
	text-align: left;
	padding: 8px;
  }
  
.admin_tr:nth-child(even) {
	background-color: #D6EEEE;
}

.admin_tr:nth-child(odd) {
	background-color: #FFFFFF;
}

.admin_teacher_tr:nth-child(4n+2) {
	background-color: #D6EEEE;
}

.admin_teacher_tr:nth-child(4n+3) {
	background-color: #D6EEEE;
}

.admin_subjects_ul{
	list-style: none;
}

.admin_subjects_li{
	font-size: 20px;
	display: inline-block;
	padding: 0px 0px 0px 20px;
	border-radius: 5px;
}

/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 820px) {
  .col-20, .col-80, input[type=submit] {
	width: 100%;
    margin-top: 0;
  }

.top_logo {
	width: 100%;
}

.top_title {
	font-size: 16pt;
	width: 100%;
}

.top_description {
	font-size: 12pt;
	width: 100%;
}

.index_container {
	width: 100%;
}

.container {
	width: 100%;
}

label {
	padding: 12px 12px 12px 0;
	display: inline-block;
}

.footer {
	width: 100%;
}
}

@media screen and (max-width: 600px) {
.top_logo {
	width: 100%;
}

.top_title {
	font-size: 16pt;
	width: 100%;
}

.top_description {
	font-size: 12pt;
	width: 100%;
}

.index_container {
	width: 100%;
}

.index_button {
	width: 250px;
  }

.container {
	width: 100%;
}

.footer {
	width: 100%;
}

.form_select{
	width: 25% !important;
}

.form_input{
	width: 73% !important;
}

}