/* ------------------------------------ Custom Style for Page ---------------------------------- */

/* Main Pages */
.main {
  min-height: 100vh;
  height: 100%;
  background-color: #fafafa;
}
.header {
  padding-top: 5px;
  padding-bottom: 1px;
  background-color: #ffffff;
  border-bottom: 0px solid #dddddd;
}
.content {
  padding-top: 10px;
  padding-bottom: 10px;
}
.footer {
  padding-top: 5px;
  padding-bottom: 5px;
  background-color: #ffffff;
  border-bottom: 0px solid #dddddd;
  min-height: 100px;
}

.auth-form {
  width: 100%;
  max-width: 500px;
  padding: 15px;
  margin: auto;
}
.auth-form .checkbox {
  font-weight: 400;
}
.auth-form .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px;
}
.auth-form .form-control:focus {
  z-index: 2;
}
.auth-form input[type="email"] {
  margin-bottom: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.auth-form input[type="username"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.auth-form input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.auth-form input[type="text"] {
  margin-bottom: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.auth-form textarea[type="text"] {
  margin-bottom: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.message-form {
  width: 100%;
  max-width: 700px;
  padding: 15px;
  margin: auto;
}
.message-form input[type="text"] {
  margin-bottom: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.search-form {
  width: 100%;
  max-width: 500px;
  padding: 15px;
  margin: auto;
}
.search-form input[type="search"] {
  margin-bottom: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.h3 {
  text-align: center;
}
#notice-msg {
  text-align: center;
}
#alert-msg {
  text-align: center;
}

#responsive-image {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

mark {
  background-color: yellow;
  color: black;
}

/* --------------------------------------------------------------------------------------------- */

/* General Pages */
.box-message {
  height: 400px;
  width: 60%;
  overflow-y: scroll;
  display: block;
  text-align: justify;
  padding: 20px;
  border: 1px solid royalblue;
}

.table-info {
  width: 60%;
}

/* Style for Pagination (class) */
div.pagination {
  padding: 3px;
  margin: 3px;
}

div.pagination a {
  padding: 2px 5px 2px 5px;
  margin: 2px;
  border: 1px solid royalblue;
  text-decoration: none; /* no underline */
  color: royalblue;
}

div.pagination a:hover,
div.pagination a:active {
  border: 1px solid royalblue;
  color: black;
}

div.pagination span.current {
  padding: 2px 5px 2px 5px;
  margin: 2px;
  border: 1px solid royalblue;
  font-weight: bold;
  background-color: royalblue;
  color: white;
}

div.pagination span.disabled {
  padding: 2px 5px 2px 5px;
  margin: 2px;
  border: 1px solid lightgray;
  color: lightgray;
}

/* --------------------------------------------------------------------------------------------- */

/* Calendar Pages */
.left {
  float: left;
}
.right {
  float: right;
}
.clearfix {
  margin: 15px;
}
.form {
  margin: auto;
}
.form input,
.form select,
.form textarea {
  border-radius: 5px;
  border: 1px solid #17a2b8;
  outline: none;
  background: none;
  padding: 5px;
  width: 100%;
}
.calendar {
  width: 75%;
  margin: auto;
  font-size: 10px;
}
.calendar tr,
.calendar td {
  border: 1px solid lightgrey;
}
.calendar th {
  padding: 10px;
  text-align: center;
  font-size: 18px;
}
.calendar td {
  width: 100px;
  height: 75px;
  padding: 20px 5px 5px 5px;
}
.month {
  font-size: 20px;
}
.date {
  font-size: 15px;
}
ul {
  height: 100%;
  padding: 5px 5px 5px 20px;
}
