@charset "UTF-8";
:root {
  --scst-wine: #8a1028;
  --scst-wine-dark: #690b1d;
  --scst-wine-deep: #4e0715;
  --scst-soft: #f8f3f4;
  --scst-line: #e5d7da;
  --scst-text: #30292b;
  --scst-muted: #746b6d

  --card-bg: rgba(255, 255, 255, 0.7);
  --bluegray: #b2bfcd;
  --lightbluegray: #f6f9fc;
  --toolbar-bg: white;
  --success-border: var(--success);
  --info-border: var(--info);
  --warning-border: var(--warning);
  --danger-border: var(--danger);
  --border: #ced4da;
  --white: white;
  --white-offset: #fefefe;
  --focus: #39f;
  --focus-shadow: 0 0 0 0.2rem #eaeaea;
  --toggle-color: white;
  --template-sidebar-bg: var(--template-bg-dark-80);
  --template-sidebar-font-color: white;
  --template-sidebar-link-color: white;
  --template-bg-light: #f0f4fb;
  --template-text-light: white;
  --template-special-color: #132f53;
  --template-link-color: #2a69b8;
  --template-link-hover-color: #173a65;
  --template-contrast: #2a69b8;
  --template-bg-dark: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-3: hsl(var(--hue), 40%, 97%);
  --template-bg-dark-5: hsl(var(--hue), 40%, 95%);
  --template-bg-dark-7: hsl(var(--hue), 40%, 93%);
  --template-bg-dark-10: hsl(var(--hue), 40%, 90%);
  --template-bg-dark-15: hsl(var(--hue), 40%, 85%);
  --template-bg-dark-20: hsl(var(--hue), 40%, 80%);
  --template-bg-dark-30: hsl(var(--hue), 40%, 70%);
  --template-bg-dark-40: hsl(var(--hue), 40%, 60%);
  --template-bg-dark-50: hsl(var(--hue), 40%, 50%);
  --template-bg-dark-60: hsl(var(--hue), 40%, 40%);
  --template-bg-dark-65: hsl(var(--hue), 40%, 35%);
  --template-bg-dark-70: hsl(var(--hue), 40%, 30%);
  --template-bg-dark-75: hsl(var(--hue), 40%, 25%);
  --template-bg-dark-80: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-90: hsl(var(--hue), 40%, 10%);
  --gray-100: #f9fafb;
  --gray-200: #eaedf0;
  --gray-300: #dfe3e7;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6d757e;
  --gray-700: #484f56;
  --gray-800: #353b41;
  --gray-900: #22262a;
  --primary: #010156;
  --secondary: #6d757e;
  --success: #448344;
  --info: #30638d;
  --warning: #ad6200;
  --danger: #a51f18;
  --light: #f9fafb;
  --dark: #353b41;
  --primary-rgb: 1, 1, 86;
  --secondary-rgb: 109, 117, 126;
  --success-rgb: 68, 131, 68;
  --info-rgb: 48, 99, 141;
  --warning-rgb: 173, 98, 0;
  --danger-rgb: 165, 31, 24;
  --light-rgb: 249, 250, 251;
  --dark-rgb: 53, 59, 65;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;
  --body-color-rgb: 34, 38, 42;
  --body-bg-rgb: 255, 255, 255;
  --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --body-font-family: var(--cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  --body-font-size: 1rem;
  --body-font-weight: 400;
  --body-line-height: 1.5;
  --body-color: #22262a;
  --body-bg: white;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  color: var(--body-color);
  text-align: var(--body-text-align);
  background-color: var(--body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-bs-original-title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.2em;
  background-color: #fbeea8;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: var(--cassiopeia-color-link);
  text-decoration: underline;
}
a:hover {
  color: var(--cassiopeia-color-hover);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--font-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #e93f8e;
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: white;
  background-color: #22262a;
  border-radius: 0.2rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6d757e;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}
html {
  scroll-behavior: smooth
}
body {
  font-family: Arial, "Helvetica Neue", sans-serif;
  color: var(--scst-text);
  background: #fff
}
.container {
  max-width: 1200px
}
a {
  color: var(--scst-wine-dark)
}
a:hover {
  color: var(--scst-wine)
}
.scst-utility {
  height: 38px;
  background: var(--scst-wine);
  font-size: .82rem
}
.scst-utility .container {
  height: 100%
}
.scst-utility a, .scst-utility span {
  color: #fff;
  text-decoration: none
}
.scst-brand {
  background: var(--scst-wine);
}
.scst-logo {
  width: 170px;
  max-height: 92px;
  object-fit: contain
}
.scst-brand-text {
  border-left: 1px solid var(--scst-line);
  font-size: clamp(1.35rem, 2.15vw, 2rem);
  line-height: 1.25;
  color: #fff;
  font-weight: 400
}
.scst-brand-text small {
  display: block;
  margin-top: .5rem;
  color: #E4E7E8;
  font-size: .95rem
}
.scst-navbar {
  background: var(--scst-wine)
}
.scst-navbar .nav-link {
  color: #fff !important;
  text-transform: uppercase;
  font-size: .83rem;
  font-weight: 700;
  padding: 15px 11px !important;
  white-space: nowrap
}
.scst-navbar .nav-link:hover, .scst-navbar .nav-link:focus, .scst-navbar .show > .nav-link {
  background: var(--scst-wine-dark)
}
.scst-navbar .dropdown-menu {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  border-top: 3px solid var(--scst-wine-dark);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
  min-width: 230px
}
.scst-navbar .dropdown-item {
  padding: .6rem 1rem;
  font-size: .9rem
}
.scst-navbar .dropdown-item:hover {
  background: var(--scst-soft);
  color: var(--scst-wine-dark)
}
.scst-navbar .dropdown-header {
  color: var(--scst-wine);
  font-weight: 700
}
.scst-faculty-menu {
  max-height: 70vh;
  overflow-y: auto
}
.scst-carousel-wrap {
  background: #eee
}
.scst-carousel-wrap .carousel {
  max-width: 100%;
  margin: 0 auto
}
.scst-carousel-wrap .carousel-item img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: #eee
}
.carousel-control-prev, .carousel-control-next {
  width: 58px;
  opacity: 1
}
.carousel-control-prev-icon, .carousel-control-next-icon {
  background-color: rgba(138, 16, 40, .92);
  background-size: 45%;
  width: 52px;
  height: 58px
}
.carousel-indicators [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #fff;
  background-color: transparent;
  opacity: 1
}
.carousel-indicators .active {
  background-color: #fff
}
.scst-home-info {
  background: #f7f5f4
}
.scst-info-block {
  padding: 26px 28px;
  min-height: 260px;
  border-right: 1px solid var(--scst-line);
  display: flex;
  flex-direction: column
}
.scst-info-block:last-child {
  border-right: 0
}
.scst-info-block h2 {
  font-size: 1.05rem;
  color: var(--scst-wine);
  font-weight: 700;
  text-transform: uppercase
}
.scst-info-block p, .scst-info-block li {
  font-size: .92rem;
  line-height: 1.65
}
.scst-news li {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 7px;
  margin-bottom: 8px
}
.scst-news small {
  color: var(--scst-muted)
}
.btn-scst {
  border-radius: 0;
  background: var(--scst-wine);
  color: #fff;
  border-color: var(--scst-wine);
  align-self: flex-start
}
.btn-scst:hover {
  background: var(--scst-wine-dark);
  border-color: var(--scst-wine-dark);
  color: #fff
}
.page-hero {
  background: linear-gradient(110deg, var(--scst-wine-dark), var(--scst-wine));
  color: #fff;
  padding: 38px 0
}
.page-hero h1 {
  color: #fff;
  margin: 0;
  font-size: 2.35rem
}
.page-hero p {
  margin: .55rem 0 0;
  color: #f3e6e9
}
.page-hero-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem
}
.content-card {
  border: 1px solid var(--scst-line);
  padding: 2rem;
  background: #fff
}
.prose h1, .prose h2, .prose h3 {
  color: var(--scst-wine-dark)
}
.prose h2 {
  margin-top: 2rem;
  padding-bottom: .45rem;
  border-bottom: 2px solid var(--scst-soft)
}
.prose p, .prose li {
  line-height: 1.75
}
.prose img {
  max-width: 100%;
  height: auto
}
.prose table {
  width: 100%;
  margin: 1.25rem 0
}
.prose th {
  background: var(--scst-wine-dark);
  color: #fff
}
.prose th, .prose td {
  padding: .7rem;
  border: 1px solid var(--scst-line)
}
.faculty-unit-title {
  border-bottom: 3px solid var(--scst-wine);
  margin-bottom: 16px
}
.faculty-unit-title span {
  display: block;
  color: var(--scst-muted);
  font-size: .82rem
}
.faculty-unit-title h2 {
  font-size: 1.35rem;
  color: var(--scst-wine-dark);
  margin: .25rem 0 .6rem
}
.faculty-entry {
  border: 1px solid var(--scst-line);
  background: #fff
}
.faculty-entry h3 {
  font-size: 1.08rem;
  color: var(--scst-wine-dark);
  margin: 0 0 .3rem
}
.faculty-role {
  font-size: .88rem;
  color: var(--scst-muted);
  margin-bottom: .65rem
}
.faculty-research {
  font-size: .88rem;
  line-height: 1.55
}
.faculty-entry-photo {
  width: 100%;
  height: 100%;
  min-height: 170px;
  object-fit: cover
}
.scst-unit-list .list-group-item {
  border-radius: 0
}
.scst-unit-list .active {
  background: var(--scst-wine);
  border-color: var(--scst-wine);
  color: #fff
}
.scst-unit-heading {
  background: var(--scst-soft);
  color: var(--scst-wine-dark);
  font-weight: 700;
  font-size: .82rem
}

