body, html {
  height: 100%;
  font-family: 'Atkinson Hyperlegible', sans-serif;
  font-size: 1rem;
}

header {
    position: relative;
}

/* overflow scroll on all tables */
div:has(> table) {
    overflow: auto;
}

/* ---- Headings ----- */
h1, h2, h3, h4, h5 {
    font-family: 'Poppins', sans-serif;
}

h2 {
    color: #4c4184;
}

h1 {
	font-size:1.75rem;
	font-weight: 600;
} 

h2 {
	font-size:1.5rem;
	color: #4c4184;
} 

h3 {
	font-size:1.2rem;
	margin: 15px 0px;
} 

h4, h5, h6 {
	font-size:1rem;
} 


@media (min-width: 576px) { 

	h4 {
		font-size:1.1rem;
	} 

	h5, h6 {
		font-size:1rem;
	}
}


@media (min-width: 768px) { 
	h1 {
		font-size:2rem;
	} 

	h2 {
		font-size:1.75rem;
	} 

	h3 {
		font-size:1.5rem;
	} 

	h4 {
		font-size:1.2rem;
	} 

	h5, h6 {
		font-size:1.1rem;
	}
}


@media (min-width: 992px) { 

	body, html {
		font-size: 1.125rem;
	}

	h1 {
		font-size:2.5rem;
	} 

	h2 {
		font-size:2rem;
		font-weight: 600;
	} 

	h3 {
		font-size:1.75rem;
		font-weight: 600;
	} 

	h4 {
		font-size:1.5rem;
	} 

	h5, h6 {
		font-size:1.25rem;
	}

}

@media (min-width: 1200px) {

	h1 {
		font-size:3rem;
	} 

}

.poppins {
font-family: 'Poppins', sans-serif;
}

/* ------- sub headings ----- */

.heading-secondary, .heading-tertiary, .font-tertiary {
    font-family: 'Poppins', sans-serif;   
}

.heading-secondary {
    font-size: 1.75rem;
    font-weight: 400;
}

@media (min-width: 992px) {

    .heading-secondary {
        font-size: 2.5rem;
    }
}

.heading-tertiary {

    font-size: 1.25rem;
    font-weight: 600;
}

@media (min-width: 992px) {

    .heading-tertiary {
        font-size: 1.75rem;
    }
}

.fontsize-xs {
    font-size: 0.625rem;
}

.fontsize-sm {
    font-size: 0.75rem;
}

.fontsize-md {
    font-size: 0.875rem;
}

.fontsize-lg {
    font-size: 1rem;
}

.fontsize-xl {
   /*font-size: 1.0625rem;*/
}

.font-secondary {
   /* font-size: 2rem;    */
}

.font-tertiary {
    font-size: 1rem;
}

@media (min-width: 768px) { 
    
    .font-tertiary {
        font-size: 1.1rem;
    }
}

@media (min-width: 992px) {

    .font-tertiary {
        font-size: 1.25rem;
    }
}

/* -------- all background colors and patterns -------- */
.background-light-gray-apple {
    background-color: #f2f2f2;
}

.background-light-gray {
    background-color: #e7e7e7;
}

.background-purple {
    background-color: #4c4184;
    color: #fff;
}

.background-light-purple {
   background-color: #e1e1f4;
}

.background-dark-gray {
    background-color: #53565a;
    color: #fff;
}

.background-dark-red {
    background-color: #e31837;
    color: #fff;
}

.background-dark-blue {
    background-color: #3a5dae;
    color: #fff;
}

.background-yellow {
    background-color: #ffefab;
}


.background-white, .background-none {
    background-color: #ffffff;
}

.background-hex-tiles {
  background: url("/images/layout/maglab/hex-tile-pattern.png");
}


.background-light-blue-ma {
  background-color: #1acfff;  
}


.background-pink-ma {
  background-color: #d300ff;  
}

.ma-purple {
  background-color: #bc05c1;  
}

.background-yellow {
  background-color: #ffefab;  
}

.background-green-ma {
  background-color: #b9ff5f;  
}

/*----- tab with gray background for vertical accordion ----- */

