.container,
.user-pass,
.user-login-form,
.field--name-field-professional-titles{
    max-width: 1313px;
    padding: 0 20px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}
.container.narrow{
  max-width: 790px;
}
#block-basis-local-tasks .inner-block{
  max-width: 750px;
  margin: 20px auto;
}
.is-front #block-basis-local-tasks{
  display: none;
}
.clearfix:after,
.container:after{
    clear: both;
    content: '';
    display: block;
}
.layout-content{
  position: relative;
  z-index: 1;
}
#header-logo-space img{
    width: 100%;
    vertical-align: bottom;
    max-height: 38px;
}
#branding-header-logo{
    display: inline-block;
}
#top-header{
  padding: 18px 0 15px;
  box-shadow: 0 0px 3px #ebebeb;
  background-color: #FFF;
  position: relative;
  z-index: 1;
}

.header-wrap{
  display: flex;
}
#burger-search{
  margin-right: auto;
  justify-content: flex-start;
  flex: 1;
  display: flex;
  align-items: center;
}
#header-search{
  margin-left: 50px;
  width: 250px;
}
#header-search .search-link{
  display: block;
  width: 21px;
}
#header-logo-space{
  flex: 1;
  justify-content: center;
  text-align: center;
}
#branding-header-logo{
  width: 195px;
}
#header-utility{
  margin-left: auto;
  vertical-align: top;
  display: flex;
  flex: 1;
  justify-content: flex-end;
  align-items: center;
}
#header-utility ul.menu{
  margin: 4px 0 0;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
}
#header-utility ul.menu li{
  display: inline-block;
  margin-right: 10px;
}
#header-utility ul.menu li:last-child{
  margin-right: 0;
}
#mit-header-logo{
  width: 36px;
  display: inline-block;
  vertical-align: top;
  margin-left: 17px;
}

/* Sticky Nav */
#top-header.sticky-header {
  position: fixed;
  z-index: 120;
  width: 100%;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  top: 0;
}
.is-front header.sticky-header{
  background-color: #000;
}

