/* TODO: Link/button hover styles */

/*
 * Style tweaks to Twitter Bootstrap for SC23
 * --------------------------------------------------
 */

/** Friendly Category Colors 

Aero Purple #7f3f98
Planet Green #1c9b8a  darkened from past years to meet WCAG text/background contrast requirements
Human Space Flight Orange #d87122  darkened from past years to meet WCAG text/background contrast requirements
Supercomp Red #de1219   darkened from past years to meet WCAG text/background contrast requirements
Universe Blue #2e3191

SC23 Conference Logo Colors

Teal
#4abeb4
rgb(74,171,190)
hsl(189.8,47.2%,51.8%)

Green
#7fc470
rgb(127,196,112)
hsl(109.3,41.6%,60.4%)

White
#fff
rgb(255,255,255)
hsl(0,0%,100%)

**/



/* Setting sitewide color variables for Friendly Terms and more */
:root,
[data-bs-theme=light] {
  --aero-bg-color: rgb(127, 63, 152);
  --aero-lt-bg-color: rgba(127, 63, 152, 0.10);

  --planet-bg-color: rgb(28, 155, 138);
  --planet-lt-bg-color: rgba(28, 155, 138, 0.10);

  --space-bg-color: rgb(216, 113, 34);
  --space-lt-bg-color: rgba(216, 113, 34, 0.10);

  --supercomp-bg-color: rgb(222, 18, 25);
  --supercomp-lt-bg-color: rgba(222, 18, 25, 0.10);

  --universe-bg-color: rgb(46, 49, 145);
  --universe-lt-bg-color: rgba(46, 49, 145, 0.10);

  --body-text-color: #001122;
  --shadow-background: hsl(200 35% 95%);

  /* SC24 colors */
  --bs-dark: #1a3748;

  /* Hover colors are 4% darker */
  --aero-bg-color: hsl(283, 41%, 42%);
  --aero-bg-color-hover: hsl(283, 41%, 38%);

  --planet-bg-color: hsl(172, 69%, 36%);
  --planet-bg-color-hover: hsl(172, 69%, 32%);

  --human-bg-color: hsl(26, 73%, 49%);
  --human-bg-color-hover: hsl(26, 73%, 45%);

  --super-bg-color: hsl(358, 85%, 47%);
  --super-bg-color-hover: hsl(358, 85%, 43%);

  --universe-bg-color: hsl(238, 52%, 37%);
  --universe-bg-color-hover: hsl(238, 52%, 33%);

  /* BS5 Overrides */
  --bs-border-color: var(--bs-gray-500);
  --bs-body-line-height: 1.8;

  --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.card {
  --bs-card-border-color: var(--bs-gray-500);
}

/* Boostrap 5 overrides */
.bg-dark {
  background-color: var(--bs-dark) !important;
}

.bg-aero {
  background-color: var(--aero-bg-color) !important;
}

.bg-aero-hover:hover {
  background-color: var(--aero-bg-color-hover) !important;
}

.bg-planet {
  background-color: var(--planet-bg-color) !important;
}

.bg-planet-hover:hover {
  background-color: var(--planet-bg-color-hover) !important;
}

.bg-human {
  background-color: var(--human-bg-color) !important;
}

.bg-human-hover:hover {
  background-color: var(--human-bg-color-hover) !important;
}

.bg-super {
  background-color: var(--super-bg-color) !important;
}

.bg-super-hover:hover {
  background-color: var(--super-bg-color-hover) !important;
}

.bg-nasa101 {
  background-color: var(--bs-secondary) !important;
}

a,
.nav-link {
  font-weight: 600;
}

.fw-bold {
  font-weight: 600 !important;
}

.bg-universe {
  background-color: var(--universe-bg-color) !important;
}

.bg-universe-hover:hover {
  background-color: var(--universe-bg-color-hover) !important;
}

.navbar-brand img {
  padding-bottom: 5px;
  padding-top: 5px;
}

/* .nav-tabs .nav-link.active {
  border-
} */

/* Fix BS5 navbar toggler focus ring */
.navbar-toggler:focus {
  box-shadow: none;
  outline-offset: -10px;
  outline: revert;
}

/**panel from bootstrap 3**/

.panel {
  margin-bottom: 20px;
  margin-bottom: 0;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

/** style mods for Theater A & B schedules  **/

dl.theaterschedule {
  display: grid;

  column-gap: none;
  grid-template-columns: max-content auto;
  grid-auto-flow: row;
}

dl.theaterschedule>* {
  padding: 0.5rem;
}

dl.theaterschedule dt {
  font-weight: 500;
  grid-column: 1;
}

dl.theaterschedule dd {
  grid-column: 2;
  padding-left: 1.5rem;
}

dt:nth-of-type(2n+1),
dd:nth-of-type(2n+1) {
  background-color: var(--shadow-background);
}

/*
dl.theaterschedule dt, dl.theaterschedule dd {
    border-bottom: solid 1px silver;
    margin: 0;
}
dl.theaterschedule dt:last-of-type, dl.theaterschedule dd:last-of-type {
    border-bottom: none;
}
*/

/* 
 

.dl-horizontal.theaterschedule {

}

.dl-horizontal.theaterschedule dt+dd 

.dl-horizontal.theaterschedule dt {
   float: left;
   width: 160px;
   overflow: hidden;
   clear: left;
   text-align: left;
   text-overflow: ellipsis;
   white-space: nowrap;
    font-weight: 500;
 }

 .dl-horizontal.theaterschedule dt {
   margin-bottom: 32px;
 }

.dl-horizontal.theaterschedule dd {
   margin-left: 170px;
 }


 ul.striped-list > li {
     border-bottom: 1px solid rgb(221,221,221);
     padding: 6px;
 }
 ul.striped-list > li:nth-of-type(odd) {
     background-color: #e9e9f9 ;
 }
 ul.striped-list > li:last-child {
     border-bottom: none;
 }


*/




/** style mods for demo station schedule. dl-horizontal from bootstrap 3  **/

.dl-horizontal.demoschedule {}

.dl-horizontal.demoschedule dt {
  float: left;
  width: 160px;
  overflow: hidden;
  clear: left;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: normal;
}

.dl-horizontal.demoschedule dt {
  margin-bottom: 32px;
}

.dl-horizontal.demoschedule dd {
  margin-left: 170px;
}

/*** research project page images ***/

figure.box-me {
  /* border: 1px #369 solid; */
  padding: 0 !important;
}

figure.box-me img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: 0 !important;
  /* padding: 6px 6px 0 6px !important; */
  width: 100%;
}

figure.box-me.pull-right {
  float: right;
  margin: 8px 5px 5px 10px;
  padding: 0 !important;
}

.box-me.pull-right img {}


.box-me.pull-left {
  margin: 5px;
}

.pointer {
  cursor: pointer;
}

article.themeAero .box-me {
  border-color: var(--aero-bg-color);
}

article.themePlanet .box-me {
  border-color: var(--planet-bg-color);
}

article.themeHuman .box-me {
  border-color: var(--space-bg-color);
}

article.themeSuper .box-me {
  border-color: var(--supercomp-bg-color);
}

article.themeUniverse .box-me {
  border-color: var(--universe-bg-color);
}


@media screen and (max-width: 767px) {

  .box-me.pull-right {
    margin: 10px 0;
    width: calc(100% - 5px);
  }

  .box-me.pull-right img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
  }

  .box-me.pull-left {
    margin: 10px 0;
    width: calc(100% - 5px);
  }

  .box-me.pull-left img {
    width: 100%;
  }

}



