@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; }

.focus {
  width: 100%;
  padding: 0;
  position: relative;
  margin-bottom: 1.5em; }
  .focus .f-1 {
    width: 38%; }
    .focus .f-1 img {
      width: 100%;
      height: auto; }
  .focus .f-2 {
    position: absolute;
    left: 32%;
    top: 0;
    width: 38%; }
    .focus .f-2 img {
      width: 100%;
      height: auto; }
  .focus .f-3 {
    position: absolute;
    left: 63%;
    top: 0;
    width: 38%; }
    .focus .f-3 img {
      width: 100%;
      height: auto; }
  @media (min-width: 769px) {
    .focus {
      padding: 0 5.5%;
      position: relative; }
      .focus .f-1 {
        width: 37%; }
        .focus .f-1 img {
          width: 100%;
          height: auto; }
      .focus .f-2 {
        position: absolute;
        left: 33.5%;
        top: 0;
        width: 33%; }
        .focus .f-2 img {
          width: 100%;
          height: auto; }
      .focus .f-3 {
        position: absolute;
        left: 61.5%;
        top: 0;
        width: 33%; }
        .focus .f-3 img {
          width: 100%;
          height: auto; } }

.event-list {
  position: relative;
  padding: 0 0 2em 0;
  margin: 0; }
  .event-list:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    content: "";
    background-color: #cdcdcd; }
  .event-list .event {
    padding: 1em 1em 0 1em;
    position: relative; }
    .event-list .event:before {
      position: absolute;
      left: 0;
      top: 3em;
      width: 3px;
      height: 20px;
      content: "";
      background-color: #003399; }
    .event-list .event .year {
      text-shadow: -1px -1px 0 #003399, 1px -1px 0 #003399, -1px 1px 0 #003399, 1px 1px 0 #003399;
      font-size: 3em;
      font-style: italic;
      font-weight: bold;
      color: white; }
    .event-list .event .event-intro {
      font-size: 1.2em;
      color: #29629b; }
  .event-list .detail {
    padding: 0; }
    .event-list .detail ul {
      overflow: hidden; }
      .event-list .detail ul li {
        color: #666;
        position: relative;
        padding: 0.5em 0; }
        .event-list .detail ul li:before {
          position: absolute;
          left: -2em;
          bottom: 0;
          width: 120%;
          height: 1px;
          content: "";
          background-color: #cdcdcd; }
  @media (min-width: 992px) {
    .event-list .event {
      padding: 1em 2em 0 2em; }
      .event-list .event .year {
        font-size: 4em; }
      .event-list .event .event-intro {
        font-size: 1.5em;
        color: #999; }
    .event-list .detail {
      padding: 0; }
      .event-list .detail ul {
        overflow: hidden; }
        .event-list .detail ul li {
          padding: 1em; }
          .event-list .detail ul li:before {
            position: absolute;
            left: -1.5em; } }

.banner {
  padding-bottom: 4em;
  position: relative; }
  .banner .info {
    background-color: #003399;
    padding: 2em;
    width: 100%;
    position: inherit;
    left: auto;
    top: auto;
    color: white;
    margin-top: 1em; }
    @media (min-width: 922px) {
      .banner .info {
        position: absolute;
        left: 2em;
        top: -2em;
        padding: 1em 2em;
        width: 45%;
        margin-top: 0; } }
    @media (min-width: 1200px) {
      .banner .info {
        position: absolute;
        left: 1.5em;
        top: -1.5em;
        padding: 2em;
        width: 35%;
        margin-top: 0; } }
    .banner .info a {
      color: white; }
    .banner .info h2 {
      font-size: 1.6em;
      font-weight: bold;
      margin-bottom: 0.5em; }
      @media (min-width: 769px) {
        .banner .info h2 {
          font-size: 2em; } }
    .banner .info address {
      margin: 0; }

.contact-form {
  padding: 0 1.5em; }
  .contact-form h3 {
    font-weight: bold;
    color: #003399;
    font-size: 2em;
    text-transform: uppercase;
    margin-bottom: 1em; }
  .contact-form form input, .contact-form form textarea {
    border-radius: 0;
    border: 1px solid #cdcdcd; }
    .contact-form form input::placeholder, .contact-form form textarea::placeholder {
      color: #cdcdcd; }
  .contact-form form .btn-sm {
    padding: 0.5em !important;
    color: #29629b; }
    .contact-form form .btn-sm i {
      display: block;
      transition: all 0.3s linear; }
    .contact-form form .btn-sm:hover i {
      transform: rotate(180deg); }
  @media (min-width: 769px) {
    .contact-form {
      padding: 0 4em 0 0; } }

.map {
  position: relative;
  margin-top: 2em; }
  @media (min-width: 769px) {
    .map {
      margin-top: 0; } }
  .map:before {
    position: absolute;
    left: -1.4em;
    top: 1em;
    width: 1.3em;
    height: 1.3em;
    display: inline-block;
    content: "";
    vertical-align: -.125em;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23333' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
    background-size: cover;
    filter: invert(14%) sepia(100%) saturate(6709%) hue-rotate(359deg) brightness(105%) contrast(109%); }
  .map:after {
    position: absolute;
    left: -1.5em;
    top: 2.5em;
    content: "Here am I";
    font-size: 1.1em;
    font-weight: bold;
    text-transform: uppercase;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl; }

.more-welding {
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
  padding: 1em 0; }
  @media (min-width: 992px) {
    .more-welding {
      background-size: 140% auto;
      background-position: center bottom; } }
  @media (min-width: 1200px) {
    .more-welding {
      background-size: cover;
      background-position: center 80px; } }
  .more-welding img {
    margin-bottom: 1.5em; }
