* {
    font-family: 'PT Sans', sans-serif;
    cursor: none;

}

/*STUDYLINK STYLING STARTS */ 

.studylink a,
.SolutionStateLink a {
  color: #DA0037; /* Base color for the link */
  text-decoration: none; /* Remove the underline */
  font-weight: bold; /* Make links stand out */
  padding-bottom: 2px; /* Space between text and underline */
  transition: color 0.3s ease, border-color 0.3s ease; /* Smooth hover effect */
}

.studylink a:hover,
.SolutionStateLink a:hover {
  color: #12181b; /* Darker color for hover */
  text-decoration: none; /* Keep underline styling consistent */
}

.studylink a:focus,
.SolutionStateLink a:focus {
  outline: 3px dashed #80d0ff; /* High-contrast focus ring for accessibility */
  outline-offset: 4px; /* Space between focus ring and the link */
}

.studylink a:visited,
.SolutionStateLink a:visited {
  color: #6c757d; /* Subtle gray for visited links */
}




/*STUDYLINK STYLING ENDS */ 

/* Start Of Cursor */

a:hover:after{
  width: 100%;
  left: 0%;
  background: black;
  }
  .cursor1 {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 1px solid #ffffff;
  transition: all 200ms ease-out;
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  left: 0;
  top: 0;
  transform: translate(calc(-50% + 15px), -50%);
  }
  .cursor2 {
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #DA0037;
  opacity: .3;
  position: fixed;
  z-index: 1000;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: width .3s, height .3s, opacity .3s;
  }
  .hover {
  background-color: #DA0037;
  opacity: 0.5;
  }
  .cursorinnerhover {
  width: 50px;
  height: 50px;
  opacity: .5;
  }

/* End of cursor */


/*banner */ 
.scrolling-banner {
  position: relative; /* Keep it in the normal flow above the section */
  background-color: none; /* Background color of the banner */
  color: #171717; /* Text color for contrast */
  font-size: 3rem; /* Adjust text size as needed */
  font-weight: bold;
  padding: 1rem 0; /* Vertical padding for spacing */
  overflow: hidden; /* Ensure content doesn't spill outside the banner */
  white-space: nowrap; /* Prevent text wrapping */
}

.scrolling-banner p {
  display: inline-block; /* Allow scrolling effect */
  padding-left: 100%; /* Start from outside the banner */
  animation: scroll-text 10s linear infinite; /* Define animation duration and looping */
}

@keyframes scroll-text {
  0% {
    transform: translateX(15%); /* Start closer to the visible area */
  }
  100% {
    transform: translateX(-100%); /* End at the left of the container */
  }
}
/*banner */ 


.Header {
    display: flex;
    width: 100%;
    height: 100%;
}

section{
    display:flex;
    flex-direction: column;
    padding-bottom: 4rem;
   
}

section.FigureContextSection{
    display: flex;
    flex-direction: column;
    
   
}

section h3{
    font-size: 3.5rem;
    margin: 1.5rem;

}

section .container {
    display: flex;
    /* flex-direction: row; */
}

section .context{
    padding: 2rem;
    background-color: #ddd;
    border-radius: 15px; /* Adds rounded corners */
    overflow: hidden;
}
section .detail {
    flex-basis: 50%;
    
    display: flex;
    gap: 1rem;
    align-items: center;
    /* flex-direction: row; */
    padding-top: 2rem;
}
section .detail h4 {
    font-size: 1.3rem;
    width: 10rem;
    margin: 0;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #DA0037;

}

section .detail p{
    font-size: 1.3rem;
}

section .info-block{
    font-size: 2rem;
    flex-basis: 50%;
    display:flex;
    flex-direction: column;
    padding: 2rem;
    gap: 1rem;
}

section .info-block p{
    margin:0;
}

section .ProblemSatement p{
    font-size: 2rem;
    padding: 2rem;
}

section .studylink a{
    padding: 2rem;
}

.FigureSolutionSection1{
    padding-top: 4rem;
}

