@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gidole&display=swap');


body {
  font-family: "Gidole", sans-serif;
    }

    h2 {
        font-size: 3em;
        margin: auto;
        padding-top: 1em;
        z-index: 5;
        position: relative;
        text-transform: uppercase;
        padding-bottom: .25em;
        color: #46166b;
        font-family: "Oswald", sans-serif;
    }

    h3.white{
        color: white;
        font-weight: bold;
    }

    .big-titile-text{
        font-size: 4em;
        margin: auto;
        padding-top: 1em;
        z-index: 5;
        position: relative;
        text-transform: uppercase;
        padding-bottom: .25em;
        color: #919191;
        font-family: "Oswald", sans-serif;
    }

    .highlight-text{
        font-size: 6em;
        margin: auto;
        padding-top: 1em;
        z-index: 5;
        position: relative;
        text-transform: uppercase;
        padding-bottom: .25em;
        color: #46166b;
        font-family: "Oswald", sans-serif;
    }

    .para-big-text{
        line-height: 2em;
        color: #666;
        font-size: 1.5em;
        font-family: "Oswald", sans-serif;
    }

    .content-button{

        padding: 1.1em 1em 1em 1em;
        display: inline-block;
        font-size: 26px;
        color: #fff;
        border: solid 1px #46166b;
        background-color: #46166b;
        text-transform: uppercase;
    }

    .degree-button{
        color: #333;
        background-color: #d6d6d6;
        text-decoration: none;
        text-transform: none;
        margin-bottom: 1em;
        padding: 1.3em 1em 1em 1em;
        font-size: 1.3em;
        flex: 100%;
        line-height: 0.8em;
        text-align: center;
        font-family: "Oswald", sans-serif;
    }
    .degree-button:hover{
        background-color: #edba32;
    }

    .dark-bg{
        text-align: center;
        background-color: #333;
        padding: 50px;
    }

    .dark-bg-footer{
        place-items: center;
        background-color: #333;    
        padding: 50px 10px 10px;
    }

    .copyright-text{
        color: #999999;
    }

    .subtitle{
        font-size: 2.5rem;
        color: #46166b;
    }
    
    .header {
        text-align: left;
        padding: 15px 20px;
        background-color: #333;
    }
    .header img {
        height: 60px;
    }
    .top-nav {
        position: absolute;
        top: 1.25em;
        right: 3em;
        display: inline-block;
        z-index: 2001;
    }

    .top-nav ul {
        padding: 0;
        margin: 0;
    }

    .top-nav li {
        list-style: none;
        display: inline-block;
        margin-left: 1em;
    }

    .top-nav a {
        text-decoration: none;
        color: #EEB211;
        transition: background-color 0.2s ease-in, color 0.2s ease-in;
        padding: 5px 10px;
        border-radius: 5px;
    }

    .top-nav a:hover {
        background-color: #EEB211;
        color: black;
    }

    .navbar{
      background-color: #333333;
      padding: 0;
      padding-left: 6%;
      border-top: 0.5px solid #888;
      font-family: 'Poppins', sans-serif;
      font-weight: 600; /* Slightly bold for emphasis */
    }

    .navbar.scrolled {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      transition: background-color 0.3s ease-in-out, padding 0.3s ease-in-out;
      background-color: #333; /* Slightly transparent */
    }


    .icon.scrolled{
      position: fixed;
      z-index: 9999;
      padding: 5px;
      background: #333333;
    }

    
    .navbar-nav{ 
      display: grid;
      grid-template-columns: 15% 15% 15% 15% 15% 15% 10%; /* Matches navbar */
    }
    
    .nav-link{
      display: inline-block;
      padding: 0.5em 1em;
      width: 100%;
      font-weight: bold;
      text-transform: none;
      text-align: left;
      color: white;
    }

    /* Main dropdown container */
    .fullwidth-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #222; /* Solid background */
        display: none;
        padding: 0;
        z-index: 1000;
    }

    /* Grid layout for submenus - Ensures alignment */
    .fullwidth-dropdown .container {

      grid-template-columns: 15% 15% 15% 15% 15% 15% 10%;  /* Matches navbar */
        padding: 0 2em;
        align-items: start; /* Aligns content properly */
        display: grid;
        align-items: stretch; /* Ensures equal height */
    }

    /* Ensure text is aligned properly */
    .dropdown-section ul {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%; /* Makes sure links align properly */
    }

    /* Show dropdown on hover */
    .navbar:hover + .fullwidth-dropdown,
    .fullwidth-dropdown:hover {
        display: block;
    }

    /* Default dropdown column background */
    .dropdown-section {

      background-color: transparent;
      padding: 20px 15px;
      flex: 1; /* Ensures equal width */
      min-height: 200px; /* Set a minimum height */
      transition: background-color 0.3s ease-in-out;
    }

    /* When any menu item inside a dropdown is hovered */
    .dropdown-section:hover {
        background-color: #46166b !important; /* Full column turns blue */
    }

    /* Individual menu items */
    .dropdown-section a {
        color: white !important; /* Default text color */
        padding: 5px 10px;
        display: block;
        text-decoration: none;
    }

    /* Default nav item background */
    .nav-item {
        position: relative;
        transition: background-color 0.3s ease-in-out;
    }

    /* Change nav item background when hovering over submenu */
    .nav-item.active, .dropdown-section.active {
        background-color: #46166b !important;
    }

    /* Ensure individual submenu items still have hover effects */
    .dropdown-section a:hover {
        color: black !important;
        background-color: #EEB211 !important;
        border-radius: 5px;
    }

    /* Hide Athletics menu when screen is below 1100px */
   /* @media (max-width: 1100px) {
        #athletics {
            display: none !important;
        }
    }*/

    /*Slider*/
    .carousel-item {
        position: relative;
    }

    .carousel-caption {
        position: absolute;
        bottom: 4rem;
        left: 7%;
        max-width: 85%;
        padding: 2em 1.5em 1.5em;
        background-color: rgb(55 17 84 / 39%);
    }

    .carousel-caption h5 {
        font-family: "Oswald", sans-serif;
        font-optical-sizing: auto;
        text-align: left;
        font-size: 2rem;
        text-transform: uppercase;
    }

    .carousel-caption p {
        font-size: 18px;
        color: white;
        text-align: left;
    }

    .carousel-caption a {
      display: inline-block;
      font-size: 16px;
      line-height: 1.2em;
      color: #46166b;
      padding: .7em 1.4em;
      background-color: white;
      background-image: none;
      border: solid 1px white;
      -webkit-transition: color 0.5s, background-color 0.5s;
      transition: color 0.5s, background-color 0.5s;
      text-decoration: none;
      float: left;
    }

    .carousel-inner{
      max-height: 650px;
    }


    @media (max-width: 768px) {
    .carousel-inner img {
        max-height: 400px; /* Reduce height for mobile */
    }
    
    .carousel-caption {
        bottom: 50px;
        max-width: 80%;
        padding: 1em;
        font-size: 14px;
    }

    .carousel-caption h5 {
        font-size: 1.5rem;
    }

    .carousel-caption p {
        font-size: 14px;
        display: none; /* Hide description text on smaller screens */
    }

    .carousel-caption a {
        font-size: 14px;
        padding: 0.5em 1em;
    }
}


    @media only screen and (min-width: 768px) and (max-width: 890px) {
        .header img  {
            height: 50px !important;
        }
        
    }

    @media only screen and (max-width: 767px){
      .logo, .navbar, .top-nav {
          display: none;
      }

      .carousel-caption p {
        display: none;
      }

      .mobile-menu{
        position: static;left: 20px;top: 18px;font-size: 2em;color: #ffffff; color: white;
      }

      .mobile-menu-right{
        position: absolute;
        top: 15px;
        right: 20px;
        z-index: 99999; color: white;font-size: 2em;
      }

      .mobile-menu-container {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
      }

      .mobile-logo {
          display: block;
          max-height: 40px; /* Adjust the height as needed */
          margin: 0 auto;
      }
    }

    @media only screen and (min-width: 768px){
      .mobile-menu, .mobile-logo, .mobile-menu-right{
          display: none;
        }

    }

    .mobile-container {
        position: relative;
        display: flex;
        align-items: center;
    }

    /* Mobile Drawer */
    .mobile-drawer {
        position: fixed;
        top: 0;
        left: -75vw;
        width: 75vw;
        height: 100vh;
        background-color: #333;
        box-shadow: 2px 0px 5px rgba(0, 0, 0, 0.5);
        transition: left 0.3s ease-in-out;
        z-index: 10000;
        overflow-y: auto;
    }

    /* Show menu */
    .mobile-drawer.open {
        left: 0;
    }

    /* Close Icon Positioned Outside */
    .close-icon {
       position: fixed;
        top: 0px;
        left: 75vw;
        font-size: 24px;
        color: white;
        background: rgba(0, 0, 0, 0.6);
        padding: 10px;
        cursor: pointer;
        transition: transform 0.2s ease-in-out;
        z-index: 10001;
    }

    .close-icon:hover {
        transform: scale(1.1);
    }

    /* Hide the close icon when the menu is closed */
    .mobile-drawer:not(.open) + .close-icon {
        display: none;
    }

    /* Hide the close icon when the menu is closed */
    .mobile-drawer:not(.open) + .close-icon {
        display: none;
    }
    /* Draggable handle */
    .mobile-drawer .handle {
        position: absolute;
        right: -20px;
        top: 50%;
        width: 20px;
        height: 50px;
        background-color: #444;
        cursor: grab;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.2em;
    }

    /* Menu Links */
    .mobile-drawer a {
        border-top: 1px solid #888;
        padding: 1rem;
        display: block;
        color: white;
        text-decoration: none;
        transition: 0.3s;
        background-color:#333333;
    }

    .mobile-drawer a:hover {
        background-color: #EEB211;
        color: black;
    }

   
    /* Sub-Menu Items */
    .sub-menu a {
        padding: 0.5em 2em;
        display: block;
        border: 0;
    }


    /* Ensure a smooth transition for sub-menus */
    .sub-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
            display: none; /* Start hidden */
    }

    .sub-menu.open {
        max-height: 200px; /* Adjust as needed */
    }


    .sidebar-menu{
        background: #f5f5f5;
        border: 1px solid #cbcbcb;
        display: block;
        font-size: 20px;
        padding: 15px;
        text-decoration: none;
        color: #46166B;
        cursor: pointer;
        position: relative;
    }

    .sidebar-menu:hover{
        background: #d1d1d1;
    }

    .parent-menu {
        display: block;
        text-align: left;
        position: relative;
    }


    .parent-menu span {
        transition: transform 0.5s ease-in-out;
        display: inline-block; /* Ensures proper rotation */
        float: right;
    }

    .parent-menu.open span {
        transform: rotate(180deg); /* Rotates arrow when submenu is open */
    }


    /* Overlay */
    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9999;
    }

    /* Show overlay when menu is open */
    .overlay.show {
        display: block;
    }




    /* Adjust Search Bar Position */
    .search-container {
        position: absolute;
        top: 130px; /* Align right below navbar */
        left: -100vw; /* Initially hidden */
        width: 100vw;
        height: 60px;
        background: #333333;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px;
        transition: left 0.5s ease-in-out;
        z-index: 99999;
    }

    /* Aligning input and button properly */
    .search-input {
        width: 70%;
        max-width: 500px; /* Limit width on large screens */
        padding: 10px;
        font-size: 18px;
        border: none;
        border-radius: 5px;
        outline: none;
    }

    .search-button {
        padding: 10px 20px;
        background: #EEB211;
        color: black;
        font-size: 18px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        margin-left: 10px;
    }

    /* Show search when active */
    .search-container.active {
        left: 0;
    }

    /* Responsive: Ensure proper positioning on mobile */
    @media (max-width: 767px) {
        .search-container {
            position: fixed; /* Fixed for mobile */
            top: 75px; /* Adjust below mobile navbar */
            left: -100vw;
            width: 100vw;
            z-index: 10000;
        }

        .search-input {
            width: 80%;
            max-width: none; /* Allow full width */
        }
    }


    .search-icon {
      color: white;
      font-size: 20px;
    }



    .sidebar {
      border-left: 4px solid #edba32;
      background: #ffffff;
      color: #46166B;
    }


    .parent-menu {
      background: #333333;
      display: block;
      font-size: 16px;
      padding: 15px;
      text-decoration: none;
      color: #46166B;
      cursor: pointer;
      position: relative;
    }

    .parent-menu:hover {
      background: #d1d1d1;
    }

    .parent-menu .arrow {
      float: right;
      transition: transform 0.3s ease;
    }

    .sub-menu {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
      background: #ffffff;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .sub-menu li a {
      background: #f5f5f5;
      border: 1px solid #cbcbcb;
      display: block;
      font-size: 20px;
      padding: 15px 25px;
      text-decoration: none;
      color: #46166B;
    }

    .sub-menu li a:hover {
      background: #d1d1d1;
    }

    /* Open state for sub-menu */
    .menu-item.active .sub-menu {
      max-height: 300px; /* Increase as needed */
    }

    /* Rotate arrow when active */
    .menu-item.active .parent-menu .arrow {
      transform: rotate(180deg);
    }


    .course{
        border: 1px solid #ddd;
        margin-bottom: 1em;
        background-color: #f8f8f8;
    }

    .course-title{
        font-weight: 600;
        color: #46166b;
    }
