body { padding-top: 56px; }
.left-aligned { margin-left: auto; }
.bg-dark { 
  background-color: #000000 !important; 
  color: #e7bafe;
  margin-top: 0 !important;
  border-top: 3px solid #e7bafe !important;
}
.bg-hero { background-color: rgb(0, 0, 0); }

/* CALLOUT */

.bd-callout { padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem }
.bd-callout h4 { margin-bottom: 1.25rem }
.bd-callout p:last-child { margin-bottom:0 }
.bd-callout code { border-radius:.25rem }
.bd-callout+.bd-callout { margin-top:-.25rem }
.bd-callout-info { border-left-color:#5bc0de }
.bd-callout-warning { border-left-color:#f0ad4e }
.bd-callout-danger { border-left-color:#d9534f }

/* footer */
footer a { color: white; font-weight: bold; text-decoration: none; }
footer a:hover { color: white; text-decoration: underline; }


#jumbotron{
  padding-right: 50px !important;
}
.docu-img img{
  width: 60%;
  border-radius: 10px;
  border: 3px solid rgb(238, 149, 238);
  display: block;
  margin: auto;
  margin-top: 30px;
}

.docu-img{
  margin: auto;
  max-width: 80%;
}

section.pdf-viewer {
  width: 100%;
  height: 90vh;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  overflow: hidden;
}

section.pdf-viewer iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* Base styling */
  #navbar {
    transform: translateX(-100%);
    transition: transform 0.5s ease;
  }
  .section-span{
    width: 100%;
  }
  #references {
    padding: 2rem;
    border-radius: 16px;
  }
  #references1 {
    padding: 2rem;
    border-radius: 16px;
  }
  #references2 {
    padding: 2rem;
    border-radius: 16px;
  }
  #references3 {
    padding: 2rem;
    border-radius: 16px;
  }


  #toggleRefs {
    background: linear-gradient(135deg, #e7bafe, #e7bafe);
    color: #0f172a;
    padding: 0.7rem 1.4rem;
    margin-bottom: 20px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.5vw;
    font-weight: bold;
    transition: all 0.25s ease;
  }

  #toggleRefs:hover {
    background: linear-gradient(135deg, #ec4899, #e7bafe);
    transform: translateY(-2px);
  }

  #toggleRefs:active {
    transform: translateY(0);
  }

  /* Collapsible content */
  #refsContent {
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    max-height: 0;
    opacity: 0;
  }

  #refsContent.open {
    max-height: 1200px; /* large enough to fit content */
    opacity: 1;
  }

  #refsContent ol {
    margin-left: 1.25rem;
    padding-left: 0.5rem;
  }

  #refsContent li {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: #0f172a;
    border-left: 3px solid #f472b6;
    border-radius: 6px;
  }

  #refsContent a {
    color: #f9c0d9;
    text-decoration: none;
    font-weight: 500;
  }

  #refsContent a:hover {
    text-decoration: underline;
    color: #ff9fcd;
  }
  



  #toggleRefs1 {
    background: linear-gradient(135deg, #e7bafe, #e7bafe);
    color: #0f172a;
    padding: 0.7rem 1.4rem;
    margin-bottom: 20px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.5vw;
    font-weight: bold;
    transition: all 0.25s ease;
  }

  #toggleRefs1:hover {
    background: linear-gradient(135deg, #ec4899, #e7bafe);
    transform: translateY(-2px);
  }

  #toggleRefs1:active {
    transform: translateY(0);
  }

  /* Collapsible content */
  #refsContent1 {
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    max-height: 0;
    opacity: 0;
  }

  #refsContent1.open {
    max-height: 1200px; /* large enough to fit content */
    opacity: 1;
  }

  #refsContent1 ol {
    margin-left: 1.25rem;
    padding-left: 0.5rem;
  }

  #refsContent1 li {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: #0f172a;
    border-left: 3px solid #f472b6;
    border-radius: 6px;
  }

  #refsContent1 a {
    color: #f9c0d9;
    text-decoration: none;
    font-weight: 500;
  }

  #refsContent1 a:hover {
    text-decoration: underline;
    color: #ff9fcd;
  }








  #toggleRefs2 {
    background: linear-gradient(135deg, #e7bafe, #e7bafe);
    color: #0f172a;
    padding: 0.7rem 1.4rem;
    margin-bottom: 20px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.5vw;
    font-weight: bold;
    transition: all 0.25s ease;
  }

  #toggleRefs2:hover {
    background: linear-gradient(135deg, #ec4899, #e7bafe);
    transform: translateY(-2px);
  }

  #toggleRefs2:active {
    transform: translateY(0);
  }

  /* Collapsible content */
  #refsContent2 {
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    max-height: 0;
    opacity: 0;
  }

  #refsContent2.open {
    max-height: 1200px; /* large enough to fit content */
    opacity: 1;
  }

  #refsContent2 ol {
    margin-left: 1.25rem;
    padding-left: 0.5rem;
  }

  #refsContent2 li {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: #0f172a;
    border-left: 3px solid #f472b6;
    border-radius: 6px;
  }

  #refsContent2 a {
    color: #f9c0d9;
    text-decoration: none;
    font-weight: 500;
  }

  #refsContent2 a:hover {
    text-decoration: underline;
    color: #ff9fcd;
  }
  #navbar.visible {
    transform: translateX(0);
  }

