/* Public pages on Bootstrap 5: layout (begin_page, common/topmenu, common/footer), the home page
   (content_slide3, news/news_and_event, content_video, content_classroom_calendar, content_student)
   and the inner pages (news, office pages, map, menu_group, login, DirectLine). */

@font-face {
	font-family: 'Kanit';
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/Kanit-Medium.woff2') format('woff2');
}

:root {
	--sci-navy: #003366;
	--sci-navy-rgb: 0, 51, 102;
	--sci-gold: #ffcc66;
	--sci-focus: #d97706;
	--bs-body-font-family: 'Kanit', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--bs-body-font-size: .9375rem;
	--bs-body-line-height: 1.6;
	--bs-body-color: var(--sci-navy);
	--bs-heading-color: var(--sci-navy);
	--bs-link-color-rgb: var(--sci-navy-rgb);
	--bs-link-hover-color-rgb: 13, 71, 140;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.brand-icon {
	width: 1em;
	height: 1em;
	vertical-align: -.125em;
}

a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--sci-focus);
	outline-offset: 2px;
	box-shadow: none;
}

.skip-link:focus {
	position: absolute;
	top: .5rem;
	left: .5rem;
	z-index: 2000;
	padding: .5rem 1rem;
	background: var(--sci-navy);
	color: #fff;
	border-radius: .25rem;
}

/* Header */

.site-header {
	position: relative;
	z-index: 1030;
	background: #fff;
	border-bottom: 1px solid #e3e8ef;
}

.site-header-bar {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: .5rem 1rem;
}

.site-brand {
	display: flex;
	align-items: center;
	gap: .5rem;
	color: var(--sci-navy);
	flex-shrink: 0;
}

.site-brand:hover {
	text-decoration: none;
}

.site-brand img {
	width: 90px;
	height: 90px;
}

.site-brand-th,
.site-brand-en {
	display: block;
	line-height: 1.15;
}

.site-brand-th {
	font-size: 1.5rem;
}

.site-brand-en {
	font-size: 1.125rem;
}

@media (min-width: 1200px) {
	.site-brand-th {
		font-size: 1.75rem;
	}

	.site-brand-en {
		font-size: 1.25rem;
	}
}

@media (min-width: 1400px) {
	.site-brand-th {
		font-size: 2.375rem;
	}
}

.site-nav {
	margin-left: auto;
	flex-direction: column;
	align-items: flex-end;
	gap: .5rem;
}

.site-links,
.site-menu {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-links {
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .25rem 1rem;
	font-size: .8125rem;
}

.site-links i {
	margin-right: .15rem;
}

.site-menu-item + .site-menu-item {
	position: relative;
	margin-left: 1px;
}

.site-menu-item + .site-menu-item::before {
	content: "";
	position: absolute;
	left: -1px;
	top: 25%;
	height: 50%;
	border-left: 1px solid #aaa;
}

.site-menu-link {
	display: block;
	padding: .45rem .75rem;
	font-size: 1rem;
	white-space: nowrap;
	color: var(--sci-navy);
	border-radius: 2px;
}

@media (min-width: 1400px) {
	.site-menu-link {
		padding: .5rem 1.25rem;
		font-size: 1.125rem;
	}
}

.site-menu-link:hover,
.site-menu-item.is-open > .site-menu-link,
.site-menu-item.is-highlight > .site-menu-link {
	background: var(--sci-navy);
	color: #fff;
	text-decoration: none;
}

.site-menu-item.is-highlight + .site-menu-item.is-highlight {
	margin-left: .5rem;
}

.site-menu-item.is-highlight > .site-menu-link:hover,
.site-menu-item.is-highlight.is-open > .site-menu-link {
	background: #0d478c;
}

.mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 1.5rem 2rem 2rem;
	background: rgba(0, 47, 130, .96);
	color: #fff;
	box-shadow: 0 1rem 2rem rgba(0, 0, 0, .25);
}

.mega-menu > .row {
	max-width: 1320px;
	margin: 0 auto;
}

.mega-menu a {
	color: #fff;
}

.mega-menu a:hover {
	color: var(--sci-gold);
}

.mega-heading {
	font-size: 1.25rem;
	padding: .75rem 0 .35rem;
	margin-bottom: .25rem;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
}