/* sds*/ 
.FigureProblemSection1 h5{
  font-size: 2rem;
    padding: 0rem;
    margin: 1.5rem;
    font-style: italic;
    font-weight: 200;
}

.FigureProblemSection1{
  background-color: #171717; /* Change this to your desired color */
  color : #dbe1e8; 
   border-radius: 15px; /* Adds rounded corners */
    overflow: hidden;
}

.FigureProblemSection h5{
    font-size: 2rem;
    padding: 0rem;
    margin: 1.5rem;
    font-style: italic;
    font-weight: 200;
}



.FigureSolutionSection1 h5, .FigureSolutionSection2 h5 {
    font-size: 2rem;
    padding: 0rem;
    margin: 1.5rem;
    font-style: italic;
    font-weight: 200;
}

.FigureSolutionSection1 h6, .FigureSolutionSection2 h6 {
    font-size: 2rem;
}

.FigureSolutionSection1 .content-container, .FigureSolutionSection2 .content-container {
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap onto the next line on smaller screens */
    align-items: flex-start; /* Aligns items at the start of the flex container */
}

.FigureSolutionSection1 .content-container.reverse, .FigureSolutionSection2 .content-container.reverse {
    flex-direction: row-reverse;
}

.FigureSolutionSection1 .SolutionIMG-Container, .FigureSolutionSection2 .SolutionIMG-Container {
    flex: 1; /* Takes up 1 part of the available space */
    max-width:20%; /* Adjusted for proper layout */
    padding: 0 5rem; /* Consistent padding for both sections */
    margin-top: 3rem;
}

@media (max-width: 800px) {
    .FigureSolutionSection1 .SolutionIMG-Container,
    .FigureSolutionSection2 .SolutionIMG-Container,
    .FigureSolutionSection1 .SolutionPoints,
    .FigureSolutionSection2 .SolutionPoints {
        max-width: 100%; /* Each takes full width on smaller screens */
        padding: 0; /* Remove padding on small screens */
    }
}

.FigureSolutionSection1 .SolutionIMG, .FigureSolutionSection2 .SolutionIMG {
    max-width: 18rem;
}

.FigureSolutionSection1 .SolutionPoints, .FigureSolutionSection2 .SolutionPoints {
    flex: 1; /* Ensure it takes up 1 part of the available space, similar to the image container */
    max-width: 60%; /* Adjusted for proper layout */
    padding-right: 1rem; /* Consistent padding for both sections */
    padding-left: 5rem;
}

.FigureSolutionSection1 .SolutionPoints ul, .FigureSolutionSection2 .SolutionPoints ul {
    font-size: 2rem; /* Increases the font size of list items */
    padding-left: 1rem; /* Ensures default browser padding doesn't interfere with custom styles */
}

.FigureSolutionSection1 .SolutionPoints li, .FigureSolutionSection2 .SolutionPoints li {
    list-style-type: disc; /* Ensures bullet points are visible */
    margin-bottom: 2rem; /* Adds a gap between each point */
}

.SolutionGIF{
    max-width: 25rem;
}

.IMG1{
    flex:1;
}

.ProblemSatement {
    display: flex; /* Makes ProblemStatement a flex container */
    padding-left: 2rem;
    align-items: center; /* Aligns the children vertically in the center */
}



.IMG1, .IMG2 {
    flex: 1; /* Initially, they both took up equal space */
    padding: 0 15px; /* Keep existing padding for spacing */
}

.IMG1 {
    max-width: 4%; /* Reduce max-width to give more space to IMG2 */
    flex: none; /* Override the initial flex setting to use max-width */
}

.IMG2 {
    max-width: 80%; /* Increase max-width to make IMG2 larger */
    flex: none; /* Override the initial flex setting to use max-width */
}

.IMG1 img, .IMG2 img {
    width: 100%; /* Makes images responsive, adjusting to the size of their containers */
    height: auto; /* Maintains aspect ratio */
}

.MR .content-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px;
}

.MR .MR_CalloutQ, .MR .MR_CalloutA {
    flex: 1;
    padding: 0 20px;
}