.nav-link.gray-background-active.active {
    background-color: #f2f2f2;
}


/* ------- animated gradient background ------ */
.background-gradient {
  background: linear-gradient(-45deg, #4c4184, #e31837, #3a5dae, #932785); 
  background-size: 400% 400%;
  animation: gradient 15s ease infinite;
  color: #fff;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


/* -------- all text colors -------- */
.white-text /*, a:link.white-text, a:visited.white-text*/ {
    color: #ffffff;
}

.black-text {
    color: #000000;
}

.purple-text {
    color: #4c4184;
}

.dark-gray-text, a:link.dark-gray-text, a:visited.dark-gray-text {
    color: #53565a;
}

.dark-red-text {
    color: #e31837;
}



/* -------- all line colors -------- */

.light-gray-line {
    border: solid 2px #e7e7e7;
}

.hr-gray {
    height: 4px;    
    color: #e7e7e7; /* old IE */
    background-color: #e7e7e7; /* Modern Browsers */
    margin-bottom: 30px;
}

/* ----- link on Skip to main content for accessibility ------ */
a.skip-main {
    left:-999px;
    position:absolute;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:-999;
}

a.skip-main:active, a.skip-main:focus {
    color: #fff;
    background-color:#53565a;
    left: auto;
    top: auto;
    width: 20%;
    height: auto;
    overflow:auto;
    padding:5px;
    border-radius: 20px;
    text-align:center;
    font-size:1.2rem;
    z-index:999;
}

/* -------- request magnet time button -------- */

.button-request-magnet-time {
  min-height: 44px; 
  min-width: 44px;
  background-color: #E1E1F4;
  border: none;
  color: black;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  /*margin: 4px 2px;*/
  border-radius: 20px
}


.button-request-magnet-time:hover {
  background-color: #CCCCF2;
}


/* -------- flagship magnet button -------- */
.button-flagship-magnet{
    background-color: #4c4184;
    color: #ffffff;
    padding: 5px 10px;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    text-transform: uppercase;
    /*margin: 4px 2px;*/
    display: inline-block;
    text-decoration: none;
    border: none;

}

.button-flagship-magnet:hover {
    text-decoration: underline;
}

/* -------- search button -------- */


.button-search {
  background-color: #E31837;
  border: none;
  color: white;
  padding: 5px 8px;
  text-align: center;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  margin: 4px 2px;

 
}

.button-search:hover {
  background-color: #53565a;
}


/* -------- links for default in content area -------- */
a:link {
  /*padding: 2px 1px 0;*/
  color: #E31837;
  text-decoration: none;
  font-weight: bold;
}

a:visited {
  color: #E31837;
}

a:hover {
  text-decoration: underline;
}


a:active {
  /*background-color: #265301;
  color: #CDFEAA;*/
}

a:focus {
  /*background-color: #BAE498;*/
}

/* ----- heading link for h2 and h3 ------ */

a.heading-link,
.heading-link {
  color:  black;
  text-decoration: underline #e31837 3px dotted; 
}

a.heading-link:hover,
.heading-link:hover {
  color:  #e31837;
}

/* ----- Magnet Academy link ------ */

a.magnet-academy-link {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: bold;
  color:  white;
  text-decoration: none;
}

a.magnet-academy-link:hover {
  color:  #76e2ff;
}

/* -------- links on primary nav bar  -------- */
a.navigation-bar {
  text-decoration: none;
 font-weight: 700;
 font-size: 17px;
 border-bottom: 6px solid transparent;
 border-top: 6px solid transparent;
 padding: 0;
}

a.navigation-bar:hover {
  border-bottom: 6px solid #c10025;
 color: #c10025;

}


/* -------- links on footerr  -------- */
a.footer-links {
 text-decoration: underline;
 color: #ffffff;
 font-size: 0.875rem;
 font-weight: 700;
 text-align: left;
 padding: 4px;
}

a.footer-links:hover {
  text-decoration: none;
}

/* -------- button link - Read more -------- */

a.rectangle {
  border: solid 1px #E31837;
  padding: 0.35em .75rem;
  text-decoration: none;
  text-transform: uppercase;
}

a.rectangle:link {
  color: #e31837;
}

a.rectangle:hover {
  background-color: #E31837;
  color:  #ffffff;
}

/* -------- links - button - on calendar event ite for google calendar etc -------- */

a.rectangle-purple {
  border: solid 1px #4c4184;
  padding: 0.35em 0.75rem;
  text-decoration: none;
}

a.rectangle-purple:link {
  color: #4c4184;
}

/* -------- tag button -------- */

a.tag {
  background-color: #e1e1f4;
  color: #4c4184;
  padding: 5px 10px;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 500;
}

a.tag:link {
  color: #4c4184;
}

a.tag:visited {
  color: #4c4184;
}

a.tag:hover {
  text-decoration: underline;
}

/* -------- mega menu -------- */

.megamenu-li {
  position: static;
}

.megamenu {
  position: absolute;
  width: 100%;
  left: 0;
  right: 0;
  padding: 10px;
}

.megamenu a {
    font-weight: normal;
     color: #53565a;
}

.megamenu .dropdown-item {
    white-space: normal;
}

.heading-menu {
    font: 1.125rem 'Poppins', sans-serif;

}

/* Bootstrap override for Megamenu?? */

.navbar-expand-xl .navbar-nav .nav-link {
    padding-left: 18px;
    padding-right: 18px;
}

/* -------- for image ---------- */

img {
    max-width: 100%;
    height: auto;
}

.secondary-image-container {
	width: 100%;
}

@media (min-width: 992px) {
    .secondary-image-container {
        /*width: 50%;*/
        width: 30%;
        float: right;
	    padding: 15px;
	    margin: 15px;
    }
    
}


/* -------- classes for footer -------- */
.footer-address-name-copyright {
    font: bold 0.875rem Atkinson Hyperlegible, sans-serif;
    color:  white;
}

.footer-acknowledgement {
    font: italic 0.625rem  Atkinson Hyperlegible, sans-serif;
    color: white;
}

.footer-funded {
    font: bold 0.75rem  Atkinson Hyperlegible, sans-serif;
    color: white;
}

.footer-links {
    font: bold 0.875rem Atkinson Hyperlegible, sans-serif;
    color:  white;
}


/* -------- Hero image - home page featured  -------- */

.hero-image-container{
    position: relative;
}

.hero-text-box {
    position: relative; 
    margin-top: 0px;
    width: 100%;
    left: 0;
    padding: 10px;
}
    
.hero-text-box h2 {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 0px;
}

@media (min-width: 576px) { 

	.hero-text-box h2 {
	    font-size: 1.25rem;
	}
}


@media (min-width: 768px) { 

    .hero-text-box {
        position: absolute; /* absolute on desktop */
        width: 35%;
        left: 2%;
        bottom: 42%;
        padding: 20px;
    }

	.hero-text-box h2 {
	    font-size: 1.5rem;
	}
}

@media (min-width: 992px) { 

    .hero-text-box {
        position: absolute; /* absolute on desktop */
        width: 35%;
        left: 2%;
        bottom: 45%;
        padding: 20px;
    }
    
	.hero-text-box h2 {
	    font-size: 1.75rem;
	}

}

@media (min-width: 1200px) {

	.hero-text-box {
	    position: absolute; /* absolute on desktop */
	    left: 3%;
	    bottom: 50%; 
	    /*width: 35%; */
	    padding:  20px;
	}
	
	.hero-text-box h2 {
	    font-size: 2.25rem;
	}
}

/* -------- Hero image - landing page - in container -------- */

.mainpage-image-container{
    position: relative;
}

.mainpage-heading-box {
   position: relative;
   top: 0px;
   left: 0px;
   width: 100%;
}
    
.mainpage-text-box {
   position: relative; 
   margin-top: 0px;
   width: 100%;
   left: 0;
   padding: 10px;
}

.mainpage-text-box h3{
    margin: 0px;    
}

.heading-text {
   font-weight: bold;
   color: #000000;
}

@media (min-width: 992px) { 
	.mainpage-heading-box {
	  position: absolute;
	  top: 20%;
	  left: 5%;
	  width: 90%;
	}

	.mainpage-text-box {
	    position: absolute;
	    left: 5%;
	    bottom: 8%;
	    width: 50%; /* Set the width of the positioned div */
	}

	.heading-text {

        color: white;
	}

}

/* -------- classess for pagebase content -------- */

/*  for dominant image   */
.item-image-block {
    padding: 0px;
    margin: 0px;
}

.item-image-caption{
    font-size: 1rem;
    margin-bottom: 0px;
    color: #4c4184;
    line-height: 1rem;
    margin-top: 15px;
    text-align: left;
}

.image-content-container {
    width: 100%;

}

@media (min-width: 992px) {
    .image-content-container {
        width: 50%;
        float: right;
        padding: 15px;
        margin: 15px;
    }
}

/*  intro text  */
.intro-text {
    font: bold 1.125rem/1.5rem 'Poppins', sans-serif;
}


/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 

    .intro-text {
        font-size: 1.25rem;
    }

}

.item-image-credit, .news-footnote {
    font: 0.75rem  Atkinson Hyperlegible, sans-serif;
    color: #53565a;
    text-align: left;
}

.item-image-credit {
    padding-top: 10px;
}

.story-by {
    font: italic 0.875rem  Atkinson Hyperlegible, sans-serif;
    color: #4c4184;
}

.published-modified-dates, .magnet-schedule-participants {
    font: italic 0.875rem  Atkinson Hyperlegible, sans-serif;
}

.published-modified-dates {
    color: #53565a;
}

/* ------------------ Classes for presentation ------------------ */

/* -------- for paragraph that need closer line height and no need margin-bottom -------- */

.remove-margin-bottom p {
    margin-bottom:  0px;
    line-height: 1.2rem;
}    

.space {
    height: 20px;
    clear: both;
}

/* ------- text an image ------  */

.image-container-text-over {
    position: relative;
}


/* Bottom left text */
.bottom-left {
  position: absolute;
  bottom: 8px;
  left: 16px;
}

/* ------- text overlay on image ------  */

.image-container-animation {
    position: relative;
    cursor:  pointer;
    display: inline-block;
}
    
.image-text-overlay {
    position: absolute;
    width: 100%;
    bottom: 10px;
    left: 0px;
    background: rgb(27, 24, 55); /* fallback color */
    background: rgba(76, 65, 132, 0.7);  /* purple */
    text-align: left;
}

.image-text-overlay p {
    color: white;
    padding: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom:  0px;
}

@media (min-width: 992px) {

    .image-text-overlay {
        font-size: 1.25rem;
    }
}

/* ------ to Zoom In ------ */
.zoomIn {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.zoomIn:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* ------ to move up ------ */

.moveUp {
  -webkit-transition: transform 250ms;
  transition: transform 250ms;
}

.moveUp:hover {
    transform: translateY(-10px);
    transition: .3s ease-in-out;
  }

/* ------ animated photo with border ------ */ 
.inline-photo-border {
  border: 1em solid #fff;
  /*border-bottom: 4em solid #fff;*/
  border-radius: .25em;
  box-shadow: 1em 1em 2em .25em rgba(0,0,0,.2);
  margin: 2em auto;
  opacity: 0;
  transform: translateY(4em) rotateZ(-5deg);
  transition: transform 4s .25s cubic-bezier(0,1,.3,1),
              opacity .3s .25s ease-out;
  max-width: 600px;
  width: 90%;
  will-change: transform, opacity;
}

.inline-photo-border.is-visible {
  opacity: 1;
  transform: rotateZ(-2deg);
}

/* ------ pull quote ------ */

.quote-icon {
    background: url(/images/layout/quote_top_left.png) top left no-repeat;
    /*padding-left: 85px;
    margin-top: 30px;
    line-height: 18px;*/
}

.quote-text {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    line-height: 1.75rem;
    color: #4c4184;
}
    
.quote-source {
    font-family: 'Poppins', sans-serif;
    font-size: 1.125rem;
    color: #53565a;
    font-weight: 600;
}

.quote-max-width {
    max-width: 600px;
}
    
@media (min-width: 992px) { 

    .quote-text {
        font-size: 1.667rem;
        padding-bottom: 25px;
    }
}


/* ---------- tooltip ------ */ 


    .popup-box {
        position: absolute;
        background: #f2f2f2;
        border: 1px solid #ccc;
        margin: 50px 0px 0px -80px;
        padding: 20px 40px 20px 20px;
        max-width: 400px;
        z-index: 1;
    }
    .popup-box p {
         font-weight: bold;
     }
     
    .popup-text {
        display: inline-block;
        font-weight: bold;
    }
    .popup-closed {
        display: none;
    }
    .popup, .popup-opened {
        display: inline-block;
    }
    .popup-outer-icon {
        padding: 0px 10px;
        border-radius: 50%;
        font-size: 30px;
        font-weight: bolder;
         cursor: pointer;
         background: #D0343E;
         color: #ffffff;
    }
    .popup-close {
        cursor: pointer;
        position: absolute;
        right: 6px;
        top: 6px;
        padding: 0px 8px;
        background: #D0343E;
        color: #ffffff;
    }

/* ---------- tooltip ------ */ 



/* ------------ box for heading i.e background for NMR main page ------------ */

.display-inline {
    display: inline;
    padding:  5px 8px;
}

/* -------- Bulletin board box - Blue heading -------- */

.bulletin-board-container {
   /* width: 100%;
    border: 2px solid #3A5DAE;*/
}

.bulletin-board-heading {
    background-color: #3A5DAE;
    padding: 5px 20px 1px 20px;
}

.bulletin-board-content {
    padding: 20px;
    border: 2px solid #385CAD;
}


/*  -------- general boxes - padding 20px -------- */
.content-box-outer {
    /*width: 90%;*/
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 576px) { 

    .content-box-outer {
        width: 100%;
    }
}


.content-box-outer-border {
    /*width: 90%;*/
    border: 2px solid #e7e7e7;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
} 

@media (min-width: 576px) { 

    .content-box-outer-border {
        width: 100%;
    }
}

.content-box-outer-border-purple {
    /*width: 90%;*/
    border: 2px solid #4c4184;
     margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
} 

@media (min-width: 576px) { 

    .content-box-outer-border-purple {
        width: 100%;
    }
}


.content-box-left {
	width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .content-box-left {
        /*width: 50%;*/
        /*width: 40%;*/
        float: left;
	    padding: 0px 20px 20px 0px;
	    margin-bottom: 0;
	    max-width: 300px;
	    width: auto;
    }
}


.content-box-inner {
    padding: 20px;
    overflow-x: auto;
}

.content-box-inner-shorter {
    padding: 10px 20px;
}

/*  -------- staff contact info box - padding 40px -------- */

.staff-content-box-outer {
    width: 100%;
    border: 4px solid #e1e1f4;
}

.staff-content-box-inner {
    padding: 10px 40px;
}

.staff-content-box-inner p { /* use .remove-margin-bottom p instead */
    margin-bottom: 0px;
}

.remove-margin-bottom p {
    margin-bottom:  0px;
    line-height: 1.2rem;
}

.staff-contact-info {
    background-color: #e1e1f4;
    font-size: 1.5rem;
    padding: 10px;  
    width: 100%;
}

@media (min-width: 576px) { 

    .staff-contact-info {
        background-color: #e1e1f4;
        font-size: 1.5rem;
        padding: 10px;  
        width: 70%;
    }
}

@media (min-width: 992px) { 

    .staff-contact-info {
        background-color: #e1e1f4;
        font-size: 1.5rem;
        padding: 10px;  
        width: 50%;
    }
}



/* ------- Override Bootstrap 4 --------- */

/*.container .container {*/
/*    padding-left: 0;*/
/*    padding-right: 0;*/
/*}*/

.container .accordion-container,
.container .section-content-container,
.container .pull-quote-container{
    padding-left: 0;
    padding-right: 0;
}

.breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /*padding: 0.75rem 1rem;*/
    padding: 0.75rem 0.75rem 0.75rem 0;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #ffffff;
    border-radius: none;
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
}

/* remove caret from dropdown menu */
.dropdown-toggle:after { 
    content: none 
    
}

/* accordion on Magnet page, using card for BS 4 */
.card-header .title {
    /* font-size: 17px; */
    font-family: 'Poppins', sans-serif;
    font-size: 1.5em;
    font-weight: 600;
    color: #000;
}
.card-header .accicon {
  float: right;
  font-size: 30px;  
  font-weight: 600;
  width: 2rem;
  transition-duration: 1000ms;
  background-color: #4c4184;
  color: white;
  text-align: center;
}
.card-header{
  cursor: pointer;
  border-bottom: none;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    /*background-color: rgba(0,0,0,.03);*/
    background-color: #E1E1F4;
    border-bottom: 1px solid rgba(0,0,0,.125);
}

.card{
  border: 1px solid #ddd;
  margin-bottom: 15px;
}

.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
   /* border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.25rem;*/
    border: none;
    border-radius: 0;
}

