.header-transparent {
    background-color: unset;
}
 .header-transparent .navbar-nav > li.nav-item > .nav-link {
    color: unset;
}
  .header-transparent .navbar-nav > li.nav-item > .nav-link:hover, .header-transparent .navbar-nav > li.nav-item > .nav-link:focus, .header-transparent .navbar-nav > li.nav-item > .nav-link:active {
    color: unset;
}

.t4-megamenu .navbar-nav > li.active > a, .t4-megamenu .navbar-nav > li.active > .nav-link {
  color: var(--mainnav-link-active-color);
}
.t4-megamenu .navbar-nav > li > a:hover, .t4-megamenu .navbar-nav > li > a:focus, .t4-megamenu .navbar-nav > li > a:active, .t4-megamenu .navbar-nav > li > .nav-link:hover, .t4-megamenu .navbar-nav > li > .nav-link:focus, .t4-megamenu .navbar-nav > li > .nav-link:active {
  color: var(--mainnav-link-hover-color);
}

.t4-megamenu .navbar-nav > li > a, .t4-megamenu .navbar-nav > li > .nav-link {
    font-weight: var(--megamenu-font-weight);
}
.dropdown-item {
    font-weight: var(--megamenu-font-weight); 
}

.nav {
    flex-wrap: nowrap;
}

.t4-section > .t4-row {
  width: 100%;
}

.t4-footer .container {
    max-width: 100%;
    padding: 0;
}

.col-md-10 {
    width: 100%;
}

.row {
  --t4-gutter-x: 0;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.section-heading {
    width: 100%;
    text-align: left !important;
}

.mod-title {
    font-size: clamp(20px, 2.8vw, 36px);
    font-weight: bold;
}

.t4-navbar .navbar {
  float: right;
}

.container, .container-fluid, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
  --t4-gutter-x: 0;
}  

.item-page.layout-default.no-sidebar .top-article-info {
  text-align: inherit;
}

/* site description */
.sitedesc{
    font-size: 16px;
    /* Minimum of 16px, scale based on vw, but max at 22px */
    font-size: clamp(16px, 1.8vw, 22px); 
    transition: font-size 0.1s ease-in-out;
    font-weight: bold;
    text-align: center;
    a:link { color: #000000; }
    a:visited { color: #000000; }
    a:hover { color: #000000; }
    min-height: 80px; 
    align-content: center; 
    color: #000000;
}

/* DJ slider title */
.slide-desc-text-default .slide-title {
  font-size: clamp(16px, 4vw, 56px);
  transition: font-size .2s ease-in-out;
  font-weight: bold;
  text-align: center;
}

/* dim the main page slide show images a bit */
.djslider li img {
  opacity: 0.7;
}

/* make logo responsive to view port, ie to screen size */
.logo-img {
  max-width: 250px;
  min-width: 100px;
  width: 20vw;
  height: auto;
  max-height: 65px;
}

h1 {
  font-size: clamp(22px, 3vw, 44px);
  font-weight: bold;
}

h2 {
  font-size: clamp(20px, 2.8vw, 36px);
}

h4 {
  font-size: clamp(16px, 2vw, 20px);
}

/* home page video */
#video-container {
    position: relative;
    overflow: hidden;
    max-width: 600px;
    background: none;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 30px;
    padding-top: 20px;

}

#video-container video {
    width: 100%;
    height: auto;
}

/* Main page - picture and text about Edmonton */
/* Container for the image and text */
.container-edm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-items: stretch; /* Ensure both columns stretch to equal height */
  justify-content: space-between;
  gap: 0; /* Remove gap between flex items */
  padding: 0; /* Ensure no padding around container */
}

/* Image container */
.image-container-edm {
  flex: 1;
  max-width: 50%;
  overflow: hidden;
}