.mega-item {
	padding: .4rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.site-menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-left: auto;
	padding: .45rem .8rem;
	font-size: 1rem;
	color: var(--sci-navy);
	background: #fff;
	border: 1px solid var(--sci-navy);
	border-radius: .375rem;
}

.site-menu-toggle:hover {
	background: var(--sci-navy);
	color: #fff;
}

@media (max-width: 575.98px) {
	.site-brand img {
		width: 64px;
		height: 64px;
	}

	.site-brand-th {
		font-size: 1.25rem;
	}

	.site-brand-en {
		font-size: .9375rem;
	}
}

/* Mobile menu */

.site-offcanvas {
	--bs-offcanvas-width: 340px;
	--bs-offcanvas-bg: var(--sci-navy);
	--bs-offcanvas-color: #fff;
}

.site-offcanvas .offcanvas-title {
	font-size: 1.25rem;
	color: #fff;
}

.site-offcanvas a {
	color: #fff;
}

.site-offcanvas .accordion {
	--bs-accordion-bg: transparent;
	--bs-accordion-color: #fff;
	--bs-accordion-border-color: rgba(255, 255, 255, .2);
	--bs-accordion-btn-color: #fff;
	--bs-accordion-active-color: #fff;
	--bs-accordion-active-bg: rgba(255, 255, 255, .08);
	--bs-accordion-btn-focus-box-shadow: none;
	--bs-accordion-body-padding-y: .5rem;
}

.site-offcanvas .accordion-button {
	font-size: 1.05rem;
}

.site-offcanvas .accordion-button::after {
	filter: brightness(0) invert(1);
}

.acc-link {
	display: block;
	padding: 1rem 1.25rem;
	font-size: 1.05rem;
}

.acc-main-link {
	display: block;
	padding: .35rem 0;
	color: var(--sci-gold) !important;
}

.acc-heading {
	margin-top: .75rem;
	font-size: .95rem;
	color: var(--sci-gold);
}

.acc-heading a {
	color: var(--sci-gold) !important;
}

.acc-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.acc-list li {
	padding: .35rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.offcanvas-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem .75rem;
	margin: 1rem 0 0;
	padding: 1rem 0 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .25);
	font-size: .9rem;
}

/* Numbers */

.home-stats {
	background: #eee;
	padding: .9rem 0;
}

.home-stats-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: .75rem;
	max-width: 760px;
	margin: 0 auto;
	padding: 0 1rem;
	list-style: none;
	text-align: center;
}

@media (min-width: 768px) {
	.home-stats-list {
		grid-template-columns: repeat(6, 1fr);
	}
}

.home-stats a {
	display: block;
	color: var(--sci-navy);
}

.home-stats a:hover {
	text-decoration: none;
}

.home-stats a:hover .home-stats-label {
	text-decoration: underline;
}

.home-stats-number,
.home-stats-label {
	display: block;
	line-height: 1.2;
}

.home-stats-number {
	font-size: 1.625rem;
}

.home-stats-label {
	font-size: 1rem;
}

@media (max-width: 767.98px) {
	.home-stats {
		padding: .6rem 0;
	}

	.home-stats-list {
		row-gap: .4rem;
	}

	.home-stats-number {
		font-size: 1.25rem;
	}

	.home-stats-label {
		font-size: .8125rem;
	}
}

/* Banner */

.home-carousel .carousel-item img {
	height: auto;
	aspect-ratio: 1600 / 422;
	object-fit: contain;
	background: #fff;
}

.home-carousel .carousel-indicators {
	margin-bottom: .5rem;
}

.home-carousel .carousel-indicators [data-bs-target] {
	width: 10px;
	height: 10px;
	margin: 0 4px;
	border: 1px solid #fff;
	border-radius: 50%;
	background-color: transparent;
	box-shadow: 0 0 2px rgba(0, 0, 0, .6);
	opacity: 1;
}

.home-carousel .carousel-indicators .active {
	background-color: #fff;
}

.home-carousel .carousel-control-prev,
.home-carousel .carousel-control-next {
	width: 8%;
}