.MR .MR_Arrow {
    flex: 0 0 auto;
    padding: 0 20px;
}

.MR .MR_Arrow img {
    width: 100px;
    height: auto;
}

.MR h5 {
    font-size: 2rem;
    padding: 0rem;
    margin: 1.5rem;
    font-style: italic;
    font-weight: 200;
}

.MR p {
    font-size: 2rem;
}

.MR .MR_CalloutA p {
    color: #6654F5;
}

.MR .studylink {
    width: 100%;
    margin-top: 20px;
    text-align: left;
}

@media (max-width: 768px) {
    .MR .content-container {
        flex-direction: column;
        align-items: flex-start;
    }

    .MR .MR_CalloutQ, .MR .MR_CalloutA, .MR .studylink {
        flex: 1 1 100%;
        padding: 0 0 20px;
    }

    .MR .MR_Arrow {
        align-self: center;
        padding: 20px 0;
    }

    .MR .SolutionStateLink {
        font-size: 1.2rem;
    }
}

.Framework {
    display: flex; /* Makes ProblemStatement a flex container */
    padding-left: 2rem;
    align-items: center; /* Aligns the children vertically in the center */
}

.FrameworkH5{
    font-size: 2rem;
    padding: 0rem;
    margin: 1.5rem;
    font-style: italic;
    font-weight: 200;
}

/* Center the image inside the frameworkIMG div */
.frameworkIMG {
    display: flex;            /* Enables flexbox layout */
    justify-content: center;   /* Horizontally centers the image */
    margin: 20px 0;            /* Adds spacing above and below the image */
}

.frameworkIMG img {
    max-width: 90%;           /* Ensures the image is responsive */
    height: auto;              /* Maintains aspect ratio */
    display: block;            /* Removes any extra space at the bottom */
}

/* Additional styling for the text elements */
.FrameWorkH5 {
    
        font-size: 2rem;
        padding: 0rem;
        margin: 1.5rem;
        font-style: italic;
        font-weight: 200;
    
}

.TestingSection {
    padding: 2rem;
  }
  
  .TestingSection h5 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-style: italic;
    font-weight: 200;
  }
  
  .TestingSection h3 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  
  .content-container {
    display: flex;
    gap: 2rem; /* Space between columns */
    flex-wrap: wrap; /* Makes it responsive for smaller screens */
  }
  
  .image-comparison {
    flex: 2; /* Take up more space for images */
    display: flex;
    gap: 1rem;
    justify-content: center;
  }
  
  .image-comparison img {
    max-width: 30%;
    height: auto;
    border-radius: 10px; /* Optional: Rounded corners for images */
    object-fit: contain; /* Ensures no distortion */

  }
  
  .text-content {
    flex: 1; /* Take up less space for text */
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .text-content h6 {
    font-size: 1.25rem;
    font-weight: bold;
  }
  
  .text-content ul {
    list-style-type: disc;
    margin-left: 1.5rem;
  }
  
  .text-content li {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
  }
  
  .tertiary-image {
    margin-top: 1rem;
    text-align: center; /* Center align the image */
  }
  
  .tertiary-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px; /* Optional */
    
  }
  
  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .content-container {
      flex-direction: column; /* Stack images and text */
      align-items: center;
    }
  
    .image-comparison {
      flex-direction: column; /* Stack "before" and "after" images */
    }
  
    .text-content {
      text-align: center; /* Center-align text on smaller screens */
    }
  }
  
  .arrow-icon {
     /* The arrow takes up 10% of the container width */
    max-width: 140px;/* Optional: Set a maximum size for the arrow */
    height: auto; /* Maintains the aspect ratio */
    object-fit: contain; /* Ensures the arrow is not cropped */
    
  }

  .FigmaSection {
    padding: 2rem;
    text-align: center; /* Center-aligns the text and content */
  }
  
  .FigmaSection h5 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-style: italic;
    font-weight: 200;
  }
  
  .FigmaSection h3 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  
  .figma-container {
    position: relative;
    width: 100%; /* Takes up full width of the container */
    max-width: 800px; /* Limits the maximum width */
    margin: 0 auto; /* Centers the container */
    aspect-ratio: 16 / 9; /* Ensures a 16:9 aspect ratio */
  }
  
  .figma-embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* Makes the iframe responsive */
    height: 100%; /* Matches the aspect ratio */
    border: 1px solid rgba(0, 0, 0, 0.1); /* Keeps the border for visual clarity */
  }
  
  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .figma-container {
      max-width: 100%; /* Removes fixed max-width on smaller screens */
    }
  }
  

  /* Full section dimensions */
