.Navbar-link, .SiteHeader-dropdown ._link, .Card ._underline {
  --size: 2px;
  --color: currentColor;
  text-decoration: none;
  background-image: linear-gradient(var(--color), var(--color));
  background-size: 0% var(--size);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  transition-property: background-size;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.Navbar-link.active, .SiteHeader-dropdown ._link:hover, a.Card:hover ._underline {
  background-size: 100% var(--size);
  background-position-x: 0%;
}

.MajorSection ._card-title, .MajorSection ._card-subtitle, .TeachingStaff-title, .StudentDevSection ._card-title, .StudentDevSection ._card-desc, .CollegeNewsGrid ._news-desc, .Card-title, .Card-subtitle {
  --line-clamp: ;
  --line-height: ;
  --height: calc(var(--line-clamp) * var(--line-height));
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: var(--line-height);
  max-height: var(--height);
  display: -webkit-box;
  -webkit-line-clamp: var(--line-clamp);
  -webkit-box-orient: vertical;
}

*,
::after,
::before,
::backdrop,
::file-selector-button {
  margin: 0;
  padding: 0;
  border: 0 solid transparent;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: currentColor;
  text-decoration: initial;
}

table {
  border-color: currentcolor;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  margin: 0;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  color: currentColor;
  background-color: initial;
  cursor: pointer;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

ol,
ul,
menu {
  list-style: none;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object,
picture {
  display: block;
  vertical-align: middle;
}

img,
video {
  max-width: 100%;
  height: auto;
}

[hidden]:where(:not([hidden=until-found])) {
  display: none !important;
}

:focus-visible {
  outline-color: #9962EF;
}

:root {
  --ease-1: cubic-bezier(.25, 0, .5, 1);
  --ease-2: cubic-bezier(.25, 0, .4, 1);
  --ease-3: cubic-bezier(.25, 0, .3, 1);
  --ease-4: cubic-bezier(.25, 0, .2, 1);
  --ease-5: cubic-bezier(.25, 0, .1, 1);
  --ease-in-1: cubic-bezier(.25, 0, 1, 1);
  --ease-in-2: cubic-bezier(.50, 0, 1, 1);
  --ease-in-3: cubic-bezier(.70, 0, 1, 1);
  --ease-in-4: cubic-bezier(.90, 0, 1, 1);
  --ease-in-5: cubic-bezier(1, 0, 1, 1);
  --ease-out-1: cubic-bezier(0, 0, .75, 1);
  --ease-out-2: cubic-bezier(0, 0, .50, 1);
  --ease-out-3: cubic-bezier(0, 0, .3, 1);
  --ease-out-4: cubic-bezier(0, 0, .1, 1);
  --ease-out-5: cubic-bezier(0, 0, 0, 1);
  --ease-in-out-1: cubic-bezier(.1, 0, .9, 1);
  --ease-in-out-2: cubic-bezier(.3, 0, .7, 1);
  --ease-in-out-3: cubic-bezier(.5, 0, .5, 1);
  --ease-in-out-4: cubic-bezier(.7, 0, .3, 1);
  --ease-in-out-5: cubic-bezier(.9, 0, .1, 1);
  --ease-elastic-out-1: cubic-bezier(.5, .75, .75, 1.25);
  --ease-elastic-out-2: cubic-bezier(.5, 1, .75, 1.25);
  --ease-elastic-out-3: cubic-bezier(.5, 1.25, .75, 1.25);
  --ease-elastic-out-4: cubic-bezier(.5, 1.5, .75, 1.25);
  --ease-elastic-out-5: cubic-bezier(.5, 1.75, .75, 1.25);
  --ease-elastic-in-1: cubic-bezier(.5, -0.25, .75, 1);
  --ease-elastic-in-2: cubic-bezier(.5, -0.50, .75, 1);
  --ease-elastic-in-3: cubic-bezier(.5, -0.75, .75, 1);
  --ease-elastic-in-4: cubic-bezier(.5, -1.00, .75, 1);
  --ease-elastic-in-5: cubic-bezier(.5, -1.25, .75, 1);
  --ease-elastic-in-out-1: cubic-bezier(.5, -.1, .1, 1.5);
  --ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);
  --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
  --ease-elastic-in-out-4: cubic-bezier(.5, -.7, .1, 1.5);
  --ease-elastic-in-out-5: cubic-bezier(.5, -.9, .1, 1.5);
  --ease-step-1: steps(2);
  --ease-step-2: steps(3);
  --ease-step-3: steps(4);
  --ease-step-4: steps(7);
  --ease-step-5: steps(10);
  --ease-elastic-1: var(--ease-elastic-out-1);
  --ease-elastic-2: var(--ease-elastic-out-2);
  --ease-elastic-3: var(--ease-elastic-out-3);
  --ease-elastic-4: var(--ease-elastic-out-4);
  --ease-elastic-5: var(--ease-elastic-out-5);
  --ease-squish-1: var(--ease-elastic-in-out-1);
  --ease-squish-2: var(--ease-elastic-in-out-2);
  --ease-squish-3: var(--ease-elastic-in-out-3);
  --ease-squish-4: var(--ease-elastic-in-out-4);
  --ease-squish-5: var(--ease-elastic-in-out-5);
  --ease-spring-1: linear(0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%, 0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001);
  --ease-spring-2: linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1);
  --ease-spring-3: linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, 0.991, 0.977 51%, 0.974 53.8%, 0.975 57.1%, 0.997 69.8%, 1.003 76.9%, 1);
  --ease-spring-4: linear(0, 0.009, 0.037 1.7%, 0.153 3.6%, 0.776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, 0.973, 0.955 39.2%, 0.953 41.1%, 0.957 43.3%, 0.998 53.3%, 1.009 59.1% 63.7%, 0.998 78.9%, 1);
  --ease-spring-5: linear(0, 0.01, 0.04 1.6%, 0.161 3.3%, 0.816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, 0.999 29.4%, 0.955 32.1%, 0.942, 0.935 34.9%, 0.933, 0.939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, 0.996 70.2%, 1.001 87.2%, 1);
  --ease-bounce-1: linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141, 0.191, 0.25, 0.316, 0.391 36.8%, 0.563, 0.766, 1 58.8%, 0.946, 0.908 69.1%, 0.895, 0.885, 0.879, 0.878, 0.879, 0.885, 0.895, 0.908 89.7%, 0.946, 1);
  --ease-bounce-2: linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141 15.1%, 0.25, 0.391, 0.562, 0.765, 1, 0.892 45.2%, 0.849, 0.815, 0.788, 0.769, 0.757, 0.753, 0.757, 0.769, 0.788, 0.815, 0.85, 0.892 75.2%, 1 80.2%, 0.973, 0.954, 0.943, 0.939, 0.943, 0.954, 0.973, 1);
  --ease-bounce-3: linear(0, 0.004, 0.016, 0.035, 0.062, 0.098, 0.141 11.4%, 0.25, 0.39, 0.562, 0.764, 1 30.3%, 0.847 34.8%, 0.787, 0.737, 0.699, 0.672, 0.655, 0.65, 0.656, 0.672, 0.699, 0.738, 0.787, 0.847 61.7%, 1 66.2%, 0.946, 0.908, 0.885 74.2%, 0.879, 0.878, 0.879, 0.885 79.5%, 0.908, 0.946, 1 87.4%, 0.981, 0.968, 0.96, 0.957, 0.96, 0.968, 0.981, 1);
  --ease-bounce-4: linear(0, 0.004, 0.016 3%, 0.062, 0.141, 0.25, 0.391, 0.562 18.2%, 1 24.3%, 0.81, 0.676 32.3%, 0.629, 0.595, 0.575, 0.568, 0.575, 0.595, 0.629, 0.676 48.2%, 0.811, 1 56.2%, 0.918, 0.86, 0.825, 0.814, 0.825, 0.86, 0.918, 1 77.2%, 0.94 80.6%, 0.925, 0.92, 0.925, 0.94 87.5%, 1 90.9%, 0.974, 0.965, 0.974, 1);
  --ease-bounce-5: linear(0, 0.004, 0.016 2.5%, 0.063, 0.141, 0.25 10.1%, 0.562, 1 20.2%, 0.783, 0.627, 0.534 30.9%, 0.511, 0.503, 0.511, 0.534 38%, 0.627, 0.782, 1 48.7%, 0.892, 0.815, 0.769 56.3%, 0.757, 0.753, 0.757, 0.769 61.3%, 0.815, 0.892, 1 68.8%, 0.908 72.4%, 0.885, 0.878, 0.885, 0.908 79.4%, 1 83%, 0.954 85.5%, 0.943, 0.939, 0.943, 0.954 90.5%, 1 93%, 0.977, 0.97, 0.977, 1);
  --ease-circ-in: cubic-bezier(.6, .04, .98, .335);
  --ease-circ-in-out: cubic-bezier(.785, .135, .15, .86);
  --ease-circ-out: cubic-bezier(.075, .82, .165, 1);
  --ease-cubic-in: cubic-bezier(.55, .055, .675, .19);
  --ease-cubic-in-out: cubic-bezier(.645, .045, .355, 1);
  --ease-cubic-out: cubic-bezier(.215, .61, .355, 1);
  --ease-expo-in: cubic-bezier(.95, .05, .795, .035);
  --ease-expo-in-out: cubic-bezier(1, 0, 0, 1);
  --ease-expo-out: cubic-bezier(.19, 1, .22, 1);
  --ease-quad-in: cubic-bezier(.55, .085, .68, .53);
  --ease-quad-in-out: cubic-bezier(.455, .03, .515, .955);
  --ease-quad-out: cubic-bezier(.25, .46, .45, .94);
  --ease-quart-in: cubic-bezier(.895, .03, .685, .22);
  --ease-quart-in-out: cubic-bezier(.77, 0, .175, 1);
  --ease-quart-out: cubic-bezier(.165, .84, .44, 1);
  --ease-quint-in: cubic-bezier(.755, .05, .855, .06);
  --ease-quint-in-out: cubic-bezier(.86, 0, .07, 1);
  --ease-quint-out: cubic-bezier(.23, 1, .32, 1);
  --ease-sine-in: cubic-bezier(.47, 0, .745, .715);
  --ease-sine-in-out: cubic-bezier(.445, .05, .55, .95);
  --ease-sine-out: cubic-bezier(.39, .575, .565, 1);
  --duration-instant: 0ms;
  --duration-quick-1: 80ms;
  --duration-quick-2: 120ms;
  --duration-moderate-1: 180ms;
  --duration-moderate-2: 260ms;
  --duration-gentle-1: 320ms;
  --duration-gentle-2: 420ms;
}