/* FancyBox 4 Customization for Project Page Images */



.fancybox__slide.has-caption {
  flex-direction: row;
}

.fancybox__caption {
  color: #fcfcfc;
  /* font-family: 'Montserrat', serif; */
  font-size: 0.875rem;
  max-width: 350px;
  padding: 1rem 2rem;
}

.fancybox__caption span.image-credit,
.fancybox__caption span.video-credit {
  color: #aaa;
  display: block;
  /* font-family: 'Montserrat', serif; */
  font-size: 0.75rem;
  font-style: italic;
  position: relative;
  top: 1.2rem;
}

.fancybox__caption span.image-credit::before {
  content: "Image Credit: ";
  display: inline;
  font: inherit;
}

.fancybox__caption span.video-credit::before {
  content: "Video Credit: ";
  display: inline;
  font: inherit;
}





@media screen and (min-width: 1200px) {}

@media screen and (max-width: 767px) {

  .fancybox__slide.has-caption {
    flex-direction: column;
  }

  .fancybox__caption {
    max-width: 95vw;
    padding: 1rem;
  }


}



/* End Fancy custom image styles */


article ul li {
  margin-bottom: 1em;
}

article ul li>ul {
  margin-top: 1em;
}

/* Blockquote Styling NEW */
blockquote {
  line-height: 1.66;
}

