ul[role='list'] > li, ol[role='list'] > li {
	list-style: none;
}

[role="list"] {
	padding: 0;
}

.auto-grid {
	display: grid;
	grid-template-columns: repeat( var(--grid-placement, auto-fill), minmax(var(--grid-min-item-size, 16rem), 1fr) );
	gap: var(--gutter, .5rem);
}

[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos] { transition-delay: .5s; }
[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos] { transition-delay: 1s; }
[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos] { transition-delay: 1.5s; }

.degree-info ul:not([class]) a:after { content:"\00bb"; font-family: var(--primary-font); padding-left: 7px; }

.landing-intro {
	margin-block-start: 2rem;
}

.landing-hero {
	display: grid;
}
.landing-hero:not(.mod-footer) #landing-img {
	min-height: 45vh;
	margin-block-start: calc(var(--scroll-padding) - 20px);
}
@media only screen and (min-width: 48em) {
		.landing-hero:not(.mod-footer) #landing-img {			
			background-position: 0 0 !important;
			background-attachment: inherit;
			margin-block: 0;
			min-height: 60vh;
		}	
	}
	.landing-hero > * {
		grid-area: 1 / -1;
	}

	#landing-img {
		z-index: -1;
		box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 45%);
	}

	.landing-hero_wrapper {
		max-inline-size: 80vw;
		align-self: end;
		text-align: center;
		padding-block-end: clamp(1.5rem, 5vw, 3rem);
		margin: 0 auto;
		perspective: 500px;
		perspective-origin: 50% 50%;
	}
		.landing-hero_wrapper > * { margin: 0; }

		.landing-hero_heading.landing-hero_heading {
			display: inline;
			line-height: 1.15;
			box-shadow: 15px 0 0 0 var(--color-primary), -15px 0 0 0 var(--color-primary);
			padding-inline: 0;
			-webkit-box-decoration-break: clone;
  					box-decoration-break: clone;
		}

		.landing-hero_heading.text-lg {
			line-height: 1.4;
		}

		.animation-wrapper { 
			position: relative;
			display: inline-block;
			max-width: 80vw;
			z-index: 1;
			animation: fade-in-fwd 0.65s 1.25s cubic-bezier(0.4, 0, 0.2, 1) both; 
		}
		@media only screen and (min-width: 48em) {
			max-width: 65vw;			
		}

		.landing-hero_wrapper h2 { 
			padding-block-start: clamp(1rem, 5vw, 2rem);
			color: var(--color-tertiary); 
			animation: fade-in-top 0.65s 1.9s ease-out both;
		}
.landing-hero.mod-footer {
	color: var(--color-tertiary);
}
	.landing-hero.mod-footer #landing-img {
		margin-block: 0;
	}
	.landing-hero.mod-footer .landing-hero_wrapper {
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
		max-inline-size: none;
		block-size: 100%;
		align-self: center;
		padding-block-end: 0;
	}

	.landing-hero.mod-footer .text-bar {
		margin-block-start: auto;
		font-weight: 700;
	}
	@media only screen and (min-width: 48em) {
		.landing-hero.mod-footer .text-bar {
			max-width: 65vw;
		}
	}

@media only screen and (max-width: 48em) {
	.grid:not(.img-list) {
		gap: 0
	}
}
	.grid:not(.img-list) li {
		display: flex;
		flex-direction: column;
		gap: clamp(0rem, 1.5vw, 1.5rem);
	}

.program-highlights {
	margin-block: 2rem;
	padding-block: 2rem;
	text-align: center;
}
	.program-highlights h2 {
		margin-block-start: 0;
		margin-block-end: 1rem;
	}

	.grid li {
		line-height: 1.8;
	}

	.grid.img-list {
		--gap: 2rem;
		grid-template-columns: repeat(auto-fit, calc(100% / var(--num-of-col) - var(--gap)));
		justify-content: center;
	}

	@media only screen and (max-width: 48em) {
		.grid.img-list {
			--num-of-col: 2;
		}
	}

	@media only screen and (max-width: 60em) {
		.grid.img-list:has(*:nth-child(odd):last-child) li:nth-child(odd):last-child {
			grid-column: 1 / -1;
			max-inline-size: calc(100% / var(--num-of-col));
			justify-self: center;
		}
	}

	.grid.mod-two-col,
	.grid.mod-two-col + .view-all {
	  max-width: 48rem;
  	  margin-inline: auto; }

	.ax0-grid.mod-list {
		display: flex;
		flex-direction: column;
		gap: 2rem;
		padding: 0;
	}