:root {
  --svg-spinner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg stroke='%23000' stroke-width='1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-linecap='round' stroke-width='2'%3E%3Canimate attributeName='stroke-dasharray' calcMode='spline' dur='1.5s' keySplines='0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1' keyTimes='0;0.475;0.95;1' repeatCount='indefinite' values='0 150;42 150;42 150;42 150'/%3E%3Canimate attributeName='stroke-dashoffset' calcMode='spline' dur='1.5s' keySplines='0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1' keyTimes='0;0.475;0.95;1' repeatCount='indefinite' values='0;-16;-59;-59'/%3E%3C/circle%3E%3CanimateTransform attributeName='transform' dur='2s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/g%3E%3C/svg%3E");
  --svg-wechat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.575 13.711a.91.91 0 0 0 .898-.898a.895.895 0 0 0-.898-.898a.894.894 0 0 0-.898.898c0 .5.4.898.898.898m-4.425 0a.91.91 0 0 0 .898-.898c0-.498-.4-.898-.898-.898a.894.894 0 0 0-.898.898c0 .5.399.898.898.898m6.567 5.04a.35.35 0 0 0-.172.37c0 .048 0 .098.025.147c.098.417.294 1.081.294 1.106c0 .073.025.122.025.172a.22.22 0 0 1-.221.22c-.05 0-.074-.024-.123-.048l-1.449-.836a.8.8 0 0 0-.344-.098c-.073 0-.147 0-.196.024c-.688.197-1.4.295-2.161.295c-3.66 0-6.607-2.457-6.607-5.505s2.947-5.505 6.607-5.505c3.659 0 6.606 2.458 6.606 5.505c0 1.647-.884 3.146-2.284 4.154M16.674 8.099a9 9 0 0 0-.28-.005c-4.174 0-7.606 2.86-7.606 6.505c0 .554.08 1.09.228 1.6h-.089a10 10 0 0 1-2.584-.368c-.074-.025-.148-.025-.222-.025a.83.83 0 0 0-.419.123l-1.747 1.005a.35.35 0 0 1-.148.05a.273.273 0 0 1-.27-.27c0-.074.024-.123.049-.197c.024-.024.246-.834.369-1.324c0-.05.024-.123.024-.172a.56.56 0 0 0-.221-.441C2.059 13.376 1 11.586 1 9.599C1.001 5.944 4.571 3 8.951 3c3.765 0 6.93 2.169 7.723 5.098m-5.154.418c.573 0 1.026-.477 1.026-1.026c0-.573-.453-1.026-1.026-1.026s-1.026.453-1.026 1.026s.453 1.026 1.026 1.026m-5.26 0c.573 0 1.027-.477 1.027-1.026c0-.573-.454-1.026-1.027-1.026c-.572 0-1.026.453-1.026 1.026s.454 1.026 1.026 1.026'/%3E%3C/svg%3E");
  --svg-wechat-channel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.66 18.964a2 2 0 0 1-.155-.21c-.238-.353-.515-.905-.805-1.627c-.575-1.432-1.138-3.372-1.536-5.326c-.4-1.965-.616-3.869-.537-5.244c.04-.7.153-1.161.283-1.416A.7.7 0 0 1 4.002 5c.292 0 .74.162 1.356.651c.6.476 1.25 1.174 1.927 2.032c1.236 1.565 2.464 3.532 3.552 5.326c-.18.315-.37.66-.565 1.014l-.278.502A38 38 0 0 1 8.67 16.77c-.465.715-.918 1.312-1.344 1.72c-.3.289-.52.42-.665.474M12 11.076c-.962-1.562-2.042-3.236-3.145-4.632c-.721-.914-1.481-1.747-2.254-2.36C5.846 3.486 4.959 3 4.001 3c-.923 0-1.537.57-1.874 1.234c-.315.62-.45 1.408-.496 2.209c-.094 1.625.16 3.721.573 5.756c.416 2.046 1.01 4.106 1.64 5.674c.313.778.65 1.476 1 1.997c.175.26.378.514.614.713c.225.192.582.417 1.042.417c.895 0 1.648-.526 2.211-1.067c.589-.565 1.14-1.31 1.636-2.073c.5-.77.973-1.603 1.396-2.364l.249-.45l.024.045l.21.393c.41.76.867 1.595 1.358 2.367c.486.766 1.035 1.518 1.639 2.088C15.812 20.495 16.58 21 17.5 21c.46 0 .817-.226 1.043-.417c.235-.2.439-.453.613-.712c.35-.522.688-1.22 1-1.998c.63-1.568 1.224-3.628 1.64-5.674c.414-2.034.668-4.131.574-5.756c-.046-.8-.18-1.589-.496-2.209C21.536 3.57 20.924 3 20 3c-.958 0-1.846.485-2.6 1.084c-.773.613-1.533 1.446-2.255 2.36c-1.102 1.396-2.183 3.07-3.145 4.632m1.162 1.935c1.089-1.795 2.317-3.763 3.553-5.328c.677-.857 1.327-1.556 1.927-2.032c.617-.49 1.064-.65 1.356-.651l.02.022a.7.7 0 0 1 .073.119c.13.255.242.717.282 1.416c.08 1.375-.137 3.279-.537 5.244c-.397 1.954-.96 3.894-1.536 5.326c-.29.722-.566 1.274-.804 1.628q-.099.144-.164.218c-.173-.052-.417-.186-.736-.488c-.426-.403-.871-.994-1.324-1.706a36 36 0 0 1-1.283-2.242q-.102-.188-.2-.374c-.216-.401-.426-.795-.627-1.152'/%3E%3C/svg%3E");
  --svg-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.525.02c1.31-.02 2.61-.01 3.91-.02c.08 1.53.63 3.09 1.75 4.17c1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97c-.57-.26-1.1-.59-1.62-.93c-.01 2.92.01 5.84-.02 8.75c-.08 1.4-.54 2.79-1.35 3.94c-1.31 1.92-3.58 3.17-5.91 3.21c-1.43.08-2.86-.31-4.08-1.03c-2.02-1.19-3.44-3.37-3.65-5.71c-.02-.5-.03-1-.01-1.49c.18-1.9 1.12-3.72 2.58-4.96c1.66-1.44 3.98-2.13 6.15-1.72c.02 1.48-.04 2.96-.04 4.44c-.99-.32-2.15-.23-3.02.37c-.63.41-1.11 1.04-1.36 1.75c-.21.51-.15 1.07-.14 1.61c.24 1.64 1.82 3.02 3.5 2.87c1.12-.01 2.19-.66 2.77-1.61c.19-.33.4-.67.41-1.06c.1-1.79.06-3.57.07-5.36c.01-4.03-.01-8.05.02-12.07'/%3E%3C/svg%3E");
  --svg-douyin: var(--svg-tiktok);
  --svg-xiaohongshu: url("data:image/svg+xml, <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\" viewBox=\"0 0 16 16\"><path fill=\"%23000\" d=\"M5.36 0H3.38Q2.3 2.5 1.18 4.97c-.21.5-.47 1.15-.03 1.6.43.38 1 .37 1.55.36h.55q-.29.75-.62 1.46c-.33.72-.66 1.45-.9 2.2-.23.63.34 1.27.95 1.27q1.05.05 2.1.03h1.26l.24-.53.86-1.95h-.41c-.52.01-1.05.02-1.55-.08q.64-1.59 1.35-3.13l.91-2.08a6 6 0 0 0-1.07 0c-.58.03-1.17.06-1.68-.16.24-.82.6-1.6.97-2.39Q6.03.8 6.34.01zm9.66 1.13h-6.7V4.1h1.84V13l-2.64.01-1.34 2.96H16v-2.96h-2.83V4.1h1.85zM1.35 12.78 0 15.75c.99.3 2.01.26 3.04.23q.8-.04 1.58 0L5.96 13q-.72-.02-1.46 0c-1.05.01-2.11.03-3.15-.23\"/></svg>");
  --svg-weibo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10.098 20.323c-3.977.391-7.414-1.406-7.672-4.02c-.259-2.609 2.759-5.047 6.74-5.441c3.979-.394 7.413 1.404 7.671 4.018c.259 2.6-2.759 5.049-6.737 5.439zM9.05 17.219c-.384.616-1.208.884-1.829.602c-.612-.279-.793-.991-.406-1.593c.379-.595 1.176-.861 1.793-.601c.622.263.82.972.442 1.592m1.27-1.627c-.141.237-.449.353-.689.253c-.236-.09-.313-.361-.177-.586c.138-.227.436-.346.672-.24c.239.09.315.36.18.601zm.176-2.719c-1.893-.493-4.033.45-4.857 2.118c-.836 1.704-.026 3.591 1.886 4.21c1.983.64 4.318-.341 5.132-2.179c.8-1.793-.201-3.642-2.161-4.149m7.563-1.224c-.346-.105-.57-.18-.405-.615c.375-.977.42-1.804 0-2.404c-.781-1.112-2.915-1.053-5.364-.03c0 0-.766.331-.571-.271c.376-1.217.315-2.224-.27-2.809c-1.338-1.337-4.869.045-7.888 3.08C1.309 10.87 0 13.273 0 15.348c0 3.981 5.099 6.395 10.086 6.395c6.536 0 10.888-3.801 10.888-6.82c0-1.822-1.547-2.854-2.915-3.284zm1.908-5.092a3.1 3.1 0 0 0-2.96-.962a.786.786 0 0 0-.616.932a.79.79 0 0 0 .932.602a1.51 1.51 0 0 1 1.442.465c.376.421.466.977.316 1.473a.786.786 0 0 0 .51.992a.813.813 0 0 0 .992-.512a3.11 3.11 0 0 0-.646-3.035zm2.418-2.195c-1.576-1.757-3.905-2.419-6.054-1.968a.91.91 0 0 0-.706 1.081a.91.91 0 0 0 1.082.707a4.5 4.5 0 0 1 4.296 1.383a4.53 4.53 0 0 1 .947 4.416a.91.91 0 0 0 .586 1.157c.479.165.991-.104 1.157-.586a6.39 6.39 0 0 0-1.338-6.235z'/%3E%3C/svg%3E");
  --svg-arrow: url("data:image/svg+xml, <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" fill=\"%23000\" viewBox=\"0 0 32 32\"><path d=\"M18.36 1.52H8.68l8.44 14.36L8.7 30.45h9.73l8.26-14.86z\"/></svg>");
  --svg-chevron: url("data:image/svg+xml, <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>");
  --svg-close: url("data:image/svg+xml, <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"3\" fill=\"none\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>");
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  font-family: "Noto Sans SC";
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  touch-action: manipulation;
  word-break: break-word;
  scroll-behavior: smooth;
}
@media (max-width: 1920px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media not all and (min-width: 80em) {
  html {
    font-size: 1.5625vw;
  }
}
@media not all and (min-width: 40em) {
  html {
    font-size: 4.2666666667vw;
  }
}

:target {
  scroll-margin-top: 12rem;
}

@keyframes fade-in {
  to {
    opacity: 1;
  }
}
@keyframes fade-out {
  to {
    opacity: 0;
  }
}
@keyframes slide-up {
  to {
    opacity: 1;
    transform: none;
  }
}
.collapse {
  display: none;
}

.collapse-enter-active,
.collapse-leave-active {
  transition-property: height, opacity;
  transition-duration: 0.25s;
  transition-timing-function: var(--ease-3);
  overflow: hidden;
}

.collapse-enter-from,
.collapse-leave-to {
  height: 0;
  opacity: 0;
}

.fade-enter-active,
.fade-leave-active {
  transition-property: opacity;
  transition-duration: 0.25s;
  transition-timing-function: var(--ease-3);
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.hypertext {
  --headings-font-size: 1.25em;
  --headings-line-height: 1.5em;
  --headings-margin-top: calc(var(--headings-line-height));
  --headings-margin-bottom: calc(var(--headings-line-height) * 0.5);
  --headings-color: ;
  --headings-font-weight: 700;
  --paragraphs-margin-top: 1.75em;
  font-size: 1rem;
  line-height: 1.75em;
}
.hypertext :is(h1, h2, h3, h4) {
  color: var(--headings-color);
  font-weight: var(--headings-font-weight);
  margin-bottom: var(--headings-margin-bottom);
}
.hypertext :is(h1, h2, h3, h4):not(:first-child) {
  margin-top: var(--headings-margin-top);
}
.hypertext :is(h1, h2, h3) {
  font-size: var(--headings-font-size);
  line-height: var(--headings-line-height);
}
.hypertext :is(img, video) {
  margin: auto;
}
.hypertext :is(ol, ul) {
  padding-left: 1em;
}
.hypertext ol {
  list-style: decimal;
}
.hypertext ul {
  list-style: disc;
}
.hypertext p + p {
  margin-top: var(--paragraphs-margin-top);
}

@keyframes frame-end {
  100% {
    transform: none;
    opacity: initial;
  }
}
.lazy-wrapper {
  position: relative;
  overflow: hidden;
  background-color: #f5f5f5;
}

.lazy-wrapper:not(.loaded)::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  mask-image: var(--svg-spinner);
  mask-size: 100% 100%;
  background-color: #ccc;
}

.lazy-wrapper img {
  --opacity-transition: opacity var(--ease-in-out-3) 0.5s;
  opacity: 0;
  transition: var(--opacity-transition);
}

.lazy-wrapper.loaded img {
  opacity: 1;
}

@keyframes st-target-slide {
  0% {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.st-target.slide {
  opacity: 0;
}
.st-target.slide.triggered {
  animation: st-target-slide 0.5s var(--ease-3) calc(var(--index) * 0.15s) forwards;
}

.dropdown {
  position: relative;
}

.dropdown-wrapper {
  --background-color: #ffffff;
  --color: #000000;
  --box-shadow: 0px 0px 1.5rem rgba(0, 0, 0, 0.1);
  --arrow-size: 1rem;
  --border-radius: 0.75rem;
  --width: 10rem;
  position: absolute;
  z-index: 1;
  width: var(--width);
  left: 50%;
  margin-left: calc(var(--width) * -0.5);
  padding: var(--arrow-size);
  transition-property: opacity, visibility, transform;
  transition-duration: 0.25s;
  transition-timing-function: var(--ease-3);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
}

.dropdown:is(.arrow-top, .arrow-bottom) .dropdown-wrapper::before {
  content: "";
  position: absolute;
  height: var(--arrow-size);
  width: var(--arrow-size);
  margin: auto;
  transform: rotate(45deg);
  background-color: var(--background-color);
  box-shadow: var(--box-shadow);
  z-index: -2;
  border-radius: 4px;
}

.dropdown:is(.arrow-top) .dropdown-wrapper {
  top: 100%;
  transform-origin: 50% 0%;
}

.dropdown:is(.arrow-top) .dropdown-wrapper::before {
  inset: calc(var(--arrow-size) * 0.625) 0 auto;
}

.dropdown:is(.arrow-bottom) {
  bottom: 100%;
  transform-origin: 50% 100%;
}

.dropdown:is(.arrow-bottom) .dropdown-wrapper {
  bottom: 100%;
}

.dropdown:is(.arrow-bottom) .dropdown-wrapper::before {
  inset: auto 0 calc(var(--arrow-size) * 0.625);
}

.dropdown-is-image {
  --border-radius: 1rem;
  --arrow-size: 1rem;
  width: 100%;
}

.dropdown-content {
  position: relative;
  color: var(--color);
  padding: 0.5rem;
  border-radius: var(--border-radius);
}

.dropdown-content::before,
.dropdown-content::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--background-color);
  border-radius: inherit;
}

.dropdown-content::before {
  z-index: -3;
  box-shadow: var(--box-shadow);
}

.dropdown-content::after {
  z-index: -1;
}

.dropdown:hover .dropdown-wrapper:not(.active),
.dropdown.active .dropdown-wrapper {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}

/**
 * Swiper 10.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/*!
 * Toastify js 1.12.0
 * https://github.com/apvarun/toastify-js
 * @license MIT licensed
 *
 * Copyright (C) 2018 Varun A P
 */
.toastify {
  padding: 12px 20px;
  color: #ffffff;
  display: inline-block;
  box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
  background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
  background: linear-gradient(135deg, #73a5ff, #5477f5);
  position: fixed;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  max-width: calc(50% - 20px);
  z-index: 2147483647;
}

.toastify.on {
  opacity: 1;
}

.toast-close {
  background: transparent;
  border: 0;
  color: white;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  opacity: 0.4;
  padding: 0 5px;
}

.toastify-right {
  right: 15px;
}

.toastify-left {
  left: 15px;
}

.toastify-top {
  top: -150px;
}

.toastify-bottom {
  bottom: -150px;
}

.toastify-rounded {
  border-radius: 25px;
}

.toastify-avatar {
  width: 1.5em;
  height: 1.5em;
  margin: -7px 5px;
  border-radius: 2px;
}

.toastify-center {
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  max-width: fit-content;
  max-width: -moz-fit-content;
}

@media only screen and (max-width: 360px) {
  .toastify-right, .toastify-left {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    max-width: fit-content;
  }
}
.Pagination-action::after,
.p_prev_d::after,
.p_prev a::after,
.p_next_d::after,
.p_next a::after, .SiteHeader-nav-link ._icon, .SiteHeader-action::after, .SiteMenu-toggle::after, .TeacherModal-close::after, .Card-feature-download ._action-icon::after, .ArticlePagination-action.prev::before,
.ArticlePagination-action.back::before,
.ArticlePagination-action.next::after, .StuDevCard.with-image:not(:first-child) .Card-info::after, .play-button-icon::after, .social-action::after, .btn-icon, .maskicon {
  background-color: currentColor;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}

.TeachingStaff-img, .StudentDevSection a._card ._card-img, .CollegeNewsGrid ._news-img, a.News .News-img, .StuDevCard .Card-img {
  transform: scale(1.01);
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: var(--ease-5);
}

.TeachingStaff:hover .TeachingStaff-img, .StudentDevSection a._card:hover ._card-img, .CollegeNewsGrid a._news:hover ._news-img, a.News:hover .News-img, a.StuDevCard:hover .Card-img {
  transform: scale(1.125);
}

.MajorSection ._card-title, .MajorSection ._card-subtitle, .TeachingStaff-title, .StudentDevSection ._card-title, .StudentDevSection ._card-desc, .CollegeNewsGrid ._news-desc, .Card-title, .Card-subtitle {
  --line-clamp: ;
  --line-height: ;
  --height: calc(var(--line-clamp) * var(--line-height));
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: var(--line-height);
  max-height: var(--height);
  display: -webkit-box;
  -webkit-line-clamp: var(--line-clamp);
  -webkit-box-orient: vertical;
}

@keyframes MaskIconShuffleToRight {
  50% {
    mask-position: var(--icon-size);
  }
  51% {
    mask-position: calc(var(--icon-size) * -1);
  }
}
:root {
  --animation-shuffling: .5s var(--ease-in-out-4);
}

.row {
  --gap: 0px;
  --row-gap: var(--gap);
  --column-gap: var(--gap);
  --columns: 12;
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap) var(--column-gap);
}

.row-col {
  --size: 12;
  --column: calc(var(--columns) / var(--size));
  --width: calc((100% - var(--column-gap) * (var(--column) - 1)) / var(--column));
  width: var(--width);
}

.container {
  --padding-x: 12rem;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
}

@media not all and (min-width: 80em) {
  .container {
    --padding-x: 2rem;
  }
}
@media not all and (min-width: 40em) {
  .container {
    --padding-x: 1.25rem;
  }
}
.btn {
  --color: ;
  --bgcolor: ;
  --hover-color: var(--color);
  --hover-bgcolor: var(--bgcolor);
  --icon-size: 1em;
  display: flex;
  gap: 0.25em;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  height: 3rem;
  color: var(--color);
  background-color: var(--bgcolor);
  padding: 1em 2em;
  font-size: 1rem;
  line-height: 1em;
  font-weight: 500;
}
.btn:hover {
  color: var(--hover-color);
  background-color: var(--hover-bgcolor);
}

.btn-clipped {
  clip-path: polygon(1em 0%, 100% 0%, 100% calc(100% - 1em), calc(100% - 1em) 100%, 0% 100%, 0% 1em);
}

.btn-color-purple {
  --color: #ffffff;
  --bgcolor: #9962EF;
}

.btn-icon-arrow {
  width: var(--icon-size);
  height: var(--icon-size);
  mask-image: var(--svg-arrow);
  margin-top: 0.125rem;
}

.btn:not(:disabled, .disabled):hover .btn-icon-arrow {
  animation: MaskIconShuffleToRight var(--animation-shuffling);
}

.btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

@media not all and (min-width: 40em) {
  .btn {
    font-size: 0.875rem;
    line-height: 1rem;
    padding: 0.5rem 1rem;
    height: 2.5rem;
    min-width: auto;
  }
}
.sec {
  --margin: 10rem;
  margin-top: var(--margin);
  margin-bottom: var(--margin);
}

.sec-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.sec-title {
  font-size: 2.25rem;
  line-height: 4rem;
  font-weight: 500;
}

.sec-header .sec-title {
  flex: 1 1 0%;
}

.sec-title :is(._english, ._chinese) {
  display: inline-block;
}

.sec-title ._english {
  font-family: Montserrat;
  font-weight: 600;
  font-size: 2.5rem;
  color: #9962EF;
}

.sec-body {
  margin-top: 3rem;
}

@media not all and (min-width: 40em) {
  .sec {
    --margin: 4rem;
  }
  .sec-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sec-title ._english {
    font-size: inherit;
  }
}
.social-media {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.social-action {
  --action-size: 2rem;
  --icon-size: 1.25rem;
  --icon-image: ;
  display: block;
  position: relative;
  width: var(--action-size);
  height: var(--action-size);
  border-radius: 9999px;
  background-color: #000000;
  color: #ffffff;
}
.social-action::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: var(--icon-size);
  height: var(--icon-size);
  mask-image: var(--icon-image);
}
.social-action.weixin {
  --icon-image: var(--svg-wechat);
}
.social-action.douyin {
  --icon-image: var(--svg-douyin);
}
.social-action.xiaohongshu {
  --icon-size: 1rem;
  --icon-image: var(--svg-xiaohongshu);
}
.social-action.weibo {
  --icon-image: var(--svg-weibo);
}
.social-action.shipinhao {
  --icon-image: var(--svg-wechat-channel);
}

.swiper {
  --swiper-theme-color: #9962EF;
  --swiper-wrapper-transition-timing-function: var(--ease-3);
  --swiper-pagination-bullet-horizontal-gap: 8px;
  --swiper-pagination-bullet-width: 1.25rem;
  --swiper-pagination-bullet-height: 1.25rem;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-pagination-color: transparent;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-inactive-opacity: 1;
}

.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-pagination-bullet {
  color: var(--swiper-theme-color);
}

.swiper-pagination-bullet svg {
  width: 100%;
  height: 100%;
}

.swiper-pagination-bullet-active svg {
  fill: currentColor;
}

@media not all and (min-width: 40em) {
  .swiper {
    --swiper-pagination-bullet-width: 1rem;
    --swiper-pagination-bullet-height: 1rem;
  }
}
.page-heading {
  font-size: 3.5rem;
  font-weight: 500;
  text-align: center;
}
.page-heading :is(span) {
  display: inline-block;
}
.page-heading ._english {
  font-family: Montserrat;
  font-size: 3rem;
  font-weight: 600;
}

@media not all and (min-width: 40em) {
  .page-heading {
    font-size: 1.75rem;
  }
  .page-heading ._english {
    font-size: 1.5rem;
  }
}
.player {
  position: relative;
}

.player-media {
  display: block;
  width: 100%;
}

.player-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 61.03%, rgba(0, 0, 0, 0.5) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.player.playing .player-overlay {
  display: none;
}

.play-button {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
  backdrop-filter: blur(24px);
  transition: background-color 150ms var(--ease-3);
}
.play-button:hover {
  background-color: #9962EF;
}

.play-button-icon {
  position: relative;
  width: 3rem;
  height: 3rem;
  background-color: #ffffff;
  color: #9962EF;
  border-radius: inherit;
}
.play-button-icon::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  inset: 0;
  margin: auto;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M3 3.732a1.5 1.5 0 0 1 2.305-1.265l6.706 4.267a1.5 1.5 0 0 1 0 2.531l-6.706 4.268A1.5 1.5 0 0 1 3 12.267z'/%3E%3C/svg%3E");
}