.main-page-jumbo{
  display: flex;
  padding-left: 0.5%;
  padding-right: 4%;
  margin-bottom: 150px;
  margin-top: 50px;
  border-left: solid 10px #e7bafe;
  margin-left: 25px;

}


.my-4{
  color: #e7bafe;
}
.main-page-jumbo{
  margin-bottom: 100px !important;
}
footer{
  margin-top: 0 !important;
}
.navbar .navbar-nav .nav-item{
  padding: 10px;
  transition: background-color 0.3s ease, color 0.3s ease;
  color: #e7bafe;
}
.navbar .navbar-nav .nav-item .nav-link{
  color: #e7bafe;
}
.navbar .navbar-nav .nav-item:hover{

   background-color: #e7bafe; /* new background on hover */
   color: #180a27;
}

.navbar .navbar-nav .nav-item:hover .nav-link{

  color: #180a27;
}
  .container{
    max-width: 100%;
    padding: 0px;

  }

      /* Container becomes sticky once it reaches the top */
    .scrolling-nav-wrapper {
        position: -webkit-sticky;
        position: sticky;
        z-index: 1000;
        background-color: transparent; 
        display: flex;
    }

    header{
      background-color: black;
      color:#e7bafe;
    }


    
    /* Keep navbar fixed inside the sticky wrapper */
    .scrolling-nav-wrapper #navbar {
        position: sticky;
        top: 80px;
        height: 100vh;
        overflow-y: auto;
        width: 20%;
        background-color: #e7bafe;
        color: #180a27;
        padding-top: 1rem;
        flex-shrink: 0;
    }
  

  .scrolling-nav-wrapper main {
    margin-left: 0px;
    padding: 2rem;
    padding-top: 0;
    max-width: 90%;
    font-size: 1vw;
    width: 100%;
  }
  
  .scrolling-nav-wrapper section {
    margin-bottom: 60px;
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid #f9c0d9;
    border-radius: 12px;
    padding: 20px;
    font-size: 1.3vw; 
  }

  .scrolling-nav-wrapper section p{
    padding: 20px 30px 0px 30px;
  }


  .scrolling-nav-wrapper section h3{
    font-weight: bold;
    color: #e7bafe;
    border-bottom: 2px solid;
  }
  
  .scrolling-nav-wrapper section section{
    border: none;
    background: none;
    margin-bottom: 30px;
    
  }

  .scrolling-nav-wrapper h2,
  .scrolling-nav-wrapper h3 {
    margin-top: 1.5rem;
  }
  .scrolling-nav-wrapper section h2{
    display: inline-block;
    background: linear-gradient(135deg, #e7bafe, #ffdee6);
    color: #0f172a;
    font-weight: bold;
    padding: 10px 30px;
    border-radius: 30px;
    margin-bottom: 10px;
    font-size: 1.5vw;
  }
  
  .scrolling-nav-wrapper section h3{
    color: #e7bafe;
    font-weight: bold;
    border-bottom: 3px solid;
    padding-bottom: 10px;
  }


  body{
    color: #e9ecef;
  }

  
    .dropdown .dropdown-menu{
      background-color: #000;
      border: 2px solid #e7bafe;
    }
    
    .dropdown .dropdown-menu .dropdown-item{
      transition: background-color 0.3s ease, color 0.3s ease;
      color: #e7bafe;
    }

    .dropdown .dropdown-menu .dropdown-item:hover{
      background-color: #e7bafe;
      color: #000;
    }
    

  
  .scrolling-nav-wrapper .nav-link {
    display: block;
    color: #180a27;
    padding: 0.35rem 1rem;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
  }
  
  .scrolling-nav-wrapper .nav-link:hover {
    background-color: #180a27;
    color: #e7bafe;
  }
  
  .scrolling-nav-wrapper .sub-link {
    padding-left: 2rem;
    font-size: 0.95rem;
  }




 
  
  /* Responsive design */
  @media screen and (max-width: 768px) {

    .scrolling-nav-wrapper section{
      font-size: 2vw;
    }

    .jumbo-text-1{
      font-size: 14vw !important;
    }
    .jumbo-text-3{
      font-size: 4vw !important;
    }
    .big-banner{
      display: flex;
      flex-direction: column;
      background-color: rgba(255, 196, 0, 0);
      border-top-right-radius: 25px;
      border-bottom-right-radius: 25px;
      align-items: center;
    }
    .main-page-jumbo{
      display: flex;
      flex-direction: column;
      align-items: center;
    

    }
    .main-page-centrepiece{
      order: 1;
      -webkit-order: 1;

    }

    .centerpiece{
      width: 95vw !important;
    }
    #jumbotron{
      order: 2;
      -webkit-order: 2;
      text-align: center;
    }
    .navbar-brand img{
      height: 9vw;
    }
    .navbar-brand{
      font-size: 4.3vw;
      
    }
    .scrolling-nav-wrapper {
      flex-direction: column;
    }
  
    .scrolling-nav-wrapper #navbar {
      display: none;
    }
  
    .scrolling-nav-wrapper main {
      padding: 1rem;
      margin: auto;
      max-width: 100%;
    }
    .navbar{
      padding: 0;
    }
    .navbar .navbar-nav .nav-item{
      padding: 10px;
      background-color: #000000; /* new background on hover */
      color: #e7bafe;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    .navbar .navbar-nav .nav-item .nav-link{
      color: #e7bafe;
      transition: background-color 0.3s ease, color 0.3s ease;
    }
    .navbar .navbar-nav .nav-item:hover{
       
       background-color: #e7bafe; /* new background on hover */
       color: #180a27;
       
    }

    .navbar .navbar-nav .nav-item:hover .nav-link{
       
      color: #180a27;
      
   }
    .nav-item:hover {
      background-color: #e7bafe !important; /* new background on hover */
      color: #020617 !important; /* new text color on hover */
    }
    .nav-item{
      background-color: #000;
      color: #e7bafe;
      font-size: 3vw;
    }
    .navbar .navbar-nav .nav-item::after {
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      content: "";
      background-color: transparent;
      width: 0%;
      height: 4px;
      transition: all 0.5s;
    }
    .navbar .navbar-nav .nav-item:hover::after {
      width: 0%; /* Expand underline on hover */
    }

    
  }
  
  /* Smooth scrolling */
  html {
    scroll-behavior: smooth;
    
  }

  /*NAVBAR STYLING */
    
      
    .navbar .nav-item {
      position:relative;
      color: #e7bafe !important;
      font-size: 1.5vw;
    }


    .navbar-brand{
      color: #e7bafe !important;
      font-weight: bolder;
      font-size: 2vw;
      background-color: #180a27;
      padding-right: 30px;
      padding-left:10px;
      width: 20%;
    }

    .navbar{
      color: #e7bafe !important;
      background-color: #50418f;
      border-bottom: 5px solid #e7bafe;
      padding:0px;
    }
    /*the style just above has to be worked on*/


    
    /*
    .navbar .navbar-link-hover::after {
      content:'';
      position: absolute;
      bottom: -3px;
      left: 0;
      width: 100%;
      height: 3px;
      background-color: #e7bafe;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.3s ease;
    }
    .navbar .navbar-link-hover:hover::after{
      transform: scaleX(1);
      height: 3px;
    }
      */
    /*
    .navbar .navbar-nav .nav-item::after {
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      content: "";
      background-color: #e7bafe;
      width: 0%;
      height: 4px;
      transition: all 0.5s;
    }
    .navbar .navbar-nav .nav-item:hover::after {
      width: 100%; /* Expand underline on hover */
    }
    */

 



  /*Main Page Styling */


  .video{
    display: flex;
    justify-content: center;
    border: 8px solid;
    border-radius: 20px;
    text-align: center;
    width: 70%;
    margin: auto;
  }

  .general-title{
    text-align: center;
  }


  /*
  .main-page-centrepiece{
    order: 1;
    -webkit-order: 1;

  }*/

  .centerpiece{
    width: 40vw;
  }

  /*
  #jumbotron{
    order: 2;
    -webkit-order: 2;
    text-align: center;
  }
  */
  .placard-section{
    margin-top: 100px;
  }
  
  .placard-section img{
    height:30vw;
  }
  
  .placard-left{
    display: flex;
  }
  
  .placard-right{
    display: flex;
  }
  
  .placard-text{
    text-align: center;
    margin: auto;
    text-align: center;
    margin: auto;
    padding: 50px 10px 50px 10px;
    font-weight: 700;
    border: 5px solid;
    border-radius: 25px;
    font-size: 1.1em;
  }

  /* Teams page styling */

  /*
  .card {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-radius: 10px;
    height: 100%;
    max-width: 300px;
    margin: 0 auto;
    overflow: hidden;
  }

  .card:hover {
    transform: scale(1.1);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  }

  .card-img-top {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    transition: transform 0.4s ease;
  }

  .card:hover .card-img-top {
    transform: scale(1.05);
  }

  .card-body {
    background-color: #f8f9fa;
    text-align: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }

  .section-heading {
    margin: 60px 0 30px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    text-transform: uppercase;
  }

  .row .col {
    display: flex;
    justify-content: center;
  }

  .card-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
  }

  .card-subtitle {
    font-size: 1rem;
    color: #555;
  }

  .card-text {
    font-size: 0.9rem;
    color: #777;
  }
  .img-size-special{
      width:666px;
      height:auto;
                    
  }
  
  .img:hover {transform: scale(1.1);}

  */

  .img-hover-2 {transition: transform 0.6s ease;}
  .img-hover-2 img:hover {transform: scale(1.05);}
  
  html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scroll-padding-top: 100px;
  }

  /*main body colouring*/
  body {
    background: linear-gradient(120deg, #000 50%, #291242 100%);
    transition: background 1s ease;
  }
  
  
  .card {
    position: relative;
    perspective: 1000px;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    border-radius: 10px;
    height: 100%;
    max-width: 300px;
    margin: 0 auto;
    overflow: hidden;
    will-change: transform, box-shadow;
    z-index: 1;
  }

  .card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: radial-gradient(circle at top left, rgba(255,255,255,0.05), transparent 70%),
                radial-gradient(circle at bottom right, rgba(0,0,0,0.03), transparent 70%);
    animation: float-bg 6s ease-in-out infinite;
    z-index: 0;
  }

  @keyframes float-bg {
    0% { transform: translate(0, 0); }
    50% { transform: translate(-5px, -5px); }
    100% { transform: translate(0, 0); }
  }

  .card:hover {
    transform: scale(1.06) rotateX(1deg) rotateY(1deg);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
    z-index: 2;
  }

  .card-img-top {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    transition: transform 0.8s ease-in-out;
    will-change: transform;
    position: relative;
    z-index: 1;
  }
  body {
    font-family: Arial, sans-serif; 
  }

  .card-body {
    background-color: #e7bafe;
    color: #001a33;
    text-align: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 1rem;
    position: relative;
    z-index: 1;
  }

  .card-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    transition: transform 0.8s ease-in-out;
    will-change: transform;
  }

  .card-subtitle,
  .card-text {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.8s ease, max-height 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
  }

  .card:hover .card-title {
    transform: translateY(-10px);
  }

  .card:hover .card-subtitle,
  .card:hover .card-text {
    opacity: 1;
    max-height: 200px;
    transform: translateY(0);
  }

  .section-heading {
    margin: 60px 0 30px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    text-transform: uppercase;
  }

  .row .col {
    display: block;
    justify-content: center;
  }



  /* General Documentation Styling */

  .docu-img{
    max-width: 80%;
  }

  .docu-title{
    size: 6vw;
  }
  
  
  /* for decorative unordered lists */
    ul.decorative {
      list-style: none;
      padding-left: 0;
    }

    ul.decorative li::before {
      content: "❖";
      margin-right: 10px;
    }


