/* ===========================================
   GENERAL STYLES
   =========================================== */
body {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #333;
  background-color: #fff;
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

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

p {
  font-size: 16px;
  margin: 0 0 1em 0;
}

/* Links */
a {
  color: #004785;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: #00629B;
  cursor: pointer;
}

/* Typography */
h1 {
  color: #000000;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-family: 'UnitedSansRgLt', Arial, sans-serif !important;
}

h2 {
  color: #000000;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-family: 'UnitedSansRgMd', Arial, sans-serif !important;
}

h3 {
  color: #000000;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-family: 'UnitedSansRgMd', Arial, sans-serif !important;
}

.index-page h2[data-reactid*="comp-ihe2f8bm"] {
  color: #000000;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-family: 'UnitedSansRgMd', Arial, sans-serif !important;
}

/* Font Declarations */
@font-face {
  font-family: 'UnitedSansCdMd';
  src: url('Team_Page_WIP/fonts/UnitedSansCdMd') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'UnitedSansRgLt';
  src: url('Team_Page_WIP/fonts/UnitedSansRgLt') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'UnitedSansRgMd';
  src: url('Team_Page_WIP/fonts/UnitedSansRgMd') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ===========================================
   LAYOUT STRUCTURE
   =========================================== */
/* Main Content Container */
.index-page .maincontent {
  padding: 20px;
  background-color: #f5f5f5cc;
  max-width: 1000px;
  width: 90%;
  margin: -60px auto 40px auto;
  position: relative;
  z-index: 3;
  font-family: "Acumin Pro", sans-serif;
  color: black;
  font-size: 18px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.breadcrumb {
  display: none;
}

.bar {
  width: 1200px;
  max-width: none;
  overflow: hidden;
  margin: 0 auto;
}

.bar-container {
  width: 100%;
  overflow: hidden;
  position: relative;
}

@media (max-width: 1199px) {
  .bar-container {
    padding: 0 20px;
  }
}

/* ===========================================
   HERO SECTION
   =========================================== */
.hero {
  background-image: url('./images/homepage-hero.jpg');
  background-size: cover;
  background-position: center;
  height: 400px;
  width: 100%;
  position: relative;
}

.welcome-text {
  padding: 20px;
  background-color: #f5f5f5;
  border-radius: 4px;
  margin-top: -100px; 
  z-index: 2;
  position: relative;
}

/* ===========================================
   PROFILE & SOCIAL ICONS
   =========================================== */
.profile-icons {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.profile-icons .icon-link {
  color: #cfb991;
  transition: color 0.3s ease;
  text-decoration: none;
}

.profile-icons .icon-link:hover {
  color: #9d9795;
  cursor: pointer;
}

.profile-icons .custom-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  filter: brightness(0) saturate(100%) invert(81%) sepia(9%) saturate(472%) hue-rotate(6deg) brightness(93%) contrast(92%);
  transition: filter 0.3s ease;
}

.profile-icons .icon-link:hover .custom-icon {
  filter: brightness(0) saturate(100%) invert(65%) sepia(9%) saturate(144%) hue-rotate(314deg) brightness(87%) contrast(84%);
}

.social-icons {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ===========================================
   ACCORDION ELEMENTS
   =========================================== */
/* Accordion container spacing */
.accordion-block {
  margin: 20px 0;
}

/* Panel container styling */
.accordion-block .panel {
  background-color: #f5f5f5;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  margin-bottom: 15px;
  border: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.accordion-block .panel,
.accordion-block .panel-body {
  border-radius: 0;
}

/* Hover effect */
.accordion-block .panel-heading:hover {
  z-index: 1;
  text-decoration: underline;
  color: #cfb991;
  cursor: pointer;
}

/* Heading styling */
.accordion-block .panel-heading {
  background-color: transparent;
  border-bottom: none;
  padding: 15px;
  cursor: pointer;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 5px;
  font-family: 'UnitedSansRgMd', Arial, sans-serif !important;
  font-weight: 600;
  font-size: 18px;
  color: #cfb991 !important;
}

/* Title + icons layout */
.accordion-block .panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  color: #cfb991;
}

/* Plus/minus icons */
.accordion-block .panel-title .fa {
  margin-left: 10px;
}

.accordion-block a.collapsed .fa-plus {
  display: inline;
}

.accordion-block a.collapsed .fa-minus {
  display: none;
}

.accordion-block a:not(.collapsed) .fa-plus {
  display: none;
}

.accordion-block a:not(.collapsed) .fa-minus {
  display: inline;
}

.accordion-block a {
  text-decoration: none !important;
  display: block;
  color: inherit;
  cursor: pointer;
}

/* Panel body (content) styling */
.accordion-block .panel-body {
  padding: 15px;
  font-size: 16px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #333;
  background-color: #fff;
  border-top: 1px solid #ddd;
}

/* ===========================================
   FEATURE LINKS
   =========================================== */
/* Reset any potential list styles */
.feature ul,
.feature li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Main feature container */
.feature {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0 0 40px 0; /* Add bottom margin for page buffer */
}

/* Individual feature link container */
.feature-link {
  flex: 1;
  max-width: 48%;
}

/* Link styling */
.feature a {
  font-family: 'UnitedSansRgMd', Arial, sans-serif !important;
  color: #cfb991;
  background-color: #f5f5f5;
  font-size: 18px;
  padding: 20px;
  border-radius: 0px; 
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  cursor: pointer;
}

/* Hover effect */
.feature a:hover {
  color: #cfb991;
  text-decoration: underline;
  background-color: #f5f5f5; /* keep consistent */
  transform: translateY(-5px); 
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
  cursor: pointer;
}

/* ===========================================
   NEWS SECTION
   =========================================== */
/* News container */
.news-divider {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.feed {
  background-color: #eee;
  padding: 20px;
  overflow-y: auto;
}

.feed .tab-content {
  overflow-y: visible;
}

.feed .tab-content .row {
  margin: 0 10px;
  display: flex;
  gap: 20px;
  justify-content: center;
}

.rightnav .event-list-past-link {
  margin-left: 0;
  text-align: right;
  display: block;
  margin-top: 10px;
}

/* NEWS TILE GRID LAYOUT */
.news-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.news-tile {
  flex: 1 1 300px;
  background-color: #f5f5f5;
  border-radius: 0px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
  text-decoration: none;
  color: inherit;
  display: block;
  max-width: calc(33.33% - 14px);
  min-width: 280px;
  min-height: 350px; /* Ensure consistent height */
}

.news-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  cursor: pointer;
}

.news-tile:hover h2 {
  text-decoration: underline;
}

.news-tile-image-container {
  height: 200px;
  overflow: hidden;
  position: relative;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-tile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-tile-content {
  padding: 15px;
}

.news-tile h2 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 18px;
  color: #CFB991;
}

.news-tile .date {
  color: #777;
  font-size: 14px;
  margin-bottom: 10px;
}

.news-tile .summary {
  font-size: 14px;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-tile-no-image .news-tile-image-container {
  height: 200px;
  background-color: #f8f8f8;
  display: none;
  cursor: pointer;
}

.news-tile-content-centered {
  text-align: center;
  padding: 30px 15px;
  min-height: 170px; /* Approximate height to match the image + content height */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.news-tile.news-tile-no-image {
  background-color: #f5f5f5; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.news-tile-no-image .news-tile-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 30px 15px;
}

/* ===========================================
   PUBLICATIONS SECTION
   =========================================== */
/* Publications container */
.pub-divider {
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Publication Cards */
.publications {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 12px 15px;
  margin-bottom: 8px;
  font-size: 0.95em;
  line-height: 1.5;
}

/* Publication List Styling */
ol {
  list-style-position: inside; 
  padding-left: 0; 
  counter-reset: item; 
}

ol li {
  border-bottom: none; 
  padding: 15px; 
  margin-bottom: 15px; 
  background-color: #f5f5f5; 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
  position: relative; 
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
}

/* Last item still doesn't need margin-bottom */
ol li:last-child {
  margin-bottom: 0;
}

/* Hover effect - slight enlargement */
ol li:hover {
  transform: scale(1.005); /* Slightly enlarge */
  box-shadow: 0 4px 8px rgba(0,0,0,0.08); /* Enhanced shadow on hover */
  z-index: 1; /* Ensure it's above other items when enlarged */
}

/* Style links within publication list items */
ol li a {
  font-weight: 500; /* Make links slightly bolder */
}

ol li a:hover {
  text-decoration: underline;
  cursor: pointer;
}

/* ===========================================
   VIDEO SECTION
   =========================================== */
.video-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 40px 0;
  flex-wrap: wrap;
}

.video-text {
  flex: 1 1 50%;
  min-width: 300px;
  font-size: 16px;
}

.video-text h2 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 20px;
  font-family: "sans-serif"; 
}

.video-text p {
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}

.video-text a {
  color: #cfb991;
  font-weight: bold;
  text-decoration: none;
}

.video-text a:hover {
  color: #cfb991;
  font-weight: bold;
  text-decoration: underline;
  cursor: pointer;
}

.video-frame {
  flex: 1 1 45%;
  min-width: 300px;
}

.video-frame iframe {
  width: 100%;
  height: 285px;
  border: none;
}

/* ===========================================
   RESPONSIVE STYLES
   =========================================== */
/* Top Header Area Adjustments */
.top .department a {
  line-height: 1.3em;
  position: relative;
  top: 0;
}

@media only screen and (max-width: 991px) and (min-width: 768px) {
  .top .department {
    margin-top: 0;
  }

  .top .department a {
    top: 2px;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 1199px) and (min-width: 992px) {
  .top .department a {
    top: 2px;
  }
}

@media only screen and (min-width: 1200px) {
  .top .department a {
    line-height: 1.2em;
    position: relative;
  }
}

@media (max-width: 768px) {
  .video-section {
    flex-direction: column;
    text-align: left;
  }

  .video-frame iframe {
    height: 200px;
  }
  
  .news-tile {
    max-width: 100%;
  }
}

/* News tiles responsive */
@media (max-width: 992px) {
  #homepage-news-tiles,
  .news-tile ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 576px) {
  #homepage-news-tiles,
  .news-tile ul {
    grid-template-columns: 1fr !important;
  }
}

/* Fixed elements */
.img-fixed {
  height: 100%;
  width: auto; 
  min-width: 100%; 
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}