blockquote:before {
  color: inherit;
  content: "“";
  display: block;
  font-family: Georgia, serif;
  font-size: 10rem;
  margin: 2.5rem -.75rem .75rem;
  line-height: 0;
}

blockquote cite:before {
  content: "\2014 \2009";
  left: -.5em;
  position: absolute;
}

/*

blockquote footer {
  color: #424242;
  display: block;
  font-family: 'Montserrat', serif;
font-size: 0.83333rem;
margin-top: -20px;
margin-bottom: 0;
margin-left: 10px;
padding-left: 10px;
position: relative
}

blockquote cite:before {
  content: "\2014 \2009";
  left: -10px;
  position: absolute;
}

*/
/* @media screen and (max-width: 767px) {
    blockquote {
        color: #333;
        float: none;    
        font-family: 'Open Sans', serif;
        font-size: 0.8em;
        font-style: italic;
        line-height: 1.4;        
        margin: 0;
        padding: 0 20px 0 50px;
        position: relative;
        width: 100%;        
    }
} */

address i.fa-camera {
  color: #369;
  margin-left: 20px;
  padding: 0 30px;
  text-align: left;
}


/* div.list-group .disabled {
  background-color: #7a7a7a;
  color: #fff;
} */

/* Project pages--pops up researcher photos on hover */
/* 

.author-image {
    display: inline-block; 
    margin: 0 0.5rem;
}
.author-image a { 
    position:relative; 
}
.author-image  span { 
    bottom: 1rem; 
    display:none; 
    left: 2rem;         
    position:absolute; 
    z-index:99; 
}
.author-image a:hover + span, .hover_img a:focus + span { 
    display:block; 
}
 */


/* Demo pages: this adds a horizontal rule the width of the first presenter credit along with top margin for the address block 

address {
    width: fit-content;
}

address:first-of-type {
   margin-top: 50px; 
}

address:first-of-type::before {
    content:' ';
    display:block;
        height: 30px;
    border-top:1px solid #999;
}
*/

/** css mods for press room **/


dl.preleases dt {
  font-size: .8rem;
  font-weight: 300;
}

dl.preleases h3 {
  font-size: 1.2rem;
}

/**
.pressroom .dl-horizontal dt {
   float: left;
   width: 150px;
   overflow: hidden;
   clear: left;
   text-align: left;
   text-overflow: ellipsis;
   white-space: nowrap;
    margin-bottom: 12px;
 }

.pressroom  .dl-horizontal dt {
   margin-bottom: 22px;
 }
 
.pressroom  .dl-horizontal.preleases  {
     margin-top: 30px;
 }
 
 
.pressroom  .dl-horizontal.preleases dd {
     margin-bottom: 10px;
 }
 
.pressroom .dl-horizontal.blurbgrounder dd {
   margin-left: 150px;
   margin-bottom: 20px;
 }
**/





/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}


.preleases .read-more {
  display: block;
  margin-top: 0;
  padding-top: 0;
}

.preleases .read-more a:after {
  content: "Read More\2026";
  text-decoration: underline;
}

.preleases .watch-video {
  display: block;
  margin-top: 0;
  padding-top: 0;
}

.preleases .watch-video a:after {
  content: "Watch Video\2026";
  text-decoration: underline;
}

.presscontact img {
  margin-top: 20px;
  width: 128px;
}



.list-unstyled.featured {
  margin: 20px 5px;
}

.list-unstyled.featured li {
  margin: 10px 0;
}



/**publications page mods**/

article.publications .caption p {
  font-size: 0.8em;
}


/** Project pages mods **/

/*Add play button overlay for project video thumbnails */

article.project a[data-type="video"] {
  cursor: pointer;
  display: flex;
  position: relative;
  width: 100%;
}