/* Main */
main{
  padding-top: 60px;
}
.is-front main{
  padding-top: 0;
  padding-bottom: 0;
}
main{
  position: relative;
  padding-bottom: 120px;
  background-color: #FFF;
}
main:after{
  content: '';
  display: block;
  width: 100%;
  height: 120px;
  position: absolute;
  bottom: 0;
  box-shadow: 0px 13px 10px rgba(15, 15, 15, 0.25);
}
#line-1 line,
#line-2 line{
  opacity: .5;
}
/* Interior Rule */
.not-front .paragraph--type--callout-text,
.not-front .paragraph--type--image-with-caption:not(.vertical-slideshow),
.not-front .paragraph--type--horizontal-cards-users,
.not-front .paragraph--type--horizontal-cards-users,
.not-front .paragraph--type--horizontal-cards-automated-news,
.not-front .paragraph--type--horizontal-cards-automated-events,
.not-front .paragraph--type--horizontal-cards-news-events,
.not-front .paragraph--type--horizontal-cards-text-only{
  margin-left: auto;
  margin-right: 0;
  padding-right: 0;
}
.not-front .paragraph--type--callout-text .container,
.not-front .paragraph--type--image-with-caption:not(.vertical-slideshow) .container,
.not-front .paragraph--type--horizontal-cards-users .container,
.not-front .paragraph--type--horizontal-cards-automated-news .container,
.not-front .paragraph--type--horizontal-cards-automated-events .container,
.not-front .paragraph--type--horizontal-cards-news-events .container,
.not-front .paragraph--type--horizontal-cards-text-only .container{
  padding-right: 0;
  max-width: 1075px;
  margin-left: 0;
  margin-right: auto;
}
.not-front .paragraph--type--horizontal-cards-users .container,
.not-front .paragraph--type--horizontal-cards-automated-news .container,
.not-front .paragraph--type--horizontal-cards-automated-events .container,
.not-front .paragraph--type--horizontal-cards-news-events .container,
.not-front .paragraph--type--horizontal-cards-text-only .container{
  max-width: 855px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.not-front .paragraph--type--callout-text .container{
  max-width: 770px;
  margin: auto;
}
/* Featured Carousel, Slideshow, Image + Captions*/

.paragraph--type--feature-carousel,
.paragraph--type--image-with-caption.vertical-slideshow,
.container-rule{
  max-width: 840px;
  box-sizing: border-box;
  padding: 0 25px;
  margin: 35px auto;
}
.container-rule{
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.person-wrap .header-intro .paragraph--type--image-with-caption.vertical-slideshow,
.node--type-staff-people .header-intro .paragraph--type--image-with-caption.vertical-slideshow,
.field--name-field-intro-content .paragraph--type--feature-carousel,
.field--name-field-intro-content .paragraph--type--image-with-caption.vertical-slideshow{
  padding: 0;
}
.person-wrap .header-intro .feature-pager,
.node--type-staff-people .header-intro .feature-pager,
.field--name-field-intro-content .feature-pager{
  left: -20px;
}
.field--name-field-featured-images > .field__item:first-child:last-child{
  max-width: 750px;
  margin: 0 auto 25px;
}

.field--name--field-featured-images .container,
.paragraph--type--feature-carousel .container,
.paragraph--type--image-with-caption .container,
.feature-image-wrap .container{
  position: relative;
  padding: 0;
  max-width: 750px;
}
.field--name--field-featured-images li,
.paragraph--type--feature-carousel li,
.paragraph--type--image-with-caption li{
  list-style: none;
}

.feature-image-wrap{
  margin-bottom: 25px;
}
.feature-pager{
  position: absolute;
  left: -25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.feature-pager span{
  display: block;
  width: 5px;
  height: 0;
  padding-top: 5px;
  border-radius: 50%;
  background: #000;
  overflow: hidden;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}
.feature-pager span.cycle-pager-active{
  width: 9px;
  padding-top: 9px;
}
.feature-pager span:last-child{
  margin-bottom: 0;
}
.paragraph--type--feature-carousel .field--name-name{
  font-family: 'gt-am';
  font-size: 80px;
  text-align: center;
  line-height: 1;
  font-size: 55px;
  margin-top: 10px;
}
.media-text-link{
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}
.media-text-link *{
  display: inline;
}
.media-text-link a{
  font-weight: 400;
  text-decoration: underline;
}
.caption-wrap{
  text-align: right;
}
.is-front .caption-wrap{
  text-align: center;
}
.caption-wrap *{
  display: inline;
}
.caption-wrap,
.caption-wrap p{
  font-size: 13px;
}
.caption-wrap .field--name-field-image-caption{
  margin-right: 3px;
}
.caption-wrap .field--name-field-image-caption p{
  font-weight: 700;
}
.caption-wrap .field--name-field-image-caption::after{
  display: none;
}

.field--name-field-images ul{
  padding: 0;
  margin: 0;
}

.paragraph--type--image-with-caption:not(.vertical-slideshow) .field--name-field-images > ul > li img{
  width: 100%;
}

.paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-prev,
.paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-next{
  margin: 0 20px;
}
.person-wrap .header-intro .paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-prev,
.person-wrap .header-intro .paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-next,
.node--type-staff-people .header-intro .paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-prev,
.node--type-staff-people .header-intro .paragraph--type--image-with-caption:not(.vertical-slideshow) .jcarousel-control-next{
  top: -45px;
  margin: 0 0px;
}

/* Callout Text */
.paragraph--type--intro-text,
.paragraph--type--callout-text,
.paragraph--type--basic-text,
.paragraph--type--html-table,
.paragraph--type--expand-collapse,
.paragraph--type--youtube-video,
.paragraph--type--people-mosaic{
  margin-top: 35px;
  margin-bottom: 35px;
}
.paragraph--type--expand-collapse{
  margin-top: 40px;
  margin-bottom: 65px;
}
.field--name-field-intro-content > .field__item:first-child > .paragraph--type--intro-text{
  margin-top: 0;
}

.paragraph--type--callout-text .container{
  max-width: 790px;
}
.paragraph--type--callout-text.grey .container{
  padding: 75px 20px;
  background-color: rgba(0,0,0,.25);
}
.paragraph--type--intro-text p,
.paragraph--type--callout-text p{
  font-size: 28px;
  line-height: 1.35;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.paragraph--type--callout-text.centered h2,
.paragraph--type--callout-text.centered p{
  text-align: center;
}
.paragraph--type--callout-text .field--name-field-callout-text{
  max-width: 630px;
}
.paragraph--type--callout-text.centered .field--name-field-callout-text{
  max-width: none;
}

/* Basic Text */
.paragraph--type--basic-text .container,
.paragraph--type--html-table .container,
.paragraph--type--expand-collapse .container,
.paragraph--type--youtube-video .container{
  max-width: 785px;
}
.paragraph--type--basic-text .field--name-field-basic-text{
  max-width: 620px;
  margin-right: 0;
  margin-left: auto;
}
.basic-top > .container{
  position: relative;
}
.two-col > .view-wrap > .view-col-1,
.not-front .region-content{
  max-width: 750px;
  padding-left: 20px;
  padding-right: 20px;
}
.two-col > .view-wrap >.view-col-1{
  padding: 0 40px;
  flex-grow: 1;
}
.not-front .layout-content > .container{
  display: flex;
  justify-content: flex-end;
}
.not-front .region-content,
.two-col .view-wrap .view-col-2{
  box-sizing: border-box;
  max-width: 830px;
  flex-grow: 1;
  width: 100%;
  min-width: 0;
}
.two-col > .view-wrap{
  position: relative;
  max-width: 1313px;
  display: flex;
  justify-content: flex-end;
}
.view-header h3{
  margin-top: 0;
  margin-bottom: 25px;
}

.filter-expand{
  display: none;
}
.in-this-section{
  display: none;
}

.header-intro .container{
  padding: 0;
}

/*
.header-intro .paragraph--type--basic-text .field--name-field-basic-text{
  max-width: none;
  margin-left: 0;
}
*/
.sidebar-one,
.sidebar-two,
.two-col .view-wrap .view-col-2,
.two-col .view-wrap .view-col-3{
  width: 222px;
  min-width: 222px;
  max-width: 222px;
}
.sidebar-one,
.two-col .view-wrap .view-col-3{

}
.sidebar-two,
.two-col .view-wrap .view-col-2{

}
/*
.two-col .view-wrap .view-col-1{
  max-width: 750px;
  margin: auto;
  padding: 0 40px;
}
.two-col .view-wrap .view-col-2{
  width: 222px;
  padding-left: 35px;
  position: absolute;
  top: 0;
  right: 0;
}
*/
.two-col .view-wrap .view-col-2{
  order: 2;
}
.person-wrap h1.faux-full-title,
.node--view-mode-full h1.faux-full-title,
.paragraph--type--basic-text .field--name-field-section-header h2,
.paragraph--type--feature-carousel .field--name-field-section-header h2,
.paragraph--type--html-table .field--name-field-section-header h2,
.paragraph--type--expand-collapse .field--name-field-section-header h2,
.paragraph--type--youtube-video .field--name-field-section-header h2,
h1.page-title{
  font-size: 30px;
  font-weight: 600;
  font-family: gt-am;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 4px solid #0F0F0F;
}
.paragraph--type--basic-text .field--name-field-section-header h2,
.paragraph--type--feature-carousel .field--name-field-section-header h2,
.paragraph--type--html-table .field--name-field-section-header h2,
.paragraph--type--expand-collapse .field--name-field-section-header h2,
.paragraph--type--youtube-video .field--name-field-section-header h2{
  border-bottom: 2px solid #0F0F0F;
  padding-bottom: 5px;
}
h1.page-title,
.paragraph--type--feature-carousel .field--name-field-section-header h2{
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.person-wrap .header-intro h1.faux-full-title,
.node--view-mode-full.node--type-event h1.faux-full-title,
.node--type-staff-people .header-intro h1.faux-full-title{
  margin-bottom: 5px;
}
.person-wrap .header-intro .title-area,
.node--type-staff-people .header-intro .title-area,
.node--view-mode-full.node--type-event .field--name-field-event-dates{
  margin-bottom: 25px;
}
.person-wrap .header-intro .prof-titles,
.node--type-staff-people .header-intro .prof-titles,
.node--view-mode-full.node--type-event .field--name-field-event-dates{
  font-size: 30px;
  font-family: gt-am;
}

.card-link .field--name-field-professional-titles{
  margin-top: 8px;
}

.region-content .right-sidebar-content{
  display: none;
}

.basic-top .right-sidebar-content,
.basic-top .right-sidebar-content h4,
.basic-top .right-sidebar-content p,
.sidebar-two,
.sidebar-two h4,
.sidebar-two p{
  font-size: 13px;
  line-height: 1.3;
}
.basic-top .right-sidebar-content p,
.sidebar-two p{
  margin-bottom: 12px;
}

.right-sidebar-content > div,
.sidebar-two > div,
.views-field-field-right-sidebar-content > .field-content > div{
  margin-bottom: 20px;
}
.field--name-field-sidebar-links .field__item,
.field--name-field-links .field__item,
.field--name-field-people-links .field__item,
.field--name-field-news-links .field__item,
.sidebar-two .field--type-entity-reference .field__item,
.sidebar-two .view-person-sidebar .views-row,
.sidebar-two .view-projects-list .views-row{
  margin-bottom: 12px;
}
.right-sidebar-content > div:last-child,
.field--name-field-links .field__item:last-child,
.field--name-field-sidebar-links .field__item:last-child,
.field--name-field-people-links .field__item:last-child,
.field--name-field-news-links .field__item:last-child,
.sidebar-two .field--type-entity-reference .field__item:last-child,
.sidebar-two .view-person-sidebar .views-row:last-child,
.sidebar-two .view-projects-list .views-row:last-child{
  margin-bottom: 0;
}
.field--name-field-user-contact-email a,
.field--name-field-links .field__item a,
.field--name-field-right-sidebar-content a,
.field--name-field-sidebar-links a,
.field--name-field-people-links .field__item a,
.field--name-field-news-links .field__item a,
.sidebar-two .view-person-sidebar .views-row a,
.sidebar-two .view-projects-list .views-row a,
.field--name-field-project-members .field__item .field-group-link,
.field--name-field-practica-members .field__item .field-group-link{
  text-decoration: underline;
}
.right-sidebar-content .field__label{
  margin-bottom: 10px;
}

.right-sidebar-content .published-date{
  margin-top: 10px;
}

.field--name-field-project-members .field__item .field-group-link > div,
.field--name-field-practica-members .field__item .field-group-link > div{
  display: inline;
}

/* First Content Option */

.field--name-field-content-options > .field__item:first-child > div{
  margin-top: 0;
}
.field--name-field-content-options > .field__item:first-child > .paragraph--type--image-with-caption:not(.vertical-slideshow){
  margin-top: 55px;
}
  /* Large Link List */
.paragraph--type--large-link-list,
.paragraph--type--image-with-caption{
  margin-top: 55px;
  margin-bottom: 55px;
}
.not-front .paragraph--type--large-link-list,
.not-front :not('basic-top') .paragraph--type--image-with-caption{
  margin-top: 100px;
  margin-bottom: 60px;
}
.paragraph--type--image-with-caption .field--name-field-section-header,
.paragraph--type--large-link-list .field--name-field-section-header{
  text-align: center;
}
.paragraph--type--image-with-caption .field--name-field-section-header h2,
.paragraph--type--large-link-list .field--name-field-section-header h2{
  font-size: 18px;
  font-weight: 700;
  border-bottom: 4px solid #0F0F0F;
  display: inline-block;
  padding-bottom: 5px;
}

.paragraph--type--image-with-caption .field--name-field-section-header h2{
  margin-bottom: 35px;
}

.field--name-field-large-links{
  max-width: 833px;
  margin-left: auto;
  margin-right: auto;
}

.paragraph--type--large-link-list-item{
  display: flex;
  align-items: center;
  position: relative;
}
.paragraph--type--large-link-list-item .field--name-field-url{
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 40px;
  border-bottom: 1px solid #000;
  flex-grow: 1;
  max-width: 752px;
}
.paragraph--type--large-link-list-item .field--name-field-url a{
  font-size: 55px;
  font-family: 'gt-am';
  display: block;
}
.paragraph--type--large-link-list-item .link-image-text{
  width: 132px;
  margin-left: 42px;
  padding-top: 20px;
  right: -120px;
  position: absolute;
  opacity: 0;
}
.paragraph--type--large-link-list-item:hover .link-image-text{
  -webkit-transition: opacity .5s ease-in;
  -moz-transition: opacity .5s ease-in;
  -o-transition: opacity .5s ease-in;
  -ms-transition: opacity .5s ease-in;
  transition: opacity .5s ease-in;
  opacity: 1;
}
.paragraph--type--large-link-list-item:hover .field--name-field-url a{
  font-size: 57px;
  -webkit-transition: font-size .5s;
  -moz-transition: font-size .5s;
  -o-transition: font-size .5s;
  -ms-transition: font-size .5s;
  transition: font-size .5s;
}
.paragraph--type--large-link-list-item .field--name-field-link-image-text{
  font-size: 13px;
  margin-top: 4px;
}

/* Header + Link */
.header-link{
  text-align: center;
  font-size: 16px;
}
.header-link *{
  display: inline;
}
.header-link h2{
  font-size: 16px;
  margin-right: 3px;
}
.header-link a{
  text-decoration: underline;
}
.not-front .header-link{
  max-width: 747px;
  box-sizing: border-box;
  padding: 0 45px;
}


/* Jcarousel Card Sliders */
.paragraph--type--horizontal-cards-text-only,
.paragraph--type--horizontal-cards-news-events,
.paragraph--type--horizontal-cards-projects,
.paragraph--type--horizontal-cards-practica,
.paragraph--type--horizontal-cards-labs,
.paragraph--type--horizontal-cards-people,
.paragraph--type--horizintal-cards-users,
.paragraph--type--horizontal-cards-automated-news,
.paragraph--type--horizontal-cards-automated-event,
.paragraph--type--digital-offerings-manual{
  margin: 65px 0;
}
.field--name-field-text-cards,
.field--name-field-referenced-news-events,
.field--name-field-referenced-projects,
.field--name-field-referenced-people,
.field--name-field-referenced-users,
.field--name-field-referenced-digital-offerin,
.views-carousel .view-content{
  position: relative;
}
.field--name-field-text-cards .jcarousel li,
.field--name-field-referenced-news-events .jcarousel li,
.field--name-field-referenced-projects .jcarousel li,
.field--name-field-referenced-people .jcarousel li,
.field--name-field-referenced-users .jcarousel li,
.field--name-field-referenced-digital-offerin .jcarousel li,
.views-carousel .view-content .jcarousel li{
  padding: 20px 5px 20px 5px;
  box-sizing: border-box;
  margin: 0;
}
.card-link{
  box-shadow: 0px 3px 5px rgba(15, 15, 15, 0.5);
  display: block;
  padding: 14px 10px;
  background-color: #FFF;
  text-align: center;
  position: relative;
}
.card-link:hover{
  box-shadow: 5px 5px 10px rgb(253, 249, 159, .5);
  cursor: pointer;
}

.field--name-field-pre-text,
.field--name-field-sub-text,
.card-link .published-date{
  font-size: 13px;
}
.card-link .published-date .field__label{
  display: none;
}
.field--name-field-main-text{
  font-size: 30px;
  font-family: gt-am;
  margin-top: 5px;
  font-weight: 400;
}
.field--name-field-sub-text{
  margin-top: 8px;
}

.card-link h4.faux-full-title{
  font-size: 18px;
  margin-top: 5px;
  font-weight: 400;
  font-family: gt-am;
}
.node--type-event .card-link h4.faux-full-title{
  margin-bottom: 0;
}
.card-link .field--name-field-short-summary,
.card-link .field--name-field-lab-description,
.card-link .field--name-field-project-summary,
.card-link .field--name-body{
  margin: 10px 0 5px;
}
.card-link .field--name-field-short-summary p,
.field--name-field-lab-description,
.field--name-field-project-summary{
  text-align: left;
  line-height: 1.2;
}
.node--view-mode-full .field--name-field-project-summary{
  margin-bottom: 40px;
  padding: 0 20px;
}

.card-link .pseudo-type,
.card-link .card-tags{
  font-size: 12px;
  margin-top: 10px;
}

.view-events .card-link .pseudo-type,
.view-news .card-link .pseudo-type{
  display: none;
}
.card-tags .field__item{
  display: inline;
}
.card-tags .field__item:after{
  content: '/';
  display: inline;
  margin-left: 3px;
}
.card-tags .field__item:last-child:after{
  display: none;
}

.card-link .field--name-field-event-dates:before{
  content: "•";
  display: block;
}
.card-link .field--name-field-event-dates{
  margin-bottom: 10px;
}

.empty-horizontal-view{
  max-width: 767px;
  text-align: center;
  font-size: 20px;
  margin: 25px 0 50px;
  box-sizing: border-box;
  padding-left: 100px;
}

  /* Views Filters */
.view-filters .form-required:after{
  display: none;
}
.bef-exposed-form .form--inline > .form-item{
  float: none;
  margin: 0 0 32px 0;
}
.bef-exposed-form .form--inline > .form-item legend{
  display: block;
  width: 100%;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 3px;
}
.bef-exposed-form .form-checkboxes > .form-type-checkbox,
.bef-exposed-form .form-radios > .form-type-radio{
  font-size: 13px;
}
.bef-exposed-form .form-checkboxes > .form-type-checkbox.checked{
  background-color: #FFF;
  color: #000;
  background-repeat: no-repeat;
  background-position: left 8px center;
  background-image: url(images/checkmark.png);
}

/* Content Bottom */

.content-bottom{
  margin-top: 55px;
  position: relative;
  z-index: 1;
}

/* Views Grid */
.container.three-grid{
}
.three-grid .view-wrap .view-col-1 > .view-content .views-grouping{
  display: flex;
  flex-wrap: wrap;
}
.three-grid .views-row{
  width: 31.666%;
  padding-right: 2.5%;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.three-grid .views-row:nth-child(3n+3){
  padding-right: 0;
}
.three-grid .views-row:last-child:nth-last-child(odd):not(:nth-child(3n+3)),
.three-grid .views-row:nth-child(3n+1):nth-last-child(2),
.three-grid .views-row:last-child:nth-last-child(even),
.three-grid .views-row:nth-child(3n+1):nth-last-child(3),
.three-grid .views-row:nth-child(3n+2):nth-last-child(2),
.three-grid .views-row:nth-child(3n+3):last-child{
  border-bottom: none;
  margin-bottom: 0;
}
.three-grid .views-grouping:after{
  display: block;
  clear: both;
  content: '';
}
.three-grid .views-grouping:not(:first-child){
  border-top: 1px solid #000;
  padding-top: 40px;
}

.js-pager__items.pager{
  margin: 0;
  padding: 0;
  text-align: center;
}
.js-pager__items.pager a.button:after{
  content: '';
  width: 10px;
  height: 16px;
  background-image: url(images/load-more.svg);
  background-repeat: no-repeat;
  display: block;
  margin: 4px auto 0;
  background-size: contain;
  transform: rotate(90deg);
}

.table-wrap{
  margin-top: 75px;
}
.table-wrap .container{
  background-color: rgba(0,0,0,.25);
}
.no-table-bg .table-wrap .container{
  background-color: transparent;
}
.table-wrap table{
  margin-top: -50px;
}
table{
  border-collapse: collapse;
  border: none;
}
table td,
table th{
  padding: 8px 16px;
  text-align: left;
  vertical-align: top;
}
table th{
  font-weight: 600;
  vertical-align: bottom;
  border: none;
}
table tbody tr:first-child td{
  padding-top: 40px;
}
table td{
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 18px;
  border: none;
}
table td p{
  font-size: 14px;
  line-height: 1.4;
}
table td a{
  text-decoration: underline;
}
table td.is-active{
  background-color: transparent;
}
.collapse-table h4,
.collapse-table .summary-wrap{
  padding-left: 30px;
}
.collapse-table th.views-field-title{
  padding-left: 45px;
}
.collapse-table h4.expandable{
  cursor: pointer;
  background-repeat: no-repeat;
  background-image: url(images/plus-red.svg);
  background-position: left top 3px;
  padding-left: 30px;
}
.collapse-table h4.expandable.open{
  background-image: url(images/minus-red.svg);
  background-position: left top 11px;
}
.collapse-table .summary-wrap{
  margin-top: 25px;
}
.collapse-table .active-row td{
  background-color: #E9F4F6;
}

/* Footer */

footer{
    color: #0F0F0F;
    padding-top: 10px;
    padding-bottom: 25px;
    background-color: #FFF;
}
footer ul.menu,
footer p{
  font-size: 13px;
  line-height: 1.3;
}
footer .container{
  display: flex;
}
footer nav{
  margin-left: auto;
}
footer ul.menu{
  padding: 0;
  margin: 0;
}
footer ul.menu li{
  display: inline-block;
  margin-right: 15px;
}
footer ul.menu li:last-child{
  margin-right: 0;
}
footer ul.menu li a{
  text-decoration: underline;
}
.region-footer{
  flex-grow: 1;
  box-sizing: border-box;
  display: flex;
  padding-top: 7px;
}
.mit-footer-logo{
  width: 36px;
  margin-right: 22px;
}
.sap-footer-logo{
  width: 312px;
  margin-right: 25px;
  display: inherit;
}

/* Search Page */
/* Google Search */
.search-block-form form input[type="search"]::-webkit-input-placeholder {
  color: #565656;
}
.search-block-form form input[type="search"]::-moz-placeholder {
  color: #565656;
}
.search-block-form form input[type="search"]::-ms-input-placeholder{
  color: #565656;
}
.search-block-form form input[type="search"]:-o-input-placeholder {
  color: #565656;
}
.search-block-form form input[type="search"]::-webkit-input-placeholder {
  color: #565656;
}
.search-block-form form input[type="search"]::-moz-placeholder {
  color: #565656;
}
.search-block-form form input[type="search"]::-ms-input-placeholder{
  color: #565656;
}
.search-block-form form input[type="search"]:-o-input-placeholder {
  color: #565656;
}
.search-block-form form{
  border: none;
  position: relative;
  margin-top: 0px;
}
.search-block-form form input[type="search"]{
  background-image: none !important;
  color: #000;
  outline: none;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
  outline: none;
  border: none;
  background-color: #FFF;
}
.search-block-form form input[type="submit"][id^="edit-submit"]{
  background-image: url(images/search.svg);
  background-repeat: no-repeat;
  width: 60px;
  height: 0;
  overflow: hidden;
  display: inline;
  background-color: transparent;
  border: none;
  padding-top: 45px;
  background-size: 28px;
  background-position: right 14px top 10px;
  position: absolute;
  top: 0;
  right: 0;
}
.search-block-form form input[type="submit"][id^="edit-submit"]{
  display: none;
}
.error-page .search-block-form form input[type="search"]{
  border: solid 2px #baccd2;
}
.path-search #block-searchlink{
  display: none;
}
.path-search #search-form input[type="submit"][id^="edit-submit"]{
  background-image: url(images/search.svg);
  background-repeat: no-repeat;
  width: 50px;
  height: 0;
  overflow: hidden;
  display: inline;
  background-color: transparent;
  border: none;
  padding-top: 49px;
  background-size: 28px;
  background-position: center;
  margin: 0 0 0 -50px;
  float: left;
}
#search-form label{
  visibility: hidden;
  height: 0;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.gsc-control-cse{
  padding: 0 !important;
  background-color: transparent !important;
  border: none !important;
}

.gsc-control-cse table,
.gsc-control-cse tbody,
.gsc-control-cse tbody tr{
  border: none ;
}
.gsc-above-wrapper-area{
  border: none !important;
  background-color: transparent;
  font-size: 18px !important;
  color: #333 !important;
  padding: 0px !important;
  border-radius: 0px;
  border: 1px solid #ddd;
  margin-bottom: 0px;
  display: block !important;
}
.gcsc-find-more-on-google-root{
  display: none !important;
}
.gsc-result-info{
  font-size: 16px !important;
  color: #000 !important;
  padding: 28px 0 !important;
}
.gs-result{
  display: flex !important;
  flex-direction: column;
}
.gs-result .gsc-thumbnail-inside{
  order: 2;
}
.gs-result .gsc-url-top{
  order: 1;
  margin-bottom: 12px;
}
.gs-result .gsc-table-result{
  order: 3;
}
.gsc-result-info-container,
.gsc-orderby-container{
  padding-left: 0px;
  padding-right: 0px;
  border-bottom: 0;
}
.gsc-selected-option-container{
  background-color: #FFF !important;
}
.gsc-webResult{
  margin-top: 0px;
  max-width: 1000px;
}
.gsc-webResult .gsc-result{
  margin-bottom: 35px !important;
  padding: 0 0 0px 0 !important;
  border: none !important;
}
.gs-result .gs-title{
  height: auto !important;
  overflow: visible !important;
  margin-bottom: 0px !important;
  text-decoration: none !important;
}
.gs-result .gs-title *{
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.25;
}
.gs-webResult .gs-snippet{
  color: #b0b0b0 !important;
}
.gs-webResult div.gs-visibleUrl, .gs-imageResult div.gs-visibleUrl{
  color: #000 !important;
  font-size: 15.3px !important;
}
.gsc-control-cse .gsc-table-result{
  font-size: 18px !important;
  margin: 5px 0 0 0 !important;
}
.gsc-table-cell-thumbnail, .gs-promotion-image-cell{
  display: none !important;
}
.gsc-table-result, .gsc-thumbnail-inside, .gsc-url-top{
  padding: 0 !important;
}
.gcsc-branding{
  display: none !important;
}
.gsc-orderby{
  padding: 20px 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.gsc-orderby-label{
  text-transform: uppercase;
  font-weight: 600;
  font-size: 16px;
  color: #000 !important;
  margin-right: 10px;
  margin-top: 3px;
  padding: 0 !important;
}
.gs-result .gs-title{
  margin-bottom: 0px !important;
}
.gsc-results .gsc-cursor-box{
  text-align: left;
  margin-bottom: 95px !important;
  margin-left: 0 !important;
  padding-left: 0;
}
.gsc-results .gsc-cursor-box .gsc-cursor-page{
  margin: 0 15px 0 0 !important;
  font-size: 18px;
  font-weight: 400;
  color: #000 !important;
  display: inline-block !important;
  text-decoration: underline !important;
  text-decoration-color: #ef4130;
}
.gsc-results .gsc-cursor-box .gsc-cursor-page:hover{
  color: #565656;
}
.gsc-results .gsc-cursor-box .gsc-cursor-current-page{
  text-decoration: none !important;
  color: #AD1E24 !important;
}
.gsc-orderby-container{
  padding-right: 8px;
}
.gcsc-more-maybe-branding-root,
.gsc-adBlock{
  display: none !important;
}
.gs-webResult .gs-snippet{
  color: #000 !important;
  font-size: 16px !important;
  margin-top: 3px !important;
  line-height: 1.7;
}
.gs-webResult .gs-snippet b{
  color: #ad1e24 !important;
  font-weight: 600 !important;
}
.gsc-control-cse .gs-result .gs-title a b{
  font-weight: 600 !important;
}
.gsc-control-cse .gs-result .gs-title a{
  color: #000 !important;
}
.gsc-control-cse .gs-result .gs-title a b{
  color: #000 !important;
  font-weight: 600;
}
.path-search #block-basis-content .item-list h3{
  display: none;
}
.path-search .gsc-wrapper,
.path-search .gsc-above-wrapper-area > table{
  max-width: 1130px;
  margin: auto;
  padding: 0;
}

.path-search main > .layout-content #search-form > div{
  max-width: 1362px;
  padding: 0 20px;
  margin: auto;
}
.path-search main > .layout-content #search-form .form-wrapper{
  position: relative;
}
.path-search main > .layout-content #search-form .form-wrapper:after{
  content: '';
  clear: both;
  display: block;
}
.path-search main > .layout-content #search-form .form-wrapper input[type="search"]{
  width: 100%;
  max-width: 552px;
  padding: 14px 50px 14px 14px;
  box-sizing: border-box;
  border: none;
  float: left;
}