@media(max-width:1199.98px) {
  .scst-navbar .nav-link {
    padding: 11px 12px !important
  }
  .scst-navbar .dropdown-menu {
    box-shadow: none;
    border-top: 0;
    background: rgba(255, 255, 255, .06)
  }
  .scst-navbar .dropdown-item, .scst-navbar .dropdown-header {
    color: #fff
  }
  .scst-navbar .dropdown-item:hover {
    background: rgba(0, 0, 0, .15);
    color: #fff
  }
}
@media(max-width:767.98px) {
  .scst-utility {
    display: none
  }
  .scst-logo {
    width: 120px;
    max-height: 70px
  }
  .scst-brand-text {
    display: none
  }
  .scst-info-block {
    border-right: 0;
    border-bottom: 1px solid var(--scst-line);
    min-height: auto
  }
  .scst-carousel-wrap .carousel-item img {
    min-height: 280px;
    object-fit: cover
  }
  .page-hero {
    padding: 28px 0
  }
  .page-hero h1 {
    font-size: 1.8rem
  }
}
.footer {
  margin-top: 1em;
  color: white;
  background-color: var(--scst-wine);
  background-image: linear-gradient(135deg, var(--cassiopeia-color-primary) 0%, var(--cassiopeia-color-hover) 100%);
}
.footer .grid-child {
  align-items: center;
  justify-content: space-between;
  padding: 2.5rem 0.5em;
}
.footer a {
  color: currentColor;
}
[dir=rtl] .footer {
  background-image: linear-gradient(135deg, var(--cassiopeia-color-hover) 0%, var(--cassiopeia-color-primary) 100%);
}
.footer .mod-menu {
  position: relative;
}
.footer .metismenu.mod-menu .mm-collapse {
  background: var(--cassiopeia-color-primary);
}
.scst-footer {
  background: var(--scst-wine);
  color: #fff;
  font-size: .9rem
}
.scst-footer a {
  color: #fff
}
.scst-footer hr {
  border-color: rgba(255, 255, 255, .25)
}
@media (max-width: 991.98px) {
  .footer .grid-child {
    flex-direction: column;
  }
  .footer .grid-child .mod-footer {
    margin: 0.375rem 0;
  }
}
/* =========================================================
   SCST UI Refinement
   2026-09
   ========================================================= */


/* ---------------------------------------------------------
   Global
   --------------------------------------------------------- */

body {
    color: var(--scst-text);
    background: #fff;
    line-height: 1.65;
}

.container {
    max-width: 1240px;
}

a {
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        opacity .18s ease;
}


/* ---------------------------------------------------------
   Header / Brand
   --------------------------------------------------------- */

.scst-brand {
    background: var(--scst-wine);
}

.scst-brand .container {
    min-height: 122px;
}

.scst-logo {
    width: 165px;
    max-height: 88px;
    object-fit: contain;
}

.scst-brand-text {
    padding-left: 2rem !important;
    border-left: 1px solid rgba(255,255,255,.28);

    font-size: clamp(1.28rem, 1.85vw, 1.9rem);
    line-height: 1.28;
    font-weight: 400;

    color: #fff;
}

.scst-brand-text small {
    margin-top: .45rem;
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    letter-spacing: .015em;
}


/* ---------------------------------------------------------
   Main Navigation
   --------------------------------------------------------- */

.scst-navbar {
    position: relative;
    z-index: 1050;

    background: var(--scst-wine-dark);

    border-top: 1px solid rgba(255,255,255,.12);
}

.scst-navbar .navbar-nav {
    align-items: stretch;
}

.scst-navbar .nav-item {
    position: relative;
}

.scst-navbar .nav-link {
    height: 100%;

    display: flex;
    align-items: center;

    padding: 16px 12px !important;

    color: #fff !important;

    font-size: .81rem;
    font-weight: 600;
    letter-spacing: .025em;
    text-transform: uppercase;

    white-space: nowrap;

    border-bottom: 3px solid transparent;
}

.scst-navbar .nav-link:hover,
.scst-navbar .nav-link:focus,
.scst-navbar .nav-item.show > .nav-link,
.scst-navbar .dropdown.show > .nav-link {

    background: var(--scst-wine-deep);

    border-bottom-color: rgba(255,255,255,.85);
}


/* Dropdown arrow */

.scst-navbar .dropdown-toggle::after {
    margin-left: .42rem;
    vertical-align: .12em;

    border-top-width: .32em;
    border-right-width: .28em;
    border-left-width: .28em;

    transition: transform .2s ease;
}

.scst-navbar .dropdown.show > .dropdown-toggle::after {
    transform: rotate(180deg);
}


/* ---------------------------------------------------------
   Dropdown Menu
   --------------------------------------------------------- */

.scst-navbar .dropdown-menu {

    margin-top: 0;

    padding: .45rem 0;

    min-width: 245px;

    background: #fff;

    border: 0;
    border-radius: 0;
    border-top: 3px solid var(--scst-wine);

    box-shadow:
        0 12px 28px rgba(38, 20, 24, .18);

    z-index: 1100;
}

.scst-navbar .dropdown-item {

    padding: .62rem 1.15rem;

    color: #44383b;

    font-size: .88rem;
    line-height: 1.4;

    text-decoration: none;

    border-left: 3px solid transparent;
}

.scst-navbar .dropdown-item:hover,
.scst-navbar .dropdown-item:focus {

    color: var(--scst-wine-dark);

    background: var(--scst-soft);

    border-left-color: var(--scst-wine);
}

.scst-navbar .dropdown-header {

    padding: .7rem 1.15rem .35rem;

    color: var(--scst-wine);

    font-size: .75rem;
    font-weight: 700;

    letter-spacing: .04em;
    text-transform: uppercase;
}


/* Faculty dropdown */

.scst-faculty-menu {

    width: min(390px, 90vw);

    max-height: 70vh;

    overflow-y: auto;
    overflow-x: hidden;

    scrollbar-width: thin;
}