article.project a[data-type="video"]::before {
  color: #fff;
  content: "\f144";
  font-family: FontAwesome;
  font-size: 60px;
  left: 50%;
  opacity: 0.5;
  position: absolute;
  text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5);
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

article.project a[data-type="video"]:hover::before {
  opacity: 1.0;
}


/* Add zoom button overlay for project image thumbnails */


article.project a[data-type="image"] {
  cursor: pointer;
  display: flex;
  position: relative;
  width: 100%;
}

article.project a[data-type="image"]::before {
  color: #fff;
  content: "\f002";
  font-family: FontAwesome;
  font-size: 60px;
  left: 50%;
  opacity: 0.5;
  position: absolute;
  text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5);
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

article.project a[data-type="image"]:hover::before {
  opacity: 1.0;
}



/* add external link icons for project pages */

/* article.project a[href^="http"]::after,
article.project a[href^="https://"]::after {
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='red' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

article.project a[href*="nasa.gov"]::after,
article.project a[href*="nasa.gov"]::after {
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='blue' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

article.project a[href^="https://www.nas.nasa.gov"]::after,
article.project a[data-type="image"]::after,
article.project a[data-type="video"]::after,
article.project address a::after {
  display: none !important;
} */

@media (min-width: 1400px) {

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: var(--bs-breakpoint-xl) !important;
  }
}

/* Custom accordions */
.accordion-item-custom {
  transition: none;
}

.accordion-item-custom .accordion-header {
  line-height: 1;
}

/* Override default accordion */
.accordion-item-aero .accordion-button:hover,
.accordion-item-planet .accordion-button:hover,
.accordion-item-human .accordion-button:hover,
.accordion-item-super .accordion-button:hover,
.accordion-item-universe .accordion-button:hover {
  display: none;
}

/* Remove existing icon */
.accordion-item-custom .accordion-button::after {
  display: none;
}

.accordion-item-custom .accordion-button:not(.collapsed)::after {
  display: none;
}

/* Replace and animate new icon */
.accordion-item-custom .accordion-button .bi {
  transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-item-custom .accordion-button:not(.collapsed) .bi {
  transform: var(--bs-accordion-btn-icon-transform);
}

/* Category tags */
.category-tag {
  letter-spacing: .125em;
}

.list-unstyled {
  list-style: none;
}

footer li {
  margin: 1rem 0;
}

footer a {
  color: inherit;
}

.project-theme-aero blockquote::before {
  color: var(--aero-bg-color);
}

.project-theme-human blockquote::before {
  color: var(--human-bg-color);
}

.project-theme-planet blockquote::before {
  color: var(--planet-bg-color);
}

.project-theme-super blockquote::before {
  color: var(--super-bg-color);
}

.project-theme-universe blockquote::before {
  color: var(--universe-bg-color);
}

.footer-col-logo a {
  max-width: 15rem;
  width: 100%;
}

.footer-col-logo a img {
  width: 100%;
}

.anchor {
  position: relative;
  top: -6rem;
}

.takeaway-ordinal {
  font-family: 'Orbitron', sans-serif;
  font-size: 1.75em;
  font-weight: 900;
  color: white;
  background: linear-gradient(135deg, #3e61f1 0%, #0c0330 100%);
  position: absolute;
  top: -1rem;
  left: -1.25rem;
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1;
  padding: 3.5px;
}

.font-decorative {
  /* font-family: "Space Grotesk", "Courier New", Courier, sans-serif; */
  font-family: "Space Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1.5;
  /* letter-spacing: .15rem; */
}

.font-decorative a {
  font-weight: 400;
}

.font-decorative-grotesk {
  font-family: "Space Grotesk", serif;
}

.text-title {
  font-size: calc(1.375rem + 11vw) !important;
  line-height: 1;
  letter-spacing: .08em;

  /* Large breakpoint */
  @media (min-width: 992px) {
    font-size: 7rem !important;
  }
}

.text-title .font-decorative {
  font-weight: 700;
}

.aspect-ratio-4x3 {
  aspect-ratio: 4 / 3;
}

.aspect-ratio-16x9 {
  aspect-ratio: 16 / 9;
}

.aspect-ratio-1x1 {
  aspect-ratio: 1 / 1;
}

/* Cubeportfolio Style Resets */
.cbp-filter-item {}

.offcanvas-backdrop.show {
  margin-top: 0 !important;
}