.path-search #block-basis-content > .inner-block > h2{
  display: none;
}
.path-search .search-help-link{
  display: none;
}
.search-form.google-cse{
  background: rgba(0,0,0,.25);
  padding: 35px 0;
  max-width: 750px;
  margin: auto;
}
#google-cse-results{
  max-width: 750px;
  margin: auto;
}

/* Login */
.simplesamlphp-auth-login-link{
  background: #000;
  color: #FFF;
  display: inline-block;
  width: 320px;
  text-align: center;
  box-sizing: border-box;
  padding: 13px;
  border-radius: 4px;
  order: -1;
}
.simplesamlphp-auth-login-link:hover{
  background: #8e8e8e;
}
.user-login-form,
.user-pass{
  display: flex;
  flex-direction: column;
  padding-bottom: 100px;
  max-width: 785px;
}
.user-login-form .form-item{
  margin-bottom: 0;
}
.manual-login{
  margin-top: 30px;
}
.manual-login:hover{
  text-decoration: underline;
}

/* Staff/People */
.right-sidebar-content .field--name-field-person-photo,
.right-sidebar-content .field--name-field-profile-picture{
  margin-top: -35px;
}
.field--name-field-profile-picture img,
.field--name-field-person-photo img{
  border-radius: 50%;
}
.people-contact > div{
  margin-bottom: 10px;
}
.people-contact > div:last-child{
  margin-bottom: 0;
}
.people-contact .field__label{
  margin-bottom: 0px;
  font-weight: 400;
}