/* ---------------------------------------------------------
   Carousel
   --------------------------------------------------------- */

.scst-home-hero {
    position: relative;

    background: #eee;

    overflow: hidden;
}

.scst-home-hero .carousel {
    width: 100%;
}

.scst-home-hero .carousel-inner {
    background: #eee;
}

.scst-home-hero .carousel-item img {

    width: 100%;

    max-height: 590px;

    object-fit: cover;
    object-position: center;

    display: block;
}


/* Carousel arrows */

.scst-home-hero .carousel-control-prev,
.scst-home-hero .carousel-control-next {

    width: 72px;

    opacity: 0;

    transition: opacity .25s ease;
}

.scst-home-hero:hover .carousel-control-prev,
.scst-home-hero:hover .carousel-control-next {

    opacity: 1;
}

.scst-home-hero .carousel-control-prev-icon,
.scst-home-hero .carousel-control-next-icon {

    width: 48px;
    height: 56px;

    background-color: rgba(78, 7, 21, .82);
    background-size: 42%;

    border: 1px solid rgba(255,255,255,.22);
}


/* Carousel indicators */

.scst-home-hero .carousel-indicators {
    margin-bottom: 1.1rem;
}

.scst-home-hero .carousel-indicators [data-bs-target] {

    width: 9px;
    height: 9px;

    margin: 0 5px;

    border: 2px solid #fff;
    border-radius: 50%;

    background: transparent;

    opacity: .8;
}

.scst-home-hero .carousel-indicators .active {

    background: #fff;

    opacity: 1;
}


/* ---------------------------------------------------------
   Home Highlights
   --------------------------------------------------------- */

.scst-home-highlights {

    padding: 64px 0 68px;

    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fbf9f9 100%
        );
}


/* Heading */

.scst-section-heading {

    display: flex;
    justify-content: space-between;
    align-items: flex-end;

    margin-bottom: 28px;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--scst-line);
}

.scst-section-kicker {

    display: block;

    margin-bottom: .2rem;

    color: var(--scst-wine);

    font-size: .74rem;
    font-weight: 700;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.scst-section-heading h1 {

    margin: 0;

    color: var(--scst-wine-dark);

    font-size: clamp(1.6rem, 2.5vw, 2.15rem);
    font-weight: 600;
}


/* Cards */

.scst-highlight-card {

    height: 100%;

    display: flex;
    flex-direction: column;

    background: #fff;

    border: 1px solid #e8dfe1;

    box-shadow:
        0 5px 18px rgba(55, 31, 36, .055);

    overflow: hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.scst-highlight-card:hover {

    transform: translateY(-4px);

    border-color: #d9c4c9;

    box-shadow:
        0 14px 30px rgba(55, 31, 36, .11);
}


/* Image */

.scst-highlight-image {

    position: relative;

    display: block;

    height: 235px;

    overflow: hidden;

    background: #eee;
}

.scst-highlight-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .4s ease;
}

.scst-highlight-card:hover .scst-highlight-image img {

    transform: scale(1.025);
}


/* Card body */

.scst-highlight-body {

    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 24px 25px 25px;
}

.scst-highlight-category {

    margin-bottom: .65rem;

    color: var(--scst-wine);

    font-size: .72rem;
    font-weight: 700;

    letter-spacing: .09em;
    text-transform: uppercase;
}

.scst-highlight-body h2 {

    margin: 0 0 .75rem;

    color: var(--scst-wine-dark);

    font-size: 1.15rem;
    font-weight: 600;

    line-height: 1.4;
}

.scst-highlight-body h2 a {

    color: inherit;

    text-decoration: none;
}

.scst-highlight-body h2 a:hover {

    color: var(--scst-wine);
}

.scst-highlight-body p {

    margin-bottom: 1.25rem;

    color: var(--scst-muted);

    font-size: .92rem;

    line-height: 1.65;
}


/* Read more */

.scst-read-more {

    margin-top: auto;

    display: inline-flex;
    align-items: center;
    gap: .55rem;

    width: fit-content;

    color: var(--scst-wine-dark);

    font-size: .84rem;
    font-weight: 700;

    text-decoration: none;

    text-transform: uppercase;

    letter-spacing: .035em;
}

.scst-read-more span {

    font-size: 1rem;

    transition: transform .18s ease;
}

.scst-read-more:hover {

    color: var(--scst-wine);
}

.scst-read-more:hover span {

    transform: translateX(4px);
}

.scst-read-more-muted {

    color: #8a7d80;

    cursor: default;
}


/* ---------------------------------------------------------
   Latest News
   --------------------------------------------------------- */

.scst-home-news {

    padding: 0 0 70px;

    background: #fbf9f9;
}

.scst-news-panel {

    display: grid;

    grid-template-columns: 180px 1fr;

    border-top: 3px solid var(--scst-wine);
    border-bottom: 1px solid var(--scst-line);

    background: #fff;
}

.scst-news-title {

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 28px;

    color: #fff;

    background: var(--scst-wine-dark);
}

.scst-news-title span {

    font-size: .76rem;

    letter-spacing: .12em;
    text-transform: uppercase;

    opacity: .72;
}

.scst-news-title strong {

    margin-top: .1rem;

    font-size: 1.5rem;
    font-weight: 500;
}

.scst-news-list {

    padding: 10px 25px;
}

.scst-news-row {

    display: grid;

    grid-template-columns: 95px 1fr 24px;

    gap: 18px;

    align-items: center;

    min-height: 52px;

    color: var(--scst-text);

    text-decoration: none;

    border-bottom: 1px solid #eee6e8;
}

.scst-news-row:last-child {

    border-bottom: 0;
}

.scst-news-row time {

    color: var(--scst-muted);

    font-size: .78rem;
}

.scst-news-row > span:nth-child(2) {

    font-size: .91rem;
}

.scst-news-row:hover {

    color: var(--scst-wine);
}

.scst-news-arrow {

    color: var(--scst-wine);

    font-size: 1rem;

    transition: transform .18s ease;
}

.scst-news-row:hover .scst-news-arrow {

    transform: translateX(3px);
}


/* =========================================================
   SCST Footer
   ========================================================= */

.footer {
    margin-top: 0;
    color: rgba(255, 255, 255, .84);
    background: var(--scst-wine);
    background-image: none;
}


/* ---------------------------------------------------------
   Partner Institutions
   --------------------------------------------------------- */

.scst-footer-partners {
    padding: 34px 0 36px;
    background: #fff;
    border-top: 1px solid var(--scst-line);
    border-bottom: 1px solid var(--scst-line);
}

.scst-footer-partners-title {
    position: relative;
    margin-bottom: 25px;
    text-align: center;
}

.scst-footer-partners-title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--scst-line);
}

.scst-footer-partners-title span {
    position: relative;
    display: inline-block;
    padding: 0 18px;

    color: var(--scst-wine-dark);
    background: #fff;

    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}


/* Logo */

.scst-partner-logo {
    height: 82px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 8px 20px;
}

.scst-partner-logo img {
    display: block;

    max-width: 100%;
    max-height: 68px;

    width: auto;
    height: auto;

    object-fit: contain;

    transition:
        transform .2s ease,
        opacity .2s ease;
}

.scst-partner-logo:hover img {
    transform: translateY(-2px);
}


/* ---------------------------------------------------------
   Contact Area
   --------------------------------------------------------- */

.scst-footer-contact {
    padding: 46px 0 42px;
    background: var(--scst-wine);
}

.scst-footer-block {
    height: 100%;
    padding-right: 25px;

    font-size: .87rem;
    line-height: 1.7;
}

.scst-footer-heading {
    margin-bottom: .45rem;

    color: #fff;

    font-size: .94rem;
    font-weight: 700;
}

.scst-footer-block p {
    margin: 0 0 1rem;
    color: rgba(255, 255, 255, .78);
}