.play-button-label {
  flex: 1 1 0%;
  text-align: center;
}

@media not all and (min-width: 40em) {
  .play-button {
    min-width: auto;
    padding: 2px;
  }
  .play-button-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .play-button-label {
    font-size: 0.75rem;
    line-height: 1rem;
    display: none;
  }
}
.toastify {
  width: 20rem;
  text-align: center;
  max-width: none;
}

.PageHeader {
  margin-top: 8rem;
  margin-bottom: 8rem;
}

.PageHeader ._english {
  color: #9962EF;
}

@media not all and (min-width: 40em) {
  .PageHeader {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.PageBody {
  margin-top: 4rem;
  margin-bottom: 12rem;
}

@media not all and (min-width: 40em) {
  .PageBody {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}
.Navbar {
  display: flex;
  gap: 4rem;
  box-shadow: inset 0px -1px 0 0 #E3DAE6;
  overflow: auto;
}

.Navbar-item {
  flex-shrink: 0;
}

.Navbar-link {
  --size: 3px;
  --color: #9962EF;
  display: block;
  font-size: 1.25rem;
  line-height: 1.5rem;
  padding: 1em 0;
}

@media (hover) and (pointer: fine) {
  .Navbar-link:not(.active):hover {
    background-size: 100% var(--size);
    background-position-x: 0%;
  }
}
@media (hover: none) and (pointer: coarse) {
  .Navbar-link:not(.active):active {
    background-size: 100% var(--size);
    background-position-x: 0%;
  }
}
@media not all and (min-width: 40em) {
  .Navbar {
    gap: 2rem;
  }
  .Navbar-link {
    font-size: 1rem;
  }
}
.Banner {
  position: relative;
  height: 40.625rem;
}

.Banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Banner-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media not all and (min-width: 40em) {
  .Banner {
    height: 24rem;
  }
}
.Pagination,
.pagebar {
  margin-top: 5rem;
}

.Pagination,
.p_pages {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

:is(.p_prev, .p_prev_d, .p_next, .p_next_d) {
  font-size: 0;
}

.p_prev a,
.p_next a {
  display: block;
}

.Pagination-action,
.p_prev_d,
.p_prev a,
.p_next_d,
.p_next a {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
}
.Pagination-action::after,
.p_prev_d::after,
.p_prev a::after,
.p_next_d::after,
.p_next a::after {
  --icon-size: 1rem;
  content: "";
  width: var(--icon-size);
  height: var(--icon-size);
  mask-image: var(--svg-arrow);
  position: absolute;
  inset: 0;
  margin: auto;
}
.Pagination-action:hover:not(.disabled),
.p_prev_d:hover:not(.disabled),
.p_prev a:hover:not(.disabled),
.p_next_d:hover:not(.disabled),
.p_next a:hover:not(.disabled) {
  background-color: #F5F5F5;
  color: #9962EF;
}
.Pagination-action:hover:not(.disabled)::after,
.p_prev_d:hover:not(.disabled)::after,
.p_prev a:hover:not(.disabled)::after,
.p_next_d:hover:not(.disabled)::after,
.p_next a:hover:not(.disabled)::after {
  animation: MaskIconShuffleToRight var(--animation-shuffling);
}

.Pagination-action.disabled,
.p_prev_d,
.p_next_d {
  opacity: 0.25;
  cursor: not-allowed;
}

.Pagination-action.prev,
.p_prev_d,
.p_prev a {
  transform: rotate(180deg);
}

.p_no a {
  display: block;
}

.Pagination-number,
.p_no a,
.p_no_d {
  min-width: 2.5em;
  padding: 0.5em;
  background-color: #F5F5F5;
  font-family: Montserrat;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  border-radius: 9999px;
}

a.Pagination-number,
.p_no a {
  transition-property: background-color, color;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}

a.Pagination-number:is(.active, :hover),
.p_no_d,
.p_no a:hover {
  background-color: #9962EF;
  color: #ffffff;
}

.p_first,
.p_first_d,
.p_last,
.p_last_d {
  display: none;
}

@media not all and (min-width: 40em) {
  .Pagination {
    gap: 0.25rem;
    margin-top: 4rem;
  }
  .Pagination-action,
  .p_prev_d,
  .p_prev a,
  .p_next_d,
  .p_next a {
    width: 2.25rem;
    height: 2.25rem;
  }
  .Pagination-number,
  .p_no a {
    min-width: 2.25rem;
    font-size: 0.75rem;
    line-height: 1.5rem;
  }
}
:root {
  --site-header-height: 6rem;
}

.SiteHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9;
  padding: 1rem 0;
  background-color: #ffffff;
  transition-property: box-shadow, padding, color, background-color;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}

body {
  padding-top: var(--site-header-height);
}

.site-header-invert {
  padding-top: 0;
}

.SiteHeader-invert,
.site-header-invert .SiteHeader {
  color: #ffffff;
  background-color: transparent;
}

.SiteHeader.menu-open,
.scroller-start .SiteHeader-invert,
.scroller-start .site-header-invert .SiteHeader {
  color: #000000;
  background-color: #ffffff;
}

.SiteHeader.menu-open,
.scroller-start .SiteHeader {
  box-shadow: 0px 4px 30px rgba(194, 195, 196, 0.25);
}

.SiteHeader .container {
  display: flex;
  align-items: center;
}

.SiteHeader-home {
  position: relative;
  width: 10rem;
  height: 4rem;
  margin-right: auto;
}

.SiteHeader-home ._img {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition-property: opacity, visibility;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}

.SiteHeader.menu-open .SiteHeader-home ._img1,
:not(.scroller-start) .site-header-invert .SiteHeader:not(.menu-open) .SiteHeader-home ._img2,
.scroller-start .site-header-invert .SiteHeader-home ._img1 {
  opacity: 0;
  visibility: hidden;
}

.SiteHeader-nav {
  display: flex;
  align-items: center;
}

.SiteHeader-nav-item {
  position: relative;
}

.SiteHeader-nav-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 1em;
}
.SiteHeader-nav-link ._icon {
  width: 1.25rem;
  height: 1.25rem;
  mask-image: var(--svg-chevron);
}
.SiteHeader-nav-link:hover {
  color: #9962EF;
}

.SiteHeader-nav .collapse {
  position: absolute;
  min-width: 8rem;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0px 4px 30px rgba(194, 195, 196, 0.25);
  border-radius: 6px;
  background: #FFFFFF;
  color: #000000;
}

.SiteHeader-dropdown {
  display: flex;
  flex-direction: column;
  padding: 2rem 1rem;
  gap: 0.75rem;
}

.SiteHeader-dropdown ._item {
  text-align: center;
}

.SiteHeader-dropdown ._link {
  padding-bottom: var(--size);
  transition-property: color, background-size;
}
.SiteHeader-dropdown ._link:hover {
  color: #9962EF;
}

.SiteHeader-action {
  position: relative;
  width: 3rem;
  height: 3rem;
}
.SiteHeader-action::after {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  inset: 0;
  margin: auto;
}
.SiteHeader-action:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.SiteHeader-action.search::after {
  mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="3" fill="none"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
}

.SiteHeader-searching .SiteHeader-action.search {
  color: #9962EF;
}

.SiteHeader-action.menu {
  display: none;
}
.SiteHeader-action.menu::after {
  mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="3" fill="none"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg>');
}

.SiteHeader-action.menu.menu-open::after {
  mask-image: var(--svg-close);
}

.SiteHeader-search .SiteHeader-action.search {
  flex-shrink: 0;
}

.SiteHeader-search {
  display: flex;
}

.SiteHeader-searching .SiteHeader-search {
  width: 18rem;
  box-shadow: 0px 0px 0px 2px #9962EF;
  background-color: #ffffff;
  color: #000000;
}

.SiteHeader-search ._control {
  display: none;
  width: 100%;
  background-color: transparent;
  padding: 0 0.75rem;
}
.SiteHeader-search ._control:focus {
  outline-width: 0;
}

.SiteHeader-searching .SiteHeader-search ._control {
  display: block;
}

.SiteHeader-searching .SiteHeader-nav {
  display: none;
}

@media not all and (min-width: 80em) {
  .SiteHeader-nav {
    display: none;
  }
  .SiteHeader-action.menu {
    display: block;
  }
}
@media not all and (min-width: 40em) {
  :root {
    --site-header-height: 4.5rem;
  }
  .SiteHeader,
  .scroller-start .SiteHeader {
    padding: 0.75rem 0;
  }
  .SiteHeader-home {
    width: 6rem;
    height: 2.5rem;
  }
  .SiteHeader-action {
    width: 2.5rem;
    height: 2.5rem;
  }
  .SiteHeader-action::after {
    width: 1.25rem;
    height: 1.25rem;
  }
  .SiteHeader-action.menu::after {
    width: 1.5rem;
    height: 1.5rem;
  }
  .SiteHeader-searching .SiteHeader-home {
    display: none;
  }
  .SiteHeader-searching .SiteHeader-search {
    flex-grow: 1;
    margin-left: auto;
  }
}
.SiteMenu {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 8;
  background-color: #ffffff;
  padding-top: var(--site-header-height);
  overflow: auto;
}

.SiteMenu-list {
  padding: 2rem 0;
}

.SiteMenu-link {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 2.5rem;
  flex-grow: 1;
}

.SiteMenu-item {
  margin-bottom: 0.5rem;
}

.SiteMenu-action {
  display: flex;
  align-items: center;
}

.SiteMenu-toggle {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
}
.SiteMenu-toggle.uncollapsed {
  transform: rotate(180deg);
}
.SiteMenu-toggle:active {
  background-color: #f5f5f5;
}
.SiteMenu-toggle::after {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  inset: 0;
  margin: auto;
  mask-image: var(--svg-chevron);
}

.SiteMenu-dropdown {
  padding: 0 1rem;
}

.SiteMenu-dropdown ._item {
  padding-top: 0.5rem;
}

.SiteMenu-dropdown ._link {
  color: rgba(0, 0, 0, 0.5);
}
.SiteMenu-dropdown ._link:active {
  color: rgb(0, 0, 0);
  text-decoration: 2px underline;
}

.Footer {
  --fgcolor-rgb: 0, 0, 0;
  background-image: linear-gradient(180deg, #EEE3FF 0%, #FFFFFF 100%);
  padding-top: 6rem;
  padding-bottom: 4rem;
  border-bottom: 10px solid #9962EF;
}

:is(.Footer-nav, .Footer-bottom) a {
  --size: 2px;
  --color: currentColor;
  text-decoration: none;
  background-image: linear-gradient(var(--color), var(--color));
  background-size: 0% var(--size);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  transition-property: background-size;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  padding-bottom: var(--size);
}
:is(.Footer-nav, .Footer-bottom) a:hover {
  background-size: 100% var(--size);
  background-position-x: 0%;
}

.Footer .social-media {
  margin-top: 2rem;
}

.Footer-AST {
  display: block;
  width: 15.5rem;
  height: 6rem;
  background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" width="248" height="96" fill="%23000" viewBox="0 0 248 96"><path d="M49.83 1.25q0-.25-.36-.25H33.6c-.24 0-.37 0-.37.25L0 94.8v.19h17.22q.15.05.32 0a.3.3 0 0 0 0-.19l8.44-23.87h30.95l8.47 23.87q0 .06.03.11l.08.08h17.35a.4.4 0 0 0 .14-.25zM31.87 54.43l9.63-27.15 9.61 27.15zM84.29 68.4a.3.3 0 0 1 .18 0l15.67-2.25a.2.2 0 0 1 .18.06l.06.09v.1a16 16 0 0 0 2.43 6.62 15 15 0 0 0 4.98 4.84 20 20 0 0 0 13.85 2.97c2.35-.27 4.61-1.07 6.63-2.35 2.01-1.27 3.73-3 5.04-5.03a13.5 13.5 0 0 0 2.32-6.86 9.7 9.7 0 0 0-1.89-6.23 12 12 0 0 0-5.65-4.16 66 66 0 0 0-10.7-2.15c-1.05 0-3.88-.5-8.5-1.26a22.6 22.6 0 0 1-14.5-9.13 27.7 27.7 0 0 1-5.6-17.06A24.5 24.5 0 0 1 95.1 9.9c4.63-5.38 11-8.8 17.92-9.58 7.21-1.01 14.55.4 20.94 4.04a32 32 0 0 1 14.5 17.24q.12.13 0 .19l-.18.2-14.6 5.8c0 .08-.14.1-.18 0l-.17-.2c-1.36-4-3.95-7.43-7.36-9.76-2.94-2-6.48-2.81-9.96-2.27-3.45.53-6.61 2.3-8.94 5.01a10 10 0 0 0-2.67 6.68c-.01 2.44.8 4.8 2.3 6.68a11.2 11.2 0 0 0 6.1 3.95q1.73.45 3.5.7 2.2.32 4.38.57a52 52 0 0 1 12.89 2.39 28.6 28.6 0 0 1 13.9 10.34A25 25 0 0 1 152 66.9a29 29 0 0 1-5.17 15.68q-7.43 11.22-21.8 13.04a40 40 0 0 1-26.75-5.73 28 28 0 0 1-9.6-8.93A29.4 29.4 0 0 1 84 68.49a.3.3 0 0 1 .13-.1q.07 0 .16.02M224 1.01a.3.3 0 0 0-.18 0h-65.57a.2.2 0 0 0-.19.07l-.05.08v16.09a.2.2 0 0 0 .05.19.2.2 0 0 0 .2.06h24.47v77.3a.2.2 0 0 0 0 .18q.1.05.19 0h16.23q.1.03.19 0a.3.3 0 0 0 0-.18V17.45h24.35a.3.3 0 0 0 .18 0 .4.4 0 0 0 0-.2V1.27A.4.4 0 0 0 224 1M230.02 76.02a.2.2 0 0 1 .18 0h17.6a.2.2 0 0 1 .18 0 .3.3 0 0 1 0 .2V94.8a.3.3 0 0 1 0 .18.3.3 0 0 1-.18 0h-17.6a.3.3 0 0 1-.18 0 .3.3 0 0 1 0-.18V76.2a.3.3 0 0 1 0-.19"/></svg>');
  background-size: 100% 100%;
}
@media not all and (min-width: 40em) {
  .Footer-AST {
    width: 10rem;
    height: 4rem;
  }
}

.Footer-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

@media not all and (min-width: 40em) {
  .Footer-intro {
    gap: 2rem;
    flex-direction: column;
  }
}
.Footer-intro ._desc {
  flex: 1 1 0%;
  font-size: 1.25rem;
  line-height: 2rem;
}

:is(.Footer-top, .Footer-info) {
  --gap: 4rem;
}
:is(.Footer-top, .Footer-info) > .row-col {
  --size: 6;
}

.Footer-info {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: 4px solid #E1D5F4;
}

@media not all and (min-width: 80em) {
  .Footer-top > .row-col {
    --size: 12;
  }
  .Footer-info {
    flex-wrap: wrap-reverse;
    margin-top: 3rem;
    padding-top: 3rem;
  }
}
@media not all and (min-width: 40em) {
  :is(.Footer-top, .Footer-info) {
    --gap: 2rem;
  }
  .Footer-info > .row-col {
    --size: 12;
  }
}
.Footer-contact :is(h3, h4) {
  font-size: 1em;
  font-weight: 500;
}
.Footer-contact :is(h3, h4):not(:first-child) {
  margin-top: 1.5em;
}
.Footer-contact p:not(:first-child) {
  margin-top: 0.25em;
}

.Footer-nav {
  --gap: 1rem;
  max-width: 32rem;
  font-weight: 500;
}

.Footer-nav > .row-col {
  --size: 6;
}

.Footer-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  line-height: 1.5rem;
  margin-top: 5rem;
  color: rgba(var(--fgcolor-rgb), 0.6);
}
.Footer-bottom a:hover {
  color: rgba(var(--fgcolor-rgb), 1);
}

@media not all and (min-width: 80em) {
  .Footer-bottom {
    flex-direction: column;
    margin-top: 2rem;
  }
  .Footer .social-media .dropdown:first-child .dropdown-wrapper {
    left: calc((var(--arrow-size) + 0.5rem) * -1);
    margin-left: 0;
  }
  .Footer .social-media .dropdown:first-child .dropdown-wrapper::before {
    margin-left: calc(var(--arrow-size) + 1rem);
  }
}
.Footer-bottom-links ._item:not(:last-child) {
  padding-right: 1rem;
  margin-right: 1rem;
  border-right-width: 1px;
  border-right-color: currentColor;
}

.MajorSection {
  --card-height: 15rem;
}

.MajorSection .row {
  --gap: 2rem;
}

.MajorSection .row-col.half {
  --size: 6;
}

.MajorSection ._list {
  position: relative;
}
.MajorSection ._list::before, .MajorSection ._list::after {
  content: "";
  position: absolute;
  height: 8rem;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition-property: opacity, visibility;
  transition-duration: 0.25s;
  transition-timing-function: var(--ease-3);
}
.MajorSection ._list::before {
  inset: 0 0 auto;
  background-image: linear-gradient(180deg, white, transparent);
}
.MajorSection ._list::after {
  inset: auto 0 0;
  background-image: linear-gradient(0deg, white, transparent);
}

.MajorSection ._list.scrollable:not(.scroller-end)::after {
  opacity: 1;
  visibility: visible;
}

.MajorSection ._slider {
  overflow: hidden;
  height: calc(var(--card-height) * 3 + var(--gap) * 2);
}

.MajorSection ._list.scroll-start::before {
  visibility: visible;
  opacity: 1;
}

.MajorSection ._card {
  display: flex;
  flex-direction: column;
  background-color: #F5F5F5;
  padding: 2rem;
  height: var(--card-height);
  transition-property: border-color, background-color;
  transition-timing-function: var(--ease-3);
  transition-duration: 150ms;
}
.MajorSection ._card:not(:first-child) {
  margin-top: var(--gap);
}

.MajorSection a._card:hover {
  background-color: #EEE3FF;
}

.MajorSection ._card-icon {
  width: 4rem;
  margin-bottom: auto;
}

.MajorSection ._poster {
  width: 100%;
  height: calc(var(--card-height) * 3 + var(--gap) * 2);
  object-fit: cover;
}

.MajorSection ._card-title {
  --line-clamp: 1;
  --line-height: 2.25rem;
  font-size: 1.5rem;
  margin-top: 0.75rem;
}

.MajorSection ._card-subtitle {
  --line-clamp: 2;
  --line-height: 1.75rem;
  color: rgba(0, 0, 0, 0.75);
  line-height: 1.75;
  margin-top: 0.5rem;
}

@media not all and (min-width: 80em) {
  .MajorSection {
    --card-height: 12rem;
  }
  .MajorSection ._card {
    padding: 1.5rem;
  }
  .MajorSection ._card-icon {
    width: 3rem;
    height: 3rem;
  }
  .MajorSection ._card-title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .MajorSection ._card-subtitle {
    font-size: 0.875rem;
  }
}
@media not all and (min-width: 40em) {
  .MajorSection {
    --card-height: auto;
  }
  .MajorSection .row-col.half {
    --size: 12;
  }
  .MajorSection ._card-title {
    margin-top: 1.5rem;
  }
}
.FacultySection {
  background-color: #F3F3F3;
  padding: var(--margin) 0;
}

.FacultySection ._actions {
  margin-top: 4rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.TeachingStaffList {
  --gap: 2rem;
}

.TeachingStaffList > .TeachingStaff {
  --size: 3;
}

@media not all and (min-width: 80em) {
  .TeachingStaffList > .TeachingStaff {
    --size: 6;
  }
}
@media not all and (min-width: 40em) {
  .TeachingStaffList > .TeachingStaff {
    --size: 12;
  }
}
.TeachingStaff {
  --fgcolor-rgb: 0, 0, 0;
  --bgcolor-rgb: 255, 255, 255;
  --fgcolor-rgb-hover: 255, 255, 255;
  --bgcolor-rgb-hover: 153, 98, 239;
  background-color: rgba(var(--bgcolor-rgb), 1);
  transition-property: background-color, color;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}
.TeachingStaff:hover {
  --fgcolor-rgb: var(--fgcolor-rgb-hover);
  --bgcolor-rgb: var(--bgcolor-rgb-hover);
  color: rgba(var(--fgcolor-rgb-hover), 1);
  background-color: rgba(var(--bgcolor-rgb-hover), 1);
}

.TeachingStaff-imgwrap {
  overflow: hidden;
}

.TeachingStaff-img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.TeachingStaff-info {
  padding: 2rem 1.5rem;
}

.TeachingStaff-title {
  --line-clamp: 2;
  --line-height: 2.25rem;
  font-size: 1.5rem;
}

.TeachingStaff-title + .TeachingStaff-desc {
  margin-top: 1.25rem;
}

:is(.TeachingStaff-desc, .TeachingStaff ._label) {
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}

.TeachingStaff-desc {
  display: flex;
  flex-wrap: wrap;
  padding: 0.625rem 0;
  border-top-width: 1px;
  border-top-color: rgba(var(--fgcolor-rgb), 0.1);
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition-property: border-color;
}

.TeachingStaff-desc ._label {
  color: rgba(var(--fgcolor-rgb), 0.6);
  width: 4rem;
  transition-property: color;
}

.TeachingStaff-desc ._text {
  flex: 1 1 0%;
}

.TeacherModal {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.TeacherModal.fixed {
  position: fixed;
  inset: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
}

.TeacherModal:is(.enter-active, .leave-active) {
  transition-property: opacity;
  transition-timing-function: var(--ease-3);
  transition-duration: 0.25s;
}

.TeacherModal:is(.enter-from, .leave-to) {
  opacity: 0;
}

.TeacherModal-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.TeacherModal.fixed .TeacherModal-wrapper {
  padding: 4rem;
  overflow: auto;
}

.TeacherModal-content {
  --gap: 5rem;
  position: relative;
  background-color: #ffffff;
  color: #000000;
  max-width: 68.75rem;
}

.TeacherModal.fixed .TeacherModal-content {
  padding: 2.5rem;
}

.TeacherModal:is(.enter-active, .leave-active) .TeacherModal-content {
  transition-property: transform;
  transition-timing-function: var(--ease-3);
  transition-duration: 0.25s;
}

.TeacherModal:is(.enter-from) .TeacherModal-content {
  transform: translateY(1.5rem);
}

.TeacherModal:is(.leave-to) .TeacherModal-content {
  transform: translateY(-1.5rem);
}

.TeacherModal-content :is(.left, .right) {
  --size: 6;
}

.TeacherModal-content .left {
  display: flex;
  flex-direction: column;
  padding: 1rem 0;
}

.TeacherModal-content .right {
  align-self: center;
}

.TeacherModal-title {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
}

.TeacherModal-prop {
  display: flex;
  font-size: 1rem;
  line-height: 1.5rem;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-color: #D7DAE2;
  padding: 0.75rem 0;
}

.TeacherModal-prop + .TeacherModal-prop {
  border-top-width: 0;
}

.TeacherModal-prop ._label {
  width: 6rem;
  color: rgba(0, 0, 0, 0.6);
}

.TeacherModal-prop ._text {
  flex: 1 1 0%;
}

.TeacherModal-desc {
  margin-top: auto;
  font-size: 1rem;
  line-height: 1.75rem;
  letter-spacing: 0.04em;
  padding-top: 2rem;
}

.TeacherModal-img {
  width: 100%;
}

.TeacherModal-close {
  position: absolute;
  width: 3rem;
  height: 3rem;
  color: #ffffff;
  top: 0;
  left: 100%;
  background-color: rgba(255, 255, 255, 0.25);
  box-shadow: inset 0px 0px 4px 0 rgba(0, 0, 0, 0.1);
  border-width: 1px;
  border-color: transparent;
}
.TeacherModal-close:hover {
  background-color: inherit;
  color: currentColor;
}
.TeacherModal-close::after {
  content: "";
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  inset: 0;
  margin: auto;
  mask-image: var(--svg-close);
}

@media not all and (min-width: 40em) {
  .TeacherModal.fixed .TeacherModal-wrapper {
    padding: 2rem 1rem;
  }
  .TeacherModal-content {
    --gap: 2rem;
  }
  .TeacherModal.fixed .TeacherModal-content {
    padding: 1rem;
  }
  .TeacherModal-content :is(.left, .right) {
    --size: 12;
  }
  .TeacherModal-content .left {
    padding-top: 0;
    padding-bottom: 0;
  }
  .TeacherModal-title {
    margin-top: 1rem;
  }
  .TeacherModal-prop {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .TeacherModal-prop ._label {
    width: 4rem;
  }
  .TeacherModal-close {
    top: 0;
    right: 0;
    left: auto;
    color: currentColor;
  }
  .TeacherModal-close:hover {
    background-color: #f5f5f5;
  }
  .TeacherModal-close::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.StudentDevSection .row {
  --row-gap: 3rem;
  --column-gap: 2rem;
}

.StudentDevSection .row-col {
  --size: 4;
}

.StudentDevSection ._card-img {
  width: 100%;
  aspect-ratio: 1.6;
  object-fit: cover;
}

.StudentDevSection ._card-imgwrap {
  overflow: hidden;
}

.StudentDevSection ._card-info {
  margin-top: 1.5rem;
}

.StudentDevSection ._card-subtitle {
  display: flex;
  flex-wrap: wrap;
  padding: 0.25rem 0;
  font-size: 1rem;
  line-height: 1rem;
}

.StudentDevSection ._card-subtitle > * + * {
  padding-left: 0.75rem;
  margin-left: 0.75rem;
  border-left-width: 1px;
  border-left-color: currentColor;
}

.StudentDevSection ._card-date {
  font-family: Montserrat;
  font-weight: 500;
}

.StudentDevSection ._card-title {
  --line-clamp: 1;
  --line-height: 2rem;
  margin-top: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
}

.StudentDevSection a._card:hover ._card-title {
  color: #9962EF;
}

.StudentDevSection ._card-desc {
  --line-clamp: 2;
  --line-height: 1.75rem;
  font-size: 1rem;
  margin-top: 1rem;
  color: rgba(0, 0, 0, 0.6);
}

@media not all and (min-width: 40em) {
  .StudentDevSection .row-col {
    --size: 12;
  }
  .StudentDevSection ._card-info {
    padding-right: 0;
  }
}
.HomeBanner {
  --swiper-theme-color: #ffffff;
  --swiper-pagination-bottom: 5rem;
  position: relative;
  height: 100vh;
}

.HomeBanner.playing .swiper-pagination {
  display: none;
}

.HomeBanner-slide picture {
  width: 100%;
  height: 100%;
}

.HomeBanner-slide ._media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.HomeBanner-slide img._meida {
  object-fit: cover;
}

.HomeBanner-slide video._media {
  background-color: #f5f5f5;
  object-fit: contain;
}

.HomeBanner-slide ._overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.25);
  color: #FFFFFF;
  padding: 4rem;
  display: flex;
  gap: 2rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.HomeBanner-slide.playing :not(video._media) {
  display: none;
}

.HomeBanner-slide ._heading {
  font-size: 4rem;
  line-height: 5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  max-width: 56rem;
}

@media not all and (min-width: 80em) {
  .HomeBanner-slide ._heading {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media not all and (min-width: 40em) {
  .HomeBanner {
    --swiper-pagination-bottom: 2rem;
  }
  .HomeBanner-slide ._overlay {
    padding: 1.5rem;
  }
  .HomeBanner-slide ._heading {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.HomeAbout-header {
  --gap: 2rem;
}

.HomeAbout-header .half {
  --size: 6;
}

.HomeAbout-header ._desc {
  font-size: 1.25rem;
  line-height: 1.6;
}

.HomeAbout-header .btns {
  margin-top: 2.5rem;
}

@media not all and (min-width: 40em) {
  .HomeAbout-header .half {
    --size: 12;
  }
  .HomeAbout-header ._desc {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.HomeAbout-stats {
  position: relative;
  margin-top: 6rem;
}

.HomeAbout-stats ._bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.HomeAbout-stats ._wrapper {
  --gap: 0px;
  position: relative;
  height: 42.5rem;
  padding: 4rem 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 62.5%, rgba(0, 0, 0, 0.5) 100%);
  background-color: rgba(0, 0, 0, 0.4);
  color: #ffffff;
}

.HomeAbout-stats ._stat {
  --size: 4;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 3rem;
}
.HomeAbout-stats ._stat:not(:first-child) {
  border-left-width: 1px;
  border-color: rgba(255, 255, 255, 0.25);
}

.HomeAbout-stats ._stat-number {
  font-family: Montserrat;
  font-size: 5.5rem;
  line-height: 4rem;
  font-weight: 600;
}

.HomeAbout-stats ._stat-title {
  margin-top: 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 300;
}

.HomeAbout-stats ._stat-subtitle {
  margin-top: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 300;
}

@media not all and (min-width: 80em) {
  .HomeAbout-stats ._wrapper {
    height: 30rem;
    padding: 2.5rem 0;
  }
  .HomeAbout-stats ._stat {
    padding: 0 2rem;
  }
  .HomeAbout-stats ._stat-number {
    font-size: 2.5rem;
    line-height: 1;
  }
  .HomeAbout-stats ._stat-title {
    font-size: 1rem;
    margin-top: 1rem;
  }
  .HomeAbout-stats ._stat-subtitle {
    font-size: 0.875rem;
    line-height: 1.25rem;
    margin-top: 0.25rem;
  }
}
@media not all and (min-width: 40em) {
  .HomeAbout-stats {
    margin-top: 3rem;
  }
  .HomeAbout-stats ._wrapper {
    height: auto;
    padding: 0;
  }
  .HomeAbout-stats ._stat {
    --size: 12;
    padding: 2rem 1.5rem;
  }
  .HomeAbout-stats ._stat:not(:first-child) {
    border-left-width: 0;
    border-top-width: 1px;
  }
}
.AboutSection .player {
  margin-top: 6rem;
}

.AboutSection-intro {
  --gap: 4rem;
  margin-top: 6rem;
}

.AboutSection-intro .left {
  --size: 4;
}

.AboutSection-intro .right {
  --size: 8;
  max-width: 56.25rem;
  margin-left: auto;
}

.AboutSection-intro .hypertext {
  --headings-font-size: 2.25em;
  --headings-font-weight: 500;
  --headings-color: rgba(0, 0, 0, 1);
  color: rgba(0, 0, 0, 0.5);
}

.AboutSection-stats {
  --columns: 10;
  margin-top: 4rem;
}

.AboutSection-stats ._item {
  display: flex;
}
.AboutSection-stats ._item:not(:first-child) {
  border-left-width: 1px;
  border-color: #C5C9D3;
}

.AboutSection-stats ._item {
  --size: 3;
}

.AboutSection-stats ._item:nth-child(2n) {
  --size: 4;
}

.AboutSection-stats ._content {
  text-align: center;
}

.AboutSection-stats ._item:nth-child(2n) ._content {
  margin-left: auto;
  margin-right: auto;
}

.AboutSection-stats ._item:nth-child(3n) ._content {
  margin-left: auto;
}

.AboutSection-stats ._stat-number {
  margin-top: -0.5rem;
  font-size: 4.5rem;
  line-height: 5rem;
  font-weight: 500;
  font-family: Montserrat;
}

.AboutSection-stats ._stat-title {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

@media not all and (min-width: 80em) {
  .AboutSection-intro {
    --gap: 2rem;
  }
  .AboutSection-intro :is(.left, .right) {
    --size: 12;
  }
  .AboutSection-intro .right {
    max-width: 100%;
  }
}
@media not all and (min-width: 40em) {
  .AboutSection .player {
    margin-top: 2rem;
  }
  .AboutSection-intro {
    margin-top: 3rem;
  }
  .AboutSection-intro .hypertext {
    --headings-font-size: 1.5em;
  }
  .AboutSection-stats :is(._item, ._item:nth-child(2n)) {
    --size: 10;
  }
  .AboutSection ._item {
    padding: 1rem 0;
  }
  .AboutSection-stats {
    margin-top: 2rem;
  }
  .AboutSection-stats ._item ._content {
    margin-left: auto;
    margin-right: auto;
  }
  .AboutSection-stats ._item:not(:first-child) {
    border-left-width: 0;
    border-top-width: 1px;
  }
  .AboutSection-stats ._stat-number {
    margin-top: 0;
    font-size: 3rem;
    line-height: 4rem;
  }
}
.CollegeNewsGrid {
  --gap: 2rem;
}

.CollegeNewsGrid .row-col:is(.left, .right) {
  --size: 3;
}

.CollegeNewsGrid .row-col.center {
  --size: 6;
}

.CollegeNewsGrid a._news {
  display: block;
}

.CollegeNewsGrid ._news:not(:first-child) {
  margin-top: 3rem;
}

.CollegeNewsGrid ._news-media {
  overflow: hidden;
}

.CollegeNewsGrid ._news-img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
}

.CollegeNewsGrid ._news-info {
  padding-top: 1.5rem;
}

.CollegeNewsGrid .row-col.center ._news-info {
  padding-top: 2rem;
  max-width: 40rem;
}

.CollegeNewsGrid ._news-title {
  font-size: 1.25rem;
  line-height: 2rem;
  font-weight: 500;
}

.CollegeNewsGrid .row-col.center ._news-title {
  font-size: 2rem;
  line-height: 3rem;
}

.CollegeNewsGrid a._news:hover ._news-title {
  color: #9962EF;
}

.CollegeNewsGrid ._news-desc {
  --line-clamp: 2;
  --line-height: 1.75rem;
  font-size: 1rem;
  margin-top: 0.5rem;
  color: rgba(0, 0, 0, 0.6);
}

.CollegeNewsGrid .row-col.center ._news-desc {
  margin-top: 1rem;
}

.CollegeNewsGrid ._news-meta {
  font-size: 1rem;
  line-height: 1.25rem;
  margin-top: 2rem;
}

.CollegeNewsGrid ._news-date {
  font-family: Montserrat;
  font-weight: 500;
}

@media not all and (min-width: 40em) {
  .CollegeNewsGrid {
    --gap: 3rem;
  }
  .CollegeNewsGrid .row-col:is(.left, .center, .right) {
    --size: 12;
  }
  .CollegeNewsGrid .row-col.center {
    order: -1;
  }
  .CollegeNewsGrid ._news:not(:first-child) {
    margin-top: var(--gap);
  }
  .CollegeNewsGrid .row-col.center ._news-title {
    font-size: 1.25rem;
    line-height: 2rem;
  }
  .CollegeNewsGrid ._news-meta {
    margin-top: 1rem;
  }
}
.MajorBanner {
  position: relative;
}
.MajorBanner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
}

.MajorBanner-img {
  display: block;
  width: 100%;
  aspect-ratio: 1920/450;
  max-height: 28.125rem;
  object-fit: cover;
}

@media not all and (min-width: 80em) {
  .MajorBanner-img {
    height: 16rem;
  }
}
.page-major .MajorDetails {
  position: relative;
  margin-top: -6rem;
  margin-bottom: 12rem;
}

.MajorDetails .container {
  padding: 2.5rem 5rem;
  max-width: 70rem;
}

.page-major .MajorDetails .container {
  background-color: #ffffff;
}

.MajorDetails-nav {
  --gap: 0.75rem;
  --link-inactive-color: rgba(0, 0, 0, 0.25);
  --link-active-color: rgba(0, 0, 0, 1);
  display: flex;
  flex-wrap: wrap;
  color: var(--link-inactive-color);
}

.MajorDetails-nav ._item {
  display: flex;
  align-items: center;
}
.MajorDetails-nav ._item:not(:last-child)::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="%23000" stroke-linejoin="bevel" stroke-width="1.63"><path d="M.64 13.3h22.04L17.38 8"/></svg>');
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  background-color: currentColor;
  margin-right: var(--gap);
}

.MajorDetails-nav ._link {
  font-weight: 500;
  transition: color 150ms var(--ease-3);
}

.MajorDetails-nav ._link:not(.active):hover,
.MajorDetails-nav ._item:last-child ._link {
  color: var(--link-active-color);
}

.MajorDetails-nav ._item:not(:last-child) ._link {
  margin-right: var(--gap);
}

.MajorDetails-article {
  margin-top: 6rem;
}

.MajorDetails-heading {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 4rem;
}

.MajorDetails .hypertext {
  --headings-font-size: 2em;
  --headings-font-weight: 500;
  --headings-color: rgba(0, 0, 0, 1);
  --paragraphs-margin-top: 0;
  padding-top: 4rem;
  margin-top: 3rem;
  border-top-width: 1px;
  border-color: rgba(0, 0, 0, 0.25);
  color: rgba(0, 0, 0, 0.6);
}

@media not all and (min-width: 80em) {
  .page-major .MajorDetails .container {
    margin: 0 2rem;
  }
}
@media not all and (min-width: 40em) {
  .page-major .MajorDetails {
    margin-bottom: 4rem;
  }
  .page-major .MajorDetails .container {
    margin: 0 0.75rem;
    padding: 2rem 1.5rem;
  }
  .MajorDetails-nav {
    --gap: 0.5rem;
    font-size: 0.75rem;
  }
  .MajorDetails-article {
    margin-top: 2rem;
  }
  .MajorDetails-heading {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .MajorDetails .hypertext {
    --headings-font-size: 1.25em;
    margin-top: 1.5rem;
    padding-top: 2rem;
  }
}
.CardRow {
  --gap: 2rem;
}

.CardRow .row-col {
  --size: 6;
}

.CardRow-feature-news .row-col {
  --size: 4;
}

@media not all and (min-width: 40em) {
  .CardRow .row-col,
  .CardRow-feature-news .row-col {
    --size: 12;
  }
}
.Card {
  --fgcolor-rgb: 0, 0, 0;
  --bgcolor-rgb: 245, 245, 245;
  display: flex;
  flex-direction: column;
  color: rgba(var(--fgcolor-rgb), 1);
  background-color: rgba(var(--bgcolor-rgb), 1);
  padding: 2rem;
  transition-property: background-color, color;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}

a.Card:hover {
  --bgcolor-rgb: 153, 98, 239;
  --fgcolor-rgb: 255, 255, 255;
}

.Card-feature-news,
.Card-feature-notice,
.Card-feature-download {
  aspect-ratio: 1;
}

.Card-feature-2 {
  min-height: 16rem;
}

.Card-title {
  --line-clamp: 1;
  --line-height: 2.25rem;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.Card-feature-news .Card-title,
.Card-feature-notice .Card-title,
.Card-feature-download .Card-title {
  display: block;
  overflow: initial;
  height: initial;
  max-height: none;
  text-overflow: initial;
}

.Card-feature-news .Card-title {
  font-weight: 500;
}

:is(.Card-subtitle, .Card-date) {
  transition: color 250ms var(--ease-3);
}

.Card-subtitle {
  --line-clamp: 2;
  --line-height: 1.75rem;
  font-size: 1rem;
  color: rgba(var(--fgcolor-rgb), 0.6);
}

.Card-subtitle:not(:last-child) {
  margin-bottom: 1rem;
}

.Card-title + .Card-subtitle:not(:last-child),
.Card-subtitle + .Card-title:not(:last-child) {
  margin-bottom: 2rem;
}

.Card-date {
  font-family: Montserrat;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
}

.Card-feature-2 .Card-date {
  color: rgba(var(--fgcolor-rgb), 0.6);
}

.Card-footer {
  margin-top: auto;
}

.Card-feature-download ._actions {
  display: flex;
  flex-wrap: wrap;
}

.Card-feature-download ._action {
  --icon-svg: ;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.Card-feature-download ._action-icon {
  position: relative;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: rgba(var(--fgcolor-rgb), 1);
  color: rgba(var(--bgcolor-rgb), 1);
  transition-property: background-color, color;
  transition-duration: 250ms;
  transition-timing-function: var(--ease-3);
}
.Card-feature-download ._action-icon::after {
  content: "";
  width: 1rem;
  height: 1rem;
  inset: 0;
  margin: auto;
  position: absolute;
  background-color: currentColor;
}

.Card-feature-download ._action-download ._action-icon::after {
  mask-image: var(--svg-arrow);
}

.Card-feature-download ._action-download ._action-icon {
  transform: rotate(90deg);
}

@media not all and (min-width: 40em) {
  .Card {
    padding: 1.5rem;
  }
  .CardRow-feature-news .Card {
    aspect-ratio: initial;
  }
  .Card-title {
    --line-height: 2rem;
    font-size: 1.25rem;
  }
  :is(.Card-subtitle, .Card-date) {
    --line-height: 1.5rem;
    font-size: 0.875rem;
  }
}
.NewsBanner {
  --column-gap: 5rem;
  background-color: #f5f5f5;
  padding: 2rem;
}

.NewsBanner .row-col:is(.left, .right) {
  --size: 6;
}

.NewsBanner .row-col.left {
  align-self: center;
}

.NewsBanner-img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.NewsBanner-info {
  display: flex;
  flex-direction: column;
  padding: 2rem 0;
}

.NewsBanner-subtitle {
  color: rgba(0, 0, 0, 0.5);
  margin-bottom: 1rem;
}

.NewsBanner-date {
  font-weight: 500;
  font-family: Montserrat;
}

.NewsBanner-title {
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 3rem;
  margin-bottom: 1rem;
}

.NewsBanner-title a:hover {
  color: #9962EF;
  text-decoration: 2px underline;
}

.NewsBanner-desc {
  font-size: 1rem;
  line-height: 1.75rem;
  color: rgba(0, 0, 0, 0.5);
  margin-bottom: 1rem;
}

.NewsBanner-actions {
  margin-top: auto;
}

@media not all and (min-width: 80em) {
  .NewsBanner {
    --column-gap: 2.5rem;
  }
  .NewsBanner-title {
    font-size: 1.25rem;
    line-height: 2rem;
  }
  .NewsBanner-desc {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
@media not all and (min-width: 40em) {
  .NewsBanner {
    --row-gap: 2rem;
    padding: 1rem;
  }
  .NewsBanner .row-col:is(.left, .right) {
    --size: 12;
  }
  .NewsBanner-info {
    padding-top: 0;
    padding-bottom: 0;
  }
  .NewsBanner .btn {
    font-size: 0.75rem;
    line-height: 1rem;
    min-width: 6rem;
    height: 2.5rem;
  }
}
.NewsRow {
  --row-gap: 4rem;
  --column-gap: 2rem;
}

.NewsRow .row-col {
  --size: 4;
}

.News-imgwrap {
  overflow: hidden;
}

.News-img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.News-subtitle {
  color: rgba(0, 0, 0, 0.5);
  margin-top: 2rem;
}

.News-date {
  font-family: Montserrat;
  font-weight: 500;
}

.News-title {
  font-size: 1.25rem;
  line-height: 2rem;
  font-weight: 500;
  margin-top: 0.5rem;
}

a.News:hover .News-title {
  color: #9962EF;
}

@media not all and (min-width: 40em) {
  .NewsRow .row-col {
    --size: 12;
  }
}
.ArticleHeader {
  background-color: #f5f5f5;
  padding-top: calc(var(--site-header-height) + 5rem);
  padding-bottom: 5rem;
}

.ArticleHeader .row {
  --gap: 10rem;
}

.ArticleHeader .row-col:is(.left, .right) {
  --size: 6;
}

.ArticleHeader-info {
  display: flex;
  flex-direction: column;
}

.ArticleHeader-heading {
  font-size: 3rem;
  line-height: 4rem;
  font-weight: 500;
  margin-bottom: 2rem;
}

.ArticleHeader .ArticleMeta {
  margin-top: auto;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.ArticleHeader-date {
  font-family: Montserrat;
}

.ArticleHeader-img {
  display: block;
  width: 100%;
}

@media not all and (min-width: 80em) {
  .ArticleHeader .row {
    --gap: 4rem;
  }
  .ArticleHeader-heading {
    font-size: 2rem;
    line-height: 3rem;
  }
}
@media not all and (min-width: 40em) {
  .ArticleHeader {
    padding-top: calc(var(--site-header-height) + 3rem);
  }
  .ArticleHeader .row-col:is(.left, .right) {
    --size: 12;
  }
  .ArticleHeader .ArticleMeta {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.ArticleContent {
  margin-top: 8rem;
  margin-bottom: 10rem;
}

.ArticleContent .container {
  max-width: calc(60rem + var(--padding-x) * 2);
}

.ArticleContent .hypertext {
  --headings-font-size: 1.5em;
  --headings-font-weight: 500;
  --headings-color: #000000;
  color: rgba(0, 0, 0, 0.5);
}

@media not all and (min-width: 40em) {
  .ArticleContent {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.ArticleMeta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 2rem;
  margin-top: 1rem;
  font-weight: 500;
}

.ArticleContent .ArticleMeta {
  justify-content: center;
}

.ArticleMeta .social-action {
  --action-size: 2rem;
  --icon-size: 1rem;
}

.ArticleMeta :is(._date, ._share) {
  font-family: Montserrat;
}

.ArticleMeta-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

@media not all and (min-width: 40em) {
  .ArticleMeta {
    gap: 0.5rem 1rem;
  }
}
.ArticlePagination {
  position: relative;
  display: flex;
  justify-content: center;
  border-top-width: 1px;
  border-color: rgba(0, 0, 0, 0.25);
  padding: 1.25rem 0;
  margin-top: 5rem;
}

.ArticlePagination-action {
  display: flex;
  gap: 0.25em;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}
.ArticlePagination-action:is(:hover, :focus-visible) {
  text-decoration: 2px underline;
  background-color: #f5f5f5;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
}

.ArticlePagination-action.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.ArticlePagination-action.prev::before,
.ArticlePagination-action.back::before,
.ArticlePagination-action.next::after {
  content: "";
  width: var(--icon-size);
  height: var(--icon-size);
}

.ArticlePagination-action.prev::before,
.ArticlePagination-action.next::after {
  mask-image: var(--svg-arrow);
}

.ArticlePagination-action.prev:is(:hover, :focus-visible)::before,
.ArticlePagination-action.next:is(:hover, :focus-visible)::after {
  animation: MaskIconShuffleToRight var(--animation-shuffling);
}

.ArticlePagination-action.prev {
  --icon-size: 1rem;
  position: absolute;
  left: -0.5rem;
}
.ArticlePagination-action.prev::before {
  transform: rotate(180deg);
  margin-top: 0.125rem;
}

.ArticlePagination-action.back::before {
  --icon-size: 1rem;
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" stroke="%23000" stroke-width="2.5"><path d="M1 3h14M1 13h14M1 8h8.6"/></svg>');
  margin-top: 0.125rem;
}

.ArticlePagination-action.next {
  --icon-size: 1rem;
  position: absolute;
  right: -0.5rem;
}
.ArticlePagination-action.next::after {
  margin-top: 0.125rem;
}

@media not all and (min-width: 40em) {
  .ArticlePagination {
    margin-top: 2rem;
  }
  .ArticlePagination-action {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
.page-news-details {
  padding-top: 0;
}

.page-news-details .SiteHeader {
  background-color: initial;
}

.scroller-start .page-news-details .SiteHeader {
  background-color: #ffffff;
}

.page-news-details .NewsRow {
  margin-top: 3rem;
}

.page-details ._heading {
  font-size: 2.5rem;
  line-height: 4rem;
  font-weight: 500;
  text-align: center;
  margin-top: 1.5rem;
}

.page-details ._subtitle {
  color: #0005FF;
  text-align: center;
}

.page-details .hypertext {
  margin-top: 6rem;
}

.page-details .MajorDetails-meta {
  justify-content: center;
}

@media not all and (min-width: 40em) {
  .page-details ._heading {
    font-size: 2rem;
    line-height: 3rem;
  }
}
.EnrollmentPlanSec-table table {
  width: 100%;
  border-collapse: collapse;
}

.EnrollmentPlanSec-table tr {
  align-items: center;
  padding-right: 2rem;
}

.EnrollmentPlanSec-table a {
  font-weight: 700;
  color: #9962EF;
  text-decoration: 2px underline rgba(0, 0, 0, 0.25);
}
.EnrollmentPlanSec-table a:hover {
  text-underline-offset: 2px;
  text-decoration-color: currentColor;
}

.EnrollmentPlanSec-table :is(th, td) {
  --width: auto;
  padding: 1.25em 0.5em;
  text-align: center;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-color: rgba(0, 0, 0, 0.25);
}

.EnrollmentPlanSec-table thead {
  background-color: #9962EF;
  color: #ffffff;
}

.EnrollmentPlanSec-table thead :is(th, td) {
  font-size: 1.25rem;
  line-height: 1.5rem;
  padding: 1em 0.5em;
}

.EnrollmentPlanSec-banner {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2.5rem;
  background-color: #f5f5f5;
  margin-top: 5rem;
}

.EnrollmentPlanSec-banner ._content {
  flex: 1 1 0%;
}

.EnrollmentPlanSec-banner ._title {
  font-size: 1.5rem;
  line-height: 2.25rem;
}

.EnrollmentPlanSec-banner ._subtitle {
  margin-top: 0.25rem;
  font-size: 1rem;
  line-height: 1.75rem;
  color: rgba(0, 0, 0, 0.6);
}

@media not all and (min-width: 80em) {
  .EnrollmentPlanSec-table {
    overflow: auto;
  }
  .EnrollmentPlanSec-table table {
    min-width: 32rem;
  }
  .EnrollmentPlanSec-table :is(thead :is(th, td), th) {
    font-size: 0.75rem;
    line-height: 1rem;
    padding: 1em 0.75em;
  }
}
@media not all and (min-width: 40em) {
  .EnrollmentPlanSec-banner {
    flex-direction: column;
    align-items: stretch;
    margin-top: 2rem;
    padding: 2rem 1.25rem;
  }
  .EnrollmentPlanSec-banner ._title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .EnrollmentPlanSec-banner ._subtitle {
    margin-top: 1rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
.page-college-news .CollegeNewsSec {
  margin-top: 6rem;
  margin-bottom: 12rem;
}
.page-college-news .CollegeNewsGrid {
  margin-top: 5rem;
}
.page-college-news .CardRow-feature-news {
  margin-top: 6rem;
}

@media not all and (min-width: 40em) {
  .page-college-news .CollegeNewsSec {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
  .page-college-news .CollegeNewsGrid {
    margin-top: 2rem;
  }
  .page-college-news .CardRow-feature-news {
    margin-top: 4rem;
  }
}
.page-teaching-staff .TeachingStaffList {
  margin-top: 5rem;
}
.page-teaching-staff .TeachingStaff {
  --bgcolor-rgb: 245, 245, 245;
}

.page-teaching-space .row-gallery {
  --row-gap: 4rem;
  --column-gap: 2rem;
  margin-top: 5rem;
}
.page-teaching-space .row-gallery .row-col {
  --size: 6;
}
.page-teaching-space .row-gallery ._title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
  margin-top: 2rem;
}
.page-teaching-space .row-gallery ._img {
  display: block;
  width: 100%;
  aspect-ratio: 768/576;
  object-fit: cover;
}
.page-teaching-space .row-gallery .swiper {
  --swiper-theme-color: #ffffff;
  --swiper-pagination-bottom: 2rem;
}

@media not all and (min-width: 40em) {
  .page-teaching-space .row-gallery .row-col {
    --size: 12;
  }
  .page-teaching-space .row-gallery .swiper {
    --swiper-pagination-bottom: 1rem;
  }
  .page-teaching-space .row-gallery ._title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}
.page-achievements .row-achivmts {
  --gap: 2rem;
  margin-top: 5rem;
}
.page-achievements .row-achivmts .row-col {
  --size: 3;
}
.page-achievements .achivmt {
  background-color: #F5F5F5;
  padding: 2rem;
}
.page-achievements .achivmt-img {
  width: 100%;
  aspect-ratio: 300/360;
  object-fit: cover;
}
.page-achievements .achivmt-date {
  font-family: Montserrat;
  font-weight: 500;
  margin-top: 1.5rem;
}
.page-achievements .achivmt-title {
  margin-top: 0.5rem;
}

@media not all and (min-width: 80em) {
  .page-achievements .row-achivmts .row-col {
    --size: 4;
  }
}
@media not all and (min-width: 40em) {
  .page-achievements .row-achivmts {
    --column-gap: 0.25rem;
    --row-gap: 1rem;
    margin-top: 2rem;
  }
  .page-achievements .row-achivmts .row-col {
    --size: 6;
  }
  .page-achievements .achivmt {
    padding: 0;
  }
  .page-achievements .achivmt-info {
    padding: 0 1rem 1.5rem;
  }
  .page-achievements .achivmt-date {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .page-achievements .achivmt-title {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.page-youth-league :is(.CardRow, .NewsBanner) {
  margin-top: 5rem;
}
.page-youth-league .Card-title {
  font-weight: 500;
}
.page-youth-league :is(.Card-subtitle, .Card-date) {
  color: rgba(var(--fgcolor-rgb), 0.5);
}

@media not all and (min-width: 40em) {
  .page-youth-league :is(.CardRow, .NewsBanner) {
    margin-top: 2rem;
  }
}
.page-consultation .NavbarSec {
  position: sticky;
  top: 6rem;
  background-color: #ffffff;
  z-index: 7;
  margin-top: 10rem;
}
.page-consultation .IntroSec {
  margin-top: 6rem;
}
.page-consultation .IntroSec-header {
  --gap: 2rem;
}
.page-consultation .IntroSec-header .half {
  --size: 6;
}
.page-consultation .IntroSec-header .hypertext {
  --headings-font-weight: 400;
  --headings-line-height: 1.6em;
}
.page-consultation .IntroSec .player {
  margin-top: 5rem;
}

@media not all and (min-width: 40em) {
  .page-consultation .NavbarSec {
    margin-top: 2rem;
    top: 4rem;
  }
  .page-consultation .IntroSec {
    margin-top: 3rem;
  }
  .page-consultation .IntroSec-header .half {
    --size: 12;
  }
  .page-consultation .IntroSec-header .hypertext {
    --headings-font-size: 1.125rem;
    --headings-line-height: 1.75rem;
  }
  .page-consultation .IntroSec .player {
    margin-top: 2rem;
  }
}
.page-teaching-research :is(.NewsBanner, .CardRow) {
  margin-top: 5rem;
}

@media not all and (min-width: 40em) {
  .page-teaching-research :is(.NewsBanner, .CardRow) {
    margin-top: 3rem;
  }
}
.StuDevGrid {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.StuDevCard.with-image:first-child {
  grid-row: span 3;
}

.StuDevCard:not(:first-child) {
  min-height: 16rem;
}

.StuDevCard.with-image:not(:first-child) {
  display: flex;
  flex-direction: row;
}

.StuDevCard .Card-imgwrap {
  overflow: hidden;
}

.StuDevCard:not(.with-image) .Card-imgwrap {
  display: none;
}

.StuDevCard:first-child .Card-imgwrap {
  margin-bottom: 4rem;
}

.StuDevCard:not(:first-child) .Card-imgwrap {
  width: 12rem;
  margin-right: 2rem;
}

.StuDevCard .Card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.StuDevCard:first-child .Card-img {
  aspect-ratio: 960/720;
}

.StuDevCard:not(:first-child) .Card-img {
  aspect-ratio: 1/1;
}

.StuDevCard:not(.with-image) .Card-info {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.StuDevCard.with-image:first-child .Card-info {
  margin: 0 2rem 0 1rem;
}

.StuDevCard.with-image:not(:first-child) .Card-info {
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
}
.StuDevCard.with-image:not(:first-child) .Card-info::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  mask-image: var(--svg-arrow);
  margin-top: auto;
  color: #9962EF;
}

a.StuDevCard.with-image:hover:not(:first-child) .Card-info::after {
  color: rgba(var(--fgcolor-rgb), 1);
}

.StuDevCard.with-image .Card-date {
  margin-bottom: 0.5rem;
}

.StuDevCard .Card-title {
  font-weight: 500;
}

.StuDevCard.with-image:not(:first-child) .Card-title {
  font-size: 1.25rem;
  line-height: 2rem;
}

.StuDevCard .Card-date {
  color: rgba(var(--fgcolor-rgb), 0.6);
}

.StuDevCard:first-child .Card-subtitle {
  --line-height: 2rem;
  font-size: 1.125rem;
}

.StuDevCard.with-image:not(:first-child) .Card-subtitle {
  display: none;
}

@media not all and (min-width: 80em) {
  .StuDevCard.with-image:first-child {
    grid-column: initial;
    grid-row: initial;
  }
  .StuDevCard.with-image:not(:first-child) {
    flex-direction: column;
  }
  .StuDevCard:first-child .Card-imgwrap {
    margin-bottom: 2rem;
  }
  .StuDevCard:not(:first-child) {
    min-height: auto;
  }
  .StuDevCard:not(:first-child) .Card-imgwrap {
    width: 100%;
    margin-bottom: 2rem;
  }
  .StuDevCard:not(:first-child) .Card-img {
    aspect-ratio: 4/3;
  }
  .StuDevCard.with-image:not(:first-child) .Card-title {
    --line-height: 2.25rem;
    font-size: 1.5rem;
  }
  .StuDevCard.with-image:first-child .Card-subtitle {
    --line-height: 1.75rem;
    font-size: 1rem;
  }
  .StuDevCard.with-image:not(:first-child) .Card-subtitle {
    display: -webkit-box;
  }
  .StuDevCard.with-image:first-child .Card-info {
    margin-left: 0;
    margin-right: 0;
  }
  .StuDevCard.with-image:not(:first-child) .Card-info::after {
    display: none;
  }
}
@media not all and (min-width: 40em) {
  .StuDevGrid {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2rem;
  }
  .StuDevCard.with-image:not(:first-child) .Card-title,
  .StuDevCard.with-image .Card-title {
    font-size: 1.25rem;
    line-height: 2rem;
  }
  .StuDevCard.with-image:first-child .Card-subtitle {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}
.page-service .PageBody .container {
  max-width: calc(1280px + var(--padding-x) * 2);
}
.page-service .CardRow {
  margin-top: 5rem;
}

@media not all and (min-width: 40em) {
  .page-service .CardRow {
    margin-top: 2rem;
  }
}
.ContactUsSec {
  margin-top: 10rem;
}
.ContactUsSec .row {
  --row-gap: 4rem;
  --column-gap: 12rem;
}
.ContactUsSec .half {
  --size: 6;
}

.ContactUsSec-heading {
  font-size: 4rem;
  line-height: 4rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
}

.ContactUsSec-desc {
  font-size: 1rem;
  line-height: 1.75rem;
  color: rgba(0, 0, 0, 0.5);
  margin-bottom: 1.25rem;
}

.ContactUsSec-info {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ContactUsSec-media {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.ContactUsSec-code {
  padding: 1.25rem;
  text-align: center;
  background-color: #F5F5F5;
}
.ContactUsSec-code ._img {
  width: 11.25rem;
}
.ContactUsSec-code ._title {
  margin: 1rem 0 0.5rem;
}

.ContactUsSec-contact {
  display: flex;
  align-items: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-color: #E5D1EB;
  border-top-width: 1px;
}
.ContactUsSec-contact:last-child {
  border-bottom-width: 1px;
}

.ContactUsSec-contact ._content {
  flex: 1 1 0%;
  padding: 0 2rem;
}

.ContactUsSec-contact ._title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
}

.ContactUsSec-contact ._desc {
  font-size: 1.25rem;
  margin-top: 1rem;
}

.ContactUsSec-contact ._icon {
  width: auto;
  height: 4rem;
}

@media not all and (min-width: 80em) {
  .ContactUsSec .row {
    --column-gap: 4rem;
  }
  .ContactUsSec .row-col {
    --size: 6;
  }
  .ContactUsSec-heading {
    font-size: 2.25rem;
    line-height: 3rem;
  }
  .ContactUsSec-code {
    padding: 0.5rem;
  }
  .ContactUsSec-code ._img {
    width: 6rem;
  }
  .ContactUsSec-code ._title {
    font-size: 0.75rem;
    line-height: 1rem;
    margin: 0.5rem 0;
  }
  .ContactUsSec-contact ._icon {
    height: 2.5rem;
  }
  .ContactUsSec-contact ._content {
    padding: 0 1rem;
  }
  .ContactUsSec-contact ._title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .ContactUsSec-contact ._desc {
    font-size: 0.875rem;
    line-height: 1.5rem;
    margin-top: 0;
  }
}
@media not all and (min-width: 40em) {
  .ContactUsSec {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
  .ContactUsSec .row-col {
    --size: 12;
  }
  .ContactUsSec-contact {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.page-contact .Banner-overlay {
  background-color: initial;
}

.ArticleContent .hypertext img{ height:auto !important;}
.ArticleContent .hypertext p{

text-align:justify;

}