/*styling for AIIM page*/
      
  .aiim-body {
    margin: 0;

    line-height: 1.6;
  }

  /* Sticky Navigation Tabs */
  .aiim-navbar {
    position: sticky;
    top: 0;
    background: #222;
    padding: 10px 0;
    z-index: 1000;
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  .aiim-centrepiece{
    display: flex;
  }

  .aiim-tab-btn {
    background: transparent;
    border: none;
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s ease, border-bottom 0.3s ease;
    padding: 8px 12px;
    width: 30%;
  }

  .aiim-tab-btn.aiim-active {
    border-bottom: 2px solid #ffffff;
    width: 30%;
  }

  /* Header */
  .aiim-header {
    text-align: center;


    color: white;
  }

  .aiim-header-title {
    margin-bottom: 10px;
  }

  /* Day Sections */
  .aiim-day-section {
    display: none; /* hidden by default */
    padding: 60px 20px;
    max-width: 100%;
    margin: auto;
    
    margin-bottom: 20px;
    
  }

  .aiim-day-section.aiim-active {
    display: block;
  }

  .aiim-day-title {
    color: #4a90e2;
    margin-bottom: 15px;
  }

  .aiim-page {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #f0f0f0;
  }
  .aiim-container {
    max-width: 1000px;
    margin: auto;
    padding: 20px;
    background: transparent;
  }
  .aiim-page header {
    background: linear-gradient(135deg, #003366, #001a33);
    color: white;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
  }
  .aiim-page header h1 {
    margin: 0;
    font-size: 28px;
  }
  .aiim-page header p {
    margin: 5px 0 0;
    font-size: 16px;
    color: #dbe8ff;
  }
  .aiim-page section {
    margin: 20px 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  .aiim-page h2 {
    margin-top: 0;
    color: #7dd3fc;
  }
  .aiim-timeline {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 10px;
    margin-bottom: 15px;
  }
  .aiim-timeline div {
    padding: 8px;
    border-radius: 5px;
    background: rgba(0, 51, 102, 0.4);
  }
  .aiim-grid {
    display: grid;
    gap: 15px;
  }
  @media (min-width: 700px) {
    .aiim-grid-2 { grid-template-columns: 1fr 1fr; }
    .aiim-grid-3 { grid-template-columns: repeat(3, 1fr); }
    .aiim-grid-4 { grid-template-columns: repeat(4, 1fr); }
  }
  .aiim-judge-card {
    background: rgba(0, 51, 102, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    padding: 12px;
    text-align: center;
  }
  .aiim-judge-card h3 {
    margin: 0;
    font-size: 16px;
    color: #fff;
  }
  .aiim-highlight {
    background: rgba(125, 211, 252, 0.1);
    padding: 15px;
    border-left: 4px solid #7dd3fc;
    border-radius: 5px;
  }
  .aiim-note {
    font-size: 14px;
    color: #bbb;
    margin-top: 10px;
  }