.card-body{
  /*border-top: 1px solid #ddd;*/
}
.card-header:not(.collapsed) .rotate-icon {
  transform: rotate(180deg);
  /*transition-duration: 1000ms;*/
}

.btn.purple-background:hover {
    color: #fff;
}

/* ------- Override Bootstrap 4 --------- */

/* ------- accordion on Basic Q&A, using card for BS 4 ------- */
.accordionQA .card-header .title {
    /* font-size: 17px; */
    font-family: 'Poppins', sans-serif;
    font-size: 1.5em;
    font-weight: 600;
    color: #000;
}

.accordionQA .card-header .accicon {
  float: right;
  font-size: 30px;  
  font-weight: 600;
  width: 2rem;
  transition-duration: 1000ms;
  background-color: #E1E1F4;
  color: #4c4184;
  text-align: center;
}

.accordionQA .card-header{
  cursor: pointer;
  border-bottom: 0px;
}

.accordionQA .card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    /*background-color: rgba(0,0,0,.03);*/
    background-color: #ffffff;
    border-bottom: 0px solid rgba(0,0,0,.125);
}

.accordionQA .card{
  /*border: 1px solid #ddd;*/
  margin-bottom: 15px;
}

.accordionQA .card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    /*background-clip: border-box;*/
    border-bottom: 1px solid rgba(0,0,0,.125);
    /*border-radius: 0.25rem;
    border: none;*/
    border-radius: 0;
}