.home-carousel-caption {
	left: 0;
	right: 0;
	bottom: 0;
	padding: .75rem 1rem 2rem;
	background: linear-gradient(transparent, rgba(0, 0, 0, .65));
	opacity: 0;
	transition: opacity .2s;
	pointer-events: none;
}

@media (hover: hover) {
	.home-carousel .carousel-item:hover .home-carousel-caption {
		opacity: 1;
	}
}

.home-carousel-title {
	font-size: 1.1rem;
	color: #fff;
}

.home-carousel-detail {
	margin: 0;
	color: var(--sci-gold);
}

/* Sections */

.home-section {
	padding: 2rem 0;
}

.home-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	margin-bottom: 1rem;
}

.home-section-title {
	margin: 0 0 1rem;
	padding-left: .75rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.25;
	border-left: 4px solid var(--sci-navy);
}

.home-section-head .home-section-title {
	margin-bottom: 0;
}

.home-section-title a {
	color: inherit;
}

.home-section-title-sm {
	font-size: 1.25rem;
}

.home-section-links {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.home-section-links a {
	padding: .15rem .8rem;
	font-size: 1rem;
	border: 1px solid #c3cfdd;
	border-radius: 999px;
}

.home-section-links a:hover,
.home-section-links a.active {
	background: var(--sci-navy);
	border-color: var(--sci-navy);
	color: #fff;
	text-decoration: none;
}

.home-student {
	padding: 1.5rem 0;
}

.home-student img,
.home-student iframe {
	max-width: 100%;
}

.home-student img {
	height: auto;
}

/* News cards */

.news-card {
	overflow: hidden;
	border-color: #ddd;
	transition: box-shadow .15s, transform .15s;
}

.news-card:hover,
.news-card:focus-within {
	box-shadow: 0 .5rem 1rem rgba(var(--sci-navy-rgb), .15);
	transform: translateY(-2px);
}

.news-card-img {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #f3f5f8;
}

.news-card-img img {
	position: absolute;
	inset: 4px;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	object-fit: contain;
}

.news-card .card-body {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	padding: .6rem .75rem .8rem;
}

.news-card-date {
	font-size: .8125rem;
	color: #5c6b7a;
}

.news-card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	line-height: 1.5;
	color: var(--sci-navy);
}

.news-card-dept {
	padding: .3rem .5rem;
	font-size: .875rem;
	text-align: center;
	background: #eef2f7;
}

/* Videos, department news, calendars */

.home-videos {
	background: #f0f0f0;
}

.home-videos iframe {
	border: 0;
}

.home-gcal {
	position: relative;
	height: 440px;
}

.home-gcal iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #ccc;
}

.home-classroom {
	background: #fff7f7;
}

.classroom-booking-hint {
	font-size: 1.25rem;
	font-style: italic;
}

.classroom-contact {
	margin: 1rem 0 0;
	font-size: .9rem;
}

.classroom-poster img {
	max-width: 600px;
	width: 100%;
}

.home-zabuto .glyphicon {
	font-family: 'Font Awesome 7 Free';
	font-weight: 900;
	font-style: normal;
}

.home-zabuto .glyphicon-chevron-left::before {
	content: "\f053";
}

.home-zabuto .glyphicon-chevron-right::before {
	content: "\f054";
}

.home-zabuto .badge {
	font-weight: 400;
}

/* Footer */

.home-footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: .25rem;
	padding: 1rem;
	font-size: 1.375rem;
	background: #6c757d;
}

.home-footer-menu a {
	padding: 0 1.25rem;
	color: #fff;
}

.home-footer-menu a + a {
	border-left: 1px solid rgba(255, 255, 255, .6);
}

@media (max-width: 575.98px) {
	.home-footer-menu {
		font-size: 1.05rem;
	}

	.home-footer-menu a {
		padding: 0 .75rem;
	}

	.home-footer-menu a + a {
		border-left: 0;
	}
}

.home-footer {
	margin-top: 2px;
	padding: 3rem 0 2.5rem;
	color: #fff;
	background: linear-gradient(to bottom right, var(--sci-navy), rgba(40, 40, 70, .92));
}

.home-footer a {
	color: #fff;
	text-decoration: underline;
}

