/* */
/* Main styles */
/* */

/* Font family for all elements */
* {
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif
}

/* Reset some default styles */
body, h1, h2, h3, p {
  margin: 0;
  padding: 0;
}

/* Background and text color */
body {
  background-color: #FFF;
  color: #000;
}

/* Header */
header {
  background-color: #444;
  padding: 15px 0;
}

/* Header content */
.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

/* Increase line spacing for h1 */
h1 {
  margin-bottom: 20px;
}

/* Increase line spacing for h2 */
h2 {
  margin-bottom: 15px;
}

/* Increase line spacing for h3 */
h3 {
  margin-bottom: 10px;
}

/* Increase line spacing for paragraphs */
p {
  line-height: 1.5;
  margin-bottom: 15px;
}

/* Left link */
.left-link {
  text-decoration: none;
  color: #FFF;
}

/* Right link */
.right-link {
  text-decoration: none;
  color: #FFF;
}

/* Main */
main {
  margin: 20px auto;
}

/* Center error message */
.error-message {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* Error message link */
.error-message a {
  text-decoration: underline;
  color: #000;
}

/* Error message link hover */
.error-message a:hover {
  text-decoration: none;
  color: #000;
}

/* Contact link */
.internal-link {
  text-decoration: underline;
  color: #000;
}

/* Contact link hover */
.internal-link:hover {
  text-decoration: none;
  color: #000;
}

/* Obfuscated email link */
#obfuscated-email a {
  text-decoration: underline;
  color: #000;
}

/* Obfuscated email link hover */
#obfuscated-email a:hover {
  text-decoration: none;
  color: #000;
}

/* Unordered list for Services page */
ul {
  list-style-type: none;
  padding: 0;
}

/* List item for Services page */
li {
  line-height: 1.5;
  margin-bottom: 10px;
}

/* Before list item for Services page */
li::before {
  content: "\2713";
  margin-right: 10px;
}

/* Footer */
footer {
  background-color: #444;
  text-align: center;
  padding: 15px 0;
}

/* Footer content */
.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

/* */
/* Dark mode styles */
/* */

@media (prefers-color-scheme: dark) {

  /* Background and text color */
  body {
    background-color: #000;
    color: #EEE;
  }

  /* Header */
  header {
    background-color: #222;
  }

  /* Left link */
  .left-link {
    color: #EEE;
  }

  /* Right link */
  .right-link {
    color: #EEE;
  }

  /* Error message link */
  .error-message a {
    color: #EEE;
  }

  /* Error message link hover */
  .error-message a:hover {
    color: #EEE;
  }

  /* Contact link */
  .internal-link {
    color: #EEE;
  }

  /* Contact link hover */
  .internal-link:hover {
    color: #EEE;
  }

  /* Obfuscated email link */
  #obfuscated-email a {
    color: #EEE;
  }

  /* Obfuscated email link hover */
  #obfuscated-email a:hover {
    color: #EEE;
  }

  /* Footer */
  footer {
    background-color: #222;
  }
}

/* */
/* Responsive styles */
/* */

/* Maximum width 240px */
@media (max-width: 240px) {
  .header-content,
  main,
  .footer-content {
    max-width: 95%;
    font-size:0.95em
  }

  .left-link {
    margin-right: 2px;
  }

  .right-link {
    margin-left: 2px;
  }
}

/* Maximum width 360px */
@media (min-width: 241px) and (max-width: 360px) {
  .header-content,
  main,
  .footer-content {
    max-width: 90%;
    font-size:0.96em
  }

  .left-link {
    margin-right: 3px;
  }

  .right-link {
    margin-left: 3px;
  }
}

/* Maximum width 480px */
@media (min-width: 361px) and (max-width: 480px) {
  .header-content,
  main,
  .footer-content {
    max-width: 85%;
    font-size:0.97em
  }
}

/* Maximum width 720px */
@media (min-width: 481px) and (max-width: 720px) {
  .header-content,
  main,
  .footer-content {
    max-width: 80%;
    font-size:0.98em
  }
}

/* Maximum width 960px */
@media (min-width: 721px) and (max-width: 960px) {
  .header-content,
  main,
  .footer-content {
    max-width: 75%;
    font-size:0.99em
  }
}

/* Maximum width 1200px */
@media (min-width: 961px) and (max-width: 1200px) {
  .header-content,
  main,
  .footer-content {
    max-width: 70%;
    font-size:1em
  }
}

/* Maximum width 1560px */
@media (min-width: 1201px) and (max-width: 1560px) {
  .header-content,
  main,
  .footer-content {
    max-width: 65%;
    font-size:1.01em
  }
}

/* Maximum width 1920px */
@media (min-width: 1561px) and (max-width: 1920px) {
  .header-content,
  main,
  .footer-content {
    max-width: 60%;
    font-size:1.02em
  }
}

/* Maximum width 2560px */
@media (min-width: 1921px) and (max-width: 2560px) {
  .header-content,
  main,
  .footer-content {
    max-width: 50%;
    font-size:1.03em
  }
}

/* Maximum width 3200px */
@media (min-width: 2561px) and (max-width: 3200px) {
  .header-content,
  main,
  .footer-content {
    max-width: 40%;
    font-size:1.04em
  }
}

/* Minumum width 3201px */
@media (min-width: 3201px) {
  .header-content,
  main,
  .footer-content {
    max-width: 30%;
    font-size:1.05em
  }
}