.accordionQA .card-body{
  border-top: 0;
}

.accordionQA .card-header:not(.collapsed) .rotate-icon {
  transform: rotate(180deg);
  /*transition-duration: 1000ms;*/
}

.accordionQA .accordion>.card:not(:last-of-type) {
   /* border-bottom: 2px solid #ddd;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; */
}

/* ---- blueimp overrides ---- */
.blueimp-gallery .title-container {
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    width: 100%;
    text-align: center;
}
.blueimp-gallery .title {
    display: inline-block;
    font-size: 18px;
}
.blueimp-gallery .title:not(:empty) {
    padding: 20px;
    background: rgba(0, 0, 0, 0.75);
}
.blueimp-gallery .description {
    width: 100%;
    position: absolute;
    text-align: center;
    color: #fff;
    bottom: 20px;
}
.blueimp-gallery .download {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 20px;
    cursor: pointer;
}
/* ---- blueimp overrides ---- */


/* ---------- affiliated lab sub menu ------ */ 


#affiliated-nav {
    /*margin:10px;*/
    width:100%;

}

#affiliated-nav ul {
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  flex-direction: column;
  /*background-color: #4c4184;*/
}

#affiliated-nav li {

    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    margin-right: 4px;
    margin-bottom: 4px;
    background-color: #4c4184;
    /*border-bottom: 4px solid #e1f1f4;*/
}

