@import url(../fonts/fonts.css);
body {
  font-family: 'Ubuntu', 'Noto Sans TC', sans-serif; }

/* Works on Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #222 #f3f3f3; }

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 12px; }

*::-webkit-scrollbar-track {
  background: #f3f3f3; }

*::-webkit-scrollbar-thumb {
  background-color: #222;
  border-radius: 25px;
  border: 4px solid #f3f3f3; }

body {
  font-size: 16px; }
  @media (min-width: 769px) {
    body {
      font-size: 18px; } }

a {
  text-decoration: none;
  transition: all 0.2s ease-in; }

.btn {
  font-size: 0.85em;
  text-align: center;
  padding: 0.45em 2.5em;
  border-radius: 0;
  text-transform: uppercase; }

.btn-outline-dark {
  border: 1px solid #333;
  color: #333; }

html,
body {
  overflow-x: hidden;
  /* Prevent scroll on narrow devices */ }

@media (max-width: 991.98px) {
  .offcanvas-collapse {
    position: fixed;
    top: 56px;
    /* Height of navbar */
    bottom: 0;
    left: 100%;
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow-y: auto;
    visibility: hidden;
    background-color: #343a40;
    transition: transform .3s ease-in-out, visibility .3s ease-in-out; }

  .offcanvas-collapse.open {
    visibility: visible;
    transform: translateX(-100%); } }
.nav-scroller .nav {
  color: rgba(255, 255, 255, 0.75); }
.nav-scroller .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
  color: #6c757d; }
.nav-scroller .nav-link:hover {
  color: #007bff; }
.nav-scroller .active {
  font-weight: 500;
  color: #343a40; }

.bg-purple {
  background-color: #6f42c1; }
