        * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: 'Segoe UI', sans-serif;
      background: #f4f7fa;
      padding-top: 90px;
      margin: 0;
      padding: 0;

    }

    :root {
      --underline-color: #3c56ff;
      --theme-color: #004158;
      --example-color: #e2ddd8;
    }

    header {
      position: sticky;
      top: 0;
      width: 100%;
      background: #fff;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
      z-index: 1000;
    }

    .navContainer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 15px 30px;
      max-width: 1200px;
      margin: auto;
      flex-wrap: wrap;
    }

    .logo {
      height: 40px;
    }

    .navSection {
      display: flex;
      align-items: center;
      gap: 25px;
    }

    .dropdown {
      position: relative;
    }

    .dropdown button:hover {
      color: var(--underline-color);
    }

    .dropdown>button {
      background: none;
      border: none;
      font-size: 1rem;
      cursor: pointer;
      color: #333;
      font-weight: 500;
    }

    .dropdownContent {
      display: none;
      position: absolute;
      top: 120%;
      left: 0;
      background: #fff;
      box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
      border-radius: 8px;
      overflow: hidden;
      min-width: 180px;
      z-index: 999;
    }

    .dropdownContent.show {
      display: block;
    }

    .dropdownContent a {
      display: block;
      padding: 10px 16px;
      text-decoration: none;
      color: #333;
      transition: background 0.2s;
    }

    .dropdownContent a:hover {
      background: #f1f1f1;
    }

    .searchbox {
      position: relative;
      width: 100%;
      max-width: 300px;
    }

    .searchinputclass {
      width: 100%;
      padding: 10px 40px 10px 16px;
      /* Enough padding on right for icon */
      border-radius: 50px;
      border: 1px solid #ccc;
      font-size: 1rem;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    }

    .searchinputclass:focus {
      outline: none;
      border-color: #007BFF;
    }

    .search-icon {
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      font-size: 1rem;
      color: #777;
      cursor: pointer;
      transition: color 0.2s ease;
    }

    .search-icon:hover {
      color: #333;
    }

    .suggestions {
      position: absolute;
      top: calc(100% + 4px);
      /* Closer to the input */
      left: 0;
      right: 0;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
      max-height: 300px;
      overflow-y: auto;
      z-index: 1001;
    }

    .suggestion-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      cursor: pointer;
      transition: background 0.2s ease;
    }

    .suggestion-item:hover {
      background: #f1f1f1;
    }

    .suggestion-item i {
      color: #007BFF;
      width: 24px;
      text-align: center;
    }

    .no-results {
      padding: 12px;
      text-align: center;
      font-style: italic;
      color: #777;
    }

    .mainContent {
      text-align: center;
      padding: 2.5em;
    }

    .mainContent h1 {
      font-size: 3rem;
    }

    .mainContent p {
      font-size: 1.5rem;
    }

    .searchboxmain {
      position: relative;
      /* Required for .suggestions to be positioned correctly */
      margin: 0 auto;
      width: 60%;
      margin-top: 2%;
      height: auto;
    }

    .languageContainer {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 20px;
      padding: 40px;
      max-width: 1200px;
      margin: auto;
    }

    .languageBox {
      display: flex;
      flex-direction: column;
      align-items: center;
      background: #fff;
      text-align: center;
      text-decoration: none;
      border-radius: 12px;
      padding: 20px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .languageBox img {
      width: 80px;
      height: 80px;
      object-fit: contain;
      margin-bottom: 12px;
    }

    .languageBox h1 {
      font-size: 1.2rem;
      color: #333;
      margin: 0;
    }

    .languageBox:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    }

    .courseContent {
      text-align: center;
    }

    .courseContent h1 {
      font-size: 2rem;
    }

    .underlineAnimation {
      position: relative;
      width: 10em;
      /* adjust width as needed */
      height: 0.2em;
      background-color: transparent;
      overflow: hidden;
      margin: 0 auto;
    }

    .underlineAnimation::before {
      content: "";
      position: absolute;
      height: 100%;
      width: 0;
      /* left: 50%; */
      background-color: var(--underline-color);
      border-radius: 4px;
      animation: lineExpand 2.5s ease-in-out infinite;
    }

    @keyframes lineExpand {

      0%,
      100% {
        width: 0;
        left: 50%;
        opacity: 0.8;
      }

      50% {
        width: 100%;
        left: 0;
        opacity: 1;
      }
    }

    .suggestion-item.active {
      background-color: #e8f0fe;
      font-weight: 600;
    }


    .footer {
      background-color: var(--theme-color);
      color: #f0f0f0;
      padding: 50px 30px;
      font-family: 'Segoe UI', sans-serif;
    }

    .footerContainer {
      max-width: 1200px;
      margin: auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 40px;
    }

    /* LEFT SIDE */
    .footerLeft {
      flex: 1 1 45%;
    }

    .footerLogo {
      width: 140px;
      margin-bottom: 2%;
    }

    .footerDescription {
      font-size: 15px;
      line-height: 1.6;
      margin-bottom: 20px;
      color: #ccc;
    }

    .footercontactinfo p {
      margin: 6px 0;
      font-size: 14px;
      color: #bbb;
    }

    .footersocialicons a {
      display: inline-block;
      margin-right: 1%;
      font-size: 20px;
      color: #ccc;
      transition: transform 0.2s ease, color 0.2s ease;
    }

    .footersocialicons a:hover {
      transform: scale(1.1);
      color: #fff;
    }

    /* RIGHT SIDE */
    .footerRight {
      flex: 1 1 45%;
      display: flex;
      justify-content: flex-end;
      gap: 60px;
      /* spacing between the three lists */
      flex-wrap: wrap;
    }

    .footerRight ul {
      list-style: none;
      padding: 0;
      min-width: 120px;
    }

    .footerlistTitle {
      font-weight: bold;
      font-size: 1.2rem;
      margin-bottom: 1%;
      color: #fff;
    }

    .footerRight li {
      margin: 8px 0;
    }

    .footerRight ul li {
      color: #ccc;
    }

    .footerRight a {
      text-decoration: none;
      color: #ccc;
      transition: color 0.2s ease;
    }

    .footerRight a:hover {
      color: #fff;
    }


    .h4Property {
      font-size: 1.4rem !important;
      color: black !important;
    }

    .h2Property {
      font-size: 1.9rem !important;
      color: black !important;
    }

    .zeromarginP {
      margin-top: 0% !important;
    }

    .ulInline {
      padding-left: 1.5%;
    }

    .tutoroalsidebar {
      width: 40vh;
      background-color: #f9f9f9;
      padding: 20px;
      box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    }

    .sidebarToggleBtn {
        display: none;   /* hide on desktop */
    }

    .tutoroalmaintopic ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .tutoroalmaintopic {
      border: 1px solid black;
      overflow: hidden;
      /* prevents any overflow */
      margin-bottom: 8px;
      border-radius: 4px;
    }

    .tutoroalmaintopicDiv {
      cursor: pointer;
      font-weight: bold;
      padding: 12px 14px;
      transition: background-color 0.3s;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      box-sizing: border-box;
    }

    .tutoroalmaintopicDiv:hover {
      background-color: #f0f0f0;
    }

    .topicArrowIcon {
      font-size: 16px;
      color: #888;
      transition: transform 0.3s ease, color 0.3s ease;
    }

    .tutoroalmaintopicDiv.active .topicArrowIcon {
      transform: rotate(90deg);
      color: #3c56ff;
    }

    .tutorialSubTopics {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.4s ease;
      padding-left: 20px;
      background-color: #fdfdfd;
    }

    .tutorialSubItem {
      margin: 8px 0;
      cursor: pointer;
      display: flex;
      align-items: center;
      color: #333;
      transition: background-color 0.2s;
      padding: 4px 0;
    }

    .tutorialSubItemA:hover {
      background-color: #e8f0ff;
    }

    .dot {
      font-size: 14px;
      margin-right: 8px;
      color: #bbb;
      transition: color 0.3s;
    }

    .tutorialSubItemA.active .dot,
    .tutorialSubItemA.visited .dot {
      color: #3c56ff;
    }

    .tutorialSubItemA {
      text-decoration: none;
      color: #333;
    }


    .tutorialMainDiv {
      display: flex;
    }

    .tutorialmainContant {
      flex: 1;
      padding: 2%;
    }

    .maintopicChange {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
    }

    .topicChangebuttons {
      display: flex;
      gap: 10px;

    }

    .topicChangebuttons a {
      text-decoration: none;
      color: white;
      padding: 10px 20px;
      font-size: 1.5rem;
      background-color: var(--underline-color);
      border-radius: 10px;
      /* display: inline-block; */
      font-weight: 500;
      justify-content: space-between;

    }

    .topicChangebuttonsBottom {
      margin-top: 2%;
      display: flex;
      justify-content: flex-end;
      gap: 10px;
    }

    .topicChangebuttonsBottom a {
      text-decoration: none;
      color: white;
      padding: 10px 20px;
      font-size: 1.5rem;
      background-color: var(--underline-color);
      border-radius: 10px;
      /* display: inline-block; */
      font-weight: 500;
      justify-content: space-between;
    }

    .pageHeading {
      flex: 1;
    }


    .pageHeading h1 {
      font-size: 3rem;
      margin-bottom: 1.5%;
    }

    .imageSubtopicDiv {
      display: flex;
    }

    .subtopicDiv {
      width: 70%;
    }


    .subtopicDiv h1 {
      font-size: 1.7rem;
      color: var(--underline-color);
      margin-top: 1.5%;
    }

    .subtopicDiv p {
      font-size: 1.1rem;
      margin-top: 1.5%;
    }

    .subjectImage {
      width: 25%;
      display: flex;
      justify-content: center;
      align-items: center;
      /* background-color: #888; */
    }

    .subjectImage img {
      width: 25vh;
      height: 25vh;

    }

    .normalSubTopicDiv {
      margin-top: 2%;
    }

    .normalSubTopicDiv h1 {
      font-size: 1.7rem;
      color: var(--underline-color);
      margin-top: 1.5%;
    }

    .normalSubTopicDiv p {
      font-size: 1.1rem;
      margin-top: 1.5%;
    }




    .tutorialExample {
      margin: 1% 0;
      background-color: var(--example-color);
      padding: 1% 2%;

    }

    .tutorialExample p {
      font-size: 1.2rem;
    }


    .languageCompiler {
      text-decoration: none;
      background-color: var(--underline-color);
      padding: 5px 20px;
      border-radius: 10px;
      font-size: 1.1rem;
      color: white;
      /* margin-top: 10% */
    }

    table,
    th,
    td {
      border-collapse: collapse;
    }

    table {
      margin: 2% 0;
    }

    table th {
      background-color: var(--example-color);
    }

    table ul {
      margin: 0 2%;
    }

    /* Main layout for smaller screens */
    @media (max-width: 768px) {


    .tutoroalsidebar {
        position: fixed;
        top: 0;
        left: -100%; /* hide off-screen */
        width: 75%;
        height: 100%;
        z-index: 2000;
        background-color: #f9f9f9;
        box-shadow: 2px 0 10px rgba(0,0,0,0.2);
        transition: left 0.3s ease;
        padding: 20px;
        overflow-y: auto;
    }

    .tutoroalsidebar.active {
        left: 0; /* show sidebar */
    }

    /* Overlay behind sidebar */
    .sidebarOverlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.4);
        z-index: 1500;
    }

    .sidebarOverlay.active {
        display: block;
    }

    /* Toggle button style */
    .sidebarToggleBtn {
        display: block;
        position: fixed;
        width: 100%;
        background-color: var(--underline-color);
        color: white;
        border: none;
        padding: 10px 15px;
        font-size: 1.2rem;
        border-radius: 6px;
        cursor: pointer;
        margin-bottom: 10px;
    }

    /* Hide sidebar in main flow */
    .tutorialMainDiv {
        flex-direction: column;
    }

      .pageHeading h1 {
        margin-top: 7%;
        font-size: 2.5rem;
        margin-bottom: 1.5%;
      }

      .tutorialmainContant {
        width: 100%;
        max-width: none;
      }

      .maintopicChange {
        flex-wrap: wrap;
      }

      .topicChangebuttons,
      .topicChangebuttonsBottom {
        justify-content: center;
        width: 100%;
        padding-top: 10px;
      }


      .topicChangebuttons a,
      .topicChangebuttonsBottom a {
        padding: 5px 10px;
      }

      .imageSubtopicDiv {
        flex-direction: column;
        display: flex;
      }

      .subtopicDiv,
      .subjectImage {
        width: 100%;
      }

      .subjectImage img {
        width: 150px;
        height: 150px;
      }

      .normalSubTopicDiv p {
        font-size: 1.1rem;
        margin-top: 2%;
      }

      .normalSubTopicDiv h1 {
        font-size: 1.6rem;
        margin-top: 2%;
      }

      .h4Property {
        font-size: 1.3rem !important;
        color: black !important;
      }

      .h2Property {
        font-size: 1.5rem !important;
        color: black !important;
      }

      /* 🔹 Make tutorialExample more readable on mobile */
      .tutorialExample {
        margin: 3% 0;
        padding: 4%;

      }

      .tutorialExample p {
        font-size: 0.9rem;
        line-height: 1.5;
        word-break: break-word;
      }

      /* 🔹 Make the compiler button adapt to smaller screens */
      .languageCompiler {
        display: inline-block;
        width: 100%;
        text-align: center;
        padding: 10px;
        margin-top: 10px;
        font-size: 1rem;
        box-sizing: border-box;
      }

      /* 🔹 Make tables scrollable on small screens */
      table {
        width: 100%;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        border-collapse: collapse;
      }

      th,
      td {
        padding: 8px;
        text-align: left;
        font-size: 0.95rem;
      }

      .footerContainer {
        flex-direction: column;
        align-items: flex-start;
      }

      .footerRight {
        justify-content: flex-start;
        gap: 40px;
        margin-top: 30px;
      }

      .footerlistTitle {
        font-size: 1rem;
      }

      .footerLogo {
        width: 120px;
      }

      .footerDescription {
        font-size: 0.9rem;
        line-height: 1.4;
        margin-bottom: 20px;
      }

      .footercontactinfo p {
        font-size: 1rem;
      }

      .footersocialicons a {
        font-size: 1rem;
      }

    }

    @media (max-width: 550px) {
      .navContainer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
      }
    }



    @media (max-width: 370px) {

      .pageHeading h1 {
        font-size: 2.2rem;
        margin-top: 10%;
      }


      .topicChangebuttons a,
      .topicChangebuttonsBottom a {
        padding: 3px 6px;
        font-size: 1.4rem;
      }



      .subjectImage img {
        width: 100px;
        height: 100px;
      }

      .normalSubTopicDiv p {
        font-size: 1rem;
        margin-top: 2.3%;
      }

      .normalSubTopicDiv h1 {
        font-size: 1.5rem;
        margin-top: 2.3%;
      }

      .h4Property {
        font-size: 1.2rem !important;
        color: black !important;
      }

      .h2Property {
        font-size: 1.4rem !important;
        color: black !important;
      }

      /* 🔹 Make tutorialExample more readable on mobile */
      .tutorialExample {
        margin: 3% 0;
        padding: 4%;

      }

      .tutorialExample p {
        font-size: 0.8rem;
        line-height: 1.5;
        word-break: break-word;
      }


      .footerlistTitle {
        font-size: 0.9rem;
        margin-bottom: 1%;
      }

      .footerLogo {
        width: 100px;
        margin-bottom: 2%;
      }

      .footerDescription {
        font-size: 0.8rem;
        line-height: 1.3;
        margin-bottom: 20px;
      }

      .footercontactinfo p {
        font-size: 0.9rem;
      }
    }