#affiliated-nav li:last-child {
    flex: 1;
}

#affiliated-nav li a {
    display: block;
    color: white;
    /*text-align: center;*/
    padding: 12px 14px;
    text-decoration: none;
    width: 100%;
    height: 100%;
    /*background-color:#4c4184;*/
}

#affiliated-nav li a:hover {
        background-color:#e1f1f4;
        color:#4c4184;
}

@media (min-width: 992px ) {
 
    #affiliated-nav ul {
      flex-direction: row;
    }
}

/* ---------- affiliated lab sub menu ------ */ 

/* upcoming events */

.eventdatebox {
    width: 64px;
    /*height: 40px;*/
    margin-right: 15px; 
   /* border: 1px solid #53565a; */
    display: inline-table;
    float: left;
    clear: right;
    background: #e1e1f4;
    text-align: center;
    text-transform: uppercase;
    padding: 0px 15px;
    color:  #000000;
    margin-bottom: 15px;
}

.eventdate {
   display: inline-block;    
   font-size: 1.5rem; 
   font-family: 'Poppins', sans-serif;
   line-height:  .1rem;
}

.eventmonth {
    display: inline-block;    
    font-size: 0.875rem;   
    font-family: 'Poppins', sans-serif;
}

.eventtitle {
   margin-bottom: 5px; 
    line-height: 1rem;
}