/* Image style */
.image-edm {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Text container */
.text-container-edm {
  flex: 1;
  background-color: #275e37;
  color: white;
  /*padding: 2rem;*/ /* Add some padding for better spacing inside the text container */
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Vertically center the text */
}

/* Large text */
.highlight-edm {
  font-size: 2rem;
  font-weight: bold;
  padding: 1rem;
}

/* Smaller text */
.subtext-edm {
  font-size: 1.5rem;
  padding: 0.5rem;
}

/* Media queries for responsiveness */
@media screen and (max-width: 900px) {
.highlight-edm {
  font-size: 1.5rem;
  padding: 1.5rem;
}

.subtext-edm {
  font-size: 1rem;
  padding: 1rem;
}
}

@media screen and (max-width: 768px) {
  .container-edm {
    flex-direction: column;
    text-align: center;
  }
  .image-container-edm {
    max-width: 100%;
  }
  .text-container-edm {
    padding-top: 10%;
    padding-bottom: 10%;  
  }
  .highlight-edm {
    font-size: 1.5rem;
  }
  .subtext-edm {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 480px) {
  .highlight-edm {
    font-size: 1.2rem;
  }
  .subtext-edm {
    font-size: 1rem;
  }
}

@media screen and (max-width: 320px) {
  #jm-allpage .header-ms .slide-title {
    font-size: 15px;
  }

}

/* Footer adjustments */
/* Defining styles for navigation buttons in the footer */

/* Container for the entire footer module */
.footer-module {
  display: flex;
  justify-content: space-between;  /* Space out the left and right panels */
  padding: 20px;
  background-color: #292929;
  color: white;
  border: none;  /* Remove any border around the container */
  /*padding-left: 20%;
  padding-right: 20%;*/
  gap: 40px;
}

/* Style for the left panel */
.footer-left {
  padding-top: 2rem;
}

.footer-left p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6rem;
}

.footer-left a {
  color: #fff; /* Make email link white */
  text-decoration: none;
}


/* Right Panel */
.footer-right {
  display: flex;
  flex-direction: column;
}

.footer-links {
  list-style: none; /* Remove default list bullets */
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin: 10px 0;
  text-align: center;
}

.footer-button {
  display: block;
  background-color: #fff;
  color: #1E1E1E !important;
  text-decoration: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
  width: 240px;
  margin: 25px 0px;
}

.footer-button:hover {
  background-color: #f5f5f5;
  border: 1px solid #292929;
  text-decoration: none;
  border-radius: 5px;
}

.footer-button:active {
  text-decoration: none;
}

.footer-button:focus {
  outline: none;
  text-decoration: none;
}

