@charset "utf-8";

/* =========================
   RESET / BASE STYLES
========================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, 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,
canvas, details, embed, figure, figcaption,
footer, header, menu, nav, output, section,
summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  list-style: none;
}

/* =========================
   BODY / THEMES
========================= */
body {
  max-width: 65em;
  font-family: Arial, sans-serif;
  color: black;
  background-color: #A00;
  background-image: url(../images/diamond.jpg);
  margin: 0 auto;
}

/*
@media (prefers-color-scheme: dark) {
  body {
    background-color: #6CF;
    color: white;
  }
}*/

/* =========================
   LAYOUT CONTAINERS
========================= */
header,
main,
footer {
  background-color: #FFF;
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 1em;
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
  header, main, footer {
    background-color: #333;
    color: white;
  }
}


/* =========================
   TYPOGRAPHY
========================= */
h1 {
  padding: 0.4em 0;
  font-size: 2em;
}

h2 {
  font-size: 1.5em;
}

a, li, p {
	font-size: 1em;
}

p, ul {
  line-height: 1.5em;
  padding: 1em 0;
}

li {
  line-height: 1.8em;
}

li::before {
  content: "✔ ";
  color: green;
}

/* =========================
   IMAGES
========================= */
img.logo {
  float: right;
  width: 20%;
  margin: 1em 0;
}

figure img {
  display: block;
  float: right;
  max-width: 100%;
  padding: 0 0 1em 1em;
}

/* =========================
   ACCESSIBILITY
========================= */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* =========================
   NAVIGATION
========================= */
nav ul {
  display: flex;
  gap: 1em;
  margin: 10px 0;
  padding: 0;
  list-style: none;
}

nav li {
  white-space: nowrap;
}

nav li::before {
  content: none;
}

nav a {
  text-decoration: none;
  color: #00F;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 5px;
  transition: all 0.3s ease;
}

nav a:hover {
  background-color: #00F;
  color: #fff;
}

nav a.active {
  background-color: #CCC;
  color: #fff;
}

/* =========================
   HEADER & FOOTER LAYOUT
========================= */
#header-links,
#footer-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1em;
}

/*header nav,
footer nav {
  display: flex;
  max-width: 1000px;
  text-align: center;
}*/

header section,
footer section {
  width: 100%;
  flex-wrap: wrap;
}

/* =========================
   FOOTER
========================= */
footer {
  padding: 0 1em;
  font-size: 14px;
  line-height: 1.6;
}

footer p {
  display: flex;
  width: 100%;
}

footer nav a {
  padding: .3em;
}

footer li::before {
  content: none;
}

footer a:hover {
  text-decoration: underline;
}

/* =========================
   MISC
========================= */
hr {
  margin: 0 1em;
}

@media (max-width: 800px) {
  h1 {
	font-size: 1.9em;
  }
}

@media (max-width: 750px) {
  #header-links, #footer-links {
	flex-direction: column;
  }
}
  
@media (max-width: 700px) {
  figure img {
	  float: none;
	  margin: 0 auto;
	  padding: 0 0 1em 0;
  }
}

@media (max-width: 550px) {
  figure img {
	  float: none;
	  margin: 0 auto;
  }
  
  #contact-nav ul {
	  display: block;
  }
}

@media (max-width: 450px) {
  h1 {
	  font-size: 1.7em;
	  padding: .2em 0;
  }
  h2 {
	  font-size: 1.4em;
  }
  #header-contact-nav ul {
	  display: none;
  }
  #header-links, #footer-links {
	  padding-bottom: .4em;
  }
}