.eventdatetime {
    display: inline-block;
    font-size: 14px;
    line-height: 14px;
    font-weight: 700;
    color: #636465;
    text-transform: uppercase;
    min-height: 16px;
}

/* upcoming events */



/* Publications nav tab */

a.tab-bar {
  text-decoration: none;
  font-weight: 700;
  font-size: 1.0625rem;
  font-family: 'Poppins', sans-serif;
  color: #000000;
}

.nav-tabs {
    border-bottom: 4px solid #e1e1f4;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #000000;
    background-color: #e1e1f4;
    border-color: 4px solid #e1e1f4;
}


.nav-tabs .nav-link {
    margin-bottom: 0px;
    border: 0px solid transparent; 
    /*border-top-left-radius: 0rem; 
    border-top-right-radius: 0rem; */
    border-radius: 0rem;
    padding: 8px 15px;
}

/* Publications nav tab */


/* Home page vertical left tab adjustments */

.left-tabs .nav-link {
    background-color: #e1e1f4;
    margin-bottom: 10px;
    border-radius: 15px;
    margin-right: 8px;
}

.left-tabs .nav-link.active {
    background-color: #f2f2f2;
    border-radius: 0;
    border: 0;
    margin-right: -1px;
    transition: .25s;
}

@media screen and (max-width: 767px) {
  .left-tabs .nav-link.active {
        border-radius: 15px;
        margin-right: 8px;
    }
}

