@import url("https://use.typekit.net/ikc7pri.css");
@import url('//fonts.googleapis.com/css?family=Roboto+Mono:500');
/* This is the CSS file generated by the SCS Redscale CMS platform */
/*THEME VARIABLES*/ :root{   --source-serif: source-serif-pro, serif; --open-sans: open-sans, sans-serif;   --body: 400 1rem / 1.6875 var(--open-sans); --h1: 600 clamp(2.5rem, 7vw, 3.5rem) / 1.2 var(--source-serif); --h2: 600 clamp(2.25rem, 5vw, 2.75rem) / 1.25 var(--source-serif); --h3: 700 1.75rem / 1.35 var(--open-sans); --h4: 700 1.5rem / 1.5 var(--open-sans); --h5: 700 1.25rem / 1.5 var(--open-sans); --h6: 700 1rem / 1.5 var(--open-sans); --text-small: 400 0.875rem / 1.5 var(--open-sans); --text-intro: 600 clamp(1.375rem, 5vw, 1.625rem) / 1.5 var(--source-serif); --text-button: 600 0.875rem / 1.186 var(--open-sans); --text-stat: 700 3.3125rem / 1 var(--source-serif); --text-eyebrow: 600 0.875rem / 1.1 var(--open-sans); --text-quote: 600 clamp(1.5rem, 5vw, 1.875rem) / 1.5 var(--source-serif); --link: 600 1rem / 1.1 var(--open-sans); --meta: 700 0.875rem / 1.1 var(--open-sans);   --black: #000; --black-75: rgba(0, 0, 0, 0.75); --black-80: rgba(0, 0, 0, 0.8); --black-90: rgba(0, 0, 0, 0.9); --black-20: rgba(0, 0, 0, 0.2); --black-10: rgba(0, 0, 0, 0.1); --white: #fff; --white-20: rgba(255, 255, 255, 0.2); --white-40: rgba(255, 255, 255, 0.4); --carnegie-red: #c41230; --gray-light: #f2f2f2; --gray-medium: #948F8F; --gray-dark: #222222;   --transition: 400ms ease; --transition-short: 200ms ease; --transition-cubic: 400ms cubic-bezier(0.4, 0, 0.2, 1); @media (prefers-reduced-motion){ --transition: 0ms ease}  --panel: clamp(3.5rem, 10vw, 4.5rem); --gap: clamp(1.5rem, 6vw, 3rem); --gap-sm: clamp(1.5rem, 6vw, 2rem); --gutter: clamp(1.5rem, 6vw, 4rem); --wrap: max(var(--gutter), (100% - 78rem) / 2); --wrap-sm: max(var(--gutter), (100% - 44rem) / 2); --radius: 0; --shadow: 0 0 0.75rem rgba(0, 0, 0, 0.25); --accent: var(--carnegie-red); --background: var(--white); --color: var(--black); .theme-dark{ --accent: var(--carnegie-red); --background: var(--black); --color: var(--white); background-color: var(--black); color: var(--white)}}@keyframes fade-in{ from{ opacity: 0}}@keyframes fade-in-up{ from{ transform: translateY(3rem); opacity: 0}} /*endvars*/
/*CORE*/      html{ line-height: 1.15;   -webkit-text-size-adjust: 100%;   }    body{ margin: 0}  main{ display: block}  h1{ font-size: 2em; margin: 0.67em 0}    hr{ box-sizing: content-box;   height: 0;   overflow: visible;   }  pre{ font-family: monospace, monospace;   font-size: 1em;   }    a{ background-color: transparent}  abbr[title]{ border-bottom: none;   text-decoration: underline;   text-decoration: underline dotted;   }  b, strong{ font-weight: bolder}  code, kbd, samp{ font-family: monospace, monospace;   font-size: 1em;   }  small{ font-size: 80%}  sub, sup{ font-size: 75%; line-height: 0; position: relative; vertical-align: baseline}sub{ bottom: -0.25em}sup{ top: -0.5em}    img{ border-style: none}    button, input, optgroup, select, textarea{ font-family: inherit;   font-size: 100%;   line-height: 1.15;   margin: 0;   }  button, input{   overflow: visible}  button, select{   text-transform: none}  button, [type="button"], [type="reset"], [type="submit"]{ -webkit-appearance: button}  button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner{ border-style: none; padding: 0}  button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring{ outline: 1px dotted ButtonText}  fieldset{ padding: 0.35em 0.75em 0.625em}  legend{ box-sizing: border-box;   color: inherit;   display: table;   max-width: 100%;   padding: 0;   white-space: normal;   }  progress{ vertical-align: baseline}  textarea{ overflow: auto}  [type="checkbox"], [type="radio"]{ box-sizing: border-box;   padding: 0;   }  [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button{ height: auto}  [type="search"]{ -webkit-appearance: textfield;   outline-offset: -2px;   }  [type="search"]::-webkit-search-decoration{ -webkit-appearance: none}  ::-webkit-file-upload-button{ -webkit-appearance: button;   font: inherit;   }    details{ display: block}  summary{ display: list-item}    template{ display: none}  [hidden]{ display: none}          #rsPageWrapper{position: relative}.u-left-edge{margin-left: calc(-50vw + 50%)}.u-right-edge{margin-right: calc(-50vw + 50%)}.u-visually-hidden{ position: absolute !important; overflow: hidden; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; word-wrap: normal}.u-link-cover:after{ content: ""; z-index: 1; position: absolute; top: 0; bottom: 0; left: 0; right: 0}body{ padding: 0; margin: 0; overflow-x: hidden; overscroll-behavior-x: none}    .rsContent.invert, .rsContent.invert thead, .rsContent.invert h1, .rsContent.invert h2, .rsContent.invert h3, .rsContent.invert h4, .rsContent.invert h5, .rsContent.invert h6, .rsContent.invert b, .rsContent.invert strong, .rsContent.invert i, .rsContent.invert em{ color: #fff}.rsContent.invert a:not(.button), .rsContent.invert h1 a:not(.button):not(.cta), .rsContent.invert h2 a:not(.button):not(.cta), .rsContent.invert h3 a:not(.button):not(.cta), .rsContent.invert h4 a:not(.button):not(.cta), .rsContent.invert h5 a:not(.button):not(.cta), .rsContent.invert h6 a:not(.button):not(.cta), .rsContent.invert p a:not(.button):not(.cta), .rsContent.invert blockquote a:not(.button):not(.cta), .rsContent.invert li a{ color:rgba(255,255,255,.85); border-bottom: 1px solid rgba(255,255,255,.75)}.rsContent.invert a:not(.button):focus, .rsContent.invert a:not(.button):hover{ color: #fff; text-shadow:0 0 5px rgba(0,0,0,.5)}.rsContent.invert{   color:rgba(255,255,255,.85)}.rsContent.invert:not(footer) li{ color:rgba(255,255,255,.85) }.rsContent .button{ position: relative}.rsContent.invert .button{ color: #FFF !important}.rsContent.invert .button.ghost{ color: #FFF}  .rsContent.solid.white, .rsCarousel.white, .rsSolid.white{ background-color: #FFF }  .rsContent.solid.grey:not(.plaid), .rsCarousel.grey, .rsSolid.grey{ background-color: #E0E0E0 }.rsContent.solid.lightgray, .rsNewsEmbed.lightgray:not(.plaid), .rsCarousel.lightgray, .rsSolid.lightgray{ background-color: #f2f2f2 }    .rsContent.solid.black, .rsTrackContainer.black, .rsCarousel.black, .rsSolid.black{ background-color: #000 }.rsContent.solid.darkgrey, .rsTrackContainer.darkgrey, .rsCarousel.darkgrey, .rsSolid.darkgrey{ background-color: #6D6E71 }.rsContent.solid.red, .rsTrackContainer.red, .rsCarousel.red, .rsSolid.red{ background-color: #C41230 }.rsContent.solid.gold, .rsTrackContainer.gold .rsCarousel.gold, .rsSolid.gold{ background-color: #a60 }.rsContent.solid.teal, .rsTrackContainer.teal, .rsCarousel.teal, .rsSolid.teal{ background-color: #067 }.rsContent.solid.blue, .rsTrackContainer.blue, .rsCarousel.blue, .rsSolid.blue{ background-color: #247 }.rsContent.solid.green, .rsTrackContainer.green, .rsCarousel.green, .rsSolid.green{ background-color: #085 }.rsContent.solid.darkgreen, .rsTrackContainer.darkgreen, .rsCarousel.darkgreen, .rsSolid.darkgreen{ background-color: #243 }.rsContent.solid.hornbostelteal, .rsTrackContainer.hornbostelteal, .rsCarousel.hornbostelteal, .rsSolid.hornbostelteal{ background-color: #1f4c4c }.rsContent.solid.machineryhalltan, .rsTrackContainer.machineryhalltan, .rsCarousel.machineryhalltan, .rsSolid.machineryhalltan{ background-color: #bcb49e }.rsContent.left-rule.grey{ border-color: #E0E0E0 }.rsContent.left-rule.darkgrey{ border-color: #6D6E71 }.rsContent.left-rule.red{ border-color: #C41230 }.rsContent.left-rule.gold{ border-color: #a60 }.rsContent.left-rule.teal{ border-color: #067 }.rsContent.left-rule.blue{ border-color: #247 }.rsContent.left-rule.green{ border-color: #085 }.rsContent.left-rule.darkgreen{ border-color: #243 }.rsContent.left-rule.hornbostelteal{ border-color: #1f4c4c }.rsContent.left-rule.machineryhalltan{ border-color: #bcb49e }    .rsTrackContainer{ display: flex; flex-flow: row wrap; margin: 0 -1rem}.rsTrackContainer.rsReversed{   flex-flow: row wrap-reverse;   }.rsTrackContainer.u-fullbleed-left{ margin-left: calc(-50vw + 50%); padding-left: calc(50vw - (50% - 1rem)) !important}.rsTrackContainer.u-fullbleed-right{ margin-right: calc(-50vw + 50%); padding-right: calc(50vw - (50% - 1rem)) !important}.rsSectionContainer{ container-name: section-container; container-type: inline-size; padding: 0 1rem; max-width: calc(100% - (1rem * 2));   clear: both}.rsSectionPlaceholder{ position: relative}.rsSidebarContainer{ display: flex; flex-flow: column nowrap; padding: 0 1rem}.rsSidebarContainer.rsVPos-bottom{ justify-content: flex-end}.rsSidebarContainer>*{ flex-grow: 0; flex-shrink: 0}  @media (min-width: 768px){ .rsFloatedContent{ float: right; margin: 0 0 1rem calc(1rem * 2)}.rsFloatedContent.left{ float: left; margin: 0 calc(1rem * 2) 1rem 0}}  .rsContent>h1:first-child, .rsContent>h2:first-child, .rsContent>h3:first-child{ margin-top: 0}  .rsGrid{ padding-top: 2rem; padding-bottom: 2rem}.rsGrid .rsGrid-container{ display: flex; flex-direction: row; flex-flow: row wrap; margin-inline: calc(-0.5 * clamp(1.5rem, 6vw, 3rem))}.rsGrid.shrink .rsGrid-item{ box-sizing: border-box; margin-inline: calc(0.5 * clamp(1.5rem, 6vw, 3rem)); margin-top: calc(0.5 * clamp(1.5rem, 6vw, 3rem)); margin-bottom: calc(0.5 * clamp(1.5rem, 6vw, 3rem))}.rsGrid.solid .rsGrid-item.invert{ color: #fff}.rsGrid.shrink .rsGrid-itemSpacer{ margin-top:0 !important; margin-bottom: 0 !important}  .rsGrid.shrink.columns1 .rsGrid-item, .rsGrid.shrink.columns2 .rsGrid-item.width2, .rsGrid.shrink.columns3 .rsGrid-item.width3, .rsGrid.shrink.columns4 .rsGrid-item.width4{ flex: 1 0 calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(48rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(48rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }.rsGrid.shrink.columns2 .rsGrid-item, .rsGrid.shrink.columns4 .rsGrid-item.width2{ flex: 1 0 calc(50% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(24rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(24rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }.rsGrid.shrink.columns3 .rsGrid-item{ flex: 1 0 calc(33% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(16rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(16rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }.rsGrid.shrink.columns4 .rsGrid-item{ flex: 1 0 calc(25% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(12rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(12rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }.rsBio.rsGrid.shrink.columns4 .rsGrid-item{ min-width: calc(15rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem)))}  .rsGrid.shrink.columns3 .rsGrid-item.width2{ flex: 2 0 calc(66% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(32rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(32rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }.rsGrid.shrink.columns4 .rsGrid-item.width3{ flex: 3 0 calc(75% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: calc(36rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))); min-width: min( calc(36rem - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))), calc(100% - (clamp(1.5rem, 6vw, 3rem) + clamp(1.5rem, 6vw, 3rem))) );   }  .rsGrid-item.width2{flex-basis: 2}.rsGrid-item.width3{flex-basis: 3}.rsGrid-item.width4{flex-basis: 4}.rsGrid .rsGrid-item.solid{ padding: 1rem}.rsGrid .rsGrid-item.card{ background: #fff; border: solid 1px #E0E0E0}.rsGrid .rsGrid-item.gap{ margin-top: 0; margin-bottom: 0}  @media not print{ .rsGrid-item[data-animation="grid-fade-in-up"]{ animation: .6s both fade-in-up}.rsGrid-item[data-animate]{ animation-play-state: paused}.rsGrid-item[data-animate]:before{ animation-play-state: paused}.rsGrid-item[data-animate="true"]{ animation-play-state: running}.rsGrid-item[data-animate="true"]:before{ animation-play-state: running}}@media (prefers-reduced-motion: reduce){ .rsGrid-item[data-animate]{ animation: none !important}}  .colorBlock::before{ content: ""; background-color: var(--black); z-index: -1; width: 100vw; height: 15rem; position: absolute; left: 50%; transform: translateX(-50%); @media (width >= 64em){ height: 19rem}}          .colorBlock > h2{ color: var(--white) !important; &:first-of-type{ padding-top: 3.5rem}}  .colorBlock:not(:has(h2)) .rsGrid-container{ padding-top: 3.5rem}  .colorBlockSubHeading::before{ height: 21rem; @media (width >= 64em){ height: 25rem}}  .gray-split{ background: #f2f2f2}@media (min-width: 64em){ .gray-split{ background: linear-gradient( to left, #f2f2f2 0 66.6%, transparent 66.6% 100% )}}.black-split{ background: #000}.black-split h2{ color: var(--white)}@media (min-width: 64em){ .black-split{ background: linear-gradient( to left, #000 0 66.6%, transparent 66.6% 100% ) }.black-split h2{ color:#000}}  .rs-grid-photo-wrapper{ position: relative}  .rs-grid-photo-wrapper .rs-grid-photo-over-image:before{ content: ''; position: absolute; top: 11%; left: 0; z-index: 1; display: block;   width: 100%;   height: 100%; background: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),color-stop(20%,rgba(0,0,0,0)),color-stop(45%,rgba(0,0,0,0.5)),to(rgba(0,0,0,0.9))); background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0.9) 100%); -webkit-transition: -webkit-transform 0.2s; transition: transform 0.3s,opacity 0.2s}.rs-grid-photo-wrapper a:hover .rs-grid-photo-over-image:before, .rs-grid-photo-wrapper a:focus .rs-grid-photo-over-image:before{ -webkit-transform: translate(0,-11%); transform: translate(0,-11%)}.rs-grid-photo{ height: 100%;   overflow: hidden}.rs-grid-photo-over-image{ position: relative;   height: unset;   max-width: 100%;   }.rs-grid-photo-wrapper > a.rs-grid-photo-link + .text{ margin-top: clamp(1.5rem, 6vw, 2rem)}.rs-grid-photo-over-image img, .rs-grid-photo-under-image img{     }.rs-grid-photo-over-image img{ position: absolute; top: 0; left: 0;     }.rs-grid-photo-under-image img{ }.rsContent .rs-grid-photo img{ width: 100%; height: 100%;   overflow: hidden; object-fit: cover}.rsGrid.columns1 .rs-grid-photo-over-image, .rsGrid.columns1 .rs-grid-photo-under-image img{ min-height: 28rem; height: 24vw; max-height: 34rem}.rsGrid.columns2 .rs-grid-photo-over-image, .rsGrid.columns2 .rs-grid-photo-under-image img{ min-height: 20rem; height: 21vw; max-height: 28rem}.rsGrid.columns3 .rs-grid-photo-over-image, .rsGrid.columns3 .rs-grid-photo-under-image img{ min-height: 14rem; height: 18vw; max-height: 16rem}.rsGrid.columns4 .rs-grid-photo-over-image, .rsGrid.columns4 .rs-grid-photo-under-image img{ min-height: 12rem; height: 16vw; max-height: 16rem}.rs-grid-photo-over-image .text p{ line-height: 1.3; margin-top: 0em; margin-bottom: 0}  .rs-grid-photo-over-image .text{ z-index: 10; text-align: left;   padding: 0; color: #fff; position: absolute; bottom: 1.125em; left: 1em; right: 1em;   }  .rs-grid-photo + .text{ position: static; color: inherit; padding: 0; margin-top: var(--gap-sm)}.rs-grid-photo .text h3{ font-size: 1.75rem; margin: 0}.rs-grid-photo .text p{ font-size: 0.9em}.rsGrid-item .text .rsSubhead{ margin-top: 0 !important}.rsContent.invert .rsSubhead{ color: rgba(255,255,255,.85)}.rsContent .rs-grid-photo h3{ font-weight: 600}.rsContent article.rs-grid-photo{ display: block}  .rsGrid-news-embed .rs-grid-photo-wrapper .rs-grid-photo img{ transition: var(--transition) !important; transform: scale(1)}.rsGrid-news-embed .rs-grid-photo-wrapper .rs-grid-photo:hover img{ transform: scale(1.1)}  .rsNewsArchive .rsGrid .rs-grid-photo-over-image, .rsNewsArchive .rsGrid .rs-grid-photo-under-image img{ min-height: 20rem !important; height: 26vw !important; max-height: 28rem !important}  .rsGrid.seamless .rsGrid-container, .rsGrid.seamless .rsGrid-item{ margin: 0rem}  .rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item{ margin: 0}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item.rsFullWidth, .rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item.rsFullWidthPhoto{ padding: 0}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item:not(.rsFullWidth):not(.rsFullWidthPhoto):not(.rsGrid-itemSpacer){ box-sizing: border-box; padding: clamp(1.5rem, 6vw, 3rem); margin: 0}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item:has(.rs-grid-photo-wrapper){ display: flex; flex-direction: column}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rsGrid-item:has(.rs-grid-photo-wrapper) .rs-grid-photo-wrapper{ flex: 1 1 auto; display: flex}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto){ margin-inline: 0}.rsGrid:has(.rsFullWidth, .rsFullWidthPhoto){ padding-block: 0}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rs-grid-photo-wrapper .rs-grid-photo{ width: 100%; height: 100%; overflow: hidden}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto) .rs-grid-photo-wrapper .rs-grid-photo img{ inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%}.rsGrid .rsGrid-container:has(.rsFullWidth, .rsFullWidthPhoto){ margin-bottom: 0}  .rsContent.rsGrid.rsCompact{ padding: var(--gap) var(--wrap)}.rsCompact h2{ font: var(--h3) !important}.rsContent.rsGrid.rsCompact ul.rsRouterLinks{ list-style-type: none; padding: 0; margin: 0}.rsContent.rsGrid.rsCompact ul.rsRouterLinks > li > a{ color: inherit !important; transition: background-position var(--transition); background: linear-gradient(-90deg, #0000 50%, currentColor 50%) 100% calc(100% + 1px) / 200% .0625rem no-repeat; border-bottom: 1px solid #6d6e7166; width: 100%; padding-block-start: .875rem; padding-block-end: .875rem; font-size: .875rem; font-weight: 400; text-decoration: none; display: block; position: relative; box-shadow:none !important}.rsContent.rsGrid.rsCompact ul.rsRouterLinks > li > a:hover{ background-position-x: 0 !important}.rsRouterText{ margin-top: 0 !important; margin-bottom: 0 !important; max-width: 80ch !important}  .featurePanel{ position: relative; display: grid; grid-template-columns: 100%; align-items: center; padding: var(--panel) var(--wrap); .rsPanel-figure{ height: 100%; margin-bottom: 0; img{ object-fit: cover; width: 100%; height: 100%}}.featurePanel-content{ box-sizing: border-box; display: grid; grid-template-columns: 100%; align-items: center; background-color: var(--gray-light); padding: var(--gap); height: 100%; order: -1; .featurePanel-alt &{ background-color: var(--white)}h2{ margin-bottom: var(--gap-sm)}.buttons{ align-items: center; margin-block: var(--gap); gap: var(--gap-sm); margin-bottom: .5rem; flex-wrap: wrap; display: flex}@media (width >= 64em){ order: -1; .featurePanel-flip &{ order: 0}.with-sidebar &{ background-color: var(--white); order: -1}}}&::before{ content: " "; position: absolute; inset: 0; background-color: var(--black); z-index: -2}@media (width >= 64em){ grid-template-columns: 1fr 1fr; &::before{ width: 65%; left: unset}}}.featurePanel-alt{ &::before{ background-color: var(--gray-light); @media (width >= 64em){ left: 0; right: unset}}}.with-sidebar{ @media (width >= 64em){ padding: 0; grid-template-columns: 100%; &::before{ display: none}.featurePanel-content{ padding: 0 0 var(--gap-sm); order: -1}.button{ width: fit-content !important}}}  .ctaPanel{ position: relative; display: grid; align-items: center; grid-template-columns: 100%; gap: var(--gap); padding: var(--gap) var(--wrap); @media (width >= 64em){ grid-template-columns: 42rem auto; &.ctaPanel-alt{ grid-template-columns: 100%}}> *{ margin: 0}.common{ position: relative; background-color: var(--black-80); color: var(--white); padding: var(--gap); h2{ margin-bottom: var(--gap-sm)}p{ margin: 1rem 0; a{ color: var(--white) !important}}.buttons{ align-items: center; gap: var(--gap-sm); margin-top: var(--gap); flex-wrap: wrap; display: flex; @media (max-width: calc(64em - 0.001px)){ width: 100%}}.ctaPanel-alt &{ display: grid; place-items: center; text-align: center; > p{ max-width: 780px}}@media (width >= 64em){ padding: 5.75rem}}.rsPanel-figure{ position: absolute; inset: 0; margin-bottom: 0; img{ object-fit: cover; height: 100%; width: 100%}}}  .statPanel{ gap: var(--gap-sm); padding-block: var(--panel); padding-inline: var(--wrap); grid-template-columns: 100%; display: grid; h2.invert{ color: var(--white)}.buttons{ align-items: center; justify-content: center; gap: var(--gap-sm); margin-top: var(--gap); flex-wrap: wrap; display: flex}@media (min-width: 64em){ .button{ width: fit-content}}}.statPanel-container{ --grid-min: 100%; display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(var(--grid-min), 1fr)); @media (width >= 48em){ --grid-min: 18rem}}.statPanel-item{ --background: var(--white); --color: var(--black); display: grid; grid-template-columns: 100%; background-color: var(--white); border-top: 8px var(--carnegie-red) solid; color: var(--black); gap: var(--gap-sm); padding: var(--gap)}    .text-eyebrow{ font: var(--text-eyebrow); letter-spacing: 2px; text-transform: uppercase}@media (max-width: 1280px){ div.gridPanel{ padding-left: 0 !important; padding-right: 0 !important}}.gridPanel-item{ position: relative; display: grid; grid-template-columns: 100%; align-items: center; max-width: 1280px; @media (width >= 64em){ grid-template-columns: 1fr 1fr}}.gridPanel-alt{ background-color: var(--black); a{ color: var(--white) !important; font-weight: normal !important}}.gridPanel-content{ display: grid; grid-template-columns: 100%; align-items: center; padding: var(--gap); box-sizing: border-box; .gridPanel-alt &{ color: var(--white)}h2{ margin-top: 0 !important}.buttons{ margin-top: 3rem}@media (width >= 64em){ .gridPanel-flip &{ order: 1}}}.gridPanel-fact{ position: relative; img{ width: 100%; height: 100%}@media (width < 64em){ .rsPanel-figure{ margin-bottom: 0 !important}}@media (width >= 64em){ height: 100%; .rsPanel-figure{ height: 100%; img{ object-fit: cover; aspect-ratio: 3/2; max-width: 100%}}}}.gridPanel-stat{ background-color: var(--gray-light); color: var(--black); padding: var(--gap); box-sizing: border-box; a{ color: var(--black) !important; font-weight: normal !important}*{ margin: 0}.text-stat{ margin-bottom: 1rem}@media (width >= 64em){ position: absolute; bottom: 0; left: 0; max-width: 430px}}  .rsSidebarContainer img, .rsSidebarContainer iframe{ max-width: 100%}.rsSidebarContainer > *:not(.rsiFragmentOverlay):not(:first-of-type), .rsSidebarContainer > .rsiFragmentOverlay > *:not(.rsiFragmentButton):not(.rsFragmentPreview):not(:first-of-type), .rsSidebarContainer > .rsiFragmentOverlay > .rsFragmentPreview > *:not(:first-of-type){ margin-top: clamp(1.5rem, 6vw, 3rem); font-size: 95% !important}.rsSidebarContainer .rsContent.solid, .rsFloatedSidebar .rsContent.solid{ box-shadow: 0 2px 4px rgba(0,0,0,0.4);     padding: 1.5em; width: auto}.rsSidebarContainer .rsContent h1, .rsFloatedSidebar .rsContent h1{ font-size: 1.75em; font-weight: 500}  .rsContent .rsButtonCloud{ list-style-type: none; padding: 0}.rsContent .rsButtonCloud li{ display: inline-block; padding: 0.25em 0.75em; margin: 0 0.75em 0.5em 0; background: #fee}.rsContent .rsButtonCloud a{ color: #900; border: none}.rsContent .rsButtonCloud.teal li{background: #DFEDEF}.rsContent .rsButtonCloud.teal a{color: #067}  .rsVideoWrapper{ width: 100%; padding-bottom: 56.25%; position:relative}.rsVideoWrapper > *{ position: absolute; top: 0; left: 0; width: 100%; height: 100%}  .rsNewsEmbed h2{ margin-top: 0; margin-bottom: var(--gap-sm)}.rsNewsFeature{ display: grid; grid-template-columns: 1fr 1fr; align-items: stretch}@media (max-width: 63.99em){ .rsNewsFeature{ grid-template-columns: 100%}}.rsNewsFeature-feature{ height: 100%}@media (min-width: 63.99em){ .rsNewsFeature-feature{ display: flex}}.rsNewsFeature-feature a{ display: block; height: 100%}.rsNewsFeature-feature article.img-container{ position: relative; height: 100%; overflow: hidden}.rsNewsFeature-feature article, .rsNewsFeature-feature img{ width: 100%; height: 100%; object-fit: cover; display: block}.rsNewsFeature-list{ width: 100%}.rsNewsFeature .rsNewsEmbedList{ display: grid; grid-template-columns: 100%; gap: var(--gap-sm)}@media (min-width: 64em){ .rsNewsFeature .rsNewsEmbedList{ grid-template-columns: 100%; gap: var(--gap-sm)}}.rsNewsEmbedList{ display: grid; gap: var(--gap-sm); grid-template-columns: 100%; margin:0}.rsNewsEmbedList-item{ display: grid; grid-template-columns: 100%; gap: var(--gap-sm); position: relative}@media (min-width: 48em){ .rsNewsEmbedList{ grid-template-columns: 100%}.rsNewsEmbedList-item{ grid-template-columns: 1fr 1fr; gap: var(--gap-sm)}}@media (min-width: 64em){ .rsNewsEmbedList{ grid-template-columns: 1fr 1fr; gap: var(--gap-sm) calc(var(--gutter) * 2)}.rsNewsEmbedList-item{ grid-template-columns: 1fr 2fr}}.rsNewsEmbedList-image{ margin: 0; overflow: hidden}.rsNewsEmbedList-image img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 3s ease}@media (min-width: 64em){ .rsNewsEmbedList-image{ max-width: 175px}}.rsNewsEmbedList li{ list-style: none; margin: 0}.rsNewsEmbedList a:hover .rsNewsEmbedList-image img{ transform: scale(1.1)}.rsNewsEmbedList-text h3, .rsNewsEmbedFeature-text h3{ font: var(--h5); font-size: 1.125rem; margin-top: 1rem; font-weight: 400 !important}.rsNewsEmbedList:not(.rsNewsEmbedList-feature) a:hover .rsNewsEmbedList-text h3{ text-decoration: underline !important; text-underline-offset: 2px}.rsNewsEmbedList-feature{ background-color: var(--white); padding: var(--gap-sm) !important}.rsNewsFeature-card{ position: relative; overflow: hidden}.rsNewsFeature-card img{ display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 3s ease}@media (min-width: 64em){ .rsNewsFeature-card img{ aspect-ratio: 16/9}}.rsNewsFeature-feature a:hover .rsNewsFeature-card img{ transform: scale(1.1)}.rsNewsFeature-card::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(198deg, #0000 32.69%, #000000b3 65.04%); z-index: 1}.rsNewsFeature-overlay{ position: absolute; left: var(--gap); right: var(--gap); bottom: var(--gap); display: grid; gap: 0.5rem; z-index: 2; color: var(--white); align-content: end}.rsNewsFeature-overlay .rsTagsList.articleLabels{ margin: 0 !important}.rsNewsFeature-overlay h3{ line-height: 1.5; margin: 0; transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: transparent; padding: 0; box-shadow: 0 .0625rem currentColor; display: inline; font-size: 1.75em; font-weight: 400}.rsNewsFeature a:hover h3{ box-shadow: 0 .125rem currentColor; text-shadow: 0 0 .05rem rgba(0,0,0,.4)}.rsNewsFeature-list h3, .rsNewsFeature h3 span{ transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: transparent; box-shadow: 0 .0625rem currentColor; width: fit-content; display:inline}.rsNewsFeature-list a:hover h3, .rsNewsFeature a:hover h3 span{ box-shadow: 0 .125rem currentColor; text-shadow: 0 0 .05rem rgba(0,0,0,.4) }.rsNewsCTA{ width: 100%; display: flex; justify-content: center; margin-top:var(--gap-sm)}  #rsPageHeader-headline{ font: var(--h1) !important}#rsPageHeader-subhead{ font: var(--h3) !important}.rsMediaInquiry_panel{ display: none}.rsMediaInquiry.is-open .rsMediaInquiry__panel{ display: block}.rsMediaInquiry{ border-bottom: 1px solid var(--black-20)}.rsMediaInquiry_toggle{ background: none; border: 0; font: inherit; padding: 0; cursor: pointer; align-items: center; display: inline-flex; margin-bottom: .35em; padding-bottom: .35em}.rsMediaInquiry_toggle::before{ content: ""; width: .8125rem; height: .5625rem; margin-right: 0.25rem; background-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/caret-down.svg"); background-size: contain; background-repeat: no-repeat; transform: rotate(-90deg);   }.rsMediaInquiry_toggle:hover{ text-shadow: .5px 0; background: none}.rsMediaInquiry.is-open .rsMediaInquiry_toggle::before{ transform: rotate(0deg)}.rsMediaInquiry.is-open .rsMediaInquiry_panel{ display: block}.rsMediaInquiry .rsMediaInquiry_panel{ border-bottom: 0; padding: 1rem 0}.rsMediaInquiry_panel ul{ padding:0; display: flex; flex-direction: column; gap: 1rem; margin-top: 5px; line-height:27px; margin-bottom:0}.rsMediaInquiry_panel li{ list-style:none; display: flex; align-items: center; gap: 1rem}.rsMediaInquiry_panel li:last-child{ margin-bottom: .35em; padding-bottom: .35em}.rsMediaInquiry_panel li a{ transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: #0000; padding: 0; box-shadow: 0 .0625rem}.rsMediaInquiry_panel li a:hover{ text-shadow: .5px 0; box-shadow: 0 .125rem}.rsMediaInquiry_panel li.email::before{ content: ""; width: 1.125rem; height: 1.125rem; background-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/mail.svg"); background-size: contain; background-repeat: no-repeat}.rsMediaInquiry_panel li.phone::before{ content: ""; width: 1.125rem; height: 1.125rem; background-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/phone.svg"); background-size: contain; background-repeat: no-repeat}    .mfp-bg{ top: 0; left: 0; width: 100%; height: 100%; z-index: 1042; overflow: hidden; position: fixed; background: #0b0b0b; opacity: 0.8}.mfp-wrap{ top: 0; left: 0; width: 100%; height: 100%; z-index: 100000; position: fixed; outline: none !important; -webkit-backface-visibility: hidden}.mfp-container{ text-align: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; padding: 0 8px; box-sizing: border-box}.mfp-container:before{ content: ''; display: inline-block; height: 100%; vertical-align: middle}.mfp-align-top .mfp-container:before{ display: none}.mfp-content{ position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045}.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content{ width: 100%; cursor: auto}.mfp-ajax-cur{ cursor: progress}.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close{ cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out}.mfp-zoom{ cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in}.mfp-auto-cursor .mfp-content{ cursor: auto}.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter{ -webkit-user-select: none; -moz-user-select: none; user-select: none}.mfp-loading.mfp-figure{ display: none}.mfp-hide{ display: none !important}.mfp-preloader{ color: #CCC; position: absolute; top: 50%; width: auto; text-align: center; margin-top: -0.8em; left: 8px; right: 8px; z-index: 1044}.mfp-preloader a{ color: #CCC}.mfp-preloader a:hover{ color: #FFF}.mfp-s-ready .mfp-preloader{ display: none}.mfp-s-error .mfp-content{ display: none}button.mfp-close, button.mfp-arrow{ overflow: visible; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; display: block; outline: none; padding: 0; z-index: 1046; box-shadow: none; touch-action: manipulation}button::-moz-focus-inner{ padding: 0; border: 0}.mfp-close{ width: 44px; height: 44px; line-height: 44px; position: absolute; right: 0; top: 0; text-decoration: none; text-align: center; opacity: 0.65; padding: 0 0 18px 10px; color: #FFF; font-style: normal; font-size: 28px; font-family: Arial, Baskerville, monospace}.mfp-close:hover, .mfp-close:focus{ opacity: 1}.mfp-close:active{ top: 1px}.mfp-close-btn-in .mfp-close{ color: #333}.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close{ color: #FFF; right: -6px; text-align: right; padding-right: 6px; width: 100%}.mfp-counter{ position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap}.mfp-arrow{ position: absolute; opacity: 0.65; margin: 0; top: 50%; margin-top: -55px; padding: 0; width: 90px; height: 110px; -webkit-tap-highlight-color: transparent}.mfp-arrow:active{ margin-top: -54px}.mfp-arrow:hover, .mfp-arrow:focus{ opacity: 1}.mfp-arrow:before, .mfp-arrow:after{ content: ''; display: block; width: 0; height: 0; position: absolute; left: 0; top: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent}.mfp-arrow:after{ border-top-width: 13px; border-bottom-width: 13px; top: 8px}.mfp-arrow:before{ border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7}.mfp-arrow-left{ left: 0}.mfp-arrow-left:after{ border-right: 17px solid #FFF; margin-left: 31px}.mfp-arrow-left:before{ margin-left: 25px; border-right: 27px solid #3F3F3F}.mfp-arrow-right{ right: 0}.mfp-arrow-right:after{ border-left: 17px solid #FFF; margin-left: 39px}.mfp-arrow-right:before{ border-left: 27px solid #3F3F3F}.mfp-iframe-holder{ padding-top: 40px; padding-bottom: 40px}.mfp-iframe-holder .mfp-content{ line-height: 0; width: 100%; max-width: 900px}.mfp-iframe-holder .mfp-close{ top: -40px}.mfp-iframe-scaler{ width: 100%; height: 0; overflow: hidden; padding-top: 56.25%}.mfp-iframe-scaler iframe{ position: absolute; display: block; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000}  img.mfp-img{ width: auto; max-width: 100%; height: auto; display: block; line-height: 0; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto}  .mfp-figure{ line-height: 0}.mfp-figure:after{ content: ''; position: absolute; left: 0; top: 40px; bottom: 40px; display: block; right: 0; width: auto; height: auto; z-index: -1; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #444}.mfp-figure small{ color: #BDBDBD; display: block; font-size: 12px; line-height: 14px}.mfp-figure figure{ margin: 0}.mfp-bottom-bar{ margin-top: -36px; position: absolute; top: 100%; left: 0; width: 100%; cursor: auto}.mfp-title{ text-align: left; line-height: 18px; color: #F3F3F3; word-wrap: break-word; padding-right: 36px}.mfp-image-holder .mfp-content{ max-width: 100%}.mfp-gallery .mfp-image-holder .mfp-figure{ cursor: pointer}@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px){   .mfp-img-mobile .mfp-image-holder{ padding-left: 0; padding-right: 0}.mfp-img-mobile img.mfp-img{ padding: 0}.mfp-img-mobile .mfp-figure:after{ top: 0; bottom: 0}.mfp-img-mobile .mfp-figure small{ display: inline; margin-left: 5px}.mfp-img-mobile .mfp-bottom-bar{ background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box}.mfp-img-mobile .mfp-bottom-bar:empty{ padding: 0}.mfp-img-mobile .mfp-counter{ right: 5px; top: 3px}.mfp-img-mobile .mfp-close{ top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0}}@media all and (max-width: 900px){ .mfp-arrow{ -webkit-transform: scale(0.75); transform: scale(0.75)}.mfp-arrow-left{ -webkit-transform-origin: 0; transform-origin: 0}.mfp-arrow-right{ -webkit-transform-origin: 100%; transform-origin: 100%}.mfp-container{ padding-left: 6px; padding-right: 6px}}    .flickity-enabled:focus-visible{ outline: none !important}.flickity-viewport{ position: relative; transition: height 0.2s; &:focus-visible{ outline: none !important}}.slider:has(.flickity-button[disabled="true"]){ padding-bottom: 0; .flickity-button, .flickity-status{ display: none; visibility: hidden}.flickity-cell{ padding-inline: 0; margin-right: 0}+.flickity-status{ display: none; visibility: hidden}}.flickity-slider{ display: flex; flex-wrap: nowrap; &>*{ flex-shrink: 0; position: absolute; top: 0}}.flickity-prev-next-button{ display: inline-grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border-radius: 0; border: 0.125rem solid var(--carnegie-red); transition: color var(--transition), opacity var(--transition); background: var(--carnegie-red); color: inherit; outline-color: var(--white); outline-offset: -0.25em; z-index: 1; left: calc(38px + 0.75rem); position: absolute; &::after{ content: ""; position: absolute; inset: -0.125rem; background: var(--white); mask: center / 60% no-repeat; transition: var(--transition)}& svg{ display: none}&.previous{ &::after{ transform: rotate(180deg); mask-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg")}&:hover{ &::after{ transform: rotate(180deg) scale(1.2)}}@media (width >=64em){ order: -1}}&.next{ &::after{ mask-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg")}}&:hover{ background: var(--carnegie-red); &::after{ transform: scale(1.2)}}&[disabled]{ cursor: auto; opacity: 0.7; &:hover{ opacity: 0.7}}@media (width >=64em){ width: 2.75rem; height: 2.75rem}}.flickity-status, .timeline-status{ display: grid; grid-template-columns: auto auto auto; place-items: center; gap: 0.5rem; color: var(--color, var(--black)); font-weight: 700; order: 1; justify-content: center; margin: 0 auto; width: auto}.timeline-status{ color: var(--white); text-align: center; padding-top: 1rem}.flickity-enabled.is-fade .flickity-slider>*{ pointer-events: none; z-index: 0}.flickity-enabled.is-fade .flickity-slider>.is-selected{ pointer-events: auto; z-index: 1}.flickity-enabled.loaded.is-fade{ *{ animation-delay: 500ms; animation-duration: 6s}}    .rsTimeline{ gap: var(--gap-sm); padding-block: var(--panel); grid-template-columns: 100%; display: grid; h2, p, a{ color: var(--white) !important; text-align: center; margin: auto}}.rsTimelineContainer{ display: block; width: 100%; box-sizing: border-box; @media (min-width: 64em){ display: flex; align-items: flex-start; gap: 28px}}  .carousel-nav{ position: relative; flex: 0 0 auto; margin: 4px .75rem 0 .75rem; @media (min-width: 64em){ min-height: 500px}}.with-scroll{ height: auto; overflow: scroll visible; padding-bottom: 1rem; &::-webkit-scrollbar{ width: 8px}&::-webkit-scrollbar-track{ background: var(--gray-dark)}&::-webkit-scrollbar-thumb{ background: var(--gray-light)}&::-webkit-scrollbar-thumb:hover{ background: var(--carnegie-red)}@media (min-width: 64em){ height: 550px; overflow: visible scroll}}.hasScroll::before{ content: ""; text-align: center; background-color: var(--white); color: var(--white); z-index: 2; transition: all var(--transition); width: 100%; padding-bottom: 30px; font-size: 16px; font-weight: 700; line-height: 24px; position: absolute; bottom: .5%; left: 0; -webkit-mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/caret-down.svg") bottom / 1.25rem no-repeat; mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/caret-down.svg") bottom / 1.25rem no-repeat; @media (max-width: calc(64em - 0.001px)){ width: unset; height: 12px; left: unset; right: 0; bottom: calc(50% - 8px); padding-bottom: unset; padding-right: 30px; transform: rotate(-90deg)}}.hasScroll::after{ content: ""; transition: all var(--transition); background: linear-gradient(#0000 0%, #000 80%); width: 100%; height: 12%; position: absolute; bottom: 0; left: 0; z-index: 1; @media (max-width: calc(64em - 0.001px)){ content: ""; bottom: 0; right: 0; left: unset; transition: all var(--transition); background: linear-gradient(to right, #0000 0%, #000 80%); width: 35%; height: 100%; position: absolute}}.with-scroll.scrolled::after, .with-scroll.scrolled::before{ opacity: 0; visibility: hidden}.carousel-nav .flickity-slider{ display: flex; flex-direction: row; transform: none !important; transition: none !important; gap: .25rem; @media (min-width: 64em){ flex-direction: column}@media (max-width: calc(64em - 0.001px)){ justify-content: space-between; width: 100%}}.carousel-nav .carousel-nav-cell{   position: relative !important; left: 0 !important; @media (max-width: calc(64em - 0.001px)){ flex: 1 1 0}}.carousel-nav{ img{ display: block; object-fit: cover; user-select: none; @media not (prefers-reduced-motion: reduce){ transition: outline var(--transition), border-color var(--transition)}}span{ font-size: .875rem; font-weight: 700; @media not (prefers-reduced-motion: reduce){ transition: var(--transition)}&:last-child{ position: relative; &::after{ content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 3px; background: var(--white); opacity: 0; @media not (prefers-reduced-motion: reduce){ transition: opacity var(--transition)}}}}.is-nav-selected{ img{ border-color: var(--white)}span:last-child::after{ opacity: 1}}}.rsTimeline-Button{ z-index: 1; color: var(--white); background-color: #0000; border-color: #0000; border-radius: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--gap-sm); position: relative;   &::before{ content: ""; background-color: var(--white); width: 10px; height: 10px; @media not (prefers-reduced-motion: reduce){ transition: var(--transition)}}  &::after{ content: ""; border-top: 1px dashed var(--white-40); position: absolute; z-index: -1; width: 100%; height: 1px; top: 5px; left: 5px}&:focus-visible, &:focus{ border: 1px dotted var(--white); border-width: 0.25rem}@media (min-width: 64em){ flex-direction: row; padding-bottom: 1rem; &::after{ border-top: none; border-left: 1px dashed var(--white-40); width: 1px; height: 100%; top: 1px; left: 8px}}  @media (max-width: calc(64em - 0.001px)){ width: 100px; span:first-child{ display: none}span:last-child{ margin-right: 0}}  img{ border: 4px solid var(--black)}&:hover img{ border-color: var(--white)}span:last-child{ margin-right: var(--gap-sm); max-width: 100px; text-align: left}&:hover span:last-child::after{ opacity: 1}}.is-selected .rsTimeline-Button::before{ background-color: var(--carnegie-red) !important}  .carousel-main{ flex: 1 1 auto; height: 100%; position: relative; p{ text-align: left}.flickity-slider{ transform: none !important; transition: none !important; overflow: hidden}.flickity-button{ top: calc(var(--prevNextBtn)/1.7);   left: 100%; outline-color: var(--white); outline-width: 2px; outline-offset: -0.2rem; &.previous{ right: 100%; left: 0}&.next{ left: unset; right: 0}&:focus-visible, &:focus{ border: 1px dotted var(--white); border-width: 0.25rem}}@media (min-width: 64em){ .flickity-viewport{ height: 100% !important}.flickity-button{ display: none}}@media (max-width: calc(64em - 0.001px)){ padding-top: 3rem; .flickity-viewport{ height: 100%}}}.carousel-main .carousel-cell{ left: 0 !important; inset: 0; opacity: 0; pointer-events: none; box-sizing: border-box; @media (max-width: calc(64em - 0.001px)){ width: 100%; top: 0; position: relative !important}@media (min-width: 64em){ top: 50%; padding-top: 56.25%; -ms-transform: translateY(-50%); transform: translateY(-50%); position: absolute}}.rsTimeline-figure{ position: relative; inset: auto; overflow: visible; height: auto; display: block; @media (min-width: 64em){ position: absolute; inset: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start}}.img-wrap{ position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; @media (min-width: 64em){ position: absolute; inset: 0; padding-top: 0}img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.3); transition: transform 0.9s ease}}.carousel-main .carousel-cell.is-selected{ opacity: 1; position: absolute !important; pointer-events: auto; transition: opacity 0.3s ease}.carousel-main .carousel-cell.is-selected img{ transform: scale(1)}.carousel-main .carousel-cell.is-selected .rsTimeline-figure figcaption{ visibility: visible; transform: translateY(0); z-index: 10}.carousel-main .carousel-cell .rsTimeline-figure figcaption{ box-sizing: border-box; background-color: var(--gray-dark); color: var(--white); padding: var(--gap-sm); pointer-events: auto; z-index: 9; visibility: visible; transform: translateY(0); a{ color: var(--white) !important}@media (min-width: 64em){ max-width: 538px; position: absolute; bottom: 0; right: 0; visibility: hidden; transform: translateY(100%); @media not (prefers-reduced-motion: reduce){ transition: all .3s .8s}}}    .rsContent-header{ margin-bottom: 1.5rem; @media (min-width: 64em){ p{ max-width: 80ch}}}.rsCarousel{ margin-inline: calc(-1 * var(--wrap)); margin-bottom: 4.5rem;   @media (min-width: 64em){ padding-inline: var(--space-sm); margin-inline-start: 0; margin-inline-end: 0}}.carousel-slide{ width: 100%; margin-right: calc(var(--gap-sm) / 2); &:not(.is-selected){ @media (width >=64em){ figcaption{ visibility: hidden; transform: translateY(100%)}}}img{ border: none; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block}figcaption{ padding: var(--gap-sm) !important; background-color: var(--gray-light) !important; color: var(--black); font: var(--body); transform: translateY(0); visibility: visible; transition: all 600ms ease 300ms}figcaption> :first-child{ margin-top: 0}@media (width >=64em){ width: calc(90% - calc(var(--gap-sm) / 2)); &::after{ content: attr(data-index); position: absolute; top: var(--gap-sm); left: var(--gap-sm); padding: 0.5rem 1rem; background: var(--carnegie-red); border: 1px solid var(--carnegie-red); color: var(--white); font: var(--h5); transition: var(--transition)}&:has(+ .is-selected){ &::after{ left: unset; right: var(--gap-sm)}}&:not(.is-selected){ &::after{ background: transparent; border-color: var(--white)}}.rsCarousel-figure{ &::before{ content: " "; position: absolute; inset: 0; background: linear-gradient(335deg, rgba(0, 0, 0, 0.00) 45.79%, rgba(0, 0, 0, 0.30) 80.81%), linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.00) 100%)}figcaption{ position: absolute; bottom: 16px;   left: -1px;   max-width: 538px}}}}.rsCarousel-slider{ position: relative; width: 100%; flex: 1; .slider{ display: flex; flex-direction: column-reverse; align-items: center; position: relative; width: 100%; margin-bottom: var(--gap-sm)}.flickity-viewport{ width: 100%; overflow: hidden}.flickity-button{ top: calc(var(--prevNextNav)/2); left: 100%; outline-color: var(--white); outline-width: 2px; outline-offset: -0.2rem; &.previous{ left: 0; @media (width >=64em){ right: 100%; left: -3.25rem}}&.next{ left: unset; right: 0; @media (width >=64em){ right: -3.25rem}}@media (width >=64em){ outline-color: var(--black); outline-width: 0.25rem; outline-offset: 0.05rem}}@media (width >=64em){ .flickity-button{ left: unset}.flickity-status{ left: 1.5rem}}}      .no-js .rsCollapsible{ max-height: 0}.rsCollapsibleHeader{ box-sizing: border-box; background-color: #efefef; display: block; padding: 0.75rem; margin-top: 1.2rem; position: relative; border: none; text-align: left; width: 100%}.rsCollapsibleHeader.rsSolid{   box-sizing: content-box; padding-right: 0}.rsCollapsibleHeader.rsSolid.u-fullbleed-left{   padding-left: 0}.rsCollapsibleHeader.rsSolid.invert{ color: #FFF}.rsCollapsibleHeader.rsSolid+.rsCollapsible{ padding-top: 0;   }.rsCollapsibleHeader>h1{ margin: 0; font-weight: bold;   font-size: 1.6rem;   vertical-align: middle; opacity: 1; transition: opacity 0.33s}.rsCollapsibleHeader>h1:before{ content: ''; border: solid 0.5rem transparent; border-right: solid 0.1rem transparent; border-left: solid 0.75rem currentcolor; display: inline-block; vertical-align: baseline; transition: transform 0.33s; margin-right: 1rem; margin-left: 0.33rem}.rsAccordionHeader{ box-sizing: border-box; background-color: transparent; display: block; padding: 0.5rem; margin-top: 0; position: relative; border: none; text-align: left}.rsAccordionHeader>h2{ color: #C41230; font-weight: normal; text-decoration: underline; margin-bottom: 0; margin-top: 0}.rsContent.invert .rsAccordionHeader>h2{ color: #EEE}.rsAccordionHeader:focus>h2, .rsAccordionHeader:hover>h2{color: #b00}.rsContent.invert .rsAccordionHeader:focus>h2, .rsContent.invert .rsAccordionHeader:hover>h2{color: #FFF}.rsAccordionHeader>h2:before{ color: #C41230; content: "\203a"; display: block; float: left; font-size: 160%; margin-right: .25em; margin-top: -0.3em; transition: transform 0.33s; transform: rotate(0); transform-origin: 40% 60%}.rsAccordionHeader+.rsCollapsible{ padding: 0 1.7em}.rsCollapsible{ display: block; overflow: hidden; transition: max-height 0.5s cubic-bezier(0, 1, 0, 1)}input.rsCollapseToggle:checked + .rsCollapsibleHeader + .rsCollapsible, input.rsCollapseToggle:checked + .rsAccordionHeader + .rsCollapsible{ max-height: 10000vh; transition: max-height 1s ease-in-out}input.rsCollapseToggle:checked + .rsCollapsibleHeader>h1, .rsCollapsibleHeader.open>h1{ opacity: 0.65}input.rsCollapseToggle:checked + .rsCollapsibleHeader>h1:before, .rsCollapsibleHeader.open>h1:before, input.rsCollapseToggle:checked + .rsAccordionHeader>h2:before, .rsAccordionHeader.open>h2:before{ transform: rotate(90deg)}.rsCollapsibleHeader:after{ content: attr(data-itemcount) " items"; position: absolute; right: 1rem; color: #04c; font-size: 1.2em; display: block; top: 50%; transform: translateY(-50%)}.rsCollapsibleHeader[data-itemcount='1']:after{ content: attr(data-itemcount) " item"}.rsCollapsibleHeader[data-itemcount='0']:after{ display: none}.rsCollapsibleHeader:not(.invert):hover>h1{ color: #a00; opacity: 1 !important}.rsCollapsibleHeader.invert:hover>h1{ opacity: 0.8 !important; color: inherit}  .collapsed{ clear: both; z-index: 1}.collapsed a{ color: #b00; border-bottom: 1px solid #faa; text-decoration: none; font-weight: 500}.collapsed a:before{ color: #c00; content: "\203a"; display: block; float: left; font-size: 135%; margin-right: .35em; margin-top: -2px; transform: rotate(0); transform-origin: 60% 60%}.collapsed.open a:before{ transform: rotate(90deg)}.invert .collapsed a:before{ color: rgba(255,255,255,.85) }h2.collapsed, h3.collapsed{ padding-bottom:0 }h2.collapsed + div, h3.collapsed + div{ margin-top:1em !important; margin-left:1.3em}.collapsed:hover a{ color: #e00; border-bottom: 1px solid}.collapsed a:focus, .collapsed a:hover{ color:#c00}.collapsed div[style]{ display: block !important}.collapsed.open a:before{ transform: rotate(90deg)}  .rsCallout{ padding: 2rem 2rem 0}.rsCallout-quote{ display: flex; align-items: flex-end; flex-wrap: wrap-reverse}  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active){ .rsCallout-quote{ align-items: flex-start}}.rsCallout-quote > .text{ flex: 1 1 50%; margin: 0 0 2rem; position: relative}.rsCallout-quote blockquote{ position: relative; margin: 0; padding: 0 3rem 0 3.5rem; box-sizing: border-box}.rsCallout-quote blockquote:before{ content: '\201c'; line-height: 1; display: block; left: 0; top: -0.2rem; position: absolute; font-family: arial, helvetica, sans-serif; color: #b00; font-size: 7rem}.rsCallout-quote blockquote:after{ content: ''; display: block; background: repeating-linear-gradient(	0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15) 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 6px); transform: skewY(-33deg); width: 1rem; top: 4rem; left: 1rem; bottom: 0.5rem; position: absolute}.rsCallout-quote blockquote.invert:after, .rsContent.invert blockquote:after, .rsContent.invert blockquote.callout:after{ background: repeating-linear-gradient(	0deg, rgba(255,255,255,0.15), rgba(255,255,255,0.15) 2px, rgba(255,255,255,0) 2px, rgba(255,255,255,0) 6px)}.rsCallout-quote blockquote.invert:before, .rsContent.invert blockquote:before, .rsContent.invert blockquote.callout:before{ color: #ddd}.rsCallout-quote h1, .rsCallout-quote h2, .rsCallout-quote h3, .rsCallout-quote h4, .rsCallout-quote h5, .rsCallout-quote h6{ font-size: 1.625rem !important; font-weight: 300 !important}.rsCallout-quote > .image{ flex: 1 0 380px; display: block; max-width: 100%; margin-bottom: 2rem}.withSidebar .rsCallout-quote > .image{ flex: 1 0 300px}.rsCallout-quote > .image > img{ width: 100%}.rsCallout-links{ margin-top: 2rem}.rsCallout-links a{ margin-right: 2rem} 
/*FORMS*//*NAV*/   .rsMenuButtonIcon{ display: block; box-sizing: border-box; position: absolute; top: calc(50% - 0.5em); left: calc(50% - 0.75em); background: transparent; -webkit-transform: translate(0,0.4375em) scale(0.6); transform: translate(0,0.4375em) scale(0.6); font-size: 100% }.rsMenuButtonIcon::before{ height: 0; border-top: 0.25em solid currentColor; transform: translate(0,-0.75em); transition: transform 0.2s}.rsMenuButtonIcon::after{ border: 0.25em solid currentColor; border-width: 0.25em 0 0.25em 0; transition: border 0.2s,transform 0.2s}.rsMenuButtonIcon::before, .rsMenuButtonIcon::after{ content: ''; height: 1em; position: absolute; top: 0; left: 0; box-sizing: border-box; display: block; width: 2.5em; background: transparent; transform-origin: center}  .rsJS-open>.rsMenuButtonIcon:before, .rsHNav > input:checked ~ label>.rsMenuButtonIcon:before{ transform: translateX(-0.25em) rotate(45deg)}.rsJS-open>.rsMenuButtonIcon:after, .rsHNav > input:checked ~ label>.rsMenuButtonIcon:after{ border-bottom: none; transform: translateX(0.25em) rotate(-45deg)}  .rsHNav{   width: auto; position: relative; padding-top: 0 !important; padding-bottom: 0 !important}.rsHNav a{ color: currentColor; text-decoration: none}.rsHNavBar ul, .rsHNavBar ol, .rsHNavBar li{ list-style:none; list-style-image:none; display: block; margin: 0; padding: 0; text-indent: 0 !important; -webkit-transform:translateZ(0) }.rsHNavBar h3{ -webkit-transform:translateZ(0) }.rsHNav-top{line-height: 3.5rem; position: relative}.rsHNav-topOpen{ display: block; box-sizing: border-box; border: none; background: transparent; color: currentColor; text-align: left; padding: 0;  width: 100%; height: 3.5rem}.rsHNav-top>a>h2, .rsHNav-topOpen>h2{font-size: inherit !important; padding: none !important; display: inline !important; font-weight: inherit !important}.rsNav-landing{ display: block}.rsHNav-col .rsNav-helptext, .rsHNav-openbutton .rsNav-helptext{position: absolute; opacity: 0}  .rsHNav-panel{ display: block; overflow: hidden}.rsHNav-panelWrapper{ display: block; max-height: 0; overflow: hidden; position: relative}  .rsHNav-panelWrapper.rsJS-open, .rsHNav-top > input:checked ~ .rsHNav-panelWrapper{ max-height: 300vh}.rsHNav-panel:focus-within, .rsHNav-panelWrapper:focus-within{   max-height: 300vh}@media only screen and (max-width: 991px){   .rsHNav-openbutton{ border: none; background: none; color: currentColor;   box-sizing: border-box; height: 3.5rem; width: 3.5rem; padding: 0 0.5rem; display: inline-block; position: absolute; right: 0; overflow: hidden}.rsHNavBar{ overflow: hidden}.rsHNavBar.rsJS-open, .rsHNav > input:checked ~ .rsHNavBar{   max-height: 200vh}}@media only screen and (min-width: 992px){   #rsHNav-opencheck, .rsHNav-openbutton, input[id*=rsHNavCheckbox-]{display: none; visibility: none}.rsHNavBar{ display: block; height: 3.5rem; max-height: initial; position: relative; overflow: visible; z-index: 9001 }.rsHNavBar>ul, .rsHNav-panel{display: flex}.rsHNav-col{ flex: 1 1 auto; min-width: 10em; margin: 0 0.5rem}.rsHNav-panelWrapper{ overflow: visible}.rsHNav-panel{ position: absolute; top: 0; width: auto; z-index: 9000; min-width: 550px; max-height: 0; overflow: hidden; left: 0; align-items: flex-start; margin-top: 3.5rem}.rsHNav-top:nth-child(n+6) .rsHNav-panel{ left: auto; right: 0;   }.rsHNav .rsNav-helptext{position: absolute; width: 0; height: 0; opacity: 0}  .rsHNav-top:not(:hover) .rsHNav-topOpen:not(.rsJS-open) + div{pointer-events: none}.no-js .rsHNav-top:hover .rsHNav-panel, .rsHNav-topOpen.rsJS-open~div .rsHNav-panel{max-height: 40em}.no-js .rsHNav-top:hover>button h2, .rsHNav-top>button.rsJS-open h2{opacity: 0.6 }.rsHNav-top .rsNav-landing{ opacity: 0; margin-left: 0; display: block; position: absolute; top: 0rem; left: 0}.rsHNav-topOpen.rsJS-open~div .rsNav-landing, .no-js .rsHNav-top:hover .rsNav-landing{opacity: 1}.rsNav-landing:focus-within{opacity: 1}} /*endnav*/
/*NEW NAV*/   .rsMainNavBar{ display: grid; place-content: space-between; position: absolute; top: calc(3.75rem - 12px); left: 0; right: 0; height: calc(100dvh - calc(3.75rem - 1px)); gap: var(--gap); padding: 0 1.5rem var(--panel); background: var(--black); color: var(--white); overflow: auto; overscroll-behavior: contain; @media (width < 79.999em){ opacity: 0; visibility: hidden}@media (width >= 80em){ position: fixed; display: contents; top: 7.5rem}[aria-expanded="true"] + &{ @media (width < 79.999em){ transition: transform var(--transition), opacity var(--transition), visibility var(--transition); transform: none; opacity: 1; visibility: visible}}}.rsMainNavBar > ul{ margin: 0; padding: 0; list-style: none; @media (width <= 79.999em){ margin-block: 1rem}@media (width >= 80em){ display: flex; gap: 1.5rem}ul{   padding: 0; li{ display: grid; place-items: flex-end}}}.rsMainNav-topOpen{ display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; position: relative; padding: 1rem 0; width: 100%; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.25px; background: none; border: 0; border-bottom: 1px solid var(--white-20); color: var(--white); h2{ margin: 0; font-size: 18px}&::after{ content: ""; flex-shrink: 0; width: 0.8125rem; height: 0.5625rem; background: var(--white); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/caret-down.svg") center / contain no-repeat; transition: transform var(--transition), background var(--transition)}&[aria-expanded="true"]{ &::after{ transform: rotate(180deg)}}@media (width >= 80em){ border: none; padding: 0; color: var(--white); text-decoration: none; h2{ position: relative;   padding: 0; font-size: 14px; font-weight: 600 !important; letter-spacing: -0.25px !important; &::after{ position: absolute; content: " "; left: 0; bottom: 0; width: 100%; height: 0.0625rem; background: linear-gradient(var(--white), var(--white)) 0 75% / 0 0.0625rem no-repeat; transition: background var(--transition), color var(--transition)}}&[aria-expanded="true"], &:hover{ h2{ &::after{ background-size: 100% 0.0625rem}}}&::after{ background: var(--white)}}}.rsMainNav-panelWrapper{ @media (width < 79.999em){ display: grid; grid-template-columns: 100%; grid-template-rows: minmax(0, 0fr); overflow: clip; overflow-clip-margin: 0.5rem; visibility: hidden; transition: grid-template-rows var(--transition), visibility var(--transition); [aria-expanded="true"] + &{ grid-template-rows: minmax(0, 1fr); visibility: visible}}@media (width >= 80em){ position: absolute; top: var(--gap); left: 0; right: 0;   padding: var(--gap); background: none; visibility: hidden; z-index: -1; transition: background var(--transition) 0.4s, visibility var(--transition) 0.4s;   [aria-expanded="true"] + &{ background: var(--black); visibility: visible; transition: background var(--transition), visibility var(--transition); .rsMainNav-col, .rsMainNavPanel-heading{ opacity: 1; transform: none; transition: opacity 0.4s ease 0.8s, transform 0.4s ease 0.8s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.rsMainNav-cta{ opacity: 1; transform: none; transition: opacity 0.4s ease 0.8s, transform 0.4s ease 0.8s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}@media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.Buttons{ margin-block: 2rem; justify-content: center; @media (width >= 80em){ margin-block: 3rem 0}}}.rsMainNavPanel-heading{ display: block; margin: 0; font-weight: 700;     font-size: 24px; color: var(--white)}.rsMainNav-panel{ display: flex; gap: 1rem;   ul{ display: grid; grid-template-columns: 100%; margin-block: 1rem; li{ a{ position: relative; display: block; width: 100%; padding-block: 0.875rem; color: inherit; border-bottom: 1px solid var(--white-20); text-decoration: none; background: linear-gradient(-90deg, transparent 50%, currentColor 50%) 100% calc(100% + 1px) / 200% 0.0625rem no-repeat; transition: background-position var(--transition); &:hover{ background-position-x: 0}}}}@media (width >= 80em){ gap: var(--gap);   ul{ margin-top: 2rem}}@media (width <= 79.999em){ gap: 0; display: block; ul{ margin-block: 0}}}  p.rsMainNavPanel-heading{ @media (width <= 79.999em){ opacity: 0 !important; display: none}}.rsMainNav-col, .rsMainNavPanel-heading{ @media (width <= 79.999em){ margin-inline: 1rem 0; ul{ padding-inline: 1rem 0}}@media (width >= 80em){ opacity: 0; transform: translateX(-10%); transition: opacity 0.4s ease-in-out 0s, transform 0.4s ease-in-out 0s; ul{ display: grid; grid-template-rows: 1fr 1fr; gap: 0 var(--gap)}@media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}@media (width >= 80em){   .rsMainNav-col{ flex-basis: 10rem; flex-grow: 2}.rsMainNav-cta.cta-small{ flex-basis: 20rem; flex-grow: 3}.rsMainNav-cta.cta-small .rsMainNav-cta-main{ max-width: 50%;   }.rsMainNav-cta.cta-large{ flex-basis: 35rem; flex-grow: 3}.rsMainNav-cta{ margin-top: -26px;   }}.rsMainNav-cta{ position: relative; display: flex; background: var(--white); color: var(--black); opacity: 0; transform: translateX(10%); transition: opacity 0.4s ease-in-out 0s, transform 0.4s ease-in-out 0s; &:has(.u-link-cover:hover){ .rsMainNav-cta-image img{ transform: scale(1.1)}.link-underline-swipe{ background-size: 100% 1px}}&:has(.u-link-cover:focus-visible){ outline: 0.25rem dashed; outline-offset: 0.25rem; outline-color: var(--color, var(--black)); .u-link-cover{ outline: none}}@media (width <= 79.999em){ opacity: 1; transform: none; margin-inline: 1rem 0; margin-block: 1rem 1rem}@media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.rsMainNav-cta-image{ overflow: hidden; flex: 0 0 30%; max-width: 344px; display: block; img{ width: 100%; height: 100%; object-fit: cover; transition: transform 3s ease; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}            }.rsMainNav-cta-main{ --accent: var(--black); display: flex; flex-direction: column; justify-content: center; padding: var(--gap)}.rsMainNav-cta-title{ .rsStat{ margin-right: 0.3em}.u-link-cover{   font-size: 24px; font-weight: 400; line-height: 36px}.link-underline-swipe{ padding-bottom: 0}}.rsMainNav-cta-body{ font: var(--body)}    .rsMenuButtonIcon{ display: block; box-sizing: border-box; position: absolute; top: calc(50% - 0.9rem); left: calc(50% - 0.75em); background: transparent; -webkit-transform: translate(0,0.4375em) scale(0.6); transform: translate(0,0.4375em) scale(0.6); font-size: 100% }.rsMenuButtonIcon::before{ height: 0; border-top: 0.25em solid currentColor; transform: translate(0,-0.75em); transition: transform 0.2s}.rsMenuButtonIcon::after{ border: 0.25em solid currentColor; border-width: 0.25em 0 0.25em 0; transition: border 0.2s,transform 0.2s}.rsMenuButtonIcon::before, .rsMenuButtonIcon::after{ content: ''; height: 1em; position: absolute; top: 0; left: 0; box-sizing: border-box; display: block; width: 2.5em; background: transparent; transform-origin: center}  .rsJS-open>.rsMenuButtonIcon:before, .rsHNav > input:checked ~ label>.rsMenuButtonIcon:before{ transform: translateX(-0.25em) rotate(45deg)}.rsJS-open>.rsMenuButtonIcon:after, .rsHNav > input:checked ~ label>.rsMenuButtonIcon:after{ border-bottom: none; transform: translateX(0.25em) rotate(-45deg)}  #rsSearchBox #rsSearchBox-dropdown{   opacity: 0; z-index: -1; pointer-events: none}#rsSearchBox:focus-within #rsSearchBox-dropdown, #rsSearchBox.isfocused #rsSearchBox-dropdown, #rsSearchBox-dropdown:hover{ visibility: visible; opacity: 1; z-index: auto; pointer-events: auto}  #rsSearchBox:focus-within #rsSearchBox-toggle{ pointer-events: none} /*end NEW nav*/
/*FOOTER*/ ${footerFile.getText()} /*endfooter*/
/*PRINT*/     #wordmarkPrint, img[alt='print']{ display:none }@page{ size: auto portrait;     margin: 15mm 10mm 15mm 12mm}@media print{   .rsiToolbar, .rsHNav, .rsFooter{ display: none !important}  #rsRegionContainer{ display: inline; width: 100%}*{ line-height:normal !important; min-height:0px !important; max-height:none !important; -moz-transition: none !important; -o-transition: none !important; -webkit-transition: none !important; transition: none !important}.rsContent, .rsContent em, .rsContent strong{ color: #000 !important}.rsContent a:after{ content: "[" attr(href) "]"; font-size: 75%; margin-left: 0.5em; word-break: break-all; word-break: break-word; word-wrap: break-word; overflow-wrap: break-word; line-break: anywhere}.rsContent .button{ background: transparent !important; border: 2px solid $333 !important; color: #000 !important}.rsContent .red.button{ background: transparent !important; border: 2px solid #C41230 !important; color: #000 !important}.rsContent .solid.button{ border-width: 4px !important}  .rsContent.solid.grey:not(.plaid), .rsCarousel.grey, .rsSolid.grey{ border: solid 1em #E0E0E0 !important; background: white !important}.rsContent.solid.darkgrey, .rsTrackContainer.darkgrey, .rsCarousel.darkgrey, .rsSolid.darkgrey{ border: solid 1em #6D6E71 !important; background: white !important}.rsContent.solid.red, .rsTrackContainer.red, .rsCarousel.red, .rsSolid.red{ border: solid 1em #C41230 !important; background: white !important}.rsContent.solid.gold, .rsTrackContainer.gold .rsCarousel.gold, .rsSolid.gold{ border: solid 1em #a60 !important; background: white !important}.rsContent.solid.teal, .rsTrackContainer.teal, .rsCarousel.teal, .rsSolid.teal{ border: solid 1em #067 !important; background: white !important}.rsContent.solid.blue, .rsTrackContainer.blue, .rsCarousel.blue, .rsSolid.blue{ border: solid 1em #247 !important; background: white !important}.rsContent.solid.green, .rsTrackContainer.green, .rsCarousel.green, .rsSolid.green{ border: solid 1em #085 !important; background: white !important}.rsContent.solid.darkgreen, .rsTrackContainer.darkgreen, .rsCarousel.darkgreen, .rsSolid.darkgreen{ border: solid 1em #243 !important; background: white !important}.rsContent.solid.hornbostelteal, .rsTrackContainer.hornbostelteal, .rsCarousel.hornbostelteal, .rsSolid.hornbostelteal{ border: solid 1em #1f4c4c !important; background: white !important}.rsContent.solid.machineryhalltan, .rsTrackContainer.machineryhalltan, .rsCarousel.machineryhalltan, .rsSolid.machineryhalltan{ border: solid 1em #bcb49e !important; background: white !important}  .rsCallout-quote{ overflow: hidden}  .rsCallout-quote > .image{ flex: 1 0 300px;   }.rsCallout-quote blockquote{overflow: visible}.rsCallout-quote blockquote:before{ color: #333 !important;   -webkit-clip-path: inset(0px 0px 0.5em); clip-path: inset(0px 0px 0.5em)}.rsCallout-quote blockquote:after{background: repeating-linear-gradient(	0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15) 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 6px) !important}  .rsSolid, .rsContent figure, .rsContent .button, .rsCallout-quote, .rsCallout-quote .text, .rsCallout-quote blockquote{ page-break-inside: avoid;   break-inside: avoid}}  /*endprint*/
/*LAYOUT*/       #rsRegionContainer{ width: 100%; max-width: 100%; position: relative; display: -ms-grid; display: grid; -ms-grid-columns: 1rem (1fr)[12] 1rem; grid-template-columns: [left] var(--wrap) [gutter-left] repeat(12, 1fr) [gutter-right] var(--wrap) [right]}[id^="rsRegion-"]{ box-sizing: border-box}#rsRegion-mainContent{ grid-column: gutter-left / gutter-right}#rsRegion-header{ padding-left: var(--wrap); padding-right: var(--wrap)}.u-fullbleed-left{ margin-left: calc(50% - 50vw); padding-left: calc(50vw - 50%) !important}.u-fullbleed-right{ margin-right: calc(50% - 50vw); padding-right: calc(50vw - 50%) !important}@supports(padding: max(0px)){ #rsRegion-header{ padding-left: max(var(--wrap), env(safe-area-inset-left)); padding-right: max(var(--wrap), env(safe-area-inset-right))}#rsRegionContainer{ grid-template-columns: [left] max(var(--wrap), env(safe-area-inset-left)) [gutter-left] repeat(12, 1fr) [gutter-right] max(var(--wrap), env(safe-area-inset-right)) [right]}.u-fullbleed-left{ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important}.u-fullbleed-right{ padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important}}  @media (min-width: 576px){ #rsRegionContainer{ -ms-grid-columns: 1rem (1fr)[12] 1rem; grid-template-columns: [left] var(--wrap) [gutter-left] repeat(12, 1fr) [gutter-right] var(--wrap) [right]}#rsRegion-mainContent{ grid-column: gutter-left / gutter-right}#rsRegion-header{ padding-left: var(--wrap); padding-right: var(--wrap)}@supports(padding: max(0px)){ #rsRegion-header{ padding-left: max(var(--wrap), env(safe-area-inset-left)) !important; padding-right: max(var(--wrap), env(safe-area-inset-right)) !important}}.rsMainNavBar.rsMainNav.rsJS-open{ padding-inline: var(--wrap)}@supports (padding:max(0px)){ .rsMainNavBar.rsMainNav.rsJS-open{ padding-left: max(var(--wrap), env(safe-area-inset-left)) !important; padding-right: max(var(--wrap), env(safe-area-inset-right)) !important}.rsHeaderLogo{ padding-left: max(1.25rem, env(safe-area-inset-left)) !important}}@supports(padding: max(0px)){ #rsRegionContainer{ grid-template-columns: [left] max(var(--wrap), env(safe-area-inset-left)) [gutter-left] repeat(12, 1fr) [gutter-right] max(var(--wrap), env(safe-area-inset-right)) [right]}#rsRegion-header{ padding-left: max(var(--wrap), env(safe-area-inset-left)); padding-right: max(var(--wrap), env(safe-area-inset-right))}.u-fullbleed-left{ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important}.u-fullbleed-right{ padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important}}}  @media (min-width: 768px){ #rsRegionContainer{ grid-template-columns: [left] var(--wrap) [gutter-left] repeat(12, 1fr) [gutter-right] var(--wrap) [right]}#rsRegion-mainContent{ grid-column: gutter-left / gutter-right}#rsRegion-header{ padding-left: var(--wrap); padding-right: var(--wrap)}@supports(padding: max(0px)){ #rsRegionContainer{ grid-template-columns: [left] max(var(--wrap), env(safe-area-inset-left)) [gutter-left] repeat(12, 1fr) [gutter-right] max(var(--wrap), env(safe-area-inset-right)) [right]}#rsRegion-header{ padding-left: max(var(--wrap), env(safe-area-inset-left)); padding-right: max(var(--wrap), env(safe-area-inset-right))}.u-fullbleed-left{ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important}.u-fullbleed-right{ padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important}}}  @media (min-width: 992px){ #rsRegionContainer{ -ms-grid-columns: 1fr (minmax(50px,100px))[12] 1fr; grid-template-columns: [left] var(--wrap) [gutter-left] repeat(12, minmax(50px,100px)) [gutter-right] var(--wrap) [right]}#rsRegion-mainContent{ grid-column: gutter-left / gutter-right}#rsRegion-header{ width: 100%; padding-left: var(--wrap); padding-right: var(--wrap)}@supports(padding: max(0px)){ #rsRegionContainer{ grid-template-columns: [left] max(var(--wrap), env(safe-area-inset-left)) [gutter-left] repeat(12, minmax(50px,100px)) [gutter-right] max(var(--wrap), env(safe-area-inset-right)) [right]}#rsRegion-header{ padding-left: max(var(--wrap), env(safe-area-inset-left)); padding-right: max(var(--wrap), env(safe-area-inset-right))}.u-fullbleed-left{ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important}.u-fullbleed-right{ padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important}}  .menu-on .u-right-edge{ margin-right: calc(-1 * var(--wrap) + 150px)}.menu-on .u-left-edge{ margin-left: calc(-1 * var(--wrap) + 150px)}.menu-on .u-fullbleed-left{ margin-left: calc(50% - 50vw + 150px); padding-left: calc(50vw - 50% - 150px) !important}.menu-on .u-fullbleed-right{ margin-right: calc(50% - 50vw + 150px); padding-right: calc(50vw - 50% - 150px) !important}.menu-on .rsPageHeader.rsPageHeader-carousel{ width: calc(100vw - 300px) !important}}  @media (min-width: 80em){ #rsRegionContainer{ grid-template-columns: [left] var(--wrap) [gutter-left] repeat(12, minmax(56px, min(120px, calc((100% - 2 * var(--wrap)) / 12)))) [gutter-right] var(--wrap) [right]}#rsRegion-header{ padding-left: var(--wrap); padding-right: var(--wrap)}.u-fullbleed-left{ margin-left: calc(50% - 50vw); padding-left: calc(50vw - 50%) !important}.u-fullbleed-right{ margin-right: calc(50% - 50vw); padding-right: calc(50vw - 50%) !important}@supports (padding: max(0px)){ #rsRegionContainer{ grid-template-columns: [left] max(var(--wrap), env(safe-area-inset-left)) [gutter-left] repeat(12, minmax(56px, min(120px, calc((100% - ( max(var(--wrap), env(safe-area-inset-left)) + max(var(--wrap), env(safe-area-inset-right)) )) / 12)))) [gutter-right] max(var(--wrap), env(safe-area-inset-right)) [right]}.u-fullbleed-left{ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important}.u-fullbleed-right{ padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important}}} 
/*endlayout*//*THEME*/   :root{ --source-serif: source-serif-pro, serif; --open-sans: open-sans, sans-serif; --body: 400 1rem / 1.6875 var(--open-sans); --h1: 600 clamp(2.5rem, 7vw, 3.5rem) / 1.2 var(--source-serif); --h2: 600 clamp(2.25rem, 5vw, 2.75rem) / 1.25 var(--source-serif); --h3: 700 1.75rem / 1.35 var(--open-sans); --h4: 700 1.5rem / 1.5 var(--open-sans); --h5: 700 1.25rem / 1.5 var(--open-sans); --h6: 700 1rem / 1.5 var(--open-sans); --text-small: 400 0.875rem / 1.5 var(--open-sans); --text-intro: 600 clamp(1.375rem, 5vw, 1.625rem) / 1.5 var(--source-serif); --text-button: 400 0.875rem / 1.186 var(--open-sans); --text-stat: 700 3.3125rem / 1 var(--source-serif); --text-eyebrow: 600 0.875rem / 1.1 var(--open-sans); --text-quote: 600 clamp(1.5rem, 5vw, 1.875rem) / 1.5 var(--source-serif); --link: 600 1rem / 1.1 var(--open-sans); --meta: 700 0.875rem / 1.1 var(--open-sans); --black: #000; --black-75: rgba(0, 0, 0, 0.75); --black-80: rgba(0, 0, 0, 0.8); --black-90: rgba(0, 0, 0, 0.9); --black-20: rgba(0, 0, 0, 0.2); --black-10: rgba(0, 0, 0, 0.1); --white: #fff; --white-20: rgba(255, 255, 255, 0.2); --white-40: rgba(255, 255, 255, 0.4); --carnegie-red: #c41230; --gray-light: #f2f2f2; --gray-medium: #948F8F; --gray-dark: #222222; --transition: 400ms ease; --transition-short: 200ms ease; --transition-cubic: 400ms cubic-bezier(0.4, 0, 0.2, 1); @media (prefers-reduced-motion){ --transition: 0ms ease}--panel: clamp(3.5rem, 10vw, 4.5rem); --gap: clamp(1.5rem, 6vw, 3rem); --gap-sm: clamp(1.5rem, 6vw, 2rem); --gutter: clamp(1.5rem, 6vw, 4rem); --wrap: max(var(--gutter), (100% - 78rem) / 2); --wrap-sm: max(var(--gutter), (100% - 44rem) / 2); --radius: 0; --shadow: 0 0 0.75rem rgba(0, 0, 0, 0.25); --accent: var(--carnegie-red); --background: var(--white); --color: var(--black); .theme-dark{ --accent: var(--carnegie-red); --background: var(--black); --color: var(--white); background-color: var(--black); color: var(--white)}}@keyframes fade-in{ from{ opacity: 0}}@keyframes fade-in-up{ from{ transform: translateY(3rem); opacity: 0}}.link-underline-swipe{ transition: background var(--transition), color var(--transition); background: linear-gradient(currentColor, currentColor) 0 100% / 0 .0625rem no-repeat; color: inherit; padding-bottom: .25em; text-decoration: none; &:hover{ background-size: 100% .0625rem; text-decoration: none}}.link-underline-shadow{ transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: transparent; box-shadow: 0 .0625rem currentColor; width: fit-content; display: inline}.link-underline-shadow:hover{ box-shadow: 0 .125rem currentColor; text-shadow: 0 0 .05rem rgba(0,0,0,.4) }.rsStat{ font: var(--text-stat); font-size: 2rem; color: var(--carnegie-red); margin-right: 0.3em; span{ font: var(--text-stat); letter-spacing: -3.71px}}a{ color: inherit; transition: all var(--transition); font-weight: normal; text-decoration: none}button, select, [type="button"], [type="reset"], [type="submit"]{ cursor: pointer}#rsRegion-masthead{ -ms-grid-row: 1; -ms-grid-row-span: 1; grid-row: 1 / span 1; -ms-grid-column: 1; -ms-grid-column-span: 14; grid-column: 1 / span 14; padding-left: max(var(--wrap), env(safe-area-inset-left)); padding-right: max(var(--wrap), env(safe-area-inset-right))}#rsRegion-header{ -ms-grid-row: 2; -ms-grid-row-span: 1; grid-row: 2 / span 1; -ms-grid-column: 1; -ms-grid-column-span: 14; grid-column: 1 / span 14; z-index: 8000; background: var(--black); position: sticky; top: 0;  padding:0!important}#rsRegion-preface{ -ms-grid-row: 4; -ms-grid-row-span: 1; grid-row: 4 / span 1; -ms-grid-column: 2; -ms-grid-column-span: 12; grid-column: 2 / span 12}.rsBreadcrumbs-rich, .rsBreadcrumbs-minimal{ padding: 1rem var(--wrap)}.rsBreadcrumbs-rich{ background: var(--gray-light)}.rsBreadcrumbs-minimal{ background: var(--white); padding-top:var(--panel)}.rsBreadcrumbs-rich, .rsBreadcrumbs-minimal{ a{ background: transparent; border-color: transparent; padding: 0; box-shadow: 0 0.0625rem currentColor; transition: box-shadow var(--transition); &:hover{ box-shadow: 0 0.125rem currentColor}}}.rsBreadcrumbs-rich [aria-current="page"], .rsBreadcrumbs-minimal [aria-current="page"]{ font-weight: 600; box-shadow: none}.rsBreadcrumbs-hide{ display:none}#rsRegion-mainContent{ -ms-grid-row: 5; -ms-grid-row-span: 1; grid-row: 5 / span 1; -ms-grid-column: 2; -ms-grid-column-span: 12}.rsTrackContainer{ margin-block-start: var(--panel); margin-block-end: 0; padding-inline: 0; margin-inline: 0}.rsTrackContainer:has(.rsSidebarContainer){ display: flex; flex-wrap: wrap; column-gap: calc(var(--gutter) * 2)}.rsTrackContainer .rsSidebarContainer{ flex: 0 0 20rem; max-width: 20rem}.rsTrackContainer .rsSectionContainer{ flex: 1 1 auto; min-width: 0}@media (max-width: 63.999em){ .rsTrackContainer .rsSectionContainer, .rsTrackContainer .rsSidebarContainer{ flex: 0 0 100%; max-width: none}}.rsTrackContainer .rsSectionContainer, .rsTrackContainer .rsSidebarContainer{ min-width: 0}.rsTrackContainer:not(:has(.rsSidebarContainer)) .rsSectionContainer:has(> .rsContent[data-type="wysiwyg"]){ display: grid; justify-items: center}.rsTrackContainer:not(:has(.rsSidebarContainer)) .rsSectionContainer > .rsContent[data-type="wysiwyg"]{ box-sizing: border-box; inline-size: min(100%, 44rem); max-inline-size: 44rem}.rsTrackContainer > :first-child{ margin-top: 0}.rsTrackContainer > :last-child{ margin-bottom: 0}.rsTrackContainer.rsRemoveSpace{ margin-block-start: 0}.rsSectionContainer{ padding: 0 !important; max-width: none !important}.rsSidebarContainer{ padding: 0 !important}#rsRegion-postface{ -ms-grid-row: 6; -ms-grid-row-span: 1; grid-row: 6 / span 1; -ms-grid-column: 2; -ms-grid-column-span: 12; grid-column: 2 / span 12}#rsRegion-footer{ -ms-grid-row: 7; -ms-grid-row-span: 1; grid-row: 7 / span 1; -ms-grid-column: 1; -ms-grid-column-span: 14; grid-column: 1 / span 14}.rsWordmarkBar{ border-bottom: 1px solid rgba(0,0,0,.2); align-content: stretch; align-items: stretch; display: flex; flex-flow: row nowrap; justify-content: space-between; position: relative; height: 4rem}.SCS-wordmark{ margin: 0; padding: 0.5rem 0 0.2rem; display: inline-block; flex: 0 1 auto; height: 100%; box-sizing: border-box; position: relative}.SCS-wordmark a{ height: 100%; display:block; flex-direction: column; align-items: stretch; box-sizing: border-box; top: 0; bottom: 0; left: 0; max-width: 100%; border-top: solid transparent 2px; border-bottom: solid transparent 2px}.SCS-wordmark a:hover, .SCS-wordmark a:focus{ border-bottom: solid 2px #800}.SCS-wordmark img{ flex: 1 1 auto; height: 100%; object-fit: contain; object-position: left center; box-sizing: border-box}#rsRegion-header .skipNav{ opacity: 0; display: block; position: absolute; border: 0; padding: 0; top: 0; bottom: 0; margin: auto; left: 6rem; right: 0; height: 1px; width: 1px; z-index: 0; overflow: hidden}#rsRegion-header .skipNav:focus{ opacity: 1; border: solid 2px #FFF; padding: 0.5em; height: 1.5rem; width: 10em; line-height: 1.5rem; color: #FFF; background: #800; z-index: 9999999}.rsSitenameBar a{ margin: 0.5em 0; display: flex; align-items: stretch; width: -moz-fit-content; width: fit-content}.rsSitenameBar a:hover, .rsSitenameBar a:focus{ color: #800}.rsSitenameBar a:hover img, .rsSitenameBar a:focus img{ border-bottom: solid 2px #800}.rsSitenameBar h1{ margin: 0; font-size: 3rem; line-height: 1.15em; font-weight: 300; display: block}.rsSitenameBar .subhead{ display: block; font-size: 1.5rem; line-height: 1em}.rsSitenameBar a > div{ position: relative; flex: 1 1 auto}.rsSitenameBar img{ height: 100%; max-height: 5.5rem; border-bottom: solid 2px transparent; object-fit: contain}.rsSearchBox > label:not(.searchSite) > span{ display: none !important}.rsWordmarkBar .rsSearchBox{ font-size: 90%; align-content: stretch; align-items: stretch; display: flex; flex-flow: row nowrap; justify-content: flex-start; position: absolute; right: 0; top: 0; height: calc(100% - 2em); padding: 1em 0; max-width: 300px}#rsVNav .rsSearchBox{ font-size: 90%; display: block; margin: 0; padding: 1em 0 0 1.3em; position: absolute; top: 0; width: calc(100% - 5.5em)}.rsWordmarkBar .rsVNav-openbutton + .rsSearchBox{right: 4rem}.rsWordmarkBar .rsSearchBox label{ height: 100%; width: 100%}.rsSearchBox input[placeholder="Search"]{ background-color: rgba(0,0,0,.2); border: 0; color: #fff; flex: 0 1 auto; height: 2rem; margin: 0; padding: 0 30px 0 8px; width: calc(100% - 38px)}.rsSearchBox input[placeholder="Search"]:focus{ background-color: rgba(0,0,0,.5)}.rsSearchBox input[placeholder="Search"]:-webkit-autofill{ -webkit-box-shadow: 0 0 0px 1000px #999 inset; box-shadow: 0 0 0px 1000px #999 inset}.rsSearchBox input::-webkit-input-placeholder{ color:#fff }.rsSearchBox input:-moz-placeholder{ color:#fff; opacity: 1 }.rsSearchBox input::-moz-placeholder{ color:#fff; opacity: 1 }.rsSearchBox input:-ms-input-placeholder{ color:#fff }.rsSearchBox button{ background: url() scroll no-repeat transparent 50% 50%; background-size: 50%; border: 0; display: block; height: 2rem; margin: 1em 0; padding: 0 14px; position: absolute; right: 0; text-indent: -9999px; top: 0; width: auto; transition: background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease,margin .3s ease,min-height .3s ease,max-width .3s ease,opacity .3s ease,padding-left .3s ease,padding-right .3s ease,left .3s ease,right .3s ease,text-shadow .3s ease,width .3s ease}.rsSearchBox button:focus, .rsSearchBox button:hover, .rsSearchBox button:active{ background-color: #c41230}@media (max-width: 590px){ .rsWordmarkBar{height: 3rem}.rsWordmarkBar .rsSearchBox{padding: 0.6em 0}.rsSearchBox button{margin: 0.6em 0}#rsVNav{padding-top: 2.25em}.rsVNav-openbutton, #rsVNav .rsVNav-openbutton{top: 0em}#rsVNav .rsSeachBox{padding: 0.6em 0 0 1.3em}}@media (max-width: 490px){ .rsWordmarkBar{padding-bottom: 3rem}.rsWordmarkBar .rsSearchBox{ top: 3rem; max-width: 100%; left: 0 !important; right: 0 !important}}body{ font-family: open-sans, sans-serif}.rsPageHeader-wrapper .rsButton{ display: inline-block; position: relative; padding: 0.75rem 1.25rem; border: 1px solid var(--white); transition: background var(--transition), color var(--transition); background: transparent; color: var(--white); font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; z-index: 1; text-shadow: none; &::before{ content: ""; position: absolute; inset: -0.125rem; border-radius: inherit; background: var(--white); transform: translateY(100%); transition: transform var(--transition); z-index: -1}@media (width < 63.999em){ width: initial; margin-bottom: 0}&:hover{ color: var(--black); &::before{ transform: none}}}.rsPageHeader-wrapper .rsButtonAlt{ position: relative; display: inline-flex; align-items: center; padding: 0.75rem 1.25rem; padding-left: calc(43px + 1.25rem); border: 1px solid var(--carnegie-red); transition: background var(--transition), color var(--transition); background: transparent; color: var(--white); font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; &:hover{ background: transparent; color: var(--background, var(--white))}&::before{ content: ""; position: absolute; top: 0; left: 0; bottom: unset; right: unset; transform: unset; height: 100%; width: 43px; background: var(--carnegie-red); transition: width var(--transition); z-index: -1}&::after{ content: ""; display: inline-flex; position: absolute; top: 0px; left: 0; height: 100%; width: 43px; background-color: var(--white); mask: url(https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg) center / 80% no-repeat; transform: rotate(-45deg)}&:hover{ color: var(--white); &::before{ width: 100%}}@media (width < 63.999em){ width: initial; margin-bottom: 0}}.flush{ & > :first-child{ margin-top: 0}& > :last-child{ margin-bottom: 0}}@media not print{ [data-animate="true"]{ animation-play-state: running}}@media not print{ [data-animation="fade-in-up"]{ animation: .6s both fade-in-up; animation-delay: 0s; animation-play-state: running}}.rich-hero{ padding: 0px !important; z-index: 1; grid-template-columns: 100%; align-items: end; min-height: 30rem; display: grid}.rich-hero::after{ content: ""; background: linear-gradient(0deg, #000c 0%, #0006 100%); position: absolute; top: 0; bottom: 0; left: 0; right: 0; @media (min-width: 64em){ background: linear-gradient(90deg, #000c 0%, #0006 100%)}}header.minimal-hero{ background: var(--white); padding-top: 1rem; padding-bottom: 0}header.minimal-hero h1{ padding-bottom: 1rem; font:var(--h1); border-bottom: 1px solid var(--black-10); margin: 0; padding-bottom: 1rem; display: inline-flex}.rsPageHeader-mainContent, .rsPageHeader-common, .rsPageHeader-list, .rsPageHeader-posts{ z-index: 1}.rsPageHeader{ .rsPageHeader-common{ margin: var(--gap-sm) var(--wrap); .rsPageHeader-home &{ @media not (prefers-reduced-motion){ animation-delay: 1.5s}}@media (width >= 80em){ max-width: 37.5rem; margin: 12rem var(--wrap) var(--gap)}}&:has(.rsPageHeader-posts){ @media (width >= 80em){ padding-bottom: 6rem}}&:has(.columns){ .rsPageHeader-common{ max-width: unset}}}.rsPageHeader-home{ @media (width >= 80em){ min-height: 40rem !important}}div.rsPageHeader-wrapper{ position: relative; height: 100%; display: grid; grid-template-columns: 100%; place-content: flex-end flex-start; .rsPageHeader-mainContent h1, h2, h3, h4, h5, h6, .rsPageHeader-mainContent p{ color: #ffffff !important}h1{ font: 600 clamp(2.5rem, 7vw, 3.5rem) / 1.2 var(--source-serif) !important; margin-block-start: 2rem; margin-block-end: 1.5rem}p{ font-family: open-sans, sans-serif; font-size: 16px; line-height: 27px; font-weight: 400; text-shadow: none !important}}.rsPageHeader-heroControl{ bottom: var(--gap); right: var(--wrap); border: 1px solid var(--white); transition: transform var(--transition); background: var(--black); z-index: 10; place-items: center; width: 2rem; height: 2rem; padding: 0; display: grid; position: absolute; &::before{ content: ""; background: var(--white); width: 50%; height: 50%; -webkit-mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/pause.svg") center / contain no-repeat; mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/pause.svg") center / contain no-repeat}$:hover{ transform: scale(1.1)}}@media (min-width: 64em){ .rsPageHeader:has(.rsPageHeader-heroControl):has(.rsPageHeader-posts) .rsPageHeader-heroControl{ right: unset; left: 4rem}}.heroControl-paused::before{ -webkit-mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/play.svg"); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/play.svg")}.rsPageHeader:has(.rsPageHeader-heroControl) .rsPageHeader-common{ padding-block: 10rem var(--panel)}.rsPageHeader-home .rsPageHeader-common{ flex-direction: column; justify-content: flex-end; display: flex; @media (min-width: 64em){ min-height: unset; justify-content: center}}.rsPageHeader-home .rsPageHeader-wrapper{ min-height: 80vh; @media (min-width: 64em){ position: unset; place-content: unset; min-height: unset}}.rsPageHeader-ctaButtons{ align-items: center; gap: var(--gap-sm); margin-block: var(--gap); flex-wrap: wrap; display: flex}@media (max-width: calc(63.999em - 0.001px)){ .rsPageHeader-ctaButtons, .rsPageHeader-ctaButtons .rsButton{ width: 100%}.rsPageHeader-posts{ grid-template-columns: auto !important}}.rsPageHeader-posts{ background-color: var(--black-80); list-style-type: none; padding: 1.5rem var(--wrap); margin: 0; display: grid; gap: var(--gap-sm); grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); li{ position: relative; display: flex; align-items: center; gap: 1.5rem; &::before{ content: " "; position: relative; width: 3px; height: 20px; background-color: var(--carnegie-red)}a{ font-weight: 700; color: #ffffff !important; line-height: 27px}}@media (width >= 64em){ position: absolute; bottom: 0; right: 0; padding: 1.5rem; width: fit-content; max-width: 60%}}.rsPageHeader .columns{ gap: var(--gutter); grid-template-columns: 100%; display: grid}@media (min-width: 48em){ .rsPageHeader .columns{ grid-template-columns: 1fr 1fr}}.rsPageHeader-list .h5{ border-top: 3px solid var(--carnegie-red); padding-top: .5rem}.rsPageHeader-list > *{ margin-top: 0}.rsPageHeader-list h2.h5{ font-family: open-sans, sans-serif; font-size: 1.25rem; line-height: 1.5; font-weight: 700; color: #ffffff; font-style: normal}.rsPageHeader-list ul{ list-style-type: none; padding-left: 0}.rsPageHeader-list ul li{ line-height: 27px; color: #ffffff}.rsPageHeader-common :is(.rsPageHeader-list ul li a){ color: #ffffff; -webkit-text-decoration-color: #ffffff; text-decoration-color: #ffffff}.rsPageHeader-common :is(a:not([class])){ transition: box-shadow var(--transition), text-shadow var(--transition); box-shadow: 0 .0625rem}.rsPageHeader-common :is(a:not([class])):hover{ text-shadow: .5px 0; box-shadow: 0 .125rem}.rsPageHeader{ background: #f3f3f3; padding-top: 25rem; padding-bottom: 1em; position: relative}.rsPageHeader.short{ padding-top: 1rem; background: none}.rsPageHeader.invert > *{ color: #FFF; text-shadow: 0 0 2px #000}.rsPageHeader h1{ color: #2d2d2d; font-size: 2.35em; font-weight: 400; margin-bottom: 0; position: relative}.rsPageHeader h1+h2{ margin-top: 0.5em}@media only screen and (max-width: 450px){ .rsPageHeader{ padding-top: 10rem}.rsPageHeader h1{ font-size: 2em}.rsContent.CS_newsHeader h1, .scsNewsArchive h1{ font-size: 2em !important}}#rsPageHeader-headline .type{ display: block; position: absolute; left: 0; top: -18px; font-size: 18px; text-transform: uppercase; color: #A69471}.rsPageHeader.invert #rsPageHeader-headline .type{ color: #FFE1A7}#rsPageHeader-headline .type:after{ content: ':'; opacity: 0; font-size: 0}.rsSectionContainer{ flex-basis: 609px; flex-grow: 3}.rsSidebarContainer{ flex-basis: 258px; flex-grow: 1}.rsSectionContainer>*:first-child:not(.rsiFragmentOverlay), .rsSidebarContainer>*:first-child:not(.rsiFragmentOverlay), .rsSectionContainer>.rsiFragmentOverlay>.rsiFragmentButton+*, .rsSidebarContainer>.rsiFragmentOverlay>.rsiFragmentButton+*{ }.rsSectionContainer>*:last-child, .rsSidebarContainer>*:last-child{ margin-bottom: 0}.rsCollectionGrid .rsGrid-item:not(.card){ border-bottom: none !important}.rsCollectionGrid .rsGrid-item h4{ margin: 0.5em 0}.rsCollectionGrid a.rsGrid-item:not(.invert) p{ color: #000}.rsCollectionGrid:not(.rsBio) a.rsGrid-item:hover h4{ color: #b00}ul.rsCollectionList{ list-style-type:none; padding-left: 0}ul.rsCollectionList>li h4{ margin: 0; color: #900; text-decoration: none}ul.rsCollectionList>li a:hover h4{ text-decoration: underline}ul.rsCollectionList>li p{ color: #000 !important}.rsCollectionList .itemDate, .rsCollectionGrid .itemDate{ color: #555; font-weight: 300; font-style: italic; white-space: nowrap}.rsCollectionList h1 .itemDate, .rsCollectionGrid h1 .itemDate{ font-size: 80%}.rsCollectionList .invert .itemDate, .rsCollectionGrid .invert .itemDate{ color: rgba(255,255,255,0.8)}.rsCollectionList li a p:after{ content: 'Read More...'; font-style: italic; font-size: 85%; margin-left: 0.5em}a.rsReadMore{ font-style: italic; font-size: 90%; margin-left: 0.5em}.rsCollectionList li a:hover p:after{ color: #800}.rsBio.single{ margin-top: 2rem}.rsBio.single .bioFrame{ width: 20rem; height: 25rem; float: left; position: relative; margin: 0 1.5rem 1rem 0}.rsBio .bioFrame img{ opacity: 0; position: absolute}.rsBio .bioFrame + h1{ line-height: 1; margin: 0}.rsBio .bioFrame + h1 + h3{ margin: 0.6em 0 0.3rem; line-height: 1; color: #444}.rsBio .bioFrame + h1 + h3 + h4{ margin: 0; line-height: 1; text-transform: uppercase; font-size: 90%; color: #666}.rsBio div.contact{ margin: 2rem 0}.rsBio .address ul{ list-style-type: none; margin: 0 0 1rem; padding: 0}.rsBio .contact .address ul li:not(:last-of-type){ margin: 0 1em 0 0; border-right: solid 1px #efefef}.rsBio .contact .address ul li{ box-sizing: content-box; display: inline-block; white-space: nowrap; padding: 0 1em 0 0; font-style: normal}.rsBio .bioText{ clear:both}@media only screen and (max-width: 700px){ .rsBio.single .bioFrame{ float: none; width: 100%; height:50vh}}.rsBio.rsGrid .rsGrid-item{ font-size: 80%}.rsBio.rsGrid .bioFrame{ display: block; height: 0; position: relative; width: 100%; padding-top: 100%; overflow: hidden; margin-bottom: 1rem; border: none}.rsBio.rsGrid .bioFrame + h1{ font-size: 1.6em; color: #900}.rsBio.rsGrid .bioFrame+h1+h3+h4{ line-height: 1.5; font-weight: normal}.rsBio.rsGrid .contact{ font-size: 95%; margin: 1rem 0 0}.rsBio.rsGrid .address ul{ margin: 0}.rsBio.rsGrid .contact a{ color: #000}.rsBio.rsGrid a:not(:hover){ border-color: transparent}.rsLinkList{ --accent: var(--black); --text: var(--black); --baseline: var(--black-20); --arrow: var(--black)}.rsLinkList.invert{ --accent: var(--white); --text: var(--white); --baseline: var(--white-20); --arrow: var(--white)}.rsLinkList{ margin:0}.rsLinkList ul{ list-style: none; padding: 0 !important; margin: 0; text-indent: 0}.rsLinkList li{ margin: 0; padding: 0; position: relative}.rsLinkList ul ul li{ padding-left: 1.5em}.rsLinkList li a, .rsLinkList li a:visited{ color: var(--text) !important; font: var(--h5); font-weight: 700 !important; letter-spacing: .025em; line-height: 1.35em; display: flex; align-items: center; justify-content: space-between; position: relative; margin: 0; padding: 1.5rem 0 1.5rem 0; border-bottom: 0.0625rem solid var(--baseline) !important; background: linear-gradient(var(--accent), var(--accent)) 0 100% / 0 .0625rem no-repeat; transition: background var(--transition), color var(--transition) !important; text-decoration: none}.rsLinkList li a:hover, .rsLinkList li a:focus{ background-size: 100% .0625rem; text-decoration: none}.rsLinkList li a::after{ content: ""; display: block; width: 37px; height: 37px; background-color: var(--arrow); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg") center / 80% no-repeat; transform: rotate(-45deg); transition: transform var(--transition)}.rsLinkList li a:hover::after, .rsLinkList li a:focus::after{ transform: rotate(-45deg) translate(15%, 5%)}.rsLinkList li > a, .rsLinkList li > a:visited, .rsLinkList li > a:hover, .rsLinkList li > a:focus{ box-shadow: none !important; text-shadow: none !important}.rsGrid{ padding-top: 0 !important; padding-bottom: 0 !important}.rs-grid-photo-over-image .text{ z-index: 10; padding: 0.5rem var(--gap-sm); background-color: var(--white); color: var(--black); border-bottom: 4px solid var(--carnegie-red); position: absolute; display: inline-block; line-height: 1; transition: all 0.3s cubic-bezier(.4, 0, .2, 1); bottom: 0; left: 0 !important; right:auto !important; &::before{ content: ""; position: absolute; inset: -0.125rem; border-radius: inherit; background: var(--carnegie-red); transform: translateY(100%); transition: transform var(--transition); z-index: -1}}.rs-grid-photo-wrapper .text h3{ font: var(--h4) !important; color: inherit !important}.rs-grid-photo-wrapper .rs-grid-photo-over-image .text h3{ line-height: 1 !important}.rs-grid-photo-wrapper .text h3 a{ color: inherit !important; box-shadow: none !important}.rs-grid-photo-wrapper:has(a:hover), .rs-grid-photo-wrapper:has(a:focus-visible){ .rs-grid-photo-over-image .text{ color: var(--white); background-color: transparent}.rs-grid-photo-over-image .text::before{ transform: translateY(0)}}.rs-grid-photo-wrapper .rs-grid-photo-over-image:before{ background:none !important}.rsGrid .rs-grid-photo-wrapper:has(a.rs-grid-photo-link .rs-grid-photo) .rs-grid-photo img{ transition: var(--transition) !important; transform: scale(1)}.rsGrid .rs-grid-photo-wrapper:has(a.rs-grid-photo-link .rs-grid-photo) .rs-grid-photo:hover img{ transform: scale(1.1)}.rs-grid-photo-wrapper:has(.rs-grid-photo-under-image) .text{ margin-top: 1rem !important}.rs-grid-photo-wrapper:has(.rs-grid-photo-under-image) h3{ margin-block: 1rem 1rem !important}.rs-grid-photo-wrapper:has(.rs-grid-photo-under-image) h3 p{ font-weight: 400 !important}.rsContent.left-rule{ border-top: solid 0.625rem; padding-top: 1rem; padding-inline: 1rem}.rsAccordion{ padding-block: var(--panel); @media (max-width: 1023px){ @supports (padding: max(0px)){ padding-left: max(calc(50vw - 50%), env(safe-area-inset-left)) !important; padding-right: max(calc(50vw - 50%), env(safe-area-inset-right)) !important; margin-inline: calc(50% - 50vw); padding-block: var(--panel) !important}}}.rsAccordion.gray{ background: var(--gray-light) !important}.rsAccordion .rsContent-header{ margin-bottom: var(--gap-sm)!important}.rsAccordionListSection{ background: var(--white); color: var(--black); display: grid; grid-template-columns: 100%; box-shadow: 0px 10px 10px 0px var(--black-10); div{ border-bottom: 2px var(--black-10) solid; padding: 1rem 1.5rem 2rem 1.5rem !important; margin-left: 0 !important}}.rsAccordion-heading, .rsAccordionListSection div{ background: var(--white) !important; color: var(--black)}.rsAccordion-heading{ margin: 0 !important; font: var(--h5) !important; display: flex; gap: 1rem; padding: 1rem 1.5rem !important; border: 0; background: none; border-bottom: 2px var(--black-10) solid; outline-offset: -0.5rem; transition: background var(--transition); &:hover{ background: var(--gray-light) !important; cursor: pointer}a:hover, a{ box-shadow: none !important; text-shadow: none !important}}.collapsed{ a{ border-bottom: none !important }a::before{ content: ""; display: block; flex-shrink: 0; width: 2rem; height: 2rem; background: var(--black); color: var(--black); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/caret-down.svg") center / 1rem no-repeat; transition: transform var(--transition); transform-origin: center}&:hover a{ color: black !important; border-bottom: none !important}}.collapsed.open a::before{ transform: rotate(180deg) !important}div[id$="_wrapper"].dt-container{ --dt-row-stripe: 245, 245, 245; --dt-row-hover: 255, 255, 255; --dt-column-ordering: 0, 0, 0; --dt-html-background: white}div[id$="_wrapper"].dt-container table.dataTable{ width: 100%; border-collapse: collapse}div[id$="_wrapper"].dt-container table.dataTable, div[id$="_wrapper"].dt-container table.dataTable th, div[id$="_wrapper"].dt-container table.dataTable td, div[id$="_wrapper"].dt-container table.dataTable tr{ border: none !important}div[id$="_wrapper"].dt-container table.dataTable thead th{ background: transparent !important; box-shadow: none !important}div[id$="_wrapper"].dt-container table.dataTable a{ color: var(--carnegie-red); font-weight: 600; box-shadow: currentcolor 0 0.0625rem; transition: box-shadow var(--transition), text-shadow var(--transition)}div[id$="_wrapper"].dt-container table.dataTable a:hover{ text-shadow: 0.5px 0; box-shadow: currentcolor 0 0.125rem}div[id$="_wrapper"].dt-container .dt-paging-button{ background: transparent; border: 0; box-shadow: none}div[id$="_wrapper"].dt-container .dt-paging-button.current{ box-shadow: currentcolor 0 0.0625rem; font-weight: 600}div[id$="_wrapper"].dt-container table.dataTable thead th .dt-column-order{ position: relative !important; left: 12px}div[id$="_wrapper"].dt-container table.dataTable td.dt-right, div[id$="_wrapper"].dt-container table.dataTable th.dt-right, div[id$="_wrapper"].dt-container table.dataTable th.dt-type-numeric, div[id$="_wrapper"].dt-container table.dataTable th.dt-type-date, div[id$="_wrapper"].dt-container table.dataTable td.dt-type-numeric, div[id$="_wrapper"].dt-container table.dataTable td.dt-type-date{ text-align: left !important}@media (min-width: 64em){ div[id$="_wrapper"].dt-container .dt-scroll-head table.dataTable thead{ border-bottom: 1px solid var(--black) !important}div[id$="_wrapper"].dt-container .dt-scroll-body table.dataTable thead{ border-bottom: 0 !important; display:none}div[id$="_wrapper"].dt-container table.dataTable th, div[id$="_wrapper"].dt-container table.dataTable td{ padding-block: 1.25rem !important; line-height: 1.5; vertical-align: middle}div[id$="_wrapper"].dt-container table.dataTable tbody tr:not(.dt-hasChild):not(.child):nth-child(even){ background-color: var(--gray-light)}}div[id$="_wrapper"].dt-container table.dataTable tbody tr[data-dt-row] td, div[id$="_wrapper"].dt-container table.dataTable tbody tr.child td{ padding-left: 3rem}@media (max-width: 64em){ div[id$="_wrapper"].dt-container table.dataTable thead{ display: none}div[id$="_wrapper"].dt-container table.dataTable tbody tr:not([data-dt-row]):not(.child){ display: flex; flex-direction: column; margin: .5rem 0 !important; padding: .5rem .75rem 1rem !important}div[id$="_wrapper"].dt-container table.dataTable tbody td{ display: block; width: 100%; box-sizing: border-box; padding: 0.5rem 0.75rem 0 !important; white-space: normal; word-break: normal; overflow-wrap: normal; hyphens: none}div[id$="_wrapper"].dt-container table.dataTable tbody td::before{ content: attr(data-label); display: block; font-weight: 800; margin-bottom: .25rem}div[id$="_wrapper"].dt-container table.dataTable td.dt-control::before{ content: none !important}div[id$="_wrapper"].dt-container table.dataTable tbody td.dt-control{ order: 999; padding-top: 0.75rem !important; border-top: 1px solid var(--black); cursor: pointer}div[id$="_wrapper"].dt-container table.dataTable tbody td.dt-control::after{ content: "Additional Info"; display: inline-block; font-weight: 600; color: var(--carnegie-red); box-shadow: currentcolor 0 0.0625rem; transition: box-shadow var(--transition), text-shadow var(--transition)}div[id$="_wrapper"].dt-container table.dataTable tbody td.dt-control:hover::after{ box-shadow: currentcolor 0 0.125rem; text-shadow: 0.5px 0}div[id$="_wrapper"].dt-container table.dataTable tbody tr.shown td.dt-control::after{ content: "Hide Additional Info"}div[id$="_wrapper"].dt-container table.dataTable tbody td.dt-control::before{ display: none !important}div[id$="_wrapper"].dt-container table.dataTable tbody tr[data-dt-row], div[id$="_wrapper"].dt-container table.dataTable tbody tr.child{ display: table-row; margin: 0 !important; padding: 0 !important; border: none !important}div[id$="_wrapper"].dt-container table.dataTable colgroup col{ width: auto !important}div[id$="_wrapper"].dt-container table.dataTable{ width: 100% !important}}@media (min-width: 768px){ .rsFloatedSidebar{ width: calc( 258px + (25% - 217px) ) }}.rsHNav{ background: transparent; color: #333; font-family: "Open Sans", Helvetica, Arial, sans-serif; z-index:4000}.rsHNav-openbutton:focus, .rsHNav > input:focus ~ label{background: #400}.rsHNav-openbutton:hover{background: #800000}.rsHNav-topOpen:focus, .rsHNav-top > input:focus ~ label{background: #fff}.rsHNav-panel > .rsHNav-col a, .rsHNav-panel > .rsHNav-col h3{ padding: 0.5em }.rsHNav-panel li{margin: 0.5em 0}.rsHNav-top a{display: block; padding: 0 1.5rem}.rsHNav-top a:hover, .rsHNav-top a:focus{color: #b00; background: #fff }.rsHNav-col h3{font-weight: 300; margin-top: 0.5em; margin-bottom: 0; font-size: inherit; text-transform: uppercase; border-bottom: solid 1px rgba(255,255,255,0.25)}.rsHNav-panel{ background: rgba(245,245,245,.95); padding-left: 1rem; padding-right: 1rem; line-height: 1.5em; font-weight: 300}.rsHNav-panel, .rsHNav-panelWrapper{ transition: max-height 0.25s ease-in-out}@media only screen and (max-width: 991px){ .rsHNav-top > a, .rsNav-landing{ margin-left: 0}.rsHNav-col{ padding-bottom: 1rem}.rsHNav-col:not(:first-of-type){ padding-top: 1rem; border-top: solid 2px rgba(255,255,255,0.33)}.rsHNav-openbutton{ font-size: 100%; top: -4.5rem; height: 4.5rem; width: 4.5rem; z-index: 5000; color: #fff}.rsHNavBar{ min-height: 0; max-height: 0; transition: all 0.3s ease-in-out}.rsHNavBar.rsJS-open, .rsHNav > input:checked ~ .rsHNavBar{ display: block}.rsHNav-top{line-height: 2.5rem}.rsHNav-topOpen{ margin-left: 1.5rem}.rsHNav-topOpen, .rsHNav-topLink{ height: 2.5rem}.rsHNav-topOpen:after{ content: ''; position: absolute; top: 1.5em; right: 2rem; display: block; width: 0.5625rem; height: 0.5625rem; border: 0.0625rem solid #000; border-left-color: transparent; border-bottom-color: transparent; -webkit-transform: rotate(-225deg); transform: rotate(-225deg); -webkit-transform-origin: center center; transform-origin: center center; -webkit-transition: -webkit-transform 0.25s ease-out; transition: -webkit-transform 0.25s ease-out; transition: transform 0.25s ease-out; transition: transform 0.25s ease-out,-webkit-transform 0.25s ease-out}.rsHNavBar{ margin-left: env(safe-area-inset-left)}.rsHNavBar, .rsHNav-openbutton{ margin-right: env(safe-area-inset-right)}}@media only screen and (min-width: 992px){ .rsHNav-topOpen, .rsHNav-topLink, .rsNav-landing{ text-align: center}.rsHNav-top:not(:last-of-type){ border-right: 1px solid rgba(0,0,0,0.2)}.rsHNavBar{height: 2.5rem}.rsHNav-top{line-height: 2.5rem; flex-grow: 1}.rsHNav-topOpen{height: 2.5rem}.rsHNav-panelWrapper{ top: -2.5rem }.rsHNav-panel{ margin-top: 2.5rem }.rsHNav-top .rsNav-landing{ background: #fff}.rsHNav-top > a{ padding: 0 0.5rem; box-sizing: border-box; line-height: calc(2.5rem - 1rem); border: solid 0.5rem transparent}.rsHNav-top > a:hover, .rsHNav-top > a:focus{ border: solid 0.5rem #fff}li.rsHNav-top .rsHNav-topOpen{ padding-left: 1rem; padding-right: 1rem}.rsHNav-top .rsNav-landing a{ padding: 0 0.5rem; margin: 0.5rem 0.5rem; line-height: calc(2.5rem - 1rem)}.rsHNav-panel{ background: rgba(245,245,245,.95); box-shadow: 0 1rem 1rem rgba(0,0,0,0.2)}.rsHNav-panel:after{ content: ''; display: block; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; right: 0; -webkit-backdrop-filter: blur(.4rem) saturate(150%); backdrop-filter: blur(.4rem) saturate(150%)}}header.rsStandardPageHeader{ height: fit-content; background: var(--black) !important; color: var(--white) !important; box-shadow: var(--shadow) !important; z-index: 3; padding: 0; .link-underline{ &::after{ background-color: var(--white)}&:hover{ color: var(--black)}}@media (width < 79.999em){ .Button{ width: 100%}}@media (width >=80em){ display: flex; flex-direction: column; box-shadow: none; &.Header--college{ .rsSiteHeader-nav{ .Header__college-title{ display: block; visibility: visible; padding: 0.5rem 0; background-color: transparent; flex: 1; margin-right: auto; padding-left: calc(200px + 1rem); transition: padding .4s ease 0s; .rsJS-menuOpen &, [data-sticky] &{ padding-left: calc(132px + 1rem); transition: padding .4s ease 0s}}}}}}#rsSiteHeader-ActionButtons li, #rsMainNavBar-ActionButtons li{ display: inline-block; position: relative; padding: 0.75rem 1.25rem; margin-left: 1.5rem; border: 1px solid var(--white); transition: background var(--transition), color var(--transition); background: transparent; color: inherit; font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; z-index: 1; a{ color: var(--white); text-decoration: none}&::before{ content: ""; position: absolute; inset: -0.125rem; border-radius: inherit; background: var(--white); transform: translateY(100%); transition: transform var(--transition); z-index: -1}&:hover{ color: var(--black); background: var(--white); &::before{ transform: none}a{ color: var(--black)}}}#rsMainNavBar-ActionButtons{ display: flex; width: 100%; gap: var(--gap); margin-top: var(--gap); li{ margin: 0; flex-grow: 1}}.rsSiteHeader-utility{ color: var(--white); background: var(--black); display: none}@media (min-width: 80em){ .rsSiteHeader-utility{ visibility: visible; flex-direction: row; justify-content: space-between; align-items: center; height: 4rem; padding-inline-start: 3rem; padding-inline-end: 3rem; display: flex}#rsMainNavBar-ActionButtons{ display: none}}.rsSiteHeader-utility ul{ position: relative; display: flex; align-items: center; gap: 0.75rem; margin: 0 auto; padding: 0; top: 0.25em; list-style: none; font-size: 0.75rem; font-weight: 600; a{ display: block; line-height: 1; color: var(--white); text-decoration: none}li{ text-align: center}>*+*{ position: relative; height: 100%; display: flex; align-items: center; &::before{ position: absolute; left: calc(-1 * (0.75rem / 1.6)); top: -2px; bottom: 0; content: ">"}@media (width >=80em){ &::before{ height: calc(100% - 0.5em)}}}@media (width >=80em){ font-size: 1rem; font-weight: 400; gap: 1.5rem; margin: 0; >*+*{ &::before{ left: calc(-1 * (1.5rem / 1.6))}}}}.rsSiteHeader-nav{ display: grid; align-items: center; grid-template-columns: 1fr minmax(0, 3.75rem) minmax(0, 3.75rem); width: 100%; background: var(--black); @media (width >=80em){ position: relative; display: flex; align-items: center; justify-content: flex-end; gap: var(--gap); width: auto; margin-inline: 3rem; order: 1; &::before{ content: " "; position: absolute; left: 0; right: 0; top: 0; margin-inline: auto; background: var(--carnegie-red); height: 1px}}}.rsMainNav-wordmarkBox{ position: relative; display: grid; place-items: center; flex: 1; height: 100%; z-index: 1; @media (width >=80em){ position: absolute; top: 0; left: 0; margin-right: auto}}.rsHeaderLogo{ position: absolute; inset: 0; background: var(--carnegie-red); padding-inline: 1.25rem; width: fit-content; height: 100%; outline-offset: -0.35rem; .rsMainNav-wordmark-compact{ width: 20rem; max-width: calc(100vw - 10.5rem); height: 2rem; margin: 0 auto; padding-block: 0.5rem}.rsMainNav-wordmark-primary{ display: none}@media (width >=80em){ width: 325px; max-width: calc(376px + 6rem); height: 90px; padding: 0 !important; place-items: center; transition: height .4s .8s, width .4s .4s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}.rsMainNav-wordmark-compact{ visibility: hidden; height: 0px; opacity: 0; padding: 0 1.25rem; transition: opacity .4s ease 0s, visibility 0s ease 1.2s, height 0s ease 0s, transform 0s ease 1.2s, width 0s ease 1.2s, padding 0s ease 0s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.rsMainNav-wordmark-primary{ display: block; visibility: visible; margin: auto; height: 50px; opacity: 1; transition: opacity .4s 1.2s, visibility 0s 1.2s, height 0s 1.2s, transform 0s 1.2s, width 0s 1.2s, padding 0s ease 0s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.Header--college &{ &:first-child{ display: none; visibility: hidden}&:nth-child(2){ display: block; visibility: hidden; height: 0px; opacity: 0; padding: 0 1.25rem; transition: opacity .4s ease 0s, visibility 0s ease 1.2s, transform 0s ease 1.2s, width 0s ease 1.2s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}.rsJS-menuOpen &, [data-sticky] &{ height: 3rem; width: 400px; transition: height 0.4s ease .4s, width .4s ease 0.8s, padding 0s ease 1.6s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}.rsMainNav-wordmark-compact{ visibility: visible; width: 100%; height: 2rem; padding: 0.5rem 0; opacity: 1; transition: opacity .4s ease 1.2s, visibility 0s ease 1.2s, height 0s ease 1.2s, transform 0s ease 1.2s, width 0s ease 1.2s, padding 0s ease 1.2s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}.rsMainNav-wordmark-primary{ visibility: hidden; height: 0px; opacity: 0; transition: opacity .4s ease 0s, visibility 0s ease 1.2s, height 0s ease 1.2s, transform 0s ease 1.2s, width 0s ease 1.2s, padding 0s ease 1.2s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}}@media (width >=85em){ .rsJS-menuOpen &, [data-sticky] &{ width: 472px}}.Header--college &{ @media (width < 79.999em){ display: grid; place-items: center; width: 132px !important; >*{ &:first-child{ display: none; visibility: hidden}&:nth-child(2){ display: block; visibility: visible; width: 100%; height: 3rem; opacity: 1; transform: none; transition: visibility 0s ease 1.2s, height 0s ease 1.2s, transform 0s ease, width 0s ease 1.2s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}}@media (width >=80em){ transition: height .4s ease 0s, width 0s ease 0s; .rsJS-menuOpen &, [data-sticky] &{ width: 132px !important; >*{ &:nth-child(2){ visibility: visible; width: 100%; height: 3rem; opacity: 1; transform: none; transition: opacity .4s ease 1.2s, visibility 0s ease 1.2s; ; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}&:last-child{ visibility: hidden; height: 0px; opacity: 0; transition: opacity .4s ease 0s, visibility 0s ease 1.2s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}}}}}#rsSearchBox{ display: contents}#rsSearchBox-toggle{ padding: 0; border: 0; background: none; outline-offset: -0.35rem; cursor: pointer; &::before{ content: ""; display: block; width: 3rem; height: 3rem; transition: background var(--transition), transform var(--transition); background: var(--white); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/search.svg") center / 1.5rem no-repeat}&[aria-expanded="true"]{ &::before{ mask: url(https://tcp-dev-03.cs.cmu.edu/site-images/close.svg) center / 1.5rem no-repeat}}@media (width >=80em){ position: relative; order: 3; background: var(--carnegie-red); &[aria-expanded="true"]{ &::before{ width: 3rem; height: 3rem; mask: url(https://tcp-dev-03.cs.cmu.edu/site-images/close.svg) center / 1.5rem no-repeat}&::after{ top: 3.75rem; opacity: 1}}&:hover{ &::before{ transform: scale(1.2)}}}}#rsSearchBox-dropdown{ --color: var(--black); position: absolute; left: 0; bottom: 0; right: 0; padding: var(--gap); background: var(--white); color: var(--black); transform: translateY(100%); overflow: hidden; display: flex; [aria-expanded="true"]+&{ visibility: visible; opacity: 1; transition: opacity var(--transition), visibility var(--transition)}@media (width >=80em){ left: unset; width: 37.5rem; height: auto; box-shadow: var(--shadow); .Header--college &{ margin-right: 3rem}}}#rsSearchBox-text-wrapper{ position: relative; width: calc(100% - 62px); margin: 15px 0}#rsSearchBox-text-wrapper #rs-searchbox-text{ height: 3em}#rsSearchBox-text-wrapper input{ border: .0625rem solid var(--black); background: none; width: inherit; height: 36px; padding-inline-start: 1.5rem; padding-inline-end: 4rem; display: block; position: relative}#rsSearchBox-text:focus, #rsSearchBox-text:focus-within{ outline: none; -webkit-box-shadow: inset 0px 0px 0px 2px #3478f6; -moz-box-shadow: inset 0px 0px 0px 2px #3478f6; box-shadow: inset 0px 0px 0px 2x #3478f6}#rsSearchBox-submit-wrapper button{ border: none; background: var(--carnegie-red); width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer; &::before{ content: ""; display: block; width: 2.5rem; height: 2.5rem; background: var(--white); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/search.svg") center / 1.5rem no-repeat}}#rsSearchBox-submit-wrapper{ height: 40px; width: 40px; background-color: #fff; position: relative; border: none; font-size: 0; vertical-slign: bottom; margin: 15px 0}.rsMainNav-panelWrapper{ @media (width < 79.999em){ .rsMainNav-openbutton[aria-expanded="false"]+.rsMainNavBar &{ visibility: hidden}}}.rsJS-open{ .rsMainNav-panelWrapper{ @media (width >=80em){ .rsMainNav-col, .rsMainNav-cta{ transform: none; transition: opacity .4s ease .4s, transform .4s ease .4s; @media (prefers-reduced-motion){ transition-delay: 0s; transition-duration: 0s}}}}}.rsMainNav-openbutton{ font-size: 100%; top: 0; height: 3rem; width: 4.5rem; z-index: 5000; color: #fff; border: none; background: none; color: currentColor; box-sizing: border-box; padding: 0 0.5rem; display: inline-block; position: absolute; right: 0; overflow: hidden; @media (width >=80em){ display: none}}.rsMenuButtonIcon{ padding: 0; border: 0; background: none; outline-offset: -0.35rem; &::before{ content: ""; display: block; width: 3rem; height: 3rem; transition: background var(--transition), transform var(--transition); background: var(--white); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/menu.svg") center / 3rem no-repeat}&[aria-expanded="true"]{ &::before{ mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/close.svg") center / 2rem no-repeat}}@media (width >=80em){ display: none; visibility: hidden; &::before{ width: 3rem; height: 3rem; mask: center / 1.5rem no-repeat}&[aria-expanded="true"]{ &::before{ mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/close.svg") center / 1.125rem no-repeat}}&:hover{ &::before{ transform: scale(1.2)}}}}#rsSearchBox-toggle{ span, i{ display: none}}.rsNav-helptext, .rsMenuButtonIcon::after{ display: none}button.rsJS-open>span.rsMenuButtonIcon::before, .rsHNav>input:checked~label>.rsMenuButtonIcon::before{ transform: translateY(-12px) rotate(0deg) !important}.Header__frequent-wrapper{ display: flex; flex-direction: column; gap: var(--gap-sm)}.Header__subheading{ margin: 0; font-size: 1rem; font-weight: 600}.Header__frequent{ display: grid; gap: var(--gap-sm); margin: 0; padding: 0; list-style: none; a.link-underline{ display: flex; align-items: center; gap: 1rem; &::before{ content: " "; height: 10px; width: 10px; background: var(--carnegie-red)}}@media (width >=80em){ grid-template-columns: 1fr 1fr 1fr}}.rsSearchApp{ font-size: 1.06rem; margin-bottom: 1rem}.rsSearchApp button:not(.styled){ height: 2.5rem; padding: 0.5rem 1rem !important; box-sizing: border-box; margin: 1em 0 0 !important}.rsSearchApp input{ height: 2.5rem !important; box-sizing: border-box; margin: 0 1rem !important; padding: 0 1rem; border: solid 1px #ccc}.rsSearchApp span{ margin-left: 1rem; color: #058}.rsSearchApp p{ margin: 0 !important}.rsTag{ display: inline-grid; width: fit-content; padding: .4em; padding-left: .7em; padding-right: .7em; vertical-align: bottom; box-sizing: border-box; font-style: normal; text-align: center; text-indent: 0 !important; margin-bottom: .25em; overflow: hidden; background-color: var(--gray-light); padding: .5rem .25rem; font: var(--meta); color: var(--carnegie-red)}.rsTag-alt{ background-color: var(--carnegie-red); color: var(--white)}.rsTagsList{ list-style: none; padding: 0}.rsTagsList li{ display: inline-block}.rsTagsList li > input{ position:absolute; opacity: 0}.rsTagsList .rsTag{ line-height: 1em; cursor: pointer}.rsTagsList input:checked+.rsTag{ background: #a00; border: solid 1px #b00}.rsTagsList input:not(:checked)+.rsTag{ background: transparent; border: solid 1px #666; color: #666}.rsTagsList input+.rsTag:before{ display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; font-family: "FontAwesome"; font-weight: 900; font-size: 12px; padding: 0 0.6em 0 0; content: "\f067"; transition: transform .3s ease-in-out; width: 1em; cursor: pointer !important}.rsTagsList input:checked+.rsTag:before{ content: "\f00c"; transform: rotate(-360deg)}.rsTagsMenu{ margin: 0 0.5rem; display: flex; flex-wrap: wrap}.rsTagsCategory{ flex: 1 0 15rem; vertical-align: top}.rsTagsCategory h2{ font-size: 110%; color: #666; margin: 0}.rsTagsCategory .rsTagsList li{ display: block}.rsDropdownMenu{ margin: 0 0.5rem 1rem 0; display: flex; flex-wrap: wrap; justify-content:space-between; align-items:flex-end}.rsDropdownMenu input{ width: 20em}.rsDropdownMenu .rsTagsCategory{ text-align: right}.rsDropdownMenu select{ max-width: 20em}.rsDropdownMenu+button{ margin-left: 1rem !important}.rsPager{ margin: 1rem auto 2rem; display: flex; flex-wrap: wrap; justify-content: center}.rsPager button, .rsContent .rsPager button{ padding: 0.7rem; color: #800; background: #EFEFEF; border: none; cursor: pointer}.rsPager button:disabled, .rsContent .rsPager button:disabled{ color: #666}.rsPager button.currentPage, .rsContent .rsPager button.currentPage{ color: #eee; background: #555}.rsPager button:hover, .rsPager button:focus, .rsContent .rsPager button:hover, .rsContent .rsPager button:focus{ background-color: #CCC; border-bottom: none}.rsGridBottomControls{ text-align: center; margin-bottom: 4rem}.rsSelectCSS{ display: inline-block; font-size: 16px; font-family: var(--open-sans); font-weight: 600; color: #444; line-height: 1.3; padding: .6em 1em; max-width: 100%; box-sizing: border-box; margin: 0; border: 1px solid var(--gray-medium); box-shadow: 0 1px 0 1px rgba(0,0,0,.04); border-radius: 0em; -moz-appearance: none; -webkit-appearance: none; appearance: none; background-color: #fff; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'); background-repeat: no-repeat; background-position: right 1em top 50%; background-size: .65em auto }.rsSelectCSS::-ms-expand{ display: none}.rsSelectCSS:hover{ border-color: #888}.rsSelectCSS:focus{ border-color: #aaa; box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7); box-shadow: 0 0 0 3px -moz-mac-focusring; color: #222; outline: none}.rsSelectCSS option{ font-weight:normal}*[dir="rtl"] .rsSelectCSS, :root:lang(ar) .rsSelectCSS, :root:lang(iw) .rsSelectCSS{ background-position: left .7em top 50%, 0 0; padding: .6em .8em .5em 1.4em}.rsSelectCSS:disabled, .rsSelectCSS[aria-disabled=true]{ color: graytext; background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%)}.rsSelectCSS:disabled:hover, .rsSelectCSS[aria-disabled=true]{ border-color: #aaa}.duet-date{ --duet-color-primary: #005fcc; --duet-color-text: #333; --duet-color-text-active: #fff; --duet-color-placeholder: #666; --duet-color-button: #f5f5f5; --duet-color-surface: #fff; --duet-color-overlay: rgba(0, 0, 0, 0.8); --duet-color-border: #333; --duet-font: "Open Sans", Helvetica, Arial, sans-serif; --duet-font-normal: 400; --duet-font-bold: 600; --duet-radius: 0px; --duet-z-index: 600}.duet-date input.duet-date__input{ border: solid 2px #666 !important; font-size: 1.06rem !important; box-sizing: border-box; align-items: center; height: 3.625rem}.duet-date button{ background: transparent !important; border: none !important; padding: 0 0 1px !important; line-height: 1.25 !important; color: #000 !important}.duet-date__table button{ border-radius: 50% !important}.duet-date__table td.duet-date__cell{ padding: 0 !important; border: none !important}.duet-date__day[aria-pressed=true], .duet-date__day:focus{ background: var(--duet-color-primary) !important}.rsForm{ position: relative}.rsForm fieldset{ padding: 0 1rem; margin: 0.5rem 0 1.5rem; border: solid 1px #CCC}.rsForm fieldset>legend{ padding: 0 0.5rem 0 0; font-size: 100%; font-weight: 600; color: #444}.rsForm > label, .rsForm .rsGrid-item > label{ font-size: 90%; font-weight: 600; color: #444; display: block; padding-bottom: 1rem}.rsForm > label > input, .rsForm .rsGrid-item > label > input{ display: block; font-size: 1.06rem; font-weight: normal; color: #000; border: solid 2px #666; padding: 14px; width: 100%; height: 3.625rem; box-sizing: border-box}.rsForm > label > select, .rsForm .rsGrid-item > label > select{ display: block; font-size: 1.06rem; font-weight: normal; border: solid 2px #666; padding: 14px; width: 100%; height: 3.625rem}.rsForm .cke_1{ margin-bottom: 1.3rem; border: solid 2px #666}.rsForm label + textarea + .cke_1{ margin-top: -1rem}.rsForm input[type="checkbox"]{ display: inline-block; width: auto; height: auto; margin-right: 0.6rem; margin-bottom: 1rem}.rsForm input[type="checkbox"]+label{ display: inline; font-size: 100%; font-weight: normal}.rsForm input:invalid, .rsForm input.invalid{ border: solid 4px #D33 !important; background: #FCC !important}.rsSearchApp .exclusivegroup{ display: flex; flex-flow: row; align-items: flex-start; & > *{ flex: 0 1 30%; min-width: 20rem}}.rsSearchApp .rsFilterStatusbar{ margin-bottom: 2rem; border-top: 1px dashed var(--black); margin-top: 1rem; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; padding-top: 1rem; display: flex}.rsSearchApp .rsFilterStatusbar .controls{ display: flex; gap: 1rem; align-items: end; flex-wrap: wrap}.rsFilterGroup{ display: flex; align-items: flex-start; flex-flow: wrap; gap: 1rem}.rsFilterForm-field{ flex: 1 0 10rem; min-width: 15rem; display: block; margin: 0 0 1em}.rsFilterForm-field > label{ display: block; margin-bottom: .25em; font-weight: 600}.rsFilterForm-field > select, .rsFilterForm-field .rsSelectCSS{ width: 100%; text-align: left}.rsFilterForm-field .rsDropdownMultiselect{ border: none; padding: 0; margin: 0; position: relative; & > legend{display:none}& .dropdownMultiselectOptions{ border: 1px solid var(--gray-medium); border-top: none; height: calc(var(--height, auto) + 2rem); background-color: var(--white); color: var(--black); transition: height var(--transition), padding var(--transition), visibility var(--transition); max-height: 25.375rem; padding: 1rem 2rem; position: absolute; width: 100%; box-sizing: border-box; overflow: auto; margin: 0 !important; display: flex; flex-direction: column; z-index: 7000; & label{ margin: 0 0 .75rem; width: 100%; display: flex; text-transform: capitalize}& input{ -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid var(--black); background: none; flex-shrink: 0; width: 20px !important; height: 20px !important; margin: 3px 15px 0 0 !important; padding: 0 !important}& input:checked{ background-color: var(--black); border: 1px solid var(--white); background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%228%22 fill=%22none%22 viewBox=%220 0 10 8%22><path fill=%22%23FFF%22 d=%22M9.147.5a.828.828 0 0 0-.57.252C8.39.939 7.152 2.215 5.873 3.53a1798.32 1798.32 0 0 1-2.18 2.242l-2.32-1.77a.828.828 0 0 0-1.361.766.831.831 0 0 0 .36.554L3.274 7.54a.828.828 0 0 0 1.088-.074c.187-.188 1.425-1.459 2.703-2.775 1.279-1.316 2.597-2.677 2.686-2.766A.832.832 0 0 0 9.147.5Z%22/></svg>'); background-position: center; background-repeat: no-repeat; background-size: 10px}}& button[aria-expanded="true"]{border-bottom: none}& button[aria-expanded="false"], button:not([aria-expanded]){transition: var(--transition)}& button[aria-expanded="false"] + .dropdownMultiselectOptions, button:not([aria-expanded]) + .dropdownMultiselectOptions{ visibility: hidden; height: 0; padding: 0 2rem}&.dark{ & button{ border-top: solid 6px var(--carnegie-red) !important; padding: 1rem; color: var(--white); background-color: var(--black); border: 1px solid var(--black); background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}& .dropdownMultiselectOptions{ border: 1px solid var(--black); background-color: var(--black); color: var(--white); & input{ border: 1px solid var(--white)}& input:checked{ background-color: var(--white); border: 1px solid var(--black); background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%228%22 fill=%22none%22 viewBox=%220 0 10 8%22><path fill=%22%23000%22 d=%22M9.147.5a.828.828 0 0 0-.57.252C8.39.939 7.152 2.215 5.873 3.53a1798.32 1798.32 0 0 1-2.18 2.242l-2.32-1.77a.828.828 0 0 0-1.361.766.831.831 0 0 0 .36.554L3.274 7.54a.828.828 0 0 0 1.088-.074c.187-.188 1.425-1.459 2.703-2.775 1.279-1.316 2.597-2.677 2.686-2.766A.832.832 0 0 0 9.147.5Z%22/></svg>')}}}}.rsFilterStatusbar .status, .rsFilterStatusbar .status div{ display: flex; flex-wrap: wrap; gap: 1em; position: relative}.rsFilterStatusbar .status{ gap: 1.5em; min-width: 10em}.rsFilterStatusbar .status .filterToolTag{ background-color: #E9E9E9; color: var(--black); border-radius: 20px; border: none; padding: 8px 18px}.rsFilterStatusbar .status .statusTagLabel{ color: #777; position: absolute; top: -1.5em; left: 0; margin: 0; font-size: 75%; font-weight: 700}#wordmarkPrint, img[alt='print']{ display:none }@page{ size: auto portrait; margin: 15mm 10mm 15mm 12mm}@media print{ .rsiToolbar, .rsHNav, .rsFooter{ display: none !important}#rsRegionContainer{ display: inline; width: 100%}*{ line-height:normal !important; min-height:0px !important; max-height:none !important; -moz-transition: none !important; -o-transition: none !important; -webkit-transition: none !important; transition: none !important}.rsContent, .rsContent em, .rsContent strong{ color: #000 !important}.rsContent a:after{ content: "[" attr(href) "]"; font-size: 75%; margin-left: 0.5em; word-break: break-all; word-break: break-word; word-wrap: break-word; overflow-wrap: break-word; line-break: anywhere}.rsContent .button{ background: transparent !important; border: 2px solid $333 !important; color: #000 !important}.rsContent .red.button{ background: transparent !important; border: 2px solid #C41230 !important; color: #000 !important}.rsContent .solid.button{ border-width: 4px !important}.rsContent.solid.grey:not(.plaid), .rsCarousel.grey, .rsSolid.grey{ border: solid 1em #E0E0E0 !important; background: white !important}.rsContent.solid.darkgrey, .rsTrackContainer.darkgrey, .rsCarousel.darkgrey, .rsSolid.darkgrey{ border: solid 1em #6D6E71 !important; background: white !important}.rsContent.solid.red, .rsTrackContainer.red, .rsCarousel.red, .rsSolid.red{ border: solid 1em #C41230 !important; background: white !important}.rsContent.solid.gold, .rsTrackContainer.gold .rsCarousel.gold, .rsSolid.gold{ border: solid 1em #a60 !important; background: white !important}.rsContent.solid.teal, .rsTrackContainer.teal, .rsCarousel.teal, .rsSolid.teal{ border: solid 1em #067 !important; background: white !important}.rsContent.solid.blue, .rsTrackContainer.blue, .rsCarousel.blue, .rsSolid.blue{ border: solid 1em #247 !important; background: white !important}.rsContent.solid.green, .rsTrackContainer.green, .rsCarousel.green, .rsSolid.green{ border: solid 1em #085 !important; background: white !important}.rsContent.solid.darkgreen, .rsTrackContainer.darkgreen, .rsCarousel.darkgreen, .rsSolid.darkgreen{ border: solid 1em #243 !important; background: white !important}.rsContent.solid.hornbostelteal, .rsTrackContainer.hornbostelteal, .rsCarousel.hornbostelteal, .rsSolid.hornbostelteal{ border: solid 1em #1f4c4c !important; background: white !important}.rsContent.solid.machineryhalltan, .rsTrackContainer.machineryhalltan, .rsCarousel.machineryhalltan, .rsSolid.machineryhalltan{ border: solid 1em #bcb49e !important; background: white !important}.rsCallout-quote{ overflow: hidden}.rsCallout-quote > .image{ flex: 1 0 300px}.rsCallout-quote blockquote{overflow: visible}.rsCallout-quote blockquote:before{ color: #333 !important; -webkit-clip-path: inset(0px 0px 0.5em); clip-path: inset(0px 0px 0.5em)}.rsCallout-quote blockquote:after{background: repeating-linear-gradient(	0deg, rgba(0,0,0,0.15), rgba(0,0,0,0.15) 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 6px) !important}.rsSolid, .rsContent figure, .rsContent .button, .rsCallout-quote, .rsCallout-quote .text, .rsCallout-quote blockquote{ page-break-inside: avoid; break-inside: avoid}}footer.rsFooter{ .Button{ --theme: var(--color, var(--black)); display: inline-block; position: relative; padding: 0.75rem 1.25rem; border: 1px solid var(--theme); transition: background var(--transition), color var(--transition); background: transparent; color: inherit; font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; z-index: 1; margin-bottom: 32px; &::before{ content: ""; position: absolute; inset: -0.125rem; border-radius: inherit; background: var(--theme); transform: translateY(100%); transition: transform var(--transition); z-index: -1}@media (width < 63.999em){ width: initial; margin-bottom: 0}&:hover{ color: var(--background, var(--white)); &::before{ transform: none}}}}footer.rsFooter{ .Button--alt{ --theme: var(--accent, var(--black)); position: relative; display: inline-flex; align-items: center; padding: 0.75rem 1.25rem; padding-left: calc(43px + 1.25rem); min-height: 45px; border: 1px solid var(--carnegie-red); transition: background var(--transition), color var(--transition); background: transparent; color: inherit; font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; &:hover{ background: transparent; color: var(--background, var(--white))}&::before{ content: ""; position: absolute; top: 0; left: 0; bottom: unset; right: unset; transform: unset; height: 100%; width: 43px; background: var(--carnegie-red); transition: width var(--transition); z-index: -1}&::after{ content: ""; display: inline-flex; position: absolute; top: 0px; left: 0; height: 100%; width: 43px; background-color: var(--white); mask: url(https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg) center / 80% no-repeat; transform: rotate(-45deg)}&:hover{ color: var(--white); &::before{ width: 100%}}@media (width < 63.999em){ width: 100%}}}fa-lg{ font-size: 1.5rem}#rsRegion-footer{ padding: 0 !important}.rsFooter{ width: 100%}.rsFooter-container{ position: relative; display: flex; flex-direction: column; gap: var(--gap); padding-inline: var(--wrap); padding-bottom: calc(var(--panel) * 2); background: var(--gray-light); @media (width >= 64em){ flex-direction: row; gap: calc(var(--gap) * 2); padding-inline: 3rem; padding-bottom: 0}}.rsBrand-wrapper{ order: 1; display: flex; flex-direction: column; gap: var(--gap-sm); a{ font-weight: 400}@media (width >= 64em){ order: unset; max-width: 12.5rem}}.rsLogoAddress-wrapper{ display: flex; gap: var(--gap-sm); font-size: 0.875rem; address{ font-style: normal !important}a{ border-bottom: none}@media (width >= 64em){ flex-direction: column}}.rsLogo{ display: grid; place-items: center; height: 210px; width: 180px; background: var(--carnegie-red); color: var(--white); outline-color: var(--white); outline-offset: -.35rem; img{ width: 80% }@media (width >= 64em){ height: 250px; width: 200px}}.rsSocial{ list-style-type: none; padding: 0; display: flex; align-items: center; gap: 1.5rem; li{ a{ display: block; border-bottom: none; transition: var(--transition); &:hover{ background: none; transform: scale(1.2)}}}@media (min-width: 64em){ margin: 0; grid-template-columns: repeat(4,1fr); place-items: center; display: grid}}.rsNav-wrapper{ display: grid; gap: var(--gap); padding-block: var(--gap-sm); flex: 1; > div{ display: flex; flex-direction: column; gap: 1rem; flex: 1; > p{ padding-block: 1.375rem 0.875rem; margin: 0; font-weight: 700; border-bottom: 3px solid var(--carnegie-red); > a{ margin: 0; margin-bottom: 0px; padding-block-start: 0; padding-block-end: .875rem; font-weight: 700; transition: background-position var(--transition); background: linear-gradient(-90deg,#fff 50%,#c41230 50%) 100% calc(100% + 2px) / 200% 3px no-repeat; background-position-x: 100%; margin-bottom: -14px; display: block; padding-top: 0; &:hover{ background-position-x: 0}}}}ul{ list-style-type: none; padding: 0; margin: 0; li{ a{ position: relative; display: block; color: inherit; border-bottom: 1px solid #6D6E7166 !important; padding-block: 0.875rem !important; width: 100%; font-size: 0.875rem; font-weight: 400; transition: background-position var(--transition); background: linear-gradient(-90deg, transparent 50%, currentColor 50%) 100% calc(100% + 1px) / 200% .0625rem no-repeat; text-decoration: none; &:hover{ background-position-x: 0}}}}@media (width >= 64em){ grid-template-columns: 1fr 1fr}@media (width >= 80em){ grid-template-columns: 1fr 1fr 1fr 1fr}}.Footer__back-to-top{ position: absolute !important; bottom: 0; right: 0; width: fit-content !important; &::after{ transform: rotate(-90deg) !important}@media (width >= 64em){ position: relative !important; margin-left: auto; margin-top: 1rem}}.rsFooterBottom{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem; font-size: 0.875rem; padding: 1.5rem var(--wrap); p{ margin: 0}ul{ list-style-type: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--gap-sm); a{ font-weight: 400; transition: box-shadow var(--transition),text-shadow var(--transition); background: none; border-color: #0000; padding: 0; box-shadow: 0 .0625rem; &:hover{ text-shadow: .5px 0; box-shadow: 0 .125rem}}}@media (width >= 64em){ padding-inline: 3rem; justify-content: flex-start; gap: var(--gap-sm); font-weight: 600; a{ font-weight: 600}}} /*endtheme*/
.hidden{display:none !important;visibility:hidden !important}.invisible{position: absolute !important;opacity: 0;font-size: 0;}
/* New Editor Styles */
.rsContent{  &{ color: var(--black); font: var(--body); -webkit-font-smoothing: antialiased}h1,h2,h3,h4,h5{ margin-block: 2rem 1rem; a{ font-weight: inherit; color: var(--black); transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: #0000; padding: 0; box-shadow: 0 .0625rem; &:hover{ box-shadow: 0 0.125rem currentColor; text-shadow: 0.5px 0 0 currentColor}}}h1, .h1{ font: var(--h1)}h2, .h2{ font: var(--h2)}h3, .h3{ font: var(--h3)}h4, .h4{ font: var(--h4)}h5, .h5{ font: var(--h5)}h6, .h6{ font: var(--h6)}.text-small{ font: var(--text-small) }.text-intro{ font: var(--text-intro) }.intro-cta{ justify-content: center}.intro-cta a{ width: fit-content}.text-stat{ font: var(--text-stat); font-size: 2rem; color: var(--carnegie-red); display: flex; gap: 0.5rem; align-items: center; span{ font: var(--text-stat); letter-spacing: -3.71px}}.text-stat--lg{ span{ font-size: 5rem; letter-spacing: 0}}.rsSubhead{ font-weight: 600; color: rgb(85, 85, 85); margin-top: -1em; margin-right: 0px; margin-bottom: 1rem}a{ color: inherit; font-weight: normal; text-decoration: none; transition: all var(--transition)}a:not([class]):not(:is(h1, h2, h3, h4, h5, h6) a){ color: var(--carnegie-red); font-weight: 600; box-shadow: 0 0.0625rem currentColor; transition: box-shadow var(--transition), text-shadow var(--transition); &:hover{ box-shadow: 0 0.125rem currentColor; text-shadow: 0.5px 0 0 currentColor}}.link-underline{ transition: box-shadow var(--transition), text-shadow var(--transition); background: none; border-color: #0000; padding: 0px !important; box-shadow: 0 .0625rem; height: 1.75em !important}.link-underline-show{ box-shadow: 0 0.0625rem transparent; transition: box-shadow var(--transition); &:hover{ box-shadow: 0 0.0625rem currentColor}}  .button:not(.red):not(.alt), button:not(.flickity-prev-next-button):not(.link-underline):not(.styled):not(.rsTimeline-Button):not(.dt-paging-button){ --theme: var(--color, var(--black)); display: inline-block; position: relative; box-sizing: border-box; padding: 0.75rem 1.25rem; min-height: 45px; border: 1px solid var(--theme); transition: background var(--transition), color var(--transition); background: transparent; color: inherit; font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; z-index: 1; &::before{ content: ""; position: absolute; inset: -0.125rem; border-radius: inherit; background: var(--theme); transform: translateY(100%); transition: transform var(--transition); z-index: -1}  @container (width < 45rem){ width: 100%}@media (width < 45rem){ width: 100%}:where(.invert) &{ --theme: var(--white); color: var(--white); border-color: var(--white)}:where(.invert) &:hover{ color: var(--black) !important; background: var(--white)}&:hover{ color: var(--background, var(--white)); &::before{ transform: none}}}.button.red, .button.alt{ --theme: var(--accent, var(--black)); position: relative; display: inline-flex; align-items: center; padding-inline:1.25rem; padding-left: calc(43px + 1.25rem); min-height: 45px; border: 1px solid var(--carnegie-red); transition: background var(--transition), color var(--transition); background: transparent; color: var(--black); font: var(--text-button); letter-spacing: -0.14px; text-align: center; width: fit-content; overflow: clip; z-index:0; &::before{ content: ""; position: absolute; top: 0; left: 0; bottom: unset; right: unset; transform: unset; height: 100%; width: 43px; color:(var--white); background: var(--carnegie-red); transition: width var(--transition); z-index: -1}&::after{ content: ""; display: inline-flex; position: absolute; top: 0px; left: 0; height: 100%; width: 43px; background-color: var(--white); mask: url("https://tcp-dev-03.cs.cmu.edu/site-images/arrow.svg") center / 80% no-repeat; transform: rotate(-45deg)}&:hover{ color: var(--white); background: transparent; &::before{ width: 100%}}@container (width < 45rem){ width: 100%}@media (width < 45rem){ width: 100%}}.button.wide{ display: block; text-align: center; width: 100%}  .button-group, .Buttons, p:has(a.button){ display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap-sm); margin-block: var(--gap);     &:first-child{ margin-top: 0;   }}.button-stack, .Buttons--stack{ flex-direction: column; margin-inline: auto}  figure{ display: block; display: flex; flex-direction: column; margin: 0; margin-bottom: 1em}figure:not(.rsCarousel-figure):not(.rsTimeline-figure):not(.rsPanel-figure) img{ width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; flex-shrink: 0;   border: 1px solid #ccc; box-sizing: border-box}figure figcaption{ background: #eee; padding: 0.5em 1em; position: relative; font-size: 90% }figure figcaption .attrib{ position: absolute; right: 0;     top: 0; transform-origin: top right; transform: rotate(-90deg) translate(100%, 0); line-height: 1.3; font-weight: 700; font-size: 80%; opacity: 0.7}  hr{ margin: 2rem var(--wrap); border: 0; border-top: 3px solid var(--carnegie-red); display: block; margin-inline-start: 0; margin-inline-end: 0}  ol, ul{ padding-inline-start: 1.25em}  ul.inColumns{ -webkit-column-width: 9em; -moz-column-width: 9em; -o-column-width: 9em; -ms-column-width: 9em; column-width: 9em; list-style-type: none; padding-inline-start: 0; display: block; vertical-align: top}ul.inColumns li{ display: inline-block; width: 10em; margin-bottom: 1em}strong{ font-weight: 700}  blockquote{ position: relative; padding-inline: var(--wrap); &::before{ content: ""; display: block; width: 44px; height: 44px; margin-block: 0 1.5rem; background-image: url("https://tcp-dev-03.cs.cmu.edu/site-images/quote.svg"); background-repeat: no-repeat}p{ position: relative; margin-block: 0 1em; font-family: var(--source-serif); font-weight: 400; font-size: 22px; line-height: 1.4}cite{ display: block; margin-top: 2rem; font: var(--h6); font-weight: normal; strong{ color: var(--carnegie-red); font: var(--h6)}}.Buttons{   margin-top: var(--gap-sm)}@media (width >= 48em){ padding: 0 0 0 calc(var(--gap-sm) + 44px); &::before{ position: absolute; left: 0; margin-block: 0.5rem 0}}}  .float-right, [style*="float: right"], [style*="float:right"]{ float: right; margin-left: 2em; margin-right: 0; margin-bottom: 2em; padding-top: 1em; max-width: 45%; box-sizing: border-box; clear: both}.centered{ display: block; margin-left: auto; margin-right: auto; max-width: 90%; clear: both; float: none}.float-left, [style*="float: left"], [style*="float:left"]{ float: left; margin-right: 2em; margin-left: 0; margin-bottom: 2em; padding-top: 1em; max-width: 45%; clear: both}  table{ width: 100%; border-collapse: collapse; margin-block: 1rem}table, table td, table th, table tr{ border: none}table thead td, table thead th{ background: transparent; box-shadow: none}table thead{ font: var(--h5); font-size: 1.125rem; font-weight: 700}table a{ color: var(--carnegie-red); font-weight: 600; box-shadow: currentcolor 0 0.0625rem; transition: box-shadow var(--transition), text-shadow var(--transition)}table a:hover{ text-shadow: 0.5px 0; box-shadow: currentcolor 0 0.125rem}@media (min-width: 64em){ table thead{ border-bottom: 1px solid var(--black)}table td, table th{ padding: 1.25rem !important; vertical-align: middle; line-height: 1.5}table tbody tr:nth-child(even){ background: var(--gray-light)}table tfoot{ display: table-footer-group; border-top: 1px solid var(--black)}table tfoot td, table tfoot th{ padding: 1rem 1.25rem !important; font-weight: 600}}@media (max-width: 64em){ table thead{ display: none}table{ overflow-y: scroll}table, table tbody, table tr, table td, table th{ display: block; width: 100%; box-sizing: border-box}table tbody tr{ margin: .5rem 0; padding: .5rem 1rem 1rem; background: var(--white)}table tbody td, table tbody th{ padding: .5rem .75rem 0; white-space: normal; overflow-wrap: normal; word-break: normal; hyphens: none}table tbody td::before, table tbody th::before{ content: attr(data-label); display: block; margin-bottom: .25rem; font:var(--h5); font-size:1.125rem}table tfoot{ display: none !important}table tbody td, table tbody th{ width: 100% !important; max-width: 100% !important}}  .portrait-crop{ width: 100%; aspect-ratio: 1 / 1.1; object-fit: cover; object-position: center top; position: relative}.portrait-crop-container{ width: 100%; height: auto; display: block}.portrait-crop-container div{ width: 100%; padding-bottom: 110%; position: relative; position: relative; overflow: hidden}.portrait-crop-container img{ position: absolute; left: 50%; transform: translate(-50%); }.portrait-crop-container img.tall{ width: 100%}.portrait-crop-container img.wide{ height: 100%; max-width: initial}img.full-width{ display: block; width: 100%; height: 22rem; max-height: 50vh; object-fit: cover} 

/* Local Styles */
 p.test{ color: blue} }



        

/* Custom Image Overlay Effect */
.rs-grid-photo.scsDarkBlurOverlay img {
    filter: brightness(0.5) blur(0.2em);
    transform: scale(1.05);
}