.FullImageSection {
    position: relative;
    width: 100vw; /* Full width of the viewport */
    height: 100vh; /* Full height of the viewport */
    overflow: hidden; /* Prevent content from overflowing the section */
    margin: 0;
    padding: 0;
  }
  
  /* Image styling */
  .full-image {
    width: 100%; /* Make the image fill the container's width */
    height: 100%; /* Make the image fill the container's height */
    object-fit: cover; /* Ensures the image scales proportionally and fills the container */
    display: block; /* Prevents inline spacing issues */
  }
  
  .ThankYouSection {
    text-align: center; /* Center-align text and content */
    padding: 2rem; /* Add space around the content */
    background-color: white; /* Light background for contrast */
    color: #333; /* Neutral text color */
  }
  
  .ThankYouSection h3 {
    font-size: 2rem; /* Headline size */
    margin-bottom: 1rem; /* Space below the heading */
    font-weight: bold;
  }
  
  .ThankYouSection p {
    font-size: 1.2rem; /* Body text size */
    margin-bottom: 1.5rem; /* Space below the paragraph */
  }
  
  .ThankYouSection a {
    color: #6654F5; /* Primary link color */
    text-decoration: none; /* Remove underline */
    font-weight: bold; /* Make links stand out */
  }
  
  .ThankYouSection a:hover {
    text-decoration: underline; /* Add underline on hover */
    color: #4438A4; /* Slightly darker link color on hover */
  }
  
  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .ThankYouSection {
      padding: 1.5rem; /* Reduce padding for smaller screens */
    }
  
    .ThankYouSection h3 {
      font-size: 1.8rem; /* Slightly smaller heading */
    }
  
    .ThankYouSection p {
      font-size: 1rem; /* Smaller body text */
    }
  }
  
  /* Footer Section */
/* Footer Section */
.Footer {
  position: relative;
  background-color: #181818; /* Matches animation background */
  color: white;
  padding: 4rem 2rem;
  overflow: hidden; /* Ensures animation doesn't spill out */
}

/* Canvas Styling */
.plane-canvas,
.main-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0; /* Keep canvas behind footer content */
  pointer-events: none; /* Ensure interaction with footer content */
}

.footer-container {
  position: relative;
  z-index: 1; /* Ensure content appears above the animation */
}