.scst-footer-block a {
    color: #fff;

    text-decoration-color: rgba(255, 255, 255, .38);
    text-underline-offset: 3px;
}

.scst-footer-block a:hover {
    color: #fff;
    text-decoration-color: #fff;
}


/* subtle separators */

.scst-footer-contact .col-lg-4:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, .14);
}


/* ---------------------------------------------------------
   Copyright
   --------------------------------------------------------- */

.scst-footer-bottom {
    padding: 15px 0;

    color: rgba(255, 255, 255, .66);

    background: var(--scst-wine-dark);

    border-top: 1px solid rgba(255, 255, 255, .1);

    font-size: .78rem;
    text-align: center;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .scst-footer-contact .col-lg-4:not(:last-child) {
        border-right: 0;
    }

    .scst-footer-block {
        padding-right: 0;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .scst-footer-partners {
        padding: 28px 0 30px;
    }

    .scst-footer-partners-title {
        margin-bottom: 18px;
    }

    .scst-partner-logo {
        height: 68px;
        padding: 6px 14px;
    }

    .scst-partner-logo img {
        max-height: 54px;
    }

    .scst-footer-contact {
        padding: 34px 0;
    }

    .scst-footer-block {
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .scst-footer-contact .col-md-12:last-child .scst-footer-block {
        padding-bottom: 0;
        border-bottom: 0;
    }

}
/* ---------------------------------------------------------
   Desktop dropdown hover refinement
   --------------------------------------------------------- */

@media (min-width: 1200px) {

    /*
     * Invisible bridge prevents dropdown from closing
     * while mouse moves from nav item to dropdown.
     */

    .scst-navbar .dropdown-menu::before {

        content: "";

        position: absolute;

        top: -7px;
        left: 0;

        width: 100%;
        height: 7px;
    }

}


/* ---------------------------------------------------------
   Tablet / Navigation breakpoint
   --------------------------------------------------------- */

@media (max-width: 1199.98px) {

    .scst-navbar {
        padding: 0;
    }

    .scst-navbar .container {
        max-width: 100%;
    }

    .scst-navbar .navbar-toggler {

        margin-left: auto;

        border: 0;
        border-radius: 0;

        box-shadow: none;
    }

    .scst-navbar .navbar-collapse {

        border-top: 1px solid rgba(255,255,255,.12);
    }

    .scst-navbar .navbar-nav {

        align-items: stretch;
    }

    .scst-navbar .nav-link {

        padding: 12px 18px !important;

        border-bottom:
            1px solid rgba(255,255,255,.08);
    }

    .scst-navbar .dropdown-menu {

        width: 100%;

        margin: 0;

        padding: .2rem 0 .45rem 1rem;

        background: rgba(0,0,0,.12);

        border: 0;

        box-shadow: none;
    }

    .scst-navbar .dropdown-item,
    .scst-navbar .dropdown-header {

        color: #fff;
    }

    .scst-navbar .dropdown-item {

        padding: .55rem 1.1rem;

        border-left-color:
            rgba(255,255,255,.16);
    }

    .scst-navbar .dropdown-item:hover,
    .scst-navbar .dropdown-item:focus {

        color: #fff;

        background: rgba(0,0,0,.18);

        border-left-color: #fff;
    }

    .scst-navbar .dropdown-header {

        color: rgba(255,255,255,.68);
    }

    .scst-faculty-menu {

        max-height: none;

        overflow: visible;
    }


    /* Carousel */

    .scst-home-hero .carousel-control-prev,
    .scst-home-hero .carousel-control-next {

        opacity: .8;
    }

}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .scst-brand .container {

        min-height: 105px;
    }

    .scst-logo {

        width: 140px;
    }

    .scst-brand-text {

        font-size: 1.35rem;
    }

    .scst-home-hero .carousel-item img {

        max-height: 500px;
    }

    .scst-home-highlights {

        padding: 48px 0;
    }

    .scst-news-panel {

        grid-template-columns: 140px 1fr;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .scst-brand .container {

        min-height: auto;

        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .scst-logo {

        width: 125px;
        max-height: 68px;
    }

    .scst-brand-text {

        display: none;
    }


    /* Carousel */

    .scst-home-hero .carousel-item img {

        height: auto;

        min-height: 0;
        max-height: none;

        object-fit: contain;
    }

    .scst-home-hero .carousel-control-prev,
    .scst-home-hero .carousel-control-next {

        width: 48px;
    }

    .scst-home-hero .carousel-control-prev-icon,
    .scst-home-hero .carousel-control-next-icon {

        width: 36px;
        height: 44px;
    }


    /* Highlights */

    .scst-home-highlights {

        padding: 38px 0 42px;
    }

    .scst-section-heading {

        margin-bottom: 22px;
    }

    .scst-highlight-image {

        height: 220px;
    }


    /* News */

    .scst-home-news {

        padding-bottom: 45px;
    }

    .scst-news-panel {

        display: block;
    }

    .scst-news-title {

        padding: 17px 20px;

        flex-direction: row;

        justify-content: flex-start;
        align-items: baseline;

        gap: .5rem;
    }

    .scst-news-title strong {

        font-size: 1.25rem;
    }

    .scst-news-list {

        padding: 6px 18px;
    }

    .scst-news-row {

        grid-template-columns: 1fr 20px;

        gap: 5px 12px;

        padding: 12px 0;
    }

    .scst-news-row time {

        grid-column: 1 / 3;

        font-size: .73rem;
    }


    /* Footer */

    .footer .grid-child {

        padding: 32px 20px;
    }

    .footer .col-md-4 + .col-md-4 {

        margin-top: 1.8rem;
    }

}
/* =========================================================
   About Page
   ========================================================= */

.about-page {
    max-width: 1180px;
    margin: 0 auto;
}


/* Page title */

.about-page-header {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--scst-line);
}

.about-page-header h1 {
    margin: 0;
    color: var(--scst-wine-dark);
    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}


/* Sections */

.about-section {
    margin-bottom: 55px;
}

.about-section + .about-section {
    padding-top: 10px;
}

.about-section > h2 {
    position: relative;

    margin: 0 0 30px;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 600;
    line-height: 1.4;
}

.about-section > h2::before {
    content: "";

    position: absolute;
    top: .1em;
    bottom: .1em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* Text */

.about-section p {
    color: #484042;

    font-size: .96rem;
    line-height: 1.85;

    text-align: justify;
}


/* Images */

.about-image {
    margin: 0;

    padding: 16px;

    background: #fff;

    border: 1px solid var(--scst-line);

    box-shadow: 0 6px 22px rgba(70, 30, 40, .06);
}

.about-image img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}


/* Program */

.about-program-intro {
    margin-bottom: 35px;
}


/* Research areas */

.about-research-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 10px 18px;

    margin-top: 22px;
}

.about-research-item {
    display: grid;
    grid-template-columns: 32px 1fr;

    gap: 10px;

    align-items: start;

    padding: 12px 14px;

    background: var(--scst-soft);

    border-left: 2px solid var(--scst-line);
}

.about-research-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    color: #fff;
    background: var(--scst-wine);

    font-size: .72rem;
    font-weight: 700;
}

.about-research-item p {
    margin: 2px 0 0;

    font-size: .87rem;
    line-height: 1.55;

    text-align: left;
}


/* Description */

.about-text-block {
    margin-top: 30px;
}


/* Facilities */

.about-facilities {
    margin-top: 45px;
    padding-top: 38px;

    border-top: 1px solid var(--scst-line);
}

.about-facilities h3 {
    position: relative;

    margin: 0 0 20px;
    padding-left: 15px;

    color: var(--scst-wine-dark);

    font-size: 1.25rem;
    font-weight: 600;
}

.about-facilities h3::before {
    content: "";

    position: absolute;
    top: .15em;
    bottom: .15em;
    left: 0;

    width: 3px;

    background: var(--scst-wine);
}


/* Closing */

