/* University Template over-ride
   Launched: 2023-04-20
   Author: Shawn Maust, Aaron Greene, Notre Dame Web Team
   ----------------------------------------------------*/

@media only screen {
  [type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: #fefefe; border: 1px solid #cacaca; border-radius: 4px; box-shadow: inset 0 1px 2px hsla(0,0%,4%,.1); box-sizing: border-box; color: #0a0a0a; display: block; font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.5; margin: 0; padding: .5rem; transition: box-shadow .5s,border-color .25s ease-in-out; width: 100%; }
  input:focus { border: 2px solid var(--brand-blue-bright); outline: none; }
  select:not([multiple]) { padding-bottom: 0; padding-top: 0; }
  select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); background-origin: content-box; background-position: right -.5rem center; background-repeat: no-repeat; background-size: 20px 12px; border: 1px solid #cacaca; border-radius: 4px; color: #0a0a0a; font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.5; margin: 0 0 1rem; padding: .5rem 1.5rem .5rem .5rem; width: 100%; }
  select,select:focus,textarea:focus { background-color: #fefefe; transition: box-shadow .5s,border-color .25s ease-in-out; }
  select:focus,textarea:focus { border: 2px solid var(--brand-blue-bright); box-shadow: 0 0 5px #cacaca; outline: none; }

  .list-inline { gap:1rem; width:100%;
  }
    .list-inline li { flex:1 0 auto; margin:0; }

  details { border-radius:.6em; }
  summary { font-family:var(--font-heading-article); padding:.625rem 0 .75rem 2rem; }

  fieldset { border:none; padding:0; }
  legend.card-label { margin-bottom:0; }

  .site-content a.card-link[href$=".pdf"]:before { display:none }

  /* Sections */
  .section { --section-padding:2rem; margin-bottom:var(--section-padding); padding:var(--section-padding) 0; }
  .section-image { margin:calc(var(--section-padding)*-1) var(--gutter-offset) 0; width:100vw; }
  .section-body { margin:0 var(--gutter-offset); padding:var(--section-padding);}
  .section-image img { width:100%; }

  .section--sky-blue { background:var(--sky-blue); }
  .section--sky-blue .hover-bg:hover { background:#fff; }

  /* Utility */
  .pb-0 { padding-bottom:0; }
  .pt-0 { padding-top:0; }
  .pl-0 { padding-left:0; }
  .pr-0 { padding-right:0; }
  .mb-0 { margin-bottom:0; }
  .mt-0 { margin-top:0; }
  .ml-0 { margin-left:0; }
  .mr-0 { margin-right:0; }

  /* Dialog */
  dialog .btn { background:#fff; }
  dialog .btn:focus,dialog .btn:hover { background:var(--sky-blue-light); }

  /* Layout */
  .page-image.border:after { border:1px solid hsla(0,0%,100%,.7); bottom:.75rem; content:""; display:block; left:.75rem; position:absolute; right:-.75rem; top:.75rem; }
  .page-secondary { --margin-offset:2rem; margin-top:var(--margin-offset); }

  .pull-left,.pull-right { position:relative; }
  .pull-right.border:after { left:.75rem; right:-.75rem; }
  .pull-left.border:after,.pull-right.border:after { border:1px solid hsla(0,0%,100%,.7); bottom:.75rem; content:""; display:block; position:absolute; top:.75rem; }
  .pull-left.border:after { left:-.75rem; right:.75rem; }

  /* Header */
  .page-header:before { background-image:url(images/hdr-science-sm.jpg); z-index:-2; }
  .page-image img { height:100%; -o-object-fit:cover; object-fit:cover; }

  /* Home */
    .home .page-header .page-image img { height:auto; }

  .home .page-lede { color:var(--brand-blue); font-family:var(--font-heading); font-size:1.8em; line-height:1.2; }
  .home-intro { padding-top:calc(var(--section-padding) - 1rem); }

  /* Degrees */
  .fieldset-degrees { border:none; margin-top:2rem; padding:0;
  }
    .fieldset-degrees .fieldset-degrees select,.fieldset-degrees input { min-width:18rem; }
    .fieldset-degrees .reset-btn { min-width:auto; }

  .degree-list { --grid-gap:1em; }
  .degree-item { background:var(--sky-blue-light); border-bottom:.25em solid var(--sky-blue-dark); }
    .degree-item:hover { background:var(--sky-blue); }
    .degree-item .card-label { font-size:.9rem; }
    .degree-item .card-title { margin-bottom:.5em; }
    .degree-item .area-of-study { color:var(--gray); display:block; font-size:.9em; margin-top:1em; }
  /* Opportunities */
    .opportunity-item details { border:1px solid var(--gray-light); }
    .opportunity-item details .btn { background:#fff; }
    .opportunity-item summary { font-size:1.5rem; font-weight:400; margin-right:-2rem; padding-right:2rem; }
    .opportunity-item details[open] { background:var(--sky-blue-light); }
    .opportunity-item details[open] summary { margin-bottom:1rem; }

  .dept-item svg { vertical-align:middle; }

  /* News */
  .section--news-publications .card { background:var(--sky-blue); padding:1rem;}

  /* Events */
  .event.snippet.featured { grid-gap:1rem; grid-template-columns:1fr; margin-top:1rem; position:relative; }
    .event.snippet.featured .hover-grow { margin-bottom:0; }
    .event.snippet.featured .meta-item.event-date { background:#fff; left:0; min-width:5.5rem; padding:1rem; position:absolute; top:0; }
  .list-events .event--is-repeat { display:none;  }

  /* Profiles */
  .office-select { margin-top:2rem; }
  .profile-image { margin:0 auto; max-width:20rem;}

  /* Footer */
  .nav-footer .active a { background:var(--brand-blue-light); }

  /* Twitter */
  .home-twitter .section-title { font-size: 1.8rem; }
  .tweet { background-color:var(--sky-blue-light); border-radius:1rem; margin-bottom:1em; padding:1.5rem; }
    .tweet .date { color:var(--gray);font-size:.8em; margin-bottom:.5em;}
    .tweet:last-child {border-bottom:none; /*margin-bottom:0;*/}
    .tweet .tweet-actions svg {transition: all 125ms ease;}
    .tweet:hover .tweet-actions svg {fill:#61768d;}
    .tweet:hover .tweet-actions svg:hover {fill:#002b5c;}
  .twitter-column {padding:0 .9375rem;}
  .twitter-content {background:#fff; padding:.9375rem;}
  .tweet-text {font-size: .9em;}
  .tweet-user-img {display:none;}
  .tweet-actions .twitter-like:active,.tweet-actions .twitter-reply:active,.tweet-actions .twitter-retweet:active {fill-opacity:50%;}
}

/* 480px
----------------------------------------------------*/

/* 768px
----------------------------------------------------*/

@media only screen and (min-width:48em) {
  /* Sections */
  .section-image {  --vertical-offset: calc(var(--section-padding)*-1.5);  --horizontal-offset: var(--gutter-offset); margin:0; width:auto; }
    .section-image.pull-top { margin-top:var(--vertical-offset); }
    .section-image.pull-bottom { margin-bottom:var(--vertical-offset); }
    .section-image.pull-left { margin-left:var(--horizontal-offset);}
    .section-image.pull-right { margin-right:var(--horizontal-offset);}
    .section-image.pull-top.pull-bottom img { height:100%; -o-object-fit:cover; object-fit:cover; }

  .section-body { margin:0 auto; padding:0 1rem;}

  /* Header */
  .page-header:before { background-image:url(images/hdr-science-md.jpg); }
  .page-header:after { background:url(images/hdr-ptn.png) 50% repeat; bottom:0; content:""; display:block; left:0; position:absolute; right:0; top:0; z-index:-1; }

  /* Academics */
  .section.section--academics-departments { margin-bottom:10rem; }

  /* News */
  .horizontal .card-image,.horizontal-md .card-image { min-width:32%; }
  .featured .horizontal .card-image { min-width:40%; }

  /* Events */
  .section--featured-event .meta-item.event-date { left:0; position:absolute; top:0; }

  /* Profiles */
  .profile-grid {  grid-template-columns:[main-start] 2fr [main-end aside-start] 1fr [aside-end]; grid-template-rows:auto 1fr; }
  .profile-image { grid-column:aside; grid-row:1; }
  .profile-body { grid-column:main; grid-row:span 2;}
  .profile-aside { display:flex; flex-flow:column; grid-column:aside; grid-row:2; }
  .profile-mailing { font-size:90%; margin-top:1rem; }
  .profile-more { margin-top:1rem; }

  /* Twitter */
  .home-twitter { margin-top:2rem; }
  .tweet-user-img {display:block;}
}

/* 960px
----------------------------------------------------*/

@media only screen and (min-width:60em) {
  .page-primary { margin-bottom:2rem; min-height:var(--sidebar-height); }
  .page-header.has-title.has-image:after { grid-row:header-start /  title-end; }

  .image-default,.image-full-left,.image-full-right,.image-left,.image-right { margin-bottom:.2rem; margin-top:.4rem; }
  .wide-grid { grid-gap:3rem; }

  /* Sections */
  .section { --section-padding:3rem; }
  .section-heading { align-items:center; display:flex; gap:1.5rem; }
  .section-heading .btn { align-self:center; }

  .page-primary .section:first-of-type { padding-top:calc(var(--section-padding) - 2.5rem); }

  /* Home */
  .home .page-header { grid-template-columns:[screen-start] 2vw [container-start title-start] var(--title-width) [title-end image-start] var(--image-width) [image-end container-end] 2vw [screen-end]; }
  .page-title-wrapper { margin-bottom:1rem; }
  .home .page-image.full { grid-column:title-start /  image-end; }
  .home .page-image.full:after { border:1px solid #fff; bottom:6.5rem; content:""; display:block; left:1rem; position:absolute; right:1rem; top:-1rem; }
  .home .page-title-wrapper { grid-column:1 /  -1; justify-self:center; padding:1rem 2rem; }
  .home .page-lede { font-size:2.2em; margin:0; padding:0; }

  .opportunity-item summary { font-size:1.625rem; padding:.75rem 0 1rem 2rem; }

  /* Research */
  .section--academics-callout:after,.section--research-callout:after { background:url(images/science-ptn-blue.svg) 68vw 10px /1000px 1000px no-repeat; bottom:0; content:""; display:block; left:var(--gutter-offset); opacity:.15; position:absolute; right:var(--gutter-offset); top:0; }

  /* News */
  .section--home-news .article.snippet { margin-bottom:0; }
  .events .heading-action .btn--subscribe,.news .heading-action .btn--subscribe { background-color:#fff; display:block; margin-top:-11rem; position:relative;  }

  .news .featured-stories .card-image { --card-image-width:50%; }
  .news .featured-stories .large-feature { margin-bottom:3rem; padding:3rem 0 0; position:relative; }
  .news .featured-stories .large-feature:before { background-color:var(--sky-blue-light); bottom:3rem; content:""; display:block; left:15%; position:absolute; right:0; top:0; z-index:-1;  }
  .news .featured-stories .large-feature h2,.news .featured-stories .large-feature h3 { margin-top:0; }
  .news .featured-stories .large-feature .card-body { padding-bottom:5rem; width:50%; }

  /* Events */
  .event.snippet.featured { grid-template-columns:30% 1fr; }
  .event.snippet.featured .card-image { grid-column:1; }
}

/* 1280px
----------------------------------------------------*/

@media only screen and (min-width:80em) {
  .section { --section-padding:3rem; }

  .page-primary { margin-bottom:4rem; }
  .page-secondary { margin-top:6rem; }

  /* Header */
  .page-header:before { background-image:url(images/hdr-science-lg.jpg); }

  /* People */
  .profile-grid { grid-template-columns:[main-start] 3fr [main-end aside-start] 1fr [aside-end];}
}

/* 1600px
----------------------------------------------------*/

@media only screen and (min-width:100em) {
  .section { --section-padding:4rem; }
  .wide-grid { grid-gap:4rem; }
}

/* 1920px
----------------------------------------------------*/

@media only screen and (min-width:120em) {
  /* Sections */
  .section-image { --horizontal-offset:-6rem; }
  .page-image.full { margin-right:0; width:100%; }
}

@supports (display:grid) {
  .grid>[hidden] { display:none; }
}

/* Print
----------------------------------------------------*/

/* Plugins
----------------------------------------------------*/

/*!
 * simpleLightbox
 * https://github.com/dbrekalo/simpleLightbox
 * Copyright (c) 2018 Damir Brekalo
 */

.slbOverlay,.slbWrap,.slbWrapOuter{bottom:0;left:0;position:fixed;right:0;top:0}

.slbOverlay{animation:slbOverlay .5s;background-color:#000;opacity:.85;overflow:hidden;z-index:2000}

.slbWrapOuter{overflow-x:hidden;overflow-y:auto;z-index:2010}

.slbWrap{position:absolute;text-align:center}

.slbWrap:before{content:"";height:100%}

.slbContentOuter,.slbWrap:before{display:inline-block;vertical-align:middle}

.slbContentOuter{box-sizing:border-box;margin:0 auto;max-width:100%;padding:0 10%;position:relative;text-align:left;z-index:2020}

.slbContentEl .slbContentOuter{padding:5em 1em}

.slbContent{position:relative}

.slbContentEl .slbContent{animation:slbEnter .3s;background-color:#fff;box-shadow:0 .2em 1em rgba(0,0,0,.4)}

.slbImageWrap{animation:slbEnter .3s;position:relative}

.slbImageWrap:after{background-color:#fff;bottom:5em;box-shadow:0 .2em 1em rgba(0,0,0,.6);content:"";display:block;left:0;position:absolute;right:0;top:5em;z-index:-1}

.slbDirectionNext .slbImageWrap{animation:slbEnterNext .4s}

.slbDirectionPrev .slbImageWrap{animation:slbEnterPrev .4s}

.slbImage{box-sizing:border-box;display:block;height:auto;line-height:0;margin:0 auto;max-width:100%;padding:5em 0;width:auto}

.slbCaption{word-wrap:normal;bottom:0;color:#fff;color:hsla(0,0%,100%,.7);display:inline-block;font-size:1.4em;left:0;max-width:100%;overflow:hidden;padding:.71429em 0;position:absolute;right:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}

.slbArrow,.slbCloseBtn{background:none;border:0;cursor:pointer;margin:0;padding:0}

.slbArrow::-moz-focus-inner,.slbCloseBtn::-moz-focus-inner{border:0;padding:0}

.slbArrow:hover,.slbCloseBtn:hover{opacity:.5}

.slbArrow:active,.slbCloseBtn:active{opacity:.8}

.slbCloseBtn{animation:slbEnter .3s;color:#fff;font-size:3em;height:1.66667em;line-height:1.66667em;position:absolute;right:calc(10% - .5em);text-align:center;top:0;width:1.66667em}

.slbLoading .slbCloseBtn{display:none}

.slbLoadingText{color:#fff;color:hsla(0,0%,100%,.9);font-size:1.4em}

.slbArrows{left:0;position:fixed;right:0;top:50%}

.slbLoading .slbArrows{display:none}

.slbArrow{height:10em;margin-top:-5em;opacity:.7;overflow:hidden;position:absolute;text-indent:-999em;top:50%;width:5em}

.slbArrow:before{border:.8em solid transparent;content:"";left:50%;margin:-.8em 0 0 -.8em;position:absolute;top:50%}

.slbArrow.next{right:0}

.slbArrow.next:before{border-left-color:#fff}

.slbArrow.prev{left:0}

.slbArrow.prev:before{border-right-color:#fff}

.slbIframeCont{height:0;margin:5em 0;overflow:hidden;padding-top:56.25%;width:80em}

.slbIframe{background:#000;box-shadow:0 .2em 1em rgba(0,0,0,.6);height:100%;left:0;position:absolute;top:0;width:100%}

@keyframes slbOverlay{0%{opacity:0}to{opacity:.85}}

@keyframes slbEnter{0%{opacity:0;transform:translate3d(0, -1em, 0)}to{opacity:1;transform:translateZ(0)}}

@keyframes slbEnterNext{0%{opacity:0;transform:translate3d(4em, 0, 0)}to{opacity:1;transform:translateZ(0)}}

@keyframes slbEnterPrev{0%{opacity:0;transform:translate3d(-4em, 0, 0)}to{opacity:1;transform:translateZ(0)}}

/* Overrides */

.slbOverlay { background-color:rgba(0,0,0,.7); }

.slbContent .card-label { margin: 0; }

.slbContent .card-title { font-size: 2.2em; margin-bottom: .1em; }

.slbContent .card-body .position-title { margin-bottom: 1em; }