.field--name-field-projects,
.field--name-field-publications,
.related-news{
  margin: 45px 0;
}

.related-news h4{
  text-align: center;
}

/* Subjects */

.view-id-subjects .views-row{
  max-width: 620px;
}
.expcol-wrap{
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #000;
}
.field--name-field-expand-collapse-heading,
.expand-heading{
  cursor: pointer;
}
.expand-heading h4,
.field--name-field-expand-collapse-heading h4,
.field--name-field-cancelled{
  margin: 0;
  font-weight: 400;
  font-size: 28px;
  position: relative;
  padding-right: 40px;
}
.field--name-field-expand-collapse-heading h4{
  font-size: 22px;
}
.field--name-field-cancelled{
  text-transform: uppercase;
}
.cancelled-class .expand-heading h4{
  text-decoration: line-through;
}
.expand-heading .field--name-field-subject-number{
  font-weight: 700;
}
.course-numbers{
  margin-bottom: 5px;
  font-size: 14px;
}
.course-numbers *{
  display: inline;
  font-weight: 700;
}
.course-numbers div:after{
  display: inline;
  content: '/';
  margin: 0 5px;
}
.course-numbers div:last-child:after{
  display: none;
}
.field--name-field-expand-collapse-content,
.expand-content{
  padding-top: 10px;
}
.field--name-field-expand-collapse-content{
  padding-left: 127px;
}
.expcol-wrap .field--name-field-expand-collapse-heading h4:after,
.expcol-wrap .expand-heading h4:after{
  background-image: url(images/thin-arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
  height: 18px;
  width: 14px;
  position: absolute;
  right: 0px;
  top: 11px;
  transform: rotate(90deg);
}
.expcol-wrap.open .field--name-field-expand-collapse-heading h4:after,
.expcol-wrap.open .expand-heading h4:after{
  transform: rotate(-90deg);
}

/* User Profiles */
.field--name-field-projects .field__label,
.field--name-field-publications .field__label{
  font-size: 34px;
  font-weight: 500;
  font-family: gt-am;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 4px solid #0F0F0F;
}
.field--name-field-publications .field__label h2{
  font-size: 34px;
  font-weight: normal;
  margin: 0;
}
.header-intro .field--name-field-bio,
.field--name-field-publications > .field__items{
  padding-left: 100px;
}
.field--name-field-publications .field__item{
  margin-bottom: 20px;
}
.field--name-field-publications a:hover{
  text-decoration: underline;
}
.field--name-field-publications .field__item:last-child{
  margin-bottom: 0;
}
.field--name-field-publication-authors > div{
  display: inline;
}
.field--name-field-publication-publisher:after,
.field--name-field-publication-authors > div:after{
  content: ',';
  display: inline;
}
.field--name-field-publication-title:after,
.field--name-field-publication-year:after,
.field--name-field-publication-authors > div:last-child:after{
  content: '.';
  display: inline;
  margin-right: 2px;
}
.field--name-field-publication-title{
  font-weight: 600;
}
.paragraph--type--publication .pub-wrap> div{
  display: inline;
}
.field--name-field-publication-upload{
  margin-top: 5px;
}
.field--name-field-projects > .field__items{
  display: flex;
  flex-wrap: wrap;
}
.field--name-field-projects > .field__items > .field__item{
  width: 47.75%;
  padding-right: 4.5%;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.field--name-field-projects > .field__items > .field__item:nth-child(2n+2){
  padding-right: 0;
}
.field--name-field-projects > .field__items > .field__item:nth-last-child(2):nth-child(odd),
.field--name-field-projects > .field__items > .field__item:last-child:nth-child(odd),
.field--name-field-projects > .field__items > .field__item:last-child:nth-child(even){
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.field--name-field-projects > .field__items:after{
  content: '';
  display: block;
  clear: both;
}
.field--name-field-projects .field--name-field-project-name{
  font-size: 28px;
  margin-bottom: 10px;
}
.field--name-field-projects .field--name-field-project-image{
  margin: 10px 0;
}
.field--name-field-projects .field--name-field-short-description{

}


/* Breadcrumbs + Anchor Links */
.breadcrumbs-anchors{
  position: fixed;
  z-index: 100;
  max-width: 230px;
  width: 100%;
}
.anchor-item .field--name-field-section-header > *{
  margin-top: -100px;
  padding-top: 100px;
}
.breadcrumb li{
  text-align: right;
  display: block;
}
.breadcrumb li:before{
  content: '';
  height: 20px;
  display: block;
  border-right: 1px solid #000;
  margin-right: 18px;
}
.breadcrumb li a:hover,
.breadcrumb li:last-child a{
  text-decoration: underline;
}

.anchor-menu ul.menu{
  padding: 0 35px 0 0;
  margin: 15px 0;
  list-style: none;
  text-align: right;
}
.anchor-menu ul.menu li{
  margin-bottom: 12px;
  line-height: 1.45;
  position: relative;
}
.anchor-menu ul.menu li:after{
  content: "•";
  position: absolute;
  top: -3px;
  right: -20px;
  font-size: 26px;
  line-height: 1;
}
.anchor-menu ul.menu li a:hover,
.anchor-menu ul.menu li a.on{
  text-decoration: underline;
}

/* Maintenance */
.maintenance-page .layout-content{
  padding: 40px;
  background-color: rgba(255,255,255,.75);
  max-width: 780px;
  margin: auto;
  font-size: 22px;
  text-align: center;
  margin-top: 40px;
}

/* Courses */
.subject-info-wrap{
  margin-top: 10px;
}
.subject-info-wrap a{
  text-decoration: underline;
}
.subject-info-wrap > div{
  margin-bottom: 8px;
  display: flex;
}
.subject-info-wrap .field__items{
  flex-grow: 1;
}
.custom-inline-label:after{
  content: '';
  clear: both;
  display: block;
}
.custom-inline-label label{
  margin-right: 8px;
}
.custom-inline-label label,
.subject-info-wrap .field__label{
  font-weight: normal;
  font-size: 13px;
  margin-top: 3px;
  min-width: 122px;
  max-width: 122px;
  width: 122px;
  text-align: right;
}
.custom-inline-label label:after{
  content: ':';
  display: inline;
}
.field--name-field-hass .field__items *,
.field--name-field-teacher-assistant .field__items *,
.custom-inline-label > div *{
  display: inline;
}
.field--name-field-hass > .field__items > .field__item:after,
.field--name-field-teacher-assistant > .field__items > .field__item:after,
.custom-inline-label > div *.field__item:after{
  display: inline;
  content: ',';
}
.custom-inline-label > .field--name-field-subject-credits-level > .field__item:after{
  content: "/";
}
.multi-wrap .field-group-link .field__item:after,
.multi-wrap.no-after .field__item:after,
.custom-inline-label .paragraph--type--course-credits-level > .field__item:after,
.custom-inline-label .field:last-child .field__item:last-child:after,
.custom-inline-label .field:last-child.field__item:last-child:after,
.field--name-field-teacher-assistant > .field__items > .field__item:last-child:after,
.field--name-field-hass > .field__items > .field__item:last-child:after{
  display: none;
}
.field--name-field-teacher-assistant > .field__items > .field__item .field__item:last-child,
.multi-wrap .field-group-link .field__item:last-child{
  margin-right: -4px;
}

/* Social Media Links */
.field--name-field-social-media-links{
  display: flex;
  justify-content: space-between;
  margin: 25px auto;
  max-width: 320px;
}
.field--name-field-social-media-icon img{
  height: 25px;
}

/* YouTube Embed */
.field--name-field-youtube-video .field--name-field-media-oembed-video{
  text-align: center;
  position: relative;
  padding-bottom: 47.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 850px;
  margin: auto;
}
.field--name-field-youtube-video .media-oembed-content{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Cycle 2 */
.cycle-prev,
.cycle-next{
  position: absolute;
  display: flex;
  align-items: center;
}
.cycle-next{
  right: 0;
}
.cycle-button{
  height: 0;
  width: 43px;
  padding-top: 43px;
  top: -30px;
  background-repeat: no-repeat;
  background-image: url('images/slider-arrow.svg');
  background-position: center;
  background-size: 26px;
  overflow: hidden;
  cursor: pointer;
  background-color: rgba(255,255,255,.5);
  display: none;
  z-index: 115;
}
.paragraph--type--image-with-caption.vertical-slideshow:hover .cycle-button,
.paragraph--type--feature-carousel:hover .cycle-button{
  display: block;
}
.cycle-next .cycle-button{
  transform: scaleX(-1);
}

input[type="checkbox"],
input[type="radio"]{
  accent-color: #000;
}


/* Home Focus */
#header-utility ul.menu li.in-focus-toggle{
  display: none;
  cursor: pointer;
}
.sticky-header #header-utility ul.menu li.in-focus-toggle{
  display: inline-block;
}
.paragraph--type--home-focus.scrolled-focus{
  position: fixed;
  width: 100%;
  z-index: 150;
  top: 20px;
}
.paragraph--type--home-focus{
  max-width: 1400px;
  padding: 0 20px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}
.focus-container{
  width: 242px;
  background-color: #e1e1e1;
  box-sizing: border-box;
  padding: 10px;
  box-shadow: 10px 10px 10px #0F0F0F80;
  position: absolute;
  right: 0;
}
.scrolled-focus .focus-container{
  top: 80px;
}
.paragraph--type--home-focus .field--name-field-section-header h4{
  font-size: 13px;
  margin-top: 0;
}
.paragraph--type--in-focus-item{
  margin-bottom: 10px;
}
.field--name-field-in-focus-title{
  font-size: 30px;
  font-family: 'gt-am';
}
.field--name-field-in-focus-link a{
  font-size: 13px;
  text-decoration: underline;
}
.scrolled-focus.field--name-field-in-focus > .paragraph{
}


/* People Mosaic */
.people-mosaic.container{
  max-width: 750px;
  padding: 0;
}
.people-mosaic .views-grouping{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.people-mosaic .views-row {
  width: 9.867%;
  display: block;
  border: 1px solid transparent;
  box-sizing: border-box;
  position: relative;
}
.people-mosaic .views-row:after{
  padding-bottom: 100%;
  display: block;
  content:'';
}

.people-mosaic .views-row:nth-child(21n+11),
.people-mosaic .views-row:nth-child(21n+1) {
  width: 4.933%;
}
.people-mosaic .views-row .views-field{
  position: absolute;
  width: 100%;
  height: 100%;
}
.people-mosaic .views-row .views-field *{
  height: 100%;
}
.people-mosaic .views-row img{
  object-fit: cover;
  width: 100%;
}

/* Projects Map */
#block-basis-views-block-project-map-block-1{
  margin-bottom: 60px;
}
.gm-style .gm-style-iw{
  max-width: 250px !important;
  padding-left: 12px;
}
.gm-style .gm-ui-hover-effect{
  height: 24px !important;
  width: 24px !important;
}
.gm-style .gm-ui-hover-effect>span{
  margin: 0 !important;
}
.gm-style .gm-style-iw h4{
  margin-top: 0;
  margin-bottom: 8px;
}
.gm-style .gm-style-iw img{
  margin: 2px 0 8px;
}
.gm-style .gm-style-iw p:last-child{
  margin-bottom: 0;
}
.gm-style .gm-style-iw-d{
  padding-bottom: 10px;
}



/* ==========================================================
   FULL BLEED HERO
   ========================================================== */

.paragraph--type--full-bleed-hero {
  position: relative;
  isolation: isolate;
  height: calc(90vh - 71px);
  min-height: 600px;
  overflow: hidden;
  background: #1a1a1a;
  color: #fff;
}

/* Background images */

.paragraph--type--full-bleed-hero
.field--name-field-full-bleed-images {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.paragraph--type--full-bleed-hero
.field--name-field-full-bleed-images > .field__item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.paragraph--type--full-bleed-hero
.field--name-field-full-bleed-images > .field__item:not(:first-child) {
  display: none;
}

.paragraph--type--full-bleed-hero
.field--name-field-full-bleed-images img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

/* Dark gradient overlay */

.paragraph--type--full-bleed-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(26, 26, 26, 0.85) 0%,
    rgba(26, 26, 26, 0.35) 50%,
    rgba(26, 26, 26, 0.20) 100%
  );
}

/* Content overlay */

.paragraph--type--full-bleed-hero .banner-content {
  position: absolute;
  z-index: 2;
  left: max(64px, calc((100% - 1440px) / 2 + 64px));
  bottom: 80px;
  width: min(720px, calc(100% - 128px));
}

/* Title and eyebrow */

.paragraph--type--full-bleed-hero .faux-full-title {
  margin: 0;
}

.paragraph--type--full-bleed-hero .faux-full-title h1 {
  max-width: 720px;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.025em;
  text-shadow: 1px 1px black;
}

.paragraph--type--full-bleed-hero .title-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: #FFF;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Supporting summary */

.paragraph--type--full-bleed-hero
.field--name-field-title-summary {
  max-width: 480px;
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.65);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.625;
  text-shadow: 1px 1px black;
}