.home-footer-th {
	font-size: 2.25rem;
	line-height: 1.2;
}

.home-footer-en {
	font-size: 1.5rem;
	line-height: 1.2;
}

@media (min-width: 992px) {
	.home-footer-th {
		font-size: 3.5rem;
	}

	.home-footer-en {
		font-size: 1.875rem;
	}
}

.home-footer-title {
	margin-bottom: .75rem;
	font-size: 1.5rem;
	font-style: italic;
	font-weight: 400;
	color: #fff;
}

.home-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-right: .5rem;
	font-size: 1.5rem;
	color: var(--sci-navy);
	background: #fff;
	border-radius: 50%;
	text-decoration: none;
}

.home-footer-social a:hover {
	background: var(--sci-gold);
}

.home-footer-address {
	margin: 0;
	font-style: normal;
}

.home-footer-bottom {
	padding: 1.5rem 1rem;
	text-align: center;
	color: #5c6b7a;
	border-top: 2px solid #bbb;
	margin-top: 1px;
}

/* Inner pages */

.page {
	padding-top: 1.5rem;
	padding-bottom: 2.5rem;
}

.page-head {
	padding-top: 1.5rem;
}

.page-head + .page {
	padding-top: 1rem;
}

.page .breadcrumb {
	margin-bottom: .75rem;
	font-size: .875rem;
}

.page-title {
	margin: 0 0 1rem;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.3;
}

@media (min-width: 992px) {
	.page-title {
		font-size: 2rem;
	}
}

.page-subtitle {
	margin: 0 0 .75rem;
	font-size: 1.375rem;
	font-weight: 500;
}

.page-content {
	overflow-wrap: break-word;
}

.page-content img,
.page-content video {
	max-width: 100%;
	height: auto;
}

.page-content iframe,
.page-content table {
	max-width: 100%;
}

.page-subnav {
	margin-bottom: .5rem;
	background: #eef2f7;
	border-radius: .375rem;
}

.page-subnav ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: .35rem;
	list-style: none;
}

.page-subnav a {
	display: block;
	padding: .4rem .9rem;
	border-radius: .25rem;
}

.page-subnav a:hover,
.page-subnav a.active {
	background: var(--sci-navy);
	color: #fff;
	text-decoration: none;
}

@media (max-width: 767.98px) {
	.page-subnav a {
		padding: .3rem .6rem;
		font-size: .875rem;
	}
}

.page-links {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.page-links li {
	padding: .45rem 0;
	border-bottom: 1px dotted #b5c0cc;
}

.page-links i {
	margin-right: .25rem;
	color: #5c6b7a;
}

.side-box {
	margin-bottom: 1.5rem;
}

.side-box-title {
	margin: 0 0 .25rem;
	padding: .4rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	color: #fff;
	background: var(--sci-navy);
	border-radius: .25rem;
}

.side-box-title .btn {
	margin-left: .5rem;
}

.side-box-link {
	display: block;
	margin-bottom: 1rem;
	padding: .4rem .75rem;
	background: #e7f1fb;
	border-radius: .25rem;
}

.btn-edit-row {
	display: inline-flex;
	gap: .25rem;
	margin-left: .25rem;
}

.btn-edit-row .btn {
	--bs-btn-padding-y: 0;
	--bs-btn-padding-x: .4rem;
	--bs-btn-font-size: .8125rem;
}

/* News list and detail */

.news-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-bottom: 1.25rem;
}

.news-search {
	flex: 0 1 360px;
}

.news-search-result {
	margin-bottom: 2rem;
}

.news-period {
	font-size: 1.125rem;
}

.news-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-list-item {
	position: relative;
	display: flex;
	gap: 1rem;
	padding: .9rem .5rem;
	border-bottom: 1px solid #e3e8ef;
	border-radius: .25rem;
}

.news-list-item:hover {
	background: #f5f8fb;
}

.news-list-img {
	position: relative;
	flex: 0 0 160px;
	aspect-ratio: 16 / 11;
	background: #f3f5f8;
}

.news-list-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.news-list-body {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	min-width: 0;
}

.news-list-title {
	font-size: 1.0625rem;
	line-height: 1.5;
	color: var(--sci-navy);
}

