@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100..900&display=swap');
@media (min-width: 1200px) { .bs-main .container, .bs-main .container-lg, .bs-main .container-md, .bs-main .container-sm, .bs-main .container-xl { max-width: 1024px; } }
@media (min-width: 1400px) { .bs-main .container, .bs-main .container-lg, .bs-main .container-md, .bs-main .container-sm, .bs-main .container-xl { max-width: 1024px; } }

.bs-main .relative { position: relative; }
.bs-main .absolute { position: absolute; }
.bs-main .w-80 { width: 80%; }
.bs-main .w-85 { width: 85%; }
.bs-main .text-justify { text-align: justify; }
@media (min-width: 992px) {
  .bs-main .text-lg-justify { text-align: justify !important; }
}
.bs-main .pt-10 { padding-top: 5rem; }
.bs-main .py-10 { padding-top: 5rem; padding-bottom: 5rem; }

main.bs-main { background-color: black; color: white;
    --letter-spacing-ratio: .01pt;
    --font-ratio: .75pt;
    --font-size-h2: 36;
    --font-size-h3: 20;
    --font-size-p: 18;
}
@media (max-width: 1200px) {
    main.bs-main { --font-ratio: .66pt; 
        --font-size-h2: 24;
        --font-size-h3: 20;
        --font-size-p: 18;
    }
}
.bs-main h2.hero { font-size: 2rem; font-weight: 700; }
.bs-main h2 { font-size: calc(var(--font-size-h2) * var(--font-ratio)); font-weight: 600; letter-spacing: calc(var(--font-size-h2) * .1pt); }
@media (min-width: 992px) {
    .bs-main h2.large { font-size: calc(var(--font-size-h2) * var(--font-ratio) * 1.6); }
}
.bs-main h3 { font-size: calc(var(--font-size-h3) * var(--font-ratio)); font-weight: 700; letter-spacing: calc(var(--font-size-h2) * .1pt); }
.bs-main p { font-size: calc(var(--font-size-p) * var(--font-ratio)); font-weight: 400; letter-spacing: calc(var(--font-size-h2) * .05pt); }
@media (max-width: 1200px) {
  .bs-main p {
    line-height: 1.4;
  }
}

.bs-main section.hero { background-image: url('./section/section1/Asset1@2x.webp'); background-size: contain; background-position: center; background-repeat: no-repeat; }
.bs-main section.hero .container { aspect-ratio: 16/11; display: flex; align-items: flex-end; justify-content: center; }
.bs-main section.hero img { width: 75%; aspect-ratio: 1529 / 431; }
@media (max-width: 1200px) {
    .bs-main section.hero { background-size: cover; }
    .bs-main section.hero .container { aspect-ratio: 5/4; }
    .bs-main section.hero img { width: 80%; }
}
.bs-main section.section_marks h3.type {  color: white; background-color: #a1a1a3; padding: 0.9em 1em; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; border-radius: 1.5rem; width: fit-content; text-align: center; margin: 0 auto 1.2rem; }
.bs-main section.section_marks h2.value { letter-spacing: 0.2rem;}
.bs-main section.section_marks p.cert { font-size: 1.2rem; letter-spacing: 0.1rem; }
.bs-main section.section_marks .link { border: 2px solid white; color: white; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.1em; padding: 0.4em 1.2em; border-radius: 1.5rem; display: inline-block; margin: 8rem auto 0; text-align: center; text-decoration: none; }
@media screen and (max-width: 1200px) {
    .bs-main section.section_marks h3.type { font-size: 1.2rem; padding: .6em .8em; border-radius: 1rem; margin: 0 auto 1rem; }
    .bs-main section.section_marks .link { padding: .4em 1.2em; margin-top: 0rem; }
}

.bs-main .degree {
  font-family: "Noto Sans HK", sans-serif;
    font-size: calc(var(--font-size-h2) * var(--font-ratio) * 1.4);
    font-weight: 700;
    background: linear-gradient(-29deg, #629DD4, #A8DFF3);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: .5rem;
}

.bs-main .section_shop_now a {
    text-decoration: none;
    background-color: white;
    color: black;
    width: 140px;
    font-family: 'Noto Sans TC', sans-serif;
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 5px;
    border-radius: 50px;
    padding: 5px 24px 6px;
    display: inline-block;
    transition: transform .5s ease-in-out;
}

.bs-main .section_shop_now a:hover {
    transform: scale(1.05);
    background: lightgray;
    color: black;
}

.bs-main .section_shop_now {
    padding-top: 3rem;
    padding-bottom: 1rem;
    text-align: center;
}