/* CTA buttons */

.paragraph--type--full-bleed-hero
.field--name-field-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}

.paragraph--type--full-bleed-hero
.field--name-field-cta-buttons .field__item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background: #a31f34;
  border: 1px solid #a31f34;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-decoration: none;
  transition: background-color 200ms ease;
}

.paragraph--type--full-bleed-hero
.field--name-field-cta-buttons .field__item a:hover {
  background: #8b1a2b;
  border-color: #8b1a2b;
  color: #fff;
}

.paragraph--type--full-bleed-hero
.field--name-field-cta-buttons .field__item:nth-child(2) a {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
  text-shadow: 1px 1px black;
}

.paragraph--type--full-bleed-hero
.field--name-field-cta-buttons .field__item:nth-child(2) a:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Previous / next arrows */

.paragraph--type--full-bleed-hero .full-bleed-hero__arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 200ms, color 200ms;
}

.paragraph--type--full-bleed-hero .full-bleed-hero__prev {
  left: 16px;
}

.paragraph--type--full-bleed-hero .full-bleed-hero__next {
  right: 16px;
}

.paragraph--type--full-bleed-hero .full-bleed-hero__arrow:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* Slide pagination */

.paragraph--type--full-bleed-hero .full-bleed-hero__pager {
  position: absolute;
  z-index: 3;
  bottom: 32px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transform: translateX(-50%);
}

.paragraph--type--full-bleed-hero .full-bleed-hero__dot {
  display: block;
  flex: none;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  transition: width 300ms, background-color 300ms;
}

.paragraph--type--full-bleed-hero
.full-bleed-hero__dot.cycle-pager-active {
  width: 28px;
  background: #a31f34;
}

/* Optional playback control */

