@charset "utf-8";

@font-face { font-family: "Noto Sans TC"; font-style: normal; font-weight: 400 700; src: url("../fonts/NotoSansTC-VariableFont_wght.ttf") format("opentype"); }

/* GLOBAL - Start */

:root {
  --clr-bg: #f7f7f7;
  --clr-text: #3f3f3f;
  --clr-accent-bg: #0d6efd;
  --clr-accent-text: #ffffff;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: var(--clr-bg);
  color: var(--clr-text);
  font-family: "Noto Sans TC", sans-serif;
  line-height: 1.25;
}

h1 {
  font-size: 2rem;
  font-weight: normal;
  text-transform: uppercase;
}

.section-alert {
  position: fixed;
  right: 1rem;
  top: 1rem;
  width: min(32rem, calc(100% - 2rem));
  z-index: 999;
}

/* GLOBAL - End */

/* Forms - Start */

.logo {
  width: 8rem;
  max-height: 8rem;
  object-fit: contain;
  margin-bottom: 0.5rem;
}

.login-form {
  width: 20rem;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  --bs-gutter-x: 0;
}

.row {
  --bs-gutter-x: 0.5rem;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
}

.form-control {
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: 0;
  line-height: inherit;
}

.form-link {
  font-size: 0.875rem;
  font-weight: bold;
}

.btn-primary {
  --bs-btn-color: var(--clr-accent-text);
  --bs-btn-bg: var(--clr-accent-bg);
  --bs-btn-border-color: var(--clr-accent-bg);
  --bs-btn-hover-color: var(--clr-accent-text);
  --bs-btn-hover-bg: var(--clr-accent-bg);
  --bs-btn-hover-border-color: var(--clr-accent-bg);
  --bs-btn-active-color: var(--clr-accent-text);
  --bs-btn-active-bg: var(--clr-accent-bg);
  --bs-btn-active-border-color: var(--clr-accent-bg);
  display: block;
  width: 20rem;
  padding: 0.5rem 0.75rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
  line-height: inherit;
  text-transform: uppercase;
  transition: opacity .15s ease-in-out;
}

.btn-primary:is(:hover, :focus-visible) {
  opacity: 0.7;
}

/* Forms - End */