/* Login link at the bottom */
.dark-link {
    color: #656565 !important;
    a:link { color: #656565; }
    a:visited { color: #656565; }
    a:hover { color: #656565; }
}
/* Media query for screen sizes smaller than 1000px */
@media screen and (max-width: 1000px) {
  .footer-module {
    flex-direction: column; /* Stack the panels vertically */
    padding-left: 5%;  /* Optional: Adjust padding for smaller screens */
    padding-right: 5%; /* Optional: Adjust padding for smaller screens */
    align-items: center;  /* Center the panels horizontally */
  }

  .footer-module .left-panel,
  .footer-module .right-panel {
    margin-bottom: 20px; /* Optional: Add space between the panels when stacked */
    flex: none; /* Allow panels to take their natural width */
    width: 100%; /* Ensure panels take full width when stacked */
    max-width: 600px; /* Optional: Limit the width of panels for better aesthetics */
  }
}


/* stretch image on top of pages */
.full-width-img {
  width: 100%;      /* Makes the image stretch to fill the width */
  height: auto;     /* Keeps the aspect ratio intact */
  display: block;   /* Removes any space below the image */
  margin: 0;        /* Optional: remove any default margins */
}

/* ensure content is using the full page width */
.item-page.layout-default.no-sidebar .top-article-info {
    max-width: 100%;
}

.container {
    max-width: 100%;
}

/* Research */

.image-container-research-header {
  display: flex;
  justify-content: center; /* Align the image horizontally in the center */
  align-items: center;     /* Align the image vertically in the center (if container height is defined) */
  margin: 0 auto;          /* Center the container horizontally */
  width: 100%;
  background-color: #9EEFEF;
}

.image-container-research-header img {
  height: auto;            /* Maintain aspect ratio */
}

.research-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns */
  padding: 0;
  margin: 0;
  gap: 0; /* No gap between items */
}

.research-item {
  background-color: black;
  color: white;
  display: flex;
  flex-direction: column;  /* Stack image and text vertically */
  justify-content: center;  /* Horizontally center */
  align-items: center;      /* Vertically center */
  padding: 0;               /* Remove padding to eliminate gaps */
  box-sizing: border-box;
}

.research-item img {
  /* width: 100%; */   /* Make image fill the panel */
  /* height: 100%; */ /* Make image fill the panel */
  object-fit: cover; /* Ensure the image covers the panel area, even if cropped */
}

.research-item h4 {
  font-size: 1.5rem;
  margin: 10px 0; /* Margin between header and text */
  text-align: center;
  padding: 0 10px; /* Add horizontal padding to header */
  color: white;
}

.research-item p {
  font-size: 1rem;
  margin: 0;
  text-align: center;
  padding: 0 15px; /* Add horizontal padding to text */
}

/* Responsive adjustments for medium screens */
@media screen and (max-width: 1024px) {
  .research-item h4 {
    font-size: 1.2rem;
  }

  .research-item p {
    font-size: 0.9rem;
  }
}

/* Responsive adjustments for smaller screens (phones) */
@media screen and (max-width: 768px) {
  .research-container {
    /* grid-template-columns: repeat(2, 1fr); */ /* Keep image and text in pairs */
    grid-template-columns: 1fr 1fr; /* 2 columns */
    grid-template-rows: repeat(4, auto); /* 4 rows */
  }

  .research-item:nth-child(1) {
    grid-column: 1; /* Image A */
    grid-row: 1; /* Position 1st row */
  }

  .research-item:nth-child(2) {
    grid-column: 2; /* Text 1 */
    grid-row: 1; /* Position 1st row */
  }

  .research-item:nth-child(3) {
    grid-column: 2; /* Text 2 */
    grid-row: 2; /* Position 2nd row */
  }

  .research-item:nth-child(4) {
    grid-column: 1; /* Image B */
    grid-row: 2; /* Position 2nd row */
  }

  .research-item:nth-child(5) {
    grid-column: 2; /* Image C */
    grid-row: 3; /* Position 3rd row */
  }

  .research-item:nth-child(6) {
    grid-column: 1; /* Text 3 */
    grid-row: 3; /* Position 3rd row */
  }

  .research-item:nth-child(7) {
    grid-column: 1; /* Text 4 */
    grid-row: 4; /* Position 4th row */
  }

  .research-item:nth-child(8) {
    grid-column: 2; /* Image D */
    grid-row: 4; /* Position 4th row */
  }
}

/* Research - scanners */
    /* Base scanner section (no border by default) */
    .scanner-section {
        display: flex;
        align-items: flex-start;
        margin-bottom: 30px;
        padding: 15px;
        border-radius: 8px;
        transition: border 0.2s ease-in-out;
    }

    /* Option 1: Always Visible Border */
    /* Uncomment this line if you want the border always visible */
    /* .scanner-section { border: 1px solid #ddd; } */

    /* Option 2: Border Appears Only When Expanded */
    .scanner-expanded {
        border: 1px solid #ccc; 
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.05);
    }

    .scanner-img {
        width: 100%;
        max-width: 400px;
        border-radius: 10px;
    }

    .scanner-image-container {
        flex: 0.5;
        padding-left: 20px;
    }

    .scanner-title {
        font-family: poppins-semibold, poppins, sans-serif;
        font-weight: bold;
    }

    .read-more-btn {
        background-color: #275e37;
        color: white;
        padding: 8px 16px;
        border: none;
        cursor: pointer;
        border-radius: 5px;
        margin-top: 10px;
        font-size: 14px;
    }

    .more-info {
        display: none;
        margin-top: 10px;
    }


/* New research */

.research-new {
   padding-left: 10%;
   padding-right: 10%;
   margin-top:20px;
}
@media screen and (max-width: 600px) {
  .research-new {
     padding-left: 5%;
     padding-right: 5%;
  }
}

.hidden-section {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease-in-out;
}

.hidden-section.active {
    max-height: 2500px; /* Adjust this based on your content */
}

 /* Smooth Fade-in for Fees Section */
.fees-section {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out, visibility 0.5s ease-in-out;
    height: 0;
    width:80%; 
    margin-left: auto; 
    margin-right: auto;    
}

.fees-section.show {
    opacity: 1;
    visibility: visible;
    height: auto;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
    /*background-color: white; */ /* Optional, to make it stand out */
}

#fees-readmore {
    cursor: pointer;
    color: #003366;
}

#fees-readmore:hover {
    color: #006666;
}

/* New research - contact */
.new-research-contact-container {
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 20px
}