.footer-notch {
  position: absolute;
  top: 0;
  left: 0;
  width: 11vw;
  height: 10vh;
  background-color: white; /* Matches background */
  border-radius: 0 0 100% 0; /* Creates the curved notch */
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Left Section */
.footer-left h2 {
  font-size: 4rem;
  display: flex;
  align-items: center; /* Align text and arrow SVG */
  gap: 2.5rem;
}

.footer-left .Square-arrow svg {
  max-width: 100%;
  width: 24px;
  height: 24px;
  fill: white;
  transform: scale(2.5);
}

.footer-left p {
  font-size: 1.2rem;
  margin-top: 1rem;
}

/* Center Section */
.footer-center {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding-top: 6vh;
}

.footer-center p {
  font-weight: 800;
}

.footer-link-box {
  flex: 1;
  max-height: 125px;
  min-width: 200px;
  padding: 1.5rem;
  border: 2px solid white;
  border-radius: 8px;
  text-align: center;
}

.footer-link-box {
  display: flex; /* Use Flexbox */
  flex-direction: column; /* Stack text and button vertically */
  align-items: center; /* Center-align the content */
  padding: 2rem 1.5rem; /* Add padding inside the box */
  border: 2px solid white;
  border-radius: 5px;
  text-align: center;
}

.footer-button {
  color: white;
  text-decoration: none;
  font-weight: bold;
  padding: 0.8rem 1.5rem; /* Space inside the button itself */
   border-radius: 5px;
  background-color: #DA0037;
  transition: all 0.3s ease;
}

.footer-button:hover {
  background-color: white;
  color: #005eff;
}


/* Right Section */
.footer-right {
  flex: 1;
  text-align: left;
  padding-top: 0; /* Remove padding inside the parent container */
}

.footer-right h1 {
  font-size: 12.5rem;
  letter-spacing: 12px;
  margin-top: 0; /* Remove unnecessary top margin */
  margin-bottom: 1rem;
}

.footer-right h1 span {
  color: #DA0037; /* Add contrast for the "PIXEL" part */
}

.footer-right p {
  font-size: 1.5rem;
  margin-bottom: 0;
}

.social-icons {
  display: flex; /* Enable Flexbox for horizontal alignment */
  justify-content: flex-end; /* Align icons to the right */
  gap: 1rem; /* Add space between icons */
}

.social-icons a {
  display: inline-block; /* Ensure the links wrap around the images */
}

.social-icons img {
  width: 32px; /* Set a consistent width for the icons */
  height: 32px; /* Set a consistent height for the icons */
  object-fit: contain; /* Ensure the images maintain their aspect ratio */
  transition: transform 0.3s ease; /* Add hover effect */
}

.social-icons img:hover {
  transform: scale(1.2); /* Enlarge the icon slightly on hover */
}


/* Footer Bottom */
.footer-bottom {
  margin-top: 3rem;
  border-top: 1px solid white;
  padding-top: 1rem;
  font-size: 1rem;
  text-align: center;
}

/* Responsive Design */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    text-align: center;
  }

  .footer-link-box {
    min-width: 100%;
  }

  .footer-right h1 {
    font-size: 2.5rem;
  }
}

/* Back-to-Top Button */
.back-to-top {
  position: fixed; /* Sticks to a corner of the viewport */
  bottom: 2rem; /* Distance from the bottom of the viewport */
  right: 2rem; /* Distance from the right of the viewport */
  display: none; /* Initially hidden */
  background-color: #171717; /* Button color */
  color: white; /* Text color */
  border: none; /* Remove border */
  border-radius: 50%; /* Round button */
  width: 70px; /* Set width */
  height: 70px; /* Set height */
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.3); /* Add shadow for depth */
  font-size: 2rem; /* Text/icon size */
  cursor: pointer; /* Show pointer on hover */
  z-index: 1000; /* Ensure it's above other elements */
  transition: all 0.3s ease; /* Smooth hover effect */
}

.back-to-top:hover {
  background-color: #DA0037; /* Darker blue on hover */
  transform: scale(1.1); /* Slightly enlarge on hover */
}

.back-to-top:active {
  transform: scale(0.95); /* Shrink slightly on click */
}

/* Return Home Button */
.return-home {
  position: fixed; /* Sticks to a corner of the viewport */
  bottom: 8rem; /* Distance from the bottom of the viewport (above the Back to Top button) */
  right: 2rem; /* Distance from the right of the viewport */
  background-color: #171717; /* Orange background */
  color: white; /* Text color */
  border: none; /* Remove border */
  border-radius: 50%; /* Round button */
  width: 70px; /* Set width */
  height: 70px; /* Set height */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Add shadow for depth */
  font-size: 2rem; /* Text/icon size */
  cursor: pointer; /* Show pointer on hover */
  z-index: 1000; /* Ensure it's above other elements */
  transition: all 0.3s ease; /* Smooth hover effect */
}

.return-home:hover {
  background-color: #DA0037; /* Darker orange on hover */
  transform: scale(1.1); /* Slightly enlarge on hover */
}

.return-home:active {
  transform: scale(0.95); /* Shrink slightly on click */
}