.paragraph--type--full-bleed-hero .full-bleed-hero__playback {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 22px;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 12px;
  cursor: pointer;
}

/* Keyboard focus */

.paragraph--type--full-bleed-hero button:focus-visible,
.paragraph--type--full-bleed-hero a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.paragraph--type--full-bleed-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.78) 15%,
    rgba(0, 0, 0, 0.65) 30%,
    rgba(0, 0, 0, 0.32) 55%,
    rgba(0, 0, 0, 0) 80%
  );
}

/* Adjust hero dimensions for Drupal admin toolbars. */

body.toolbar-fixed .paragraph--type--full-bleed-hero {
  height: calc(90vh - var(--drupal-displace-offset-top, 0px));

  width: calc(
    100vw
    - var(--drupal-displace-offset-left, 0px)
    - var(--drupal-displace-offset-right, 0px)
  );
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1199px) {
  .paragraph--type--full-bleed-hero .faux-full-title h1 {
    font-size: clamp(44px, 6vw, 72px);
  }
}

@media (max-width: 767px) {
  .paragraph--type--full-bleed-hero {
    height: 85svh;
    min-height: 620px;
  }

  .paragraph--type--full-bleed-hero .banner-content {
    left: 24px;
    bottom: 96px;
    width: calc(100% - 48px);
  }

  .paragraph--type--full-bleed-hero .faux-full-title h1 {
    font-size: clamp(36px, 9vw, 56px);
    line-height: 1.08;
  }

  .paragraph--type--full-bleed-hero
  .field--name-field-title-summary {
    font-size: 15px;
  }

  .paragraph--type--full-bleed-hero
  .field--name-field-cta-buttons {
    gap: 12px;
    margin-top: 24px;
  }

  .paragraph--type--full-bleed-hero .full-bleed-hero__arrow {
    top: 40%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .paragraph--type--full-bleed-hero button,
  .paragraph--type--full-bleed-hero a {
    transition: none;
  }
}


/* ==========================================================
   INTRO / WELCOME TEXT
   ========================================================== */

.paragraph--type--intro-welcome-text {
  padding: 128px 0;
  background: #fff;
  text-align: center;
}

.paragraph--type--intro-welcome-text > .container {
  width: calc(100% - 48px);
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* Eyebrow */

.paragraph--type--intro-welcome-text
.field--name-field-intro-eyebrow {
  margin: 0;
  color: #a31f34;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Heading */

.paragraph--type--intro-welcome-text
.field--name-field-intro-heading {
  margin-top: 24px;
}

.paragraph--type--intro-welcome-text
.field--name-field-intro-heading > * {
  margin: 0;
  padding: 0;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}

/* Introduction summary */

.paragraph--type--intro-welcome-text
.field--name-field-intro-summary {
  margin-top: 32px;
  text-align: center;
}

.paragraph--type--intro-welcome-text
.field--name-field-intro-summary p {
  margin: 0;
  color: #555;
  font-family: "Inter", sans-serif;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.8;
}

.paragraph--type--intro-welcome-text
.field--name-field-intro-summary p + p {
  margin-top: 1em;
}

.paragraph--type--intro-welcome-text
.field--name-field-intro-summary strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {
  .paragraph--type--intro-welcome-text {
    padding: 96px 0;
  }
}

@media (max-width: 767px) {
  .paragraph--type--intro-welcome-text {
    padding: 72px 0;
  }

  .paragraph--type--intro-welcome-text > .container {
    width: calc(100% - 40px);
  }

  .paragraph--type--intro-welcome-text
  .field--name-field-intro-heading h2 {
    font-size: 32px;
    line-height: 1.2;
  }

  .paragraph--type--intro-welcome-text
  .field--name-field-intro-summary {
    font-size: 16px;
    line-height: 1.75;
  }
}

@media (max-width: 480px) {
  .paragraph--type--intro-welcome-text {
    padding: 64px 0;
  }

  .paragraph--type--intro-welcome-text
  .field--name-field-intro-heading h2 {
    font-size: 28px;
  }
}


/* ==========================================================
   LINK LIST / MISSION + STRATEGIC PRIORITIES
   ========================================================== */

.paragraph--type--link-list {
  position: relative;
  padding: 128px 0;
  box-sizing: border-box;
  background: #1a1a1a;
  color: #fff;
  font-family: "Inter", sans-serif;
}

.paragraph--type--link-list > .container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 64px;
  width: calc(100% - 128px);
  max-width: 1312px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* Eyebrow */

.paragraph--type--link-list
.field--name-field-link-list-eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  color: #f48b9b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: center;
}

/* Heading */

.paragraph--type--link-list
.field--name-field-link-list-heading {
  grid-column: 1 / -1;
  margin-top: 16px;
}

.paragraph--type--link-list
.field--name-field-link-list-heading > * {
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

/* ==========================================================
   LEFT COLUMN / MISSION TEXT
   ========================================================== */

.paragraph--type--link-list .link-list-left {
  grid-column: 1;
  margin-top: 64px;
  min-width: 0;
}

.paragraph--type--link-list
.field--name-field-link-list-summary p {
  margin: 0;
}

/* Lead paragraph */

.paragraph--type--link-list
.field--name-field-link-list-summary p:first-child {
  color: rgba(255, 255, 255, 0.9);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.75;
}

.paragraph--type--link-list
.field--name-field-link-list-summary p:first-child strong {
  color: #fff;
  font-weight: 600;
}

/* Supporting paragraphs */

.paragraph--type--link-list
.field--name-field-link-list-summary p:not(:first-child) {
  margin-top: 40px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

/* ==========================================================
   RIGHT COLUMN / STRATEGIC PRIORITIES
   ========================================================== */

.paragraph--type--link-list .link-list-right {
  grid-column: 2;
  margin-top: 64px;
  min-width: 0;
}

/* Group title */

.paragraph--type--link-list
.field--name-field-link-list-group-title {
  margin-bottom: 24px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* List of links */

.paragraph--type--link-list
.field--name-field-link-list-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.paragraph--type--link-list
.field--name-field-link-list-links .field__item {
  max-width: 100%;
}

/* Stagger every second item */

.paragraph--type--link-list
.field--name-field-link-list-links .field__item:nth-child(even) {
  margin-left: 32px;
}

/* Individual links */

.paragraph--type--link-list
.field--name-field-link-list-links .field__item a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  max-width: 100%;
  padding: 8px 20px;
  box-sizing: border-box;
  background: #a31f34;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: filter 200ms ease;
}

/* Progressively darker reds */

/* Color 1: Links 1, 5, 9, 13... */
.paragraph--type--link-list
.field--name-field-link-list-links .field__item:nth-child(4n + 1) a {
  background: #a31f34;
}

/* Color 2: Links 2, 6, 10, 14... */
.paragraph--type--link-list
.field--name-field-link-list-links .field__item:nth-child(4n + 2) a {
  background: #8b1a2b;
}

/* Color 3: Links 3, 7, 11, 15... */
.paragraph--type--link-list
.field--name-field-link-list-links .field__item:nth-child(4n + 3) a {
  background: #751523;
}

/* Color 4: Links 4, 8, 12, 16... */
.paragraph--type--link-list
.field--name-field-link-list-links .field__item:nth-child(4n) a {
  background: #5e101c;
}

/* Interaction */

.paragraph--type--link-list
.field--name-field-link-list-links .field__item a:hover {
  filter: brightness(1.15);
  color: #fff;
}

.paragraph--type--link-list
.field--name-field-link-list-links .field__item a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {
  .paragraph--type--link-list {
    padding: 96px 0;
  }

  .paragraph--type--link-list > .container {
    column-gap: 40px;
    width: calc(100% - 80px);
  }

  .paragraph--type--link-list
  .field--name-field-link-list-heading h2 {
    font-size: 42px;
  }
}

@media (max-width: 767px) {
  .paragraph--type--link-list {
    padding: 72px 0;
  }

  .paragraph--type--link-list > .container {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 40px);
  }

  .paragraph--type--link-list
  .field--name-field-link-list-heading h2 {
    font-size: 36px;
  }

  .paragraph--type--link-list .link-list-left,
  .paragraph--type--link-list .link-list-right {
    grid-column: 1;
  }

  .paragraph--type--link-list .link-list-left {
    margin-top: 48px;
  }

  .paragraph--type--link-list .link-list-right {
    margin-top: 56px;
  }

  .paragraph--type--link-list .link-list-right .field__item{
    width: 100%;
  }
  .paragraph--type--link-list .link-list-right .field__item a{
    display: block;
  }
  .paragraph--type--link-list
  .field--name-field-link-list-summary p:first-child {
    font-size: 18px;
    line-height: 1.7;
  }

  .paragraph--type--link-list
  .field--name-field-link-list-summary p:not(:first-child) {
    margin-top: 28px;
  }
}

@media (max-width: 480px) {
  .paragraph--type--link-list {
    padding: 64px 0;
  }

  .paragraph--type--link-list
  .field--name-field-link-list-heading h2 {
    font-size: 32px;
  }

  .paragraph--type--link-list
  .field--name-field-link-list-links .field__item:nth-child(even) {
    margin-left: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .paragraph--type--link-list
  .field--name-field-link-list-links .field__item a {
    transition: none;
  }
}


/* ==========================================================
   TEXT CARDS / PATHWAYS OF STUDY
   ========================================================== */

.paragraph--type--text-cards {
  padding: 128px 0;
  background: #fff;
  font-family: "Inter", sans-serif;
}

.paragraph--type--text-cards > .container {
  width: calc(100% - 128px);
  max-width: 1312px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* Section eyebrow */

.paragraph--type--text-cards
.field--name-field-text-cards-eyebrow {
  color: #a31f34;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: center;
}

/* Section heading */

.paragraph--type--text-cards
.field--name-field-text-cards-heading {
  margin-top: 16px;
}

.paragraph--type--text-cards
.field--name-field-text-cards-heading > * {
  margin: 0;
  color: #1a1a1a;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

/* Section subheading */

.paragraph--type--text-cards
.field--name-field-text-cards-sub-heading {
  margin-top: 16px;
  color: #777;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
}

.paragraph--type--text-cards
.field--name-field-text-cards-sub-heading p {
  margin: 0;
}

/* ==========================================================
   CARD GRID
   ========================================================== */

.paragraph--type--text-cards
.field--name-field-text-cards-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  margin-top: 80px;
}

/* Individual grid items */

.paragraph--type--text-cards
.field--name-field-text-cards-cards > .field__item {
  min-width: 0;
}

/* Repeat Figma stagger every three cards */

.paragraph--type--text-cards
.field--name-field-text-cards-cards > .field__item:nth-child(3n + 1) {
  margin-top: 48px;
}

.paragraph--type--text-cards
.field--name-field-text-cards-cards > .field__item:nth-child(3n + 2) {
  margin-top: 0;
}

.paragraph--type--text-cards
.field--name-field-text-cards-cards > .field__item:nth-child(3n) {
  margin-top: 64px;
}

/* Nested paragraph */

.paragraph--type--text-cards
.paragraph--type--text-card {
  height: 100%;
}

/* ==========================================================
   CARD LINK - OVERRIDE EXISTING STYLES
   ========================================================== */

.paragraph--type--text-cards
.paragraph--type--text-card .card-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  height: 100%;
  min-height: 294px;
  padding: 40px;
  box-sizing: border-box;

  background: #fff;
  border: 1px solid #f3f4f6;
  box-shadow: none;
  color: #1a1a1a;
  text-align: left;
  text-decoration: none;

  transition:
    transform 300ms ease,
    box-shadow 300ms ease;
}

/* Red accent line */

.paragraph--type--text-cards
.paragraph--type--text-card .card-link::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 32px;
  height: 3px;
  margin-bottom: 24px;
  background: #a31f34;
}

/* Card eyebrow */

.paragraph--type--text-cards
.paragraph--type--text-card .field--name-field-pre-text {
  color: #a31f34;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Card title */

.paragraph--type--text-cards
.paragraph--type--text-card .field--name-field-main-text {
  margin-top: 12px;
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.333;
}

/* Card description */

.paragraph--type--text-cards
.paragraph--type--text-card .field--name-field-sub-text {
  margin-top: 16px;
  color: #666;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.625;
}

/* ==========================================================
   LEARN MORE
   ========================================================== */

.paragraph--type--text-cards
.paragraph--type--text-card .text-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 32px;
  color: #a31f34;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.paragraph--type--text-cards
.paragraph--type--text-card .text-card__cta-arrow {
  display: inline-block;
  font-size: 17px;
  line-height: 1;
  transition: transform 200ms ease;
}



/* ==========================================================
   HOVER / FOCUS
   ========================================================== */

.paragraph--type--text-cards
.paragraph--type--text-card .card-link:hover,
.paragraph--type--text-cards
.paragraph--type--text-card .card-link:focus-visible {
  transform: translateY(-4px);
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.paragraph--type--text-cards
.paragraph--type--text-card .card-link:hover .text-card__cta-arrow,
.paragraph--type--text-cards
.paragraph--type--text-card .card-link:focus-visible .text-card__cta-arrow {
  transform: translateX(4px);
}


/* Accessible keyboard focus */

.paragraph--type--text-cards
.paragraph--type--text-card .card-link:focus-visible {
  outline: 2px solid #a31f34;
  outline-offset: 4px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991px) {
  .paragraph--type--text-cards {
    padding: 96px 0;
  }

  .paragraph--type--text-cards > .container {
    width: calc(100% - 80px);
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-cards > .field__item {
    margin-top: 0;
  }

  /* Alternate stagger on two-column layout */
  .paragraph--type--text-cards
  .field--name-field-text-cards-cards > .field__item:nth-child(odd) {
    margin-top: 32px;
  }

  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link {
    padding: 32px;
  }
}

@media (max-width: 767px) {
  .paragraph--type--text-cards {
    padding: 72px 0;
  }

  .paragraph--type--text-cards > .container {
    width: calc(100% - 40px);
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-heading h2 {
    font-size: 36px;
    line-height: 1.15;
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-cards {
    grid-template-columns: 1fr;
    margin-top: 48px;
    gap: 24px;
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-cards > .field__item {
    margin-top: 0;
  }

  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link {
    min-height: 0;
    padding: 32px;
  }

  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link::after {
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .paragraph--type--text-cards {
    padding: 64px 0;
  }

  .paragraph--type--text-cards
  .field--name-field-text-cards-heading h2 {
    font-size: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link,
  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link::after {
    transition: none;
  }
  .paragraph--type--text-cards
  .paragraph--type--text-card .text-card__cta-arrow {
    transition: none;
  }
  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link:hover,
  .paragraph--type--text-cards
  .paragraph--type--text-card .card-link:focus-visible {
    transform: none;
  }
}


/* ==========================================================
   NEWS GRID
   ========================================================== */

.paragraph--type--news-grid {
  position: relative;
  padding: 128px 0;
  box-sizing: border-box;
  background: #f7f7f7;
  font-family: "Inter", sans-serif;
}

.paragraph--type--news-grid > .container {
  width: calc(100% - 128px);
  max-width: 1312px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* ==========================================================
   SECTION HEADING
   ========================================================== */

.paragraph--type--news-grid .news-heading-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
}

.paragraph--type--news-grid .news-eyebrow-heading {
  min-width: 0;
}

.paragraph--type--news-grid
.field--name-field-news-eyebrow {
  color: #a31f34;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.paragraph--type--news-grid
.field--name-field-news-heading {
  margin-top: 16px;
}

.paragraph--type--news-grid
.field--name-field-news-heading > * {
  margin: 0;
  color: #1a1a1a;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

/* All News link */

.paragraph--type--news-grid
.field--name-field-read-more-link {
  flex: 0 0 auto;
  padding-bottom: 4px;
}

.paragraph--type--news-grid
.field--name-field-read-more-link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  transition: color 200ms ease;
}

.paragraph--type--news-grid
.field--name-field-read-more-link a::after {
  content: "→";
  display: inline-block;
  font-size: 17px;
  line-height: 1;
  transition: transform 200ms ease;
}

.paragraph--type--news-grid
.field--name-field-read-more-link a:hover,
.paragraph--type--news-grid
.field--name-field-read-more-link a:focus-visible {
  color: #a31f34;
}

.paragraph--type--news-grid
.field--name-field-read-more-link a:hover::after,
.paragraph--type--news-grid
.field--name-field-read-more-link a:focus-visible::after {
  transform: translateX(4px);
}

/* ==========================================================
   NEWS VIEW / GRID
   ========================================================== */

.paragraph--type--news-grid .view-news {
  margin-top: 64px;
}

.paragraph--type--news-grid
.view-news .view-content .views-grouping {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.paragraph--type--news-grid
.view-news .views-row {
  min-width: 0;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 {
  margin: 0;
  padding: 0;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .node__content {
  margin: 0;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link {
  display: block;
  position: relative;
  color: inherit;
  text-align: left;
  text-decoration: none;
}

/* ==========================================================
   NEWS IMAGES
   ========================================================== */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  max-width: none;
  object-fit: cover;
  object-position: center;

  transform: scale(1);
  clip-path: inset(0);
  transition:
    transform 500ms ease,
    clip-path 500ms ease;
}

/*
 * Image hover: scale 5%, with matching clip-path
 * to retain the original image boundaries.
 */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:hover > img,
.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:focus-visible > img {
  transform: scale(1.05);
  clip-path: inset(2.381%);
}

/* Subtle MIT red image overlay */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: rgba(163, 31, 52, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease;
}

/* Red corner accent */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: #a31f34;
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:hover::before,
.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:hover::after,
.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:focus-visible::before,
.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:focus-visible::after {
  opacity: 1;
}

/* ==========================================================
   NEWS METADATA / CATEGORY + DATE
   ========================================================== */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .news-type-date {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

/* News category */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .field--name-field-news-type {
  color: #a31f34;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Publication date */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .published-date {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #666;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

/* Hide "Published" label */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .published-date .field__label {
  display: none;
}

/* Separator dot */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .published-date::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #d1d5db;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .published-date .field__item {
  margin: 0;
  padding: 0;
  color: inherit;
  white-space: nowrap;
}

/* ==========================================================
   NEWS HEADLINE
   ========================================================== */

.paragraph--type--news-grid
.node--view-mode-teaser-v2 .faux-full-title {
  margin: 12px 0 0;
  padding: 0;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.375;
  letter-spacing: 0;
  text-transform: none;
  transition: color 200ms ease;
}

.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:hover .faux-full-title,
.paragraph--type--news-grid
.node--view-mode-teaser-v2 a.field-group-link:focus-visible .faux-full-title {
  color: #a31f34;
}

/* Keyboard focus */

.paragraph--type--news-grid a:focus-visible {
  outline: 2px solid #a31f34;
  outline-offset: 4px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1199px) {
  .paragraph--type--news-grid
  .field--name-field-news-heading h2 {
    font-size: 42px;
    line-height: 1.1;
  }
}

@media (max-width: 991px) {
  .paragraph--type--news-grid {
    padding: 96px 0;
  }

  .paragraph--type--news-grid > .container {
    width: calc(100% - 80px);
  }

  .paragraph--type--news-grid
  .view-news .view-content .views-grouping {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 24px;
  }
}

@media (max-width: 767px) {
  .paragraph--type--news-grid {
    padding: 72px 0;
  }

  .paragraph--type--news-grid > .container {
    width: calc(100% - 40px);
  }

  .paragraph--type--news-grid .news-heading-wrap {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
  }

  .paragraph--type--news-grid
  .field--name-field-news-heading h2 {
    font-size: 36px;
    line-height: 1.15;
  }

  .paragraph--type--news-grid .view-news {
    margin-top: 48px;
  }
}

@media (max-width: 575px) {
  .paragraph--type--news-grid {
    padding: 64px 0;
  }

  .paragraph--type--news-grid
  .field--name-field-news-heading h2 {
    font-size: 32px;
  }

  .paragraph--type--news-grid
  .view-news .view-content .views-grouping {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .paragraph--type--news-grid a,
  .paragraph--type--news-grid a::before,
  .paragraph--type--news-grid a::after,
  .paragraph--type--news-grid a img,
  .paragraph--type--news-grid .faux-full-title {
    transition: none;
  }

  .paragraph--type--news-grid
  .node--view-mode-teaser-v2 a.field-group-link:hover > img,
  .paragraph--type--news-grid
  .node--view-mode-teaser-v2 a.field-group-link:focus-visible > img {
    transform: none;
    clip-path: inset(0);
  }
}


/* ==========================================================
   EVENTS / EXPERIENCE DUSP
   ========================================================== */

.paragraph--type--event-list {
  position: relative;
  padding: 128px 0;
  box-sizing: border-box;
  background: #fff;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
}

.paragraph--type--event-list > .container {
  display: grid;
  grid-template-columns: minmax(0, 480fr) minmax(0, 768fr);
  gap: 0 64px;
  align-items: start;
  width: calc(100% - 128px);
  max-width: 1312px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* ==========================================================
   LEFT COLUMN
   ========================================================== */

.paragraph--type--event-list .event-list-left {
  min-width: 0;
  position: sticky;
  top: 96px;
}

.paragraph--type--event-list
.field--name-field-events-eyebrow {
  color: #a31f34;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.paragraph--type--event-list
.field--name-field-events-heading {
  margin-top: 16px;
}

.paragraph--type--event-list
.field--name-field-events-heading > * {
  margin: 0;
  color: #1a1a1a;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.paragraph--type--event-list
.field--name-field-events-summary {
  margin-top: 24px;
  color: #666;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.625;
}

.paragraph--type--event-list
.field--name-field-events-summary p {
  margin: 0;
}

/* Featured event image */

.paragraph--type--event-list
.event-list-left .views-element-container {
  margin-top: 32px;
}

.paragraph--type--event-list
.event-list-left .views-field-title {
  display: none;
}

.paragraph--type--event-list
.event-list-left .views-field-field-featured-images .field-content {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3f4f6;
}

.paragraph--type--event-list
.event-list-left .views-field-field-featured-images img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

/* ==========================================================
   RIGHT COLUMN — EVENTS VIEW
   ========================================================== */

.paragraph--type--event-list .event-list-right {
  min-width: 0;
}

.paragraph--type--event-list
.event-list-right .views-row {
  margin: 0;
  padding: 0;
}

.paragraph--type--event-list
.event-list-right .node--view-mode-teaser-v2,
.paragraph--type--event-list
.event-list-right .node--view-mode-teaser-v2 .node__content {
  margin: 0;
  padding: 0;
}

/* Entire event row is clickable */

.paragraph--type--event-list
.event-list-right .event-teaser-link {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 32px;

  position: relative;
  width: calc(100% + 32px);
  min-height: 135px;
  margin: 0 -16px;
  padding: 28px 16px;
  box-sizing: border-box;

  border-top: 1px solid #f3f4f6;
  background: transparent;
  color: #1a1a1a;
  text-align: left;
  text-decoration: none;

  transition: background-color 200ms ease;
}

.paragraph--type--event-list
.event-list-right .event-teaser-link:hover,
.paragraph--type--event-list
.event-list-right .event-teaser-link:focus-visible {
  background: #f7f7f7;
}

/* ==========================================================
   EVENT DATE BADGE — PSEUDO FIELD
   ========================================================== */

.paragraph--type--event-list
.event-date-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 56px;
  margin: 0;
  padding: 0;
  text-align: center;
}

.paragraph--type--event-list
.event-date-badge__month {
  display: block;
  color: #a31f34;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.paragraph--type--event-list
.event-date-badge__day {
  display: block;
  color: #1a1a1a;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

/* ==========================================================
   EVENT TITLE / SUMMARY
   ========================================================== */

.paragraph--type--event-list
.event-teaser-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.paragraph--type--event-list
.event-teaser-content .faux-full-title {
  margin: 0;
  padding: 0;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;

  transition: color 200ms ease;
}

.paragraph--type--event-list
.event-teaser-link:hover .faux-full-title,
.paragraph--type--event-list
.event-teaser-link:focus-visible .faux-full-title {
  color: #a31f34;
}

/* Optional event summary */

.paragraph--type--event-list
.event-teaser-content .field--name-field-short-summary {
  margin-top: 4px;
  color: #666;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.625;
}

.paragraph--type--event-list
.event-teaser-content .field--name-field-short-summary p {
  margin: 0;
}

/* ==========================================================
   EVENT TIME + LOCATION
   ========================================================== */

.paragraph--type--event-list
.event-time-room {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 2px;
  margin-top: 8px;

  color: #666;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

.paragraph--type--event-list
.event-time-room .field--name-field-event-dates,
.paragraph--type--event-list
.event-time-room .field--name-field-event-location {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}

.paragraph--type--event-list
.event-time-room time {
  color: inherit;
  font: inherit;
}

/* Separator between time and room */

.paragraph--type--event-list
.event-time-room .field--name-field-event-location::before {
  content: "—";
  margin-right: 8px;
  color: inherit;
}

/* ==========================================================
   EVENT ROW ARROW
   ========================================================== */

.paragraph--type--event-list
.event-list-right .event-teaser-link::after {
  content: "→";
  display: block;
  grid-column: 3;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  color: #d1d5db;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;

  transition:
    color 200ms ease,
    transform 200ms ease;
}

.paragraph--type--event-list
.event-list-right .event-teaser-link:hover::after,
.paragraph--type--event-list
.event-list-right .event-teaser-link:focus-visible::after {
  color: #a31f34;
  transform: translateX(4px);
}

/* Keyboard accessibility */

.paragraph--type--event-list
.event-teaser-link:focus-visible {
  outline: 2px solid #a31f34;
  outline-offset: 2px;
}

/* ==========================================================
   ALL EVENTS LINK
   ========================================================== */

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link {
  border-top: 1px solid #f3f4f6;
  padding-top: 32px;
}

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #1a1a1a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;

  transition: color 200ms ease;
}

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a::after {
  content: "→";
  display: inline-block;
  color: inherit;
  font-size: 18px;
  line-height: 1;

  transition: transform 200ms ease;
}

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a:hover,
.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a:focus-visible {
  color: #a31f34;
}

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a:hover::after,
.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a:focus-visible::after {
  transform: translateX(4px);
}

.paragraph--type--event-list
.event-list-right > .field--name-field-read-more-link a:focus-visible {
  outline: 2px solid #a31f34;
  outline-offset: 4px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1199px) {
  .paragraph--type--event-list > .container {
    gap: 40px;
  }

  .paragraph--type--event-list
  .field--name-field-events-heading h2 {
    font-size: 42px;
    line-height: 1.1;
  }

  .paragraph--type--event-list
  .event-list-right .event-teaser-link {
    gap: 24px;
  }
}

@media (max-width: 991px) {
  .paragraph--type--event-list {
    padding: 96px 0;
  }

  .paragraph--type--event-list > .container {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 80px);
    gap: 64px;
  }

  .paragraph--type--event-list .event-list-left {
    position: static;
  }

  .paragraph--type--event-list
  .event-list-left .views-field-field-featured-images .field-content {
    max-width: 480px;
  }
}

@media (max-width: 767px) {
  .paragraph--type--event-list {
    padding: 72px 0;
  }

  .paragraph--type--event-list > .container {
    width: calc(100% - 40px);
    gap: 48px;
  }

  .paragraph--type--event-list
  .field--name-field-events-heading h2 {
    font-size: 36px;
    line-height: 1.15;
  }

  .paragraph--type--event-list
  .event-list-right .event-teaser-link {
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    gap: 16px;
    min-height: 0;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .paragraph--type--event-list .event-date-badge {
    width: 48px;
  }

  .paragraph--type--event-list
  .event-teaser-content .faux-full-title {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .paragraph--type--event-list {
    padding: 64px 0;
  }

  .paragraph--type--event-list
  .field--name-field-events-heading h2 {
    font-size: 32px;
  }

  .paragraph--type--event-list
  .event-list-right .event-teaser-link {
    grid-template-columns: 44px minmax(0, 1fr) 16px;
    gap: 12px;
    padding: 20px 16px;
  }

  .paragraph--type--event-list .event-date-badge {
    width: 44px;
  }

  .paragraph--type--event-list
  .event-date-badge__day {
    font-size: 26px;
  }

  .paragraph--type--event-list
  .event-teaser-content .faux-full-title {
    font-size: 15px;
  }

  .paragraph--type--event-list
  .event-teaser-content .field--name-field-short-summary {
    font-size: 13px;
  }
}

/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .paragraph--type--event-list .event-teaser-link,
  .paragraph--type--event-list .event-teaser-link::after,
  .paragraph--type--event-list .faux-full-title,
  .paragraph--type--event-list .field--name-field-read-more-link a,
  .paragraph--type--event-list .field--name-field-read-more-link a::after {
    transition: none;
  }

  .paragraph--type--event-list
  .event-teaser-link:hover::after,
  .paragraph--type--event-list
  .event-teaser-link:focus-visible::after,
  .paragraph--type--event-list
  .field--name-field-read-more-link a:hover::after,
  .paragraph--type--event-list
  .field--name-field-read-more-link a:focus-visible::after {
    transform: none;
  }
}