@media screen and (max-width: 1350px) {
.new-research-contact-container {
	grid-template-columns: none;
        display: flex;
        flex-direction: column;
  }
}

@keyframes borderGlow {
    0% { box-shadow: 0 0 10px rgba(255, 255, 100, 0.8); } /* Yellow glow */
    100% { box-shadow: 0 0 0 rgba(255, 255, 100, 0); } /* Fade out */
}

.glow-effect {
    animation: borderGlow 1.5s ease-out;
}

/* defining blue module color scheme */

.blue-ms {
  background-color: rgb(134, 153, 178);
  border: none;
  /*padding-top: 30px;
  padding-bottom: 30px; */
  padding-left: 0px;
  padding-right: 0px;
  margin-bottom: 0px;
}

.blue-ms a {
  color: #003366;
  text-decoration: none;
}

.blue-ms a:hover {
  color: #006666;
  /*text-decoration: underline; */
}

/* Style buttons to match the link appearance */
.blue-ms button {
  background-color: transparent;
  border: none;
  color: #003366;  /* Link color */
  font-size: 16px;
  padding: 0px 10px;
  cursor: pointer;
  text-align: left;
  transition: color 0.3s ease;
}

/* Hover effect for buttons (matching link hover) */
.blue-ms button:hover {
  color: #006666;  /* Hover color */
  /*text-decoration: underline; */  /* Optional: Adds underline on hover */
}

/* Optional: Active state styling */
.jm-module.blue-ms button:active {
  color: #006666;
}

/* People */
/* styles for people pictures */

/*
.people-container {
  display: grid;
  gap: 10px; 
  margin: 0 auto;
  padding-left: 10%; 
  padding-right: 10%;
}

.people-row {
  display: flex;
  justify-content: center;
  gap: 20px; 
  margin-bottom: 30px;
  width: 70%;
  margin-right: auto;
  margin-left: auto;
}

.people-row:nth-child(1) {
  width: 45%; 
}

.people-row img {
  width: 100%;
  height: 170px; 
  object-fit: contain;
 
}

*/

.people-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
  gap: 20px; /* Space between items */
  justify-content: center;
  padding-left: 10%;
  padding-right: 10%;
  max-width: 900px; /* Adjust as needed */
  margin: 0 auto; /* Centering */
}

.people-row {
  display: contents; /* Allows direct placement into the grid */
}


figure {
  margin: 0; /* Remove any default margins */
  text-align: center; /* Center align the caption */
  min-width: 220px;
  max-width: 250px;
}

figure img {
  width: auto; /* Make images responsive */
  height: auto; /* Keep the aspect ratio */
  object-fit: contain; /* Ensure images cover the space without stretching */
  max-height: 170px; /* Optional: Control max height of images */
  border-radius: 50% !important; /* Makes the container circular */

}

figure figcaption {
  margin-top: 5px; /* Space between image and caption */
  /*font-size: 14px; */ /* Adjust caption text size */
  color: #555; /* Caption text color */
  line-height: 1.2; /* Line height for better spacing */
  background: inherit; /* Set the same background color as the page */
  /*padding: 5px; */ /* Optional: adds padding around the caption text */
  background-color: unset;
  /*color: unset; */
  font-size: 1rem;
  letter-spacing: 0.5px;
  padding: 0.25rem 0.5rem;
  text-transform: none;
  text-align: center;
  text-shadow: none;
  font-weight: 300;
}

/* CSS for Modal window with details about PI */
.people-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(2px); /* Blurs everything behind */
  /*background: rgba(0, 0, 0, 0.2); */ /* Slight dark tint */
  background: rgba(0, 0, 0, 0.5); /* Dark overlay */
  z-index: 999;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

  .people-modal {
    position: relative; /* Needed for close button positioning */
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    width: 80%;
    max-width: 90vW;
    max-height: 80vh; /* Ensures it never takes more than 80% of viewport height */
    overflow: hidden; /* Prevents content from overflowing */    
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  }

.people-modal-body {
  max-height: 60vh; /* Limits the height of the content */
  overflow-y: auto; /* Adds vertical scrollbar if content exceeds the max height */
  padding-right: 10px; /* Ensures text isn't flush against scrollbar */
}

/* Show state */
.people-modal.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.people-modal-overlay.show {
  opacity: 1;
}