.about-closing {
    margin-top: 40px;

    padding: 25px 28px;

    background: var(--scst-soft);

    border-left: 4px solid var(--scst-wine);
}

.about-closing p {
    margin: 0;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 991.98px) {

    .about-research-list {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767.98px) {

    .about-page-header {
        margin-bottom: 30px !important;
    }

    .about-section {
        margin-bottom: 40px;
    }

    .about-section > h2 {
        margin-bottom: 24px;

        font-size: 1.25rem;
    }

    .about-section p {
        font-size: .94rem;
        line-height: 1.75;

        text-align: left;
    }

    .about-image {
        max-width: 520px;

        margin: 0 auto;
    }

    .about-facilities {
        margin-top: 35px;
        padding-top: 30px;
    }

    .about-closing {
        margin-top: 32px;

        padding: 20px;
    }

}
/* =========================================================
   Research Topic
   ========================================================= */

.research-topic-page {
    max-width: 1180px;
    margin: 0 auto;
}


/* Page title */

.research-topic-header {
    margin-bottom: 42px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--scst-line);
}

.research-topic-header h1 {
    margin: 0;
    color: var(--scst-wine-dark);
    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}


/* Research area */

.research-topic-section {
    margin-bottom: 70px;
}

.research-topic-section + .research-topic-section {
    padding-top: 45px;
    border-top: 1px solid var(--scst-line);
}

.research-topic-section > h2 {
    position: relative;

    margin: 0 0 30px;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-size: 1.45rem;
    font-weight: 600;
}

.research-topic-section > h2::before {
    content: "";

    position: absolute;
    top: .08em;
    bottom: .08em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* Research topics */

.research-topic-list {
    margin-bottom: 32px;
}

.research-topic-item {
    padding: 0 0 24px;
    margin-bottom: 25px;

    border-bottom: 1px solid #eee5e7;
}

.research-topic-item:last-child {
    margin-bottom: 0;
}

.research-topic-item h3 {
    margin: 0 0 10px;

    color: var(--scst-wine);

    font-size: 1.03rem;
    font-weight: 700;
    line-height: 1.5;
}

.research-topic-item p {
    margin: 0;

    color: #4b4446;

    font-size: .95rem;
    line-height: 1.85;

    text-align: justify;
}


/* =========================================================
   Images
   ========================================================= */

.research-topic-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 20px;

    margin-top: 32px;
}

.research-topic-gallery figure {
    height: 330px;

    margin: 0;
    padding: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    border: 1px solid var(--scst-line);
}

.research-topic-gallery img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* Tablet */

@media (max-width: 991.98px) {

    .research-topic-gallery figure {
        height: 270px;
    }

}


/* Mobile */

@media (max-width: 767.98px) {

    .research-topic-header {
        margin-bottom: 32px;
    }

    .research-topic-section {
        margin-bottom: 48px;
    }

    .research-topic-section + .research-topic-section {
        padding-top: 32px;
    }

    .research-topic-section > h2 {
        margin-bottom: 25px;
        font-size: 1.25rem;
    }

    .research-topic-item p {
        text-align: left;
    }

    .research-topic-gallery {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .research-topic-gallery figure {
        height: auto;
        min-height: 260px;
    }

    .research-topic-gallery img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 340px;
    }

}
/* =========================================================
   Admission
   ========================================================= */

.admission-page {
    max-width: 1180px;
    margin: 0 auto;
}


/* Page title */

.admission-header {
    margin-bottom: 42px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--scst-line);
}

.admission-header h1 {
    margin: 0;
    color: var(--scst-wine-dark);
    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}


/* Main section */

.admission-section {
    margin-bottom: 55px;
}

.admission-section > h2,
.admission-info-section > h2 {
    position: relative;

    margin: 0 0 24px;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.45;
}

.admission-section > h2::before,
.admission-info-section > h2::before {
    content: "";

    position: absolute;
    top: .08em;
    bottom: .08em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* Text */

.admission-page p,
.admission-page li {
    color: #4b4446;
    font-size: .95rem;
    line-height: 1.8;
}

.admission-page p {
    text-align: justify;
}

.admission-page a {
    color: var(--scst-wine);
    overflow-wrap: anywhere;
}

.admission-page a:hover {
    color: var(--scst-wine-dark);
}


/* =========================================================
   Joint admission notice
   ========================================================= */

.admission-notice {
    margin: 0 0 32px;
    padding: 22px 25px;

    background: #fff9f1;

    border: 1px solid #e8cda8;
    border-left: 5px solid #d9953b;
}

.admission-notice-title {
    margin-bottom: 12px;

    color: var(--scst-wine-dark);

    font-size: 1rem;
    font-weight: 700;
}

.admission-notice p {
    margin-bottom: 10px;
}


/* =========================================================
   Address / note
   ========================================================= */

.admission-address {
    margin: 22px 0;

    padding: 18px 22px;

    color: #4b4446;
    background: var(--scst-soft);

    border-left: 3px solid var(--scst-wine);

    font-size: .94rem;
    font-style: normal;
    line-height: 1.75;
}

.admission-note {
    margin: 20px 0 0;

    padding: 13px 16px;

    color: var(--scst-wine-dark);
    background: #f8f3f4;

    font-size: .9rem;
}


/* =========================================================
   Subsections
   ========================================================= */

.admission-subsection {
    margin-top: 38px;
    padding-top: 32px;

    border-top: 1px solid var(--scst-line);
}

.admission-subsection h3 {
    margin: 0 0 18px;

    color: var(--scst-wine-dark);

    font-size: 1.15rem;
    font-weight: 600;
}


/* Lists */

.admission-requirements,
.admission-sub-list {
    padding-left: 1.5rem;
}

.admission-requirements > li,
.admission-sub-list > li {
    margin-bottom: 12px;
}

.admission-requirements li::marker {
    color: var(--scst-wine);
    font-weight: 700;
}

.admission-requirements li p {
    margin: 8px 0 0;
}


/* =========================================================
   English score table
   ========================================================= */

.admission-score-table {
    max-width: 850px;

    margin: 25px auto 28px;

    border: 1px solid var(--scst-line);
}

.admission-score-table table {
    min-width: 650px;
}

.admission-score-table th {
    padding: 14px 15px;

    color: var(--scst-wine-dark);
    background: var(--scst-soft);

    font-size: .9rem;
    font-weight: 700;

    text-align: center;
    white-space: nowrap;

    border-bottom: 2px solid var(--scst-line);
}

.admission-score-table td {
    padding: 14px 15px;

    color: #4b4446;

    font-size: .92rem;

    text-align: center;
}


/* =========================================================
   Lower information sections
   ========================================================= */

.admission-info-section {
    margin-top: 0;
    padding: 34px 0;

    border-top: 1px solid var(--scst-line);
}

.admission-info-section:last-child {
    padding-bottom: 10px;
}

.admission-info-section p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 767.98px) {

    .admission-header {
        margin-bottom: 32px;
    }

    .admission-section {
        margin-bottom: 42px;
    }

    .admission-section > h2,
    .admission-info-section > h2 {
        font-size: 1.2rem;
    }

    .admission-page p {
        text-align: left;
    }

    .admission-notice {
        padding: 18px;
    }

    .admission-address {
        padding: 16px 18px;
    }

    .admission-subsection {
        margin-top: 30px;
        padding-top: 26px;
    }

    .admission-info-section {
        padding: 28px 0;
    }

}
/* =========================================================
   Useful Links
   ========================================================= */

.links-page {
    max-width: 1050px;
    margin: 0 auto;
}


/* Sections */

.links-section {
    margin-bottom: 60px;
}

.links-section + .links-section {
    padding-top: 42px;
    border-top: 1px solid var(--scst-line);
}


/* Heading */

.links-section-header {
    margin-bottom: 26px;
}

.links-section-header h1,
.links-section-header h2 {
    position: relative;

    margin: 0;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-weight: 600;
    line-height: 1.4;
}