.news-list-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .1rem 1rem;
	font-size: .8125rem;
	color: #5c6b7a;
}

@media (max-width: 575.98px) {
	.news-list-img {
		flex-basis: 96px;
	}

	.news-list-title {
		font-size: 1rem;
	}
}

.news-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem 1.25rem;
	font-size: .875rem;
	color: #5c6b7a;
}

.news-detail-cover {
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid #ccd5df;
	background: #f3f5f8;
	cursor: zoom-in;
}

.news-detail-cover {
	position: relative;
}

.news-detail-cover img {
	display: block;
	width: 100%;
	height: auto;
}

img.news-detail-cover {
	height: auto;
	cursor: default;
}

.news-album-badge {
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	padding: .2rem .6rem;
	border-radius: 1rem;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: .875rem;
}

.news-detail-body {
	font-size: 1.0625rem;
	color: #1f2933;
}

/* News pasted from Word or web pages carries inline fonts such as 13px Helvetica Neue. */
.news-detail-body :is(p, span, div, li, td, font) {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

/* Pasted paragraphs carry an inline margin: 0px. */
.news-detail-body p {
	margin: 0 0 .9em !important;
}

.news-detail-body > :last-child {
	margin-bottom: 0 !important;
}

.news-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 1.5rem;
}

.news-gallery-item {
	position: relative;
	width: 140px;
	aspect-ratio: 3 / 2;
	padding: 0;
	border: 1px solid #ccd5df;
	background: #f3f5f8;
	cursor: zoom-in;
}

.news-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-gallery-item.is-video {
	cursor: pointer;
}

.news-gallery-item.is-video i {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 2rem;
	color: #fff;
	transform: translate(-50%, -50%);
	text-shadow: 0 0 6px rgba(0, 0, 0, .7);
}

.news-detail-side .news-gallery {
	margin-top: .75rem;
}

.news-detail-docs {
	display: grid;
	gap: .5rem;
}

.news-detail-docs .btn {
	text-align: start;
	overflow-wrap: anywhere;
}

@media (min-width: 768px) {
	.news-detail-side {
		position: sticky;
		top: 1rem;
		max-height: calc(100vh - 2rem);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.news-detail-side .news-gallery {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.news-detail-side .news-gallery-item {
		width: auto;
	}
}

@media (max-width: 767.98px) {
	.news-detail-side .news-gallery {
		flex-wrap: nowrap;
		overflow-x: auto;
	}

	.news-detail-side .news-gallery-item {
		flex: 0 0 120px;
	}
}

.news-lightbox-count {
	color: #5c6b7a;
	font-size: .9375rem;
}

.news-lightbox-stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
}

.news-lightbox-stage img {
	max-width: 100%;
	max-height: calc(100vh - 16rem);
	object-fit: contain;
	user-select: none;
}

.news-lightbox-nav {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .5);
	color: #fff;
	font-size: 1.25rem;
	transform: translateY(-50%);
}

.news-lightbox-nav:hover,
.news-lightbox-nav:focus-visible {
	background: rgba(var(--sci-navy-rgb), .9);
}

.news-lightbox-nav.is-prev {
	left: .5rem;
}

.news-lightbox-nav.is-next {
	right: .5rem;
}

.news-lightbox-caption {
	margin: .5rem 0 0;
	text-align: center;
}

.news-lightbox-caption:empty {
	display: none;
}

.news-lightbox-thumbs {
	position: relative;
	display: flex;
	gap: .375rem;
	margin-top: .75rem;
	padding-bottom: .25rem;
	overflow-x: auto;
}

.news-lightbox-thumbs button {
	flex: 0 0 auto;
	width: 72px;
	aspect-ratio: 3 / 2;
	padding: 0;
	border: 2px solid transparent;
	background: #f3f5f8;
	opacity: .6;
}

.news-lightbox-thumbs button.active,
.news-lightbox-thumbs button:hover {
	border-color: var(--sci-navy);
	opacity: 1;
}

.news-lightbox-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-lightbox.is-single .news-lightbox-nav,
.news-lightbox.is-single .news-lightbox-thumbs {
	display: none;
}

@media (max-width: 575.98px) {
	.news-lightbox-nav {
		width: 2.5rem;
		height: 2.5rem;
	}
}