.people-modal-content {
  display: flex;
  align-items: center;
  gap: 15px;
}

.people-modal-content img {
  flex-shrink: 0; /* Prevents the image from resizing */
  /*border-radius: 5px;*/ /* Optional: Adds rounded corners to the image */
}

.people-modal-content h4 {
  margin: 0; /* Removes default margin */
}

.people-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10;
}

  .people-hidden {
    display: none;
  }

/* Media Queries to scale images for different screen sizes */
@media screen and (max-width: 1100px) {
  figure {
    min-width: 180px;
  }
  .people-container {
    grid-template-columns: repeat(2, 1fr); /* Switch to 2 columns */
    max-width: 600px;
  }
}

@media screen and (max-width: 600px) {
  .people-container {
    grid-template-columns: repeat(1, 1fr); /* Stack in 1 column */
    max-width: 350px;
  }
}

/*
@media screen and (max-width: 1350px) {
  .people-row {
    flex-direction: row;
    gap: 0px;
  }
  figure {
    min-width: 200px;
  }

}

*/

/* People - Featured collaborators */
/* This is to create "cards" for collaborators, but the module it hidden on published site */
.headshot-container {
      width: 640px; /* Size of the circular container */
      height: 300px; /* Size of the circular container */
      display: flex; /* Align items horizontally */
      align-items: center;
      background-color: rgb(134, 153, 178);
}

.headshot-container img {
      width: 200px; /* Size of the circular container */
      height: auto; /* Size of the circular container */
      overflow: hidden; /* Hide the excess part of the image */
      border-radius: 50%; /* Makes the container circular */
      display: flex;
      flex-shrink: 0;
      justify-content: center; /* Centers the image horizontally */
      align-items: center; /* Centers the image vertically */
      background-color: transparent; /* Transparent background */
      margin-right: 20px; /* Space between the image and the text */
      margin-left: 5px;
}

.headshot-container .headshot-text {
      display: flex;
      flex-direction: column;
}

.headshot-container .headshot-name {
      font-weight: bold;
      font-family: poppins-semibold,poppins,sans-serif;
}

.headshot {
      width: 100%; /* Make the image take up the entire width of the container */
      height: 100%; /* Make the image take up the entire height of the container */
      object-fit: cover; /* Ensures the image is centered and cropped */
}


/* Dropdown Menu in Research participants */
.dropdown-rp {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
}

.dropbtn-rp {
  background-color: #000;
  color: white;
  padding: 10px 20px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}

.dropdown-rp-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  top: 35px;
  left: 0;
}

.dropdown-rp:hover .dropdown-rp-content {
  display: block;
}

.dropdown-rp-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-rp-content a:hover {
  background-color: #ddd;
}

/* Prospective students */

.image-gallery-students {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns for larger screens */
  grid-template-rows: repeat(2, auto); /* 2 rows */
  gap: 16px;
  padding: 16px;
}

.image-item-students img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
  .image-gallery-students {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Adjust to fit smaller screens */
  }
}

/* Information for participants */

.participant-slideshow-container {
  position: relative;
  width: 100vw; /* Full viewport width */
  height: 50vh; /* Adjust height as needed */
  overflow: hidden;
}

.participant-fade-image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: fade 9s infinite; /* Total cycle time */
}

/* Assign different animation delays to each image */
.participant-fade-image:nth-child(1) {
  animation-delay: 0s;
}

.participant-fade-image:nth-child(2) {
  animation-delay: 3s;
}

.participant-fade-image:nth-child(3) {
  animation-delay: 6s;
}

/* Keyframe animation for fade effect */
@keyframes fade {
  0% { opacity: 0; }
  10% { opacity: 1; }
  30% { opacity: 1; }
  40% { opacity: 0; }
  100% { opacity: 0; }
}


.mri-info {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  font-family: Arial, sans-serif;
}

.mri-info h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 20px;
  color: #2e2e2e;
}

.mri-info h3 {
  font-size: 1.5rem;
  margin-top: 20px;
  color: #2e2e2e;
}

.mri-info p {
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
}

.mri-info p:last-of-type {
  margin-bottom: 0;
}

.mri-info h3 {
  padding-bottom: 5px;
/* Ensure the section header isn't pushed down by the navigation bar */
  scroll-margin-top: 90px; /* Adjust this value to the height of your fixed header */
}