.links-section-header h1 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}

.links-section-header h2 {
    font-size: 1.45rem;
}

.links-section-header h1::before,
.links-section-header h2::before {
    content: "";

    position: absolute;
    top: .08em;
    bottom: .08em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* =========================================================
   Link list
   ========================================================= */

.links-list {
    border-top: 1px solid var(--scst-line);
}

.links-item {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 66px;

    padding: 16px 20px;

    color: #443c3e;

    background: #fff;

    border-bottom: 1px solid var(--scst-line);

    text-decoration: none;

    transition:
        background-color .2s ease,
        color .2s ease,
        padding-left .2s ease;
}


/* Hover */

a.links-item:hover {
    padding-left: 25px;

    color: var(--scst-wine-dark);

    background: var(--scst-soft);
}


/* Text */

.links-item-text {
    display: block;

    font-size: .96rem;
    font-weight: 600;

    line-height: 1.5;
}

.links-item-text small {
    display: block;

    margin-top: 4px;

    color: var(--scst-muted);

    font-size: .78rem;
    font-weight: 400;
}


/* Arrow */

.links-arrow {
    flex: 0 0 auto;

    color: var(--scst-wine);

    font-size: 1.15rem;
}


/* =========================================================
   IDExpert
   ========================================================= */

.links-item-app {
    align-items: flex-start;
}

.links-app-buttons {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 12px;
}

.links-app-buttons a {
    display: inline-flex;
    align-items: center;

    padding: 7px 12px;

    color: var(--scst-wine-dark);

    background: var(--scst-soft);

    border: 1px solid var(--scst-line);

    font-size: .8rem;
    font-weight: 600;

    text-decoration: none;

    transition:
        background-color .2s ease,
        color .2s ease;
}

.links-app-buttons a:hover {
    color: #fff;
    background: var(--scst-wine);
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px) {

    .links-section {
        margin-bottom: 45px;
    }

    .links-section + .links-section {
        padding-top: 32px;
    }

    .links-section-header h1 {
        font-size: 2rem;
    }

    .links-section-header h2 {
        font-size: 1.25rem;
    }

    .links-item {
        min-height: 60px;

        padding: 14px 12px;
    }

    a.links-item:hover {
        padding-left: 12px;
    }

    .links-item-text {
        font-size: .9rem;
    }

    .links-app-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

}
/* =========================================================
   Correspondence
   ========================================================= */

.correspondence-page {
    max-width: 1100px;
    margin: 0 auto;
}


/* Page title */

.correspondence-header {
    margin-bottom: 42px;
    padding-bottom: 18px;

    border-bottom: 1px solid var(--scst-line);
}

.correspondence-header h1 {
    margin: 0;

    color: var(--scst-wine-dark);

    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}


/* =========================================================
   Section
   ========================================================= */

.correspondence-section > h2 {
    position: relative;

    max-width: 850px;

    margin: 0 0 30px;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.55;
}

.correspondence-section > h2::before {
    content: "";

    position: absolute;
    top: .08em;
    bottom: .08em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* =========================================================
   Contact cards
   ========================================================= */

.correspondence-grid {
    margin-bottom: 55px;
}

.correspondence-card {
    overflow: hidden;

    background: #fff;

    border: 1px solid var(--scst-line);

    box-shadow: 0 5px 18px rgba(60, 30, 36, .04);
}


/* Person */

.correspondence-person {
    padding: 20px 23px 17px;

    background: var(--scst-soft);

    border-bottom: 1px solid var(--scst-line);
    border-top: 3px solid var(--scst-wine);
}

.correspondence-person h3 {
    margin: 0 0 4px;

    color: var(--scst-wine-dark);

    font-size: 1.08rem;
    font-weight: 700;
}

.correspondence-person p {
    margin: 0;

    color: var(--scst-muted);

    font-size: .82rem;
    font-weight: 600;
}


/* Details */

.correspondence-details {
    padding: 21px 23px;
}

.correspondence-details > p {
    margin: 0 0 9px;

    color: #4b4446;

    font-size: .9rem;
    line-height: 1.65;
}


/* Contact details */

.correspondence-details dl {
    margin: 20px 0 0;
    padding-top: 15px;

    border-top: 1px solid #eee5e7;
}

.correspondence-details dl > div {
    display: grid;

    grid-template-columns: 55px 1fr;

    gap: 10px;

    padding: 5px 0;
}

.correspondence-details dt {
    color: var(--scst-muted);

    font-size: .78rem;
    font-weight: 600;
}

.correspondence-details dd {
    margin: 0;

    color: #4b4446;

    font-size: .88rem;
}

.correspondence-details a {
    color: var(--scst-wine);

    text-decoration: none;
}

.correspondence-details a:hover {
    color: var(--scst-wine-dark);

    text-decoration: underline;
}


/* =========================================================
   TIGP Office
   ========================================================= */

.correspondence-tigp {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 27px 30px;

    background: var(--scst-soft);

    border-left: 4px solid var(--scst-wine);
}

.correspondence-tigp-label {
    display: block;

    margin-bottom: 5px;

    color: var(--scst-wine);

    font-size: .7rem;
    font-weight: 700;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.correspondence-tigp h2 {
    margin: 0;

    color: #443c3e;

    font-size: .95rem;
    font-weight: 600;
    line-height: 1.55;
}

.correspondence-tigp-link {
    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 10px 16px;

    color: #fff;

    background: var(--scst-wine);

    border: 1px solid var(--scst-wine);

    font-size: .82rem;
    font-weight: 700;

    text-decoration: none;
}

.correspondence-tigp-link:hover {
    color: #fff;

    background: var(--scst-wine-dark);
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px) {

    .correspondence-header {
        margin-bottom: 32px;
    }

    .correspondence-section > h2 {
        margin-bottom: 25px;

        font-size: 1.15rem;
    }

    .correspondence-person {
        padding: 18px 20px 15px;
    }

    .correspondence-details {
        padding: 18px 20px;
    }

    .correspondence-tigp {
        display: block;

        padding: 22px;
    }

    .correspondence-tigp-link {
        margin-top: 18px;
    }

}
/* =========================================================
   Transportation & Map
   ========================================================= */

.transportation-page {
    max-width: 1180px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   Page Header
   --------------------------------------------------------- */

.transportation-header {
    margin-bottom: 32px;
    padding-bottom: 18px;

    border-bottom: 1px solid var(--scst-line);
}

.transportation-header h1 {
    margin: 0;

    color: var(--scst-wine-dark);

    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 500;
}


/* =========================================================
   Quick Navigation
   ========================================================= */

.transportation-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 55px;
    padding: 20px;

    background: var(--scst-soft);

    border: 1px solid var(--scst-line);
}

.transportation-nav a {
    display: flex;
    align-items: center;

    gap: 13px;

    min-height: 58px;

    padding: 11px 14px;

    color: #443c3e;

    background: #fff;

    border: 1px solid var(--scst-line);

    font-size: .88rem;
    font-weight: 600;
    line-height: 1.45;

    text-decoration: none;

    transition:
        border-color .2s ease,
        color .2s ease,
        background-color .2s ease;
}

.transportation-nav a:hover {
    color: var(--scst-wine-dark);

    background: #fff;

    border-color: var(--scst-wine);
}

.transportation-nav-number {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    color: #fff;

    background: var(--scst-wine);

    font-size: .7rem;
    font-weight: 700;
}


/* =========================================================
   Main Sections
   ========================================================= */

.transportation-section {
    scroll-margin-top: 110px;

    margin-bottom: 60px;
}

.transportation-section + .transportation-section {
    padding-top: 42px;

    border-top: 1px solid var(--scst-line);
}

.transportation-section > h2 {
    position: relative;

    margin: 0 0 27px;
    padding-left: 17px;

    color: var(--scst-wine-dark);

    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.5;
}

.transportation-section > h2::before {
    content: "";

    position: absolute;
    top: .1em;
    bottom: .1em;
    left: 0;

    width: 4px;

    background: var(--scst-wine);
}


/* =========================================================
   Transportation Method
   ========================================================= */

.transportation-method {
    margin-bottom: 26px;
    padding: 22px 24px;

    background: #fff;

    border: 1px solid var(--scst-line);
    border-left: 3px solid #d8c3c8;
}

.transportation-method:last-child {
    margin-bottom: 0;
}

.transportation-method h3 {
    margin: 0 0 12px;

    color: var(--scst-wine);

    font-size: 1rem;
    font-weight: 700;
}

.transportation-method p {
    margin: 0 0 10px;

    color: #4b4446;

    font-size: .93rem;
    line-height: 1.8;

    text-align: justify;
}

.transportation-method p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   Airport Bus List
   ========================================================= */

.transportation-bus-list {
    margin: 18px 0 0;
    padding-left: 1.3rem;
}

.transportation-bus-list li {
    margin-bottom: 12px;

    color: #4b4446;

    font-size: .9rem;
    line-height: 1.75;
}

.transportation-bus-list li:last-child {
    margin-bottom: 0;
}

.transportation-bus-list li::marker {
    color: var(--scst-wine);
}

.transportation-bus-list strong {
    color: var(--scst-wine-dark);
}


/* =========================================================
   External Link Box
   ========================================================= */

.transportation-link-box {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 23px;

    color: #443c3e;

    background: var(--scst-soft);

    border-left: 4px solid var(--scst-wine);
}

.transportation-link-box strong {
    font-size: .94rem;
}

.transportation-link-box a {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;

    gap: 7px;

    padding: 9px 14px;

    color: #fff;

    background: var(--scst-wine);

    border: 1px solid var(--scst-wine);

    font-size: .8rem;
    font-weight: 700;

    text-decoration: none;
}

.transportation-link-box a:hover {
    color: #fff;

    background: var(--scst-wine-dark);
}


/* =========================================================
   Maps
   ========================================================= */

.transportation-map {
    margin: 0;

    padding: 15px;

    background: #fff;

    border: 1px solid var(--scst-line);
}

.transportation-map img {
    display: block;

    width: auto;
    max-width: 100%;
    height: auto;

    margin: 0 auto;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 767.98px) {

    .transportation-header {
        margin-bottom: 25px;
    }

    .transportation-nav {
        grid-template-columns: 1fr;

        margin-bottom: 40px;
        padding: 12px;
    }

    .transportation-nav a {
        min-height: 54px;
    }

    .transportation-section {
        margin-bottom: 45px;
    }

    .transportation-section + .transportation-section {
        padding-top: 32px;
    }

    .transportation-section > h2 {
        font-size: 1.18rem;
    }

    .transportation-method {
        padding: 18px;
    }

    .transportation-method p {
        text-align: left;
    }

    .transportation-link-box {
        display: block;

        padding: 18px;
    }

    .transportation-link-box a {
        margin-top: 14px;
    }

    .transportation-map {
        padding: 8px;
    }

}
/* =========================================================
   Student Forms / Download
   ========================================================= */

.student-form-page {
    max-width: 1120px;
    margin: 0 auto;
}


/* Page Header */

.student-form-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--scst-wine);
}

.student-form-header h1 {
    margin: 0;
    color: var(--scst-wine);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
}

.student-form-page-description {
    max-width: 850px;
    margin: .75rem 0 0;
    color: var(--scst-muted);
    line-height: 1.7;
}


/* Category Navigation */

.student-form-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 2.5rem;
    padding: 1rem;
    background: var(--scst-soft);
    border: 1px solid var(--scst-line);
}