.left-tabs .nav-link:hover {
    background-color: #f2f2f2;
    border: 0;
}

/*.left-tabs .nav-link, .left-tabs .nav-link:hover {*/
/*    border: 1px solid transparent;*/
/*}*/

/* Home page vertical left tab adjustments */

.hidden {
    display: none;
}

.ai-orcid {
    color: #A6CE39
}

/* -------  Bootstrap 4 image grid --------- */

.row-image-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0 11px;
}

/* Create four equal columns that sits next to each other */
.column-image-grid {
  flex: 25%;
  max-width: 25%;
  padding: 0 4px;
}

.column-image-grid img {
  /*margin-top: 8px;*/
  vertical-align: middle;
  width: 100%;
}

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 800px) {
  .column-image-grid {
    flex: 50%;
    max-width: 50%;
  }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .column-image-grid {
    flex: 100%;
    max-width: 100%;
  }
}

/* -------  Bootstrap 4 image grid --------- */

.crop{
 height: 150px;
  /*width: 200px;*/
  overflow: hidden;
}
.crop img{
  width: 100%;
  height: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Ch <36, Saf 5.1+, iOS < 9.2, An =<4.4.4 */
  -ms-transform: translateY(-50%); /* IE 9 */
  transform: translateY(-50%); /* IE 10, Fx 16+, Op 12.1+ */
}

.data-nav .list-group-item {
    display: inline-block;
    cursor: pointer;
    color: #E31837;
}

.data-nav .previous[disabled],
.data-nav .next[disabled]{
    opacity: 0.5;
    cursor: default;
}

.data-nav .previous[disabled]:hover,
.data-nav .next[disabled]:hover{
    text-decoration: none;
}

.card-border {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    /*border-radius: 0.25rem;*/
    border: none;
    border-radius: 0;
}

