/* Reset and basic elements */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* Set up a background and text color scheme */
body {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #333;
  background-color: #f4f4f4;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  padding-top: 70px; /* Padding to account for fixed header */
}

ol, ul {
  list-style: none;
}

/* Header styles */
header {
  background: #fff;
  padding: 10px 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
}

/* Main content styling */
.main-content {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  text-align: center; /* Center text */
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  overflow-y: auto; /* Makes the content scrollable vertically */
}

.app-view-image {
    max-width: 30%; /* Reduces the size of the image to 2/3 of the original */
    height: auto; /* Maintains aspect ratio */
    margin: 30px 0; /* Adds top and bottom margin */
}

.app-view-video {
  max-width: 30%; /* e.g., 50% or 300px */
  height: auto; /* Maintain aspect ratio */
  margin: 20px auto; /* Centers the video */
}

/* Logo styles */
.logo {
  max-width: 300px; /* 25% of the original logo width */
  height: auto;
  display: block;
  margin: 20px auto; /* Center the logo horizontally */
}

/* Footer styling */
footer {
  background: #333;
  color: #fff;
  padding: 20px 0; /* Top and bottom padding */
  display: flex;
  flex-direction: column; /* This will stack children vertically */
  align-items: center; /* Align items vertically */
  text-align: center; /* Center text horizontally */
}

/* Footer button container styles */
.footer-left, .footer-right {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; /* Take the full width to center align on all screen sizes */
}

/* Button and language switch styles */
button, .nav-button, .language-switch {
  background-color: #5cb85c; /* Button background color */
  color: white; /* Button text color */
  padding: 10px 15px; /* Button padding */
  margin: 8px; /* Space around buttons */
  border: none;
  cursor: pointer;
  display: inline-flex; /* Align items inline with flex */
  justify-content: center;
}

/* Specific color for language switch to stand out */
.language-switch {
  background-color: #007bff;
}

/* Button hover effect for visual feedback */
button:hover, .nav-button:hover, .language-switch:hover {
  opacity: 0.8; /* Slight transparency on hover */
}

/* Responsive styles */
@media (max-width: 768px) {
  .footer-left, .footer-right {
    justify-content: center;
    width: 100%; /* Ensure full width on smaller screens */
    order: 1; /* Ensure buttons are above the language switch */
  }

  .language-switch {
    order: 2; /* Ensure language switch is below the buttons on smaller screens */
  }

  .main-content {
    padding: 10px;
    margin-top: 60px; /* Provide space below the fixed header */
  }
}

/* Ensure the footer menu buttons are centered on large screens */
@media (min-width: 768px) {
  footer {
    justify-content: center; /* Center footer content */
    flex-wrap: nowrap; /* Prevent wrapping of items */
  }
  .app-view-image {
    max-width: 30%; /* or any other appropriate max-width */
    height: auto;
    margin: 50 auto; /* This will center the image */
  }
  .app-view-video {
    max-width: 30%; /* e.g., 50% or 300px */
    height: auto; /* Maintain aspect ratio */
    margin: 20px auto; /* Cneters the video */
  }
}

  .language-switch {
    margin-left: 0; /* Remove auto margin to align with other buttons */
  }

    .nav-button, .language-switch {
    margin: 8px; /* Provide consistent margin around buttons */
  }

/* Button hover effect for visual feedback */
button:hover, .nav-button:hover, .language-switch:hover {
  opacity: 0.8; /* Slight transparency on hover */
}

/* Tutor portrait styles */
.tutor {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.portrait {
  width: 120px;
  height: auto;
  margin-right: 20px;
  border-radius: 50%;
}

.tutor-info {
  flex: 1;
}

.footer-buttons {
    margin-bottom: 20px; /* Adds space between this section and the next */
    /* Add any additional styling needed for button alignment */
}

.footer-legal, .footer-copyright {
    display: block; /* Forces legal links to start on a new line */
    text-align: center;
    margin-top: 20px;
    /* You may want to adjust the margin to fit your design */
}

.legal-link, .policy-link {
    color: #ffffff;
    text-decoration: none;
    padding: 5px 10px;
    font-size: 0.8em;
    /* Add other styling as needed */
}

.legal-link:hover, .policy-link:hover {
    text-decoration: underline;
}

/* Additional styles for copyright notice */
.footer-copyright {
    display: block; /* Forces copyright notice to start on a new line */
    text-align: center;
    font-size: 0.7em;
    color: #aaa; /* Adjust the color to match your design */
    margin-top: 20px; /* Additional margin for spacing, adjust as needed */
}

/* Legal content styling */
.legal-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.legal-content h1 {
    text-align: center;
    margin-bottom: 30px;
}

.legal-content h2 {
    color: #333;
    margin-top: 20px;
    margin-bottom: 10px;
}

.legal-content p {
    color: #666;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 20px;
}

.legal-content a {
    color: #007bff;
    text-decoration: none;
}

.legal-content a:hover {
    text-decoration: underline;
}

.list-reference {
    list-style-type: none; /* Removes the default list styling */
    padding: 0;
}

.list-reference li {
    margin-bottom: 10px; /* Adds space between list items */
}

.list-reference li a {
    color: #007bff; /* Sets the link color, you can change this to fit your design */
    text-decoration: none; /* Removes the underline from links */
}

.list-reference li a:hover {
    text-decoration: underline; /* Adds an underline on hover for better usability */
}