.student-form-nav a {
    display: inline-flex;
    align-items: center;
    padding: .55rem .9rem;
    color: var(--scst-wine);
    background: #fff;
    border: 1px solid var(--scst-line);
    text-decoration: none;
    font-size: .95rem;
    font-weight: 600;
    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.student-form-nav a:hover,
.student-form-nav a:focus {
    color: #fff;
    background: var(--scst-wine);
    border-color: var(--scst-wine);
}


/* Section */

.student-form-section {
    scroll-margin-top: 100px;
    margin-bottom: 3rem;
}

.student-form-section-header {
    margin-bottom: .5rem;
}

.student-form-section-header h2 {
    position: relative;
    margin: 0;
    padding: 0 0 .7rem 1rem;
    color: var(--scst-wine);
    font-size: 1.55rem;
    font-weight: 700;
    border-bottom: 1px solid var(--scst-line);
}

.student-form-section-header h2::before {
    content: "";
    position: absolute;
    top: .15rem;
    bottom: .75rem;
    left: 0;
    width: 4px;
    background: var(--scst-wine);
}

.student-form-section-description {
    margin-top: .85rem;
    color: var(--scst-muted);
    line-height: 1.7;
}


/* Form List */

.student-form-list {
    border-top: 1px solid var(--scst-line);
}

.student-form-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;

    padding: 1rem .75rem;

    border-bottom: 1px solid var(--scst-line);

    transition: background-color .15s ease;
}

.student-form-item:hover {
    background: var(--scst-soft);
}


/* Item Title */

.student-form-item-content {
    min-width: 0;
}

.student-form-item-title {
    margin: 0;

    color: var(--scst-text);

    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
}

.student-form-item-description {
    margin-top: .35rem;
    color: var(--scst-muted);
    font-size: .92rem;
    line-height: 1.6;
}


/* Actions */

.student-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
}

.student-form-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;

    min-height: 36px;
    padding: .4rem .65rem;

    color: var(--scst-wine);

    background: #fff;

    border: 1px solid var(--scst-line);

    text-decoration: none;

    font-size: .88rem;
    font-weight: 600;

    transition:
        color .15s ease,
        border-color .15s ease,
        background-color .15s ease;
}

.student-form-link:hover,
.student-form-link:focus {
    color: #fff;
    background: var(--scst-wine);
    border-color: var(--scst-wine);
}


/* File Type */

.student-form-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 42px;

    padding: .12rem .3rem;

    color: var(--scst-wine);

    background: var(--scst-soft);

    border: 1px solid var(--scst-line);

    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
}


.student-form-link:hover .student-form-type,
.student-form-link:focus .student-form-type {
    color: var(--scst-wine);
    background: #fff;
}


/* External */

.student-form-external {
    font-size: 1rem;
    line-height: 1;
}


/* Footer / Notes */

.student-form-section-footer {
    margin-top: 1rem;

    padding: 1rem 1.2rem;

    background: var(--scst-soft);

    border-left: 4px solid var(--scst-wine);

    color: var(--scst-text);

    line-height: 1.7;
}

.student-form-section-footer a {
    color: var(--scst-wine);
    font-weight: 600;
}


/* Empty */

.student-form-empty {
    padding: 2rem;

    color: var(--scst-muted);

    background: var(--scst-soft);

    border: 1px solid var(--scst-line);

    text-align: center;
}


/* Mobile */

@media (max-width: 767.98px) {

    .student-form-header {
        margin-bottom: 1.5rem;
    }

    .student-form-nav {
        display: grid;
        grid-template-columns: 1fr;
        padding: .75rem;
    }

    .student-form-nav a {
        width: 100%;
    }

    .student-form-item {
        grid-template-columns: 1fr;
        gap: .75rem;

        padding: 1rem .25rem;
    }

    .student-form-actions {
        justify-content: flex-start;
    }

    .student-form-link {
        max-width: 100%;
    }

    .student-form-link-label {
        overflow-wrap: anywhere;
    }
}
/* =========================================================
   Faculty
   ========================================================= */

.faculty-side-nav {
    position: sticky;
    top: 100px;
    border: 1px solid #e6e6e6;
    background: #fff;
}

.faculty-all {
    display: block;
    padding: 1rem 1.1rem;
    font-weight: 700;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #e6e6e6;
}