.divider {
    margin-right: 4px;
}

.center {
    text-align: center;
}

/* left info box width */ 
@media (min-width: 576px) {
    .w-sm-40 {
        width: 40%;
    }
}

.tut-container {
    margin: 0 auto;
}

.tut-container iframe {
    max-width: none;
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
}

.table-compact {
    font-size: 14px;
}

.table-compact td {
    padding: 0.5rem;
}

.sticky-sidebar-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  
  display: none!important; /* mobile hide */
}

/* fix for mobile hide sidebar (assumes col-md) */
@media (min-width: 768px) {
    .sticky-sidebar-item {
        display: block !important;
    }
}

.sticky-sidebar-position {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
    
  padding: 0 15px;
}


/* ------------------ for speech bubbles ------------------ */



/* CSS talk bubble */


.speech-talk-bubble{
	margin: 5px 20px;
  display: inline-block;
  position: relative;
	width: 90%;
	height: auto;

}


.speech-whitebackground {

	background-color: white;
}


.speech-bluebackground {

	background-color: #57cbf5;
}


.speech-lightgraybackground{

	background-color: #f2f2f2;
}

.speech-border-dark-gray{
  border: 4px solid #53565a;
}

.speech-border-dark-blue{
  border: 4px solid #3a5dae;
}

.speech-border-purple{
  border: 4px solid #4c4184;
}


/* 1 - Right triangle placed top left flush. */
.speech-tri-right.border.left-top:before {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: -30px;
	right: auto;
  top: -30px;
	bottom: auto;
	border: 32px solid;
	border-color:  transparent transparent #3a5dae #3a5dae;
}
.speech-tri-right.left-top:after{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: 0px;
	right: auto;
  top: -30px;
	bottom: auto;
	border: 22px solid;
	border-color: transparent transparent #3a5dae #3a5dae;
}


/* 2 - Right triangle, placed bottom left side slightly in*/
.speech-tri-right.speech-border-dark-blue.btm-left:before {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
	left: -4px;
  right: auto;
  top: auto;
	bottom: -30px;
	border: 26px solid;
	border-color: transparent transparent transparent #3a5dae;
}
.speech-tri-right.btm-left:after{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
	left: 0px;
  right: auto;
  top: auto;
	bottom: -20px;
	border: 22px solid;
	border-color: transparent transparent transparent white;
}



/* 3 - Right triangle, placed bottom right side slightly in*/
.speech-tri-right.speech-border-dark-gray.btm-right-in:before {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: auto;
	right: -4px;
	bottom: -32px;
	border: 16px solid;
	border-color: #53565a #53565a transparent transparent;
}
.speech-tri-right.btm-right-in:after{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: auto;
	right: 0px;
	bottom: -20px;
	border: 12px solid;
	border-color: white white transparent transparent;
}


/* 4 - Right triangle, placed bottom right side slightly in*/
.speech-tri-right.border.btm-right:before {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: auto;
	right: -8px;
	bottom: -40px;
	border: 20px solid;
	border-color: #4c4184 #4c4184 transparent transparent;
}
.speech-tri-right.btm-right:after{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: auto;
	right: 0px;
	bottom: -20px;
	border: 12px solid;
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}


/* 5 - Right triangle placed top right flush. */
.speech-tri-right.speech-border-purple.right-top:before {
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  	left: auto;
	right: -4px;
  	top: -36px;
	bottom: auto;
	border: 16px solid;
	/*border-color: green transparent transparent transparent;*/
	border-color: transparent #4c4184 #4c4184 transparent ;
}
.speech-tri-right.right-top:after{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
  left: auto;
	right: 0px;
  top: -26px;
	bottom: auto;
	border: 14px solid;
	/*border-color: white transparent transparent transparent;*/
	border-color: transparent white white  transparent;
}

/* talk bubble contents */
.speech-talktext{
  padding: .75em;
	text-align: left;
  line-height: 1.5em;
}

.pull-quote-image {
    min-width: 70px;
    min-height: 57px;
    background-size: cover;
    background-image: url("/images/layout/maglab/quote_top_left.png");
}

.layout-icon {
    width: 40px;
    height: auto;
}