@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

* {
   margin: 0;
   padding: 0;
   border: 0;
   outline: none;
   box-sizing: border-box;
}

body {
   height: 100vh;
   min-height: 100vh;
   align-items: center;
   justify-content: center;
   background-image: url("/assets/images/background.png");
   background-size: cover;
   background-repeat: no-repeat;
   background-attachment: fixed;
   margin: 0;
   padding: 0;
   font-optical-sizing: auto;
   font-family: 'Roboto', 'Noto Sans TC', sans-serif;
   font-weight: 400;
}

body::before {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url("/assets/images/background.png");
   background-size: cover;
   background-repeat: no-repeat;
   background-attachment: fixed;
   filter: blur(10px);
   z-index: -1;
}

p {
   letter-spacing: .5px;
   color: #333;
}

::selection {
   background-color: #C8E1F0;
   color: unset;
}

.left {
   text-align: left;
   margin: 20px auto 24px;
}

.right {
   text-align: right;
}

a {
   color: #6DA4EF;
   text-decoration: none;
   position: relative;
   transition: color 0.5s ease;
}

a::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 0;
   height: 1px;
   background-color: #1C7EF6;
   transition: width 0.3s ease-in-out;
}

a:hover {
   color: #1C7EF6;
}

a:hover::after {
   width: 100%;
}

.container {
   position: relative;
   width: 600px;
   max-width: 600px;
   min-height: 350px;
   padding: 28px 32px;
   overflow: hidden;
   border-radius: 5px;
   transition: 0.6s ease-out;
   margin: 0 auto 24px;
   display: flex;
   flex-direction: column;
   background: rgba(255, 255, 255, 0.85);
   backdrop-filter: blur(5px);
   -webkit-backdrop-filter: blur(5px);
}

.container:first-of-type {
   margin-top: 120px;
   text-align: center;
}

.container:last-of-type {
   margin-bottom: 120px;
}

.container hr {
   border: 0;
   height: 4px;
   width: 90%;
   background-color: #d0d0d0;
   mask-image: linear-gradient(to right, transparent 2%, black 10%, black 90%, transparent 98%);
   mask-size: 100% 100%;
   mask-repeat: no-repeat;
   margin-bottom: 20px;
   align-self: center;
}

.container h2 {
   margin: 0 auto 24px;
}

.nametag {
   color: #515151;
   font-size: 16px;
   margin-top: 5px;
   margin-bottom: 15px;
}

.links-box {
   text-align: left;
}

.link-item {
   align-items: flex-start;
   border-bottom: 1px solid #d0d0d0;
   gap: 8px;
   padding: 16px 0;
   display: flex;
   flex-direction: row;
}

.link-item div svg, path, i {
   margin: 0 1em 0;
   color: #333;
   min-height: 24px;
   max-height: 60px;
   max-width: 60px;
   align-self: center;
   vertical-align: middle;
}

.link-item h3 {
   margin: 0;
   font-size: 18px;
   font-weight: bold;
}

.link-item .icon {
   min-width: 40px;
   min-height: 40px;
   margin: 0 1em auto;
   background-color: transparent;
   display: flex;
}

.link-item p {
   margin: 0;
   font-size: 14px;
   color: #555;
}

.link-item:last-child {
   border-bottom: none;
}

.info-box {
   text-align: center;
}

.info-box img {
   margin-top: 30px;
   width: 100px;
   height: 100px;
   justify-content: space-between;
   border-radius: 50%;
}

h1, h2, h3, h4, h5, h6 {
   margin: 10px 0 0;
   font-weight: 600;
   font-family: 'Roboto', 'Noto Sans TC', sans-serif;
}

p.copyright {
   position: relative;
   text-align: center;
   align-self: center;
   justify-self: center;
   font-family: 'Roboto', sans-serif;
   font-weight: 300;
   font-size: small;
   display: flex;
   flex-direction: column;
   color: #CCC;
   margin-bottom: 50px;
}

p.copyright::selection {
   background-color: none;
}

.hidden {
   display: none;
}