.faculty-all:hover {
    color: #8b0000;
    background: #faf7f7;
}

.faculty-all.active {
    color: #fff;
    background: #8b0000;
}


/* Institution */

.faculty-side-nav .accordion-item {
    border: 0;
    border-bottom: 1px solid #e6e6e6;
}

.faculty-side-nav .accordion-button {
    padding: 1rem 1.1rem;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.35;
    color: #333;
    background: #fff;
    box-shadow: none;
}

.faculty-side-nav .accordion-button:not(.collapsed) {
    color: #8b0000;
    background: #faf7f7;
    box-shadow: none;
}

.faculty-side-nav .accordion-button:focus {
    box-shadow: none;
}


/* Unit */

.faculty-side-nav .list-group-item {
    padding: .75rem 1.1rem .75rem 1.5rem;
    border-left: 3px solid transparent;
    font-size: .9rem;
    line-height: 1.4;
}

.faculty-side-nav .list-group-item:hover {
    color: #8b0000;
    background: #faf7f7;
}

.faculty-side-nav .list-group-item.active {
    color: #8b0000;
    font-weight: 700;
    background: #f8eeee;
    border-color: transparent;
    border-left-color: #8b0000;
}


/* =========================================================
   Unit heading
   ========================================================= */

.faculty-unit-section {
    scroll-margin-top: 100px;
}

.faculty-unit-title {
    padding-bottom: 1rem;
    border-bottom: 2px solid #8b0000;
}

.faculty-institution {
    display: block;
    margin-bottom: .35rem;
    color: #8b0000;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.faculty-unit-title h2 {
    color: #252525;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 700;
}

.faculty-unit-meta {
    white-space: nowrap;
}

.faculty-unit-website {
    color: #8b0000;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
}

.faculty-unit-website:hover {
    text-decoration: underline;
}


/* =========================================================
   Faculty card
   ========================================================= */

.faculty-entry {
    overflow: hidden;
    border: 1px solid #e5e5e5;
    background: #fff;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.faculty-entry:hover {
    border-color: #d6c3c3;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
    transform: translateY(-2px);
}

.faculty-photo-link {
    display: block;
    width: 100%;
    height: 100%;
}

.faculty-entry-photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    object-position: center top;
    background: #f3f3f3;
}

.faculty-entry-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* Name */

.faculty-name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}

.faculty-name a {
    color: #252525;
    text-decoration: none;
}

.faculty-name a:hover {
    color: #8b0000;
}

.faculty-name-zh {
    margin-top: .25rem;
    color: #777;
    font-size: .9rem;
}


/* Role / research */

.faculty-role {
    margin: .7rem 0 0;
    color: #8b0000;
    font-size: .9rem;
    font-weight: 600;
}

.faculty-research {
    margin: .7rem 0 0;
    color: #666;
    font-size: .88rem;
    line-height: 1.55;
}


/* Contact */

.faculty-contact {
    margin-top: auto;
    padding-top: 1rem;
    font-size: .85rem;
}

.faculty-contact a {
    color: #8b0000;
    font-weight: 600;
    text-decoration: none;
}

.faculty-contact a:hover {
    text-decoration: underline;
}

.faculty-contact-separator {
    margin: 0 .35rem;
    color: #aaa;
}

.faculty-email-text {
    color: #777;
}


/* Empty */

.faculty-empty {
    border: 1px solid #e6e6e6;
    background: #fafafa;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 991.98px) {

    .faculty-side-nav {
        position: static;
    }

    .faculty-unit-meta {
        white-space: normal;
    }
}

@media (max-width: 575.98px) {

    .faculty-entry-photo {
        min-height: 160px;
    }

    .faculty-entry .col-4 {
        width: 38%;
    }

    .faculty-entry .col-8 {
        width: 62%;
    }

    .faculty-entry-body {
        padding: 1rem !important;
    }

    .faculty-name {
        font-size: 1rem;
    }
}
/* =========================================================
   HEADER - FACULTY NAVIGATION

   僅處理 Header Faculty。
   不影響 faculty.php 左側 Faculty navigation。
   ========================================================= */


/* ---------------------------------------------------------
   Faculty top-level
   --------------------------------------------------------- */

.scst-nav-faculty {
    position: relative;
}


/* ---------------------------------------------------------
   First level:
   Institution
   --------------------------------------------------------- */

.scst-nav-faculty-menu {
    min-width: 310px;

    margin: 0;
    padding: 8px 0;

    overflow: visible !important;

    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 0;

    background: #fff;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .14);
}


.scst-nav-faculty-institution {
    position: relative;
}


/* Institution button */

.scst-nav-faculty-institution-link {
    display: flex;

    align-items: center;
    justify-content: space-between;

    width: 100%;

    gap: 20px;

    padding: 11px 18px;

    border: 0;

    color: #222;

    background: transparent;

    font-size: .94rem;
    font-weight: 600;

    line-height: 1.4;

    text-align: left;

    white-space: normal;
}


.scst-nav-faculty-institution-link:hover,
.scst-nav-faculty-institution-link:focus {

    color: #8b0000;

    background-color: #f8eeee;
}


/* Arrow */

.scst-nav-faculty-arrow {

    flex: 0 0 auto;

    margin-left: auto;

    color: #8b0000;

    font-size: 1.25rem;
    font-weight: 600;

    line-height: 1;
}



/* =========================================================
   SECOND LEVEL
   Units
   ========================================================= */

.scst-nav-faculty-units {

    display: none;

    position: absolute;

    top: -8px;
    left: 100%;

    width: max-content;

    min-width: 320px;
    max-width: 430px;

    margin: 0;
    padding: 8px 0;

    list-style: none;

    background: #fff;

    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 0;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, .14);

    z-index: 1100;
}


/*
 * 桌機：
 * 滑鼠移到 Institution，
 * 馬上展開右側 Unit。
 */

@media (min-width: 1200px) {

    .scst-nav-faculty-institution:hover
    > .scst-nav-faculty-units {

        display: block;
    }

}


/* Unit link */

.scst-nav-faculty-units .dropdown-item {

    display: block;

    padding: 10px 18px;

    color: #222;

    font-size: .92rem;
    font-weight: 400;

    line-height: 1.4;

    white-space: normal;
}


.scst-nav-faculty-units .dropdown-item:hover,
.scst-nav-faculty-units .dropdown-item:focus {

    color: #8b0000;

    background-color: #f8eeee;
}



/* =========================================================
   防止 Bootstrap dropdown 自己裁掉第二層
   ========================================================= */

.scst-nav-faculty > .dropdown-menu.show {

    overflow: visible !important;
}



/* =========================================================
   MOBILE / TABLET
   Bootstrap breakpoint = navbar-expand-xl
   ========================================================= */

@media (max-width: 1199.98px) {


    /*
     * 第一層不使用桌機固定寬度
     */

    .scst-nav-faculty-menu {

        width: 100%;

        min-width: 0;
        max-width: none;

        margin: 0;

        border: 0;

        box-shadow: none;

        overflow: visible !important;
    }


    /*
     * Institution
     */

    .scst-nav-faculty-institution-link {

        padding:
            10px
            16px;

        color: #8b0000;

        font-weight: 700;

        cursor: default;
    }


    /*
     * 手機不需要右箭頭
     */

    .scst-nav-faculty-arrow {
        display: none;
    }


    /*
     * 手機沒有 hover。
     * Unit 直接列在 Institution 下方。
     */

    .scst-nav-faculty-units {

        display: block;

        position: static;

        width: 100%;

        min-width: 0;
        max-width: none;

        margin: 0;

        padding:
            0
            0
            5px;

        border: 0;

        box-shadow: none;

        background: transparent;
    }


    .scst-nav-faculty-units .dropdown-item {

        padding:
            8px
            16px
            8px
            32px;

        font-size: .9rem;
    }

}