/* 	.horizontal-reel-wrapper {
		position: relative;
	}
	.horizontal-reel {
		--gap: 2rem;
		position: relative;
		display: grid;
		overflow-x: scroll;
		overscroll-behavior-x: contain;
		-ms-scroll-snap-type: x mandatory;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		inline-size: 100vw;
		margin-left: calc(50% - 50vw);
    	padding-inline: calc(-50% + 50vw);
	}
	.horizontal-reel::-webkit-scrollbar {
		inline-size: 0 !important;
		display: none;
	}

		.horizontal-reel .grid {
			display: flex;
		}
		.horizontal-reel .grid:after {
			content: "";
			padding-inline-end: max(0.9375em, calc(-50% + 50vw - var(--gap)));
			margin-inline-start: calc(0px - var(--gap));
		}
		@media only screen and (min-width: 80em) {
			.horizontal-reel .grid:after {
				margin-inline-start: 0;
			}
		}

		.horizontal-reel .grid__item {
			--num-of-col: 4;
			flex: 1 0 auto;
			display: flex;
			align-items: center;
			justify-content: center;
			scroll-snap-align: center;			
    		overflow-x: hidden;
			inline-size: 100%;
			min-block-size: clamp(225px, 20vw, 250px);
			max-inline-size: calc(75rem / var(--num-of-col) - var(--gap));
		}
		@media only screen and (min-width: 48em) {
			.horizontal-reel .grid__item {
				--num-of-col: 3;
			}
		}

	.horizontal-reel_controls {
		position: absolute;
		inset: 0;
		block-size: 100%;
		display: none;
		display: flex;
		margin-inline: 1rem;
		padding-inline: 0.5rem;
		z-index: 1;
		pointer-events: none;
	}
	.horizontal-reel_controls.is-visible {
		display: flex;
	}

		.horizontal-reel_list {
			inline-size: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
			.horizontal-reel_list button {
				--size: 40px;
				height: var(--size);
				width: var(--size);
				color: var(--color-tertiary);
				background-color: rgb(115 0 10 / 70%);
				-webkit-backdrop-filter: blur(10px);
				backdrop-filter: blur(10px);
				border: 0;
				border-radius: 50%;
				pointer-events: auto;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: .2s;
			}
			.horizontal-reel_list button:hover {
				background-color: rgb(115 0 10 / 100%);
			}
			.horizontal-reel_list button[disabled] {
				display: none;
			} */

	/* icons */
	.cs3-icon {
	  height: var(--cs3-size, 1em);
	  width: var(--cs3-size, 1em);
	  display: inline-block;
	  color: inherit;
	  fill: currentColor;
	  line-height: 1;
	  flex-shrink: 0;
	  max-width: initial;
	}

	.carousel {
	  position: relative;
	  display: flex;
	  flex-direction: column;
	  max-inline-size: 75rem;
	}

	.carousel-v3 {
	  --carousel-grid-gap: 2rem;
	  --carousel-item-auto-size: 300px;
	  --carousel-transition-duration: 0.5s;
	}

	.carousel-v3__controls {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 0.25rem;
		pointer-events: none;
	}

	.carousel-v3__control {
	  --cm0-size: 40px;
	  height: var(--cm0-size);
	  width: var(--cm0-size);
	  background-color: var(--color-primary);
	  border: 0;
	  border-radius: 50%;
	  color: var(--color-tertiary);
	  -webkit-backdrop-filter: blur(10px);
			  backdrop-filter: blur(10px);
	  pointer-events: auto;
	  cursor: pointer;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  transition: 0.2s;
	}
	.carousel-v3__control:hover {
	  background-color: rgba(115, 0, 10, 1);
	}
	.carousel-v3__control[disabled] {
		pointer-events: none;
	    background-color: transparent;
        color: var(--color-warm-gray);
	}
	.carousel-v3__control:active {
	  -webkit-transform: translateY(2px);
			  transform: translateY(2px);
	}
	.carousel-v3__control .icon {
	  display: block;
	  min-width: var(--cm0-size);
	  color: hsl(var(--cm0-color-white-hsl));
	}

	.carousel__wrapper {
		position: relative;
	}

	.carousel__list {
	  display: flex;
	  flex-wrap: nowrap;
	  will-change: transform;
	  padding: 0;
	}

	.carousel__item {
	  flex-shrink: 0;
	  width: var(--carousel-item-auto-size);
	  min-block-size: clamp(225px, 20vw, 250px);
	  margin-right: var(--carousel-grid-gap);
	  margin-bottom: var(--carousel-grid-gap);
	}
		.carousel__item > * {
			width: 100%;
			touch-action: none;
		}

	.carousel__list--animating {
	  transition-property: -webkit-transform;
	  transition-property: transform;
	  transition-property: transform, -webkit-transform;
	  transition-duration: var(--carousel-transition-duration);
	  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.carousel__list--animating a {
		pointer-events: none
	}

	.carousel__item {
	  opacity: 0;
	  margin-bottom: 0;
	}

	.grid__item:has(img) {
		min-block-size: 250px;
	}

	@media (pointer: coarse) {
	  .grid__item > a:is(:hover, :focus) .grid__item-body {
		  transition: none;
	  }
	}

	.carousel--loaded .carousel__item {
	  opacity: 1;
	}

/* 	.carousel:not(.carousel--is-dragging) .carousel__list:not(.carousel__list--animating) .carousel__item[tabindex="-1"] > * {
	  visibility: hidden;
	} */
/* 	.carousel:not(.carousel--is-dragging) .carousel__list:not(.carousel__list--animating) .carousel__item[tabindex="-1"] > * > * {
	  visibility: visible;
	} */

	.carousel[data-drag=on] .carousel__item {
	  -webkit-user-select: none;
		 -moz-user-select: none;
		  -ms-user-select: none;
			  user-select: none;
	}

	.carousel__navigation {
	  width: 100%;
	  display: grid;
	  grid-template-columns: repeat(auto-fit, 10px);
	  gap: .75rem;
	  justify-content: center;
	  align-items: center;
	  margin-top: 1rem;
	  padding: 0;
	}

	@media only screen and (max-width: 48em) {
		.carousel__navigation { display: none; }
	}

	.carousel__nav-item {
	  display: inline-block;
	  margin: 0 var(--cs3-space-3xs);
	}
	@supports (grid-area: auto) {
	  .carousel__nav-item {
		margin: 0;
	  }
	}
	.carousel__nav-item button {
	  display: block;
	  position: relative;
	  font-size: 8px;
	  height: 1rem;
	  width: 1rem;
	  border-radius: 50%;
	  border: 0;
	  background-color: var(--color-warm-gray);
	  opacity: 0.4;
	  cursor: pointer;
	  transition: background 0.3s;
	}
	.carousel__nav-item button::before {
	  content: "";
	  position: absolute;
	  top: calc(50% - 0.5em);
	  left: calc(50% - 0.5em);
	  font-size: 16px;
	  height: 1em;
	  width: 1em;
	  border-radius: inherit;
	  border: 1px solid hsl(var(--cs3-color-contrast-high-hsl));
	  opacity: 0;
	  -webkit-transform: scale(0);
			  transform: scale(0);
	  transition: 3s;
	}
	.carousel__nav-item button:focus {
	  outline: none;
	}
	.carousel__nav-item button:focus::before {
	  opacity: 1;
	  -webkit-transform: scale(1);
			  transform: scale(1);
	}

	.carousel__nav-item--selected button {
	  opacity: 1;
	}

	.carousel__navigation--pagination {
	  grid-template-columns: repeat(auto-fit, 24px);
	}
	.carousel__navigation--pagination .carousel__nav-item button {
	  width: 24px;
	  height: 24px;
	  color: hsl(var(--cs3-color-bg-hsl));
	  font-size: 12px;
	  line-height: 24px;
	  border-radius: 0.25em;
	  text-align: center;
	}
	.carousel__navigation--pagination .carousel__nav-item button:focus {
	  outline: 1px solid hsl(var(--cs3-color-primary-hsl));
	  outline-offset: 2px;
	}

	.carousel--hide-controls .carousel__navigation, .carousel--hide-controls .carousel__control {
	  display: none;
	}

	.view-all {
		float: none;
        display: block;
	}

/* 			.program-highlights .grid.aos-init li {
		opacity: 0;
		transform: translateY(-25px);
	}

	.program-highlights .grid.aos-animate li {
		opacity: 1;
		transform: translateY(0px);
		transition: var(--no-motion, .5s) .25s cubic-bezier(0.45, 0.05, 0.55, 0.95);
	}
	.program-highlights .grid.aos-animate li:nth-child(2) {
		transition-delay: .75s;	
	}
	.program-highlights .grid.aos-animate li:nth-child(3) {
		transition-delay: 1.25s;	
	}
	.program-highlights .grid.aos-animate li:nth-child(4) {
		transition-delay: 1.75s;	
	} */

	.program-highlights .grid .li-img {
		max-width: 150px;
		margin: 0 auto;
	}
	.program-highlights .grid .li-text {
		padding: 0;
	}

.degree-info {
	padding-block: clamp(.5rem, 5vw, 3rem);
}

	.degree-info:before,
	.degree-info:after {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		background-color: var(--color-silver);
		width: 95%;
		height: 1px;
		transform: translateX(-50%);
	}

	.degree-info.mod-no-border {
		margin: 0;
	}
	.degree-info.mod-no-border:before,
	.degree-info.mod-no-border:after { display: none; }

	.degree-info:after {
		top: auto;
		bottom: 0;
		height: 0;
	}

	.degree-info.mod-bottom-border {
		margin-block-end: 3rem;
	}
	.degree-info.mod-bottom-border:after {
		height: 1px;
	}

	.degree-info ul:has(+ *) {
		margin-block-end: 2rem;
	}

	.degree-info_intro {
		padding-inline-end: 2rem;
	}
		@media only screen and (min-width: 48em) {
			.degree-info_intro {
				text-align: right;
			}
		}
	.degree-info_header {
		line-height: 1;
	}

.related-degrees {
	margin-block-start: 2rem;
    padding-block: clamp(2rem, 5vw, 4rem);
}
	.related-degrees h2 {
		margin-block-end: 1rem;
	}

	.related-degrees .li-text {
		margin-block: auto;
		padding-block-end: 0;
	}

	.related-degrees .li-head {
		font-size: 1rem;
		letter-spacing: .9px;
		line-height: 1.2;
	}

	.view-all {
		letter-spacing: 1px;
	}

.degree-disclaimer {
	max-inline-size: max(var(--measure), 60vw);
    margin-inline: auto;
	margin-block-start: auto;
    margin-block-end: 1rem;
    text-align: center;
	text-shadow: 0px 0px 20px #000;
}
	.degree-disclaimer a {
		color: currentcolor;
	}

#logo-footer { margin-block-start: 0; }

@keyframes fade-in-fwd {
  0% {
	transform: translateZ(-80px);
	opacity: 0;
  }
  100% {
	transform: translateZ(0);
	opacity: 1;
  }
}

@keyframes fade-in-top {
  0% {
	transform: translateY(-50px);
	opacity: 0;
  }
  100% {
	transform: translateY(0);
	opacity: 1;
  }
}