.news-detail-heading {
	margin: 1.5rem 0 .5rem;
	font-size: 1.125rem;
	font-weight: 500;
}

.news-detail-links {
	padding-left: 1.25rem;
	overflow-wrap: anywhere;
}

.news-detail-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid #e3e8ef;
}

/* Office pages */

.page-files {
	padding-left: 1.5rem;
}

.page-files li {
	padding: .2rem 0;
}

.staff-list {
	display: grid;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.staff-card img {
	display: block;
	width: 140px;
	height: 190px;
	margin-bottom: .4rem;
	object-fit: cover;
	background: #f3f5f8;
	border-radius: .25rem;
}

.staff-name {
	font-weight: 500;
}

.staff-info {
	font-size: .875rem;
	color: #5c6b7a;
}

.board-section + .board-section {
	margin-top: 2.5rem;
}

.board-heading {
	margin: 0 0 1.5rem;
	padding: .4rem 1rem;
	font-size: 1.5rem;
	font-weight: 400;
	text-align: center;
	color: #fff;
	background: var(--sci-navy);
	border-radius: .25rem;
}

@media (min-width: 992px) {
	.board-heading {
		font-size: 2rem;
	}
}

.board-photo {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
	margin: 0 auto .75rem;
	border-radius: .375rem;
}

.board-person {
	text-align: center;
}

.board-name {
	padding-bottom: .4rem;
	margin-bottom: .4rem;
	font-size: 1.25rem;
	border-bottom: 1px solid #dde3ea;
}

.board-mail {
	font-size: .9375rem;
	overflow-wrap: anywhere;
}

.board-position {
	color: #5c6b7a;
}

.board-lead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 2.5rem;
}

.board-lead .board-photo {
	width: 250px;
	margin: 0;
}

.board-lead .board-name {
	font-size: 1.75rem;
}

.board-lead .board-mail {
	font-size: 1.125rem;
}

.org-dean {
	max-width: 420px;
	margin: 0 auto 1.5rem;
	text-align: center;
}

.org-unit {
	height: 100%;
	padding: .75rem;
	text-align: center;
	border: 1px solid #dde3ea;
	border-radius: .375rem;
}

.org-unit img {
	width: 120px;
	max-width: 100%;
	height: auto;
	border-radius: .25rem;
}

.org-unit-title {
	margin: .5rem 0;
	font-weight: 500;
	line-height: 1.4;
}

.org-unit ul {
	margin: 0;
	padding-left: 1.1rem;
	font-size: .875rem;
	text-align: left;
}

/* Map, menu groups, login, ITA */

.map-frame iframe {
	border: 1px solid #ccd5df;
}

.menu-group .accordion-button {
	font-size: 1.125rem;
}

.menu-group .accordion-link::after {
	display: none;
}

.menu-group span.accordion-link {
	cursor: default;
}

.login-card {
	max-width: 440px;
	margin: 1rem auto;
	padding: 2rem;
	border: 1px solid #dde3ea;
	border-radius: .5rem;
	box-shadow: 0 .5rem 1.5rem rgba(var(--sci-navy-rgb), .08);
}

.login-choices {
	display: grid;
	gap: .75rem;
}

.login-choice {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border: 1px solid #dde3ea;
	border-radius: .5rem;
	color: var(--sci-navy);
	text-decoration: none;
	transition: border-color .15s, background-color .15s;
}

.login-choice:hover,
.login-choice:focus-visible {
	border-color: var(--sci-navy);
	background: #f3f6f9;
	color: var(--sci-navy);
}

.login-choice > i {
	width: 1.5rem;
	font-size: 1.375rem;
	text-align: center;
}

.login-choice strong,
.login-choice small {
	display: block;
}

.login-choice small {
	color: #5c6b7a;
}

.login-choice-sso {
	border-color: var(--sci-navy);
	background: var(--sci-navy);
	color: #fff;
}

.login-choice-sso:hover,
.login-choice-sso:focus-visible {
	background: #0a4a87;
	color: #fff;
}

.login-choice-sso small {
	color: rgba(255, 255, 255, .8);
}

.ita-table {
	min-width: 900px;
	font-size: .875rem;
}
