/* fonts */
@font-face {
  font-family: ChettaVissto;
  src: url(ChettaVissto.woff); /* url of the font */
}

/* === Global CSS Reset === */
*,
*::before,
*::after {
  box-sizing: border-box;   /* ensures padding + border stay inside width/height */
  padding: 0;
}

/* All colors etc 
saved: #9198e5, #a3caae
*/
:root {
    --font-family-main: 'Times New Roman', monospace;
    --font-size-heading: clamp(0.01rem, calc(3vw + 3vh), 5rem);
    --font-size-subtitle: clamp(0.01rem, calc(2vw + 2vh), 1.5rem);
    --font-size-subtitle-small: clamp(0.01rem, calc(1vw + 1vh), 1rem);
    --font-size-main: clamp(0.1rem, calc(1vw + 1vh), 2rem);
    --font-size-button: clamp(0.01rem, calc(1,5vw + 1.5vh), 2rem);
    --font-size-nav-mobile: 2.4rem;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --color-text: #e6e6e6;
    --color-subtitle: #999;
    --color-text-dark: #111;
    --color-subtitle-dark: #444;
    --color-text-light: #f0f0f0;
    --color-subtitle-light: #999;
    --color-subtitle-lighter: #c9c9c9;
    --color-footer: #8c38b0;
    --color-bg: #d9f2e5;
    --block-bg-color: #ffffff30;
    --color-link-hover: #e36330;
    --max-width-main: 700px;
    --text-transform-body: lowercase;
    --text-transform-h1: none;
    --text-transform-link: uppercase;
    --text-transform-link-hover: uppercase;
    --spacing-small: 0.5rem;
    --spacing-medium: 1.5rem;
    --spacing-large: calc(var(--font-size-main)*1.5);
    --spacing-extra-large: 3rem;
    --max-width-content: 60dvw;
    --gallery-gap: calc(var(--spacing-small) * 2);
}

body {
  height: 100vh;
	color:#001405;
  background: radial-gradient(#9ba3ff, #a9ffc1);
	margin:0;
  display: flex;
  flex-direction: column;
}

body::after {
  inset: 0;
  pointer-events: none;
  content: "";
  position: fixed;
  background: rgba(255,255,255,0.05);
  filter: url(#bgNoiseFilter);
  z-index: -1;
}

.header {
  order: 0;
  margin-inline: auto;
  left: 0;
  right: 0;
  top: 0;
  height: 15vh;
  display: flex;
  flex-direction: column;
  text-align: center;
  font-family: "Arial";
  color: var(--color-text-dark);
  background: #ffffff00;
  z-index: 2;
  /*background: purple; /* background color for debugging */
}

#name, #name-button {
  font-size: var(--font-size-heading);
  font-family: var(--font-family-main);
  text-transform: var(--text-transform-h1);
  border-radius: 30px;
  margin: 0px auto;
  margin-top: 1vh;
  margin-bottom: 0.01em;
  background: none;
  border: none;
  font-weight: bold;
  /* background color for debugging
  background: blue; */
}

input:focus, button:focus a:focus {
  outline: 0;
}

#subtitle {
  font-family: "Garamond", Times, serif;
  font-family: "Arial";
  font-size: var(--font-size-subtitle);
  width: fit-content;
  color: var(--color-subtitle-dark);
  margin: 0px auto;
  margin-top: 0;
  padding: 0px;
  z-index: 1;
}

#subtitle-less-imp {
  font-family: "Garamond", Times, serif;
  font-size: var(--font-size-subtitle-small);
  color: var(--color-subtitle-dark);
  z-index: 1;
}

.main-desc-container {
  display: flex;
  order: 1;
  margin-inline: auto;
  left: 0;
  right: 0;
  bottom: 20vh;
  height: 65vh;
  width: 75vw;
  z-index: 0;
  /* background: green; /*background color for debugging */
}

#main-desc {
  position: relative;
  inset: 0;
  border: none;
  width: calc(100% - 60px);
  height: calc(100% - 60px);
  margin: 30px;
  border-radius: 50px;
  background: #ffffff50;
  backdrop-filter: blur (10px) url(#bgNoiseFilter);
  z-index: 1;
}

#intro-text {
  font-size: var(--font-size-main);
  color: var(--color-subtitle-dark);
  position: absolute;
  top: 30px;
  left: 30px;
  bottom: calc(40%);
  max-height: calc(45%);
  max-width: calc(30%);
  line-height: var(--spacing-large);
}

#hobbies-text {
  font-size: var(--font-size-main);
  color: var(--color-subtitle-dark);
  position: absolute;
  right: 30px;
  bottom: 30px;
  text-align: right;
  max-height: calc(45%);
  max-width: calc(30%);
  line-height: var(--spacing-large);
}

#kaaterskills {
  position: absolute;
  height: calc(50%);
  bottom: 4%;
  left: 4%;
}

#potato-chip {
  position: absolute;
  height: calc(50%);
  right: 4%;
  top: 4%;
}

#skating {
  position: absolute;
  height: calc(30%);
  top: 2%;
  margin-inline: auto;
  left: 0;
  right: 0;
}

#poster-session {
  position: absolute;
  height: calc(30%);
  margin-inline: auto;
  left: 0;
  right: 0;
  top: calc(35%);
}

#family {
  position: absolute;
  height: calc(30%);
  margin-inline: auto;
  left: 0;
  right: 0;
  bottom: 2%;
}

#main-desc span{
  align-items: center;
  font-size: var(--font-size-main);
}

.main-sections {
  font-size: var(--font-size-main);
  width: 75vw;
  height: 10vh;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  margin-inline: auto;
  bottom: 10vh;
  z-index: 1;
}

.interests {
  display: flex;
  justify-content: space-between;
}

.interests * {
  font-family: var(--font-family-main);
  font-size: var(--font-size-button);
  border: none;
  padding: 15px;
  background-color: #ffffff00;
  transition: background-color 0.3s;
  font-weight: bold;
}

#eng-button {
  left: 0;
  /* background: green; /*background color for debugging */
}

#art-button {
  margin-inline: auto;
  right: 0;
  left: 0;
  /* background: green; /*background color for debugging */
}

#work-button {
  right: 0;
  /* background: green; /*background color for debugging */
}

#eng-button:hover, #art-button:hover, #work-button:hover {
  background-color: var(--block-bg-color);
  border-radius: 20px;
}

.subpage dialog {
  position: relative;
  height: 100vh;
  width: 100vw;
  border: None;
  color: var(--color-text-light);
  background-color: #2f3764fd;
  z-index: 0;
  transition: opacity 0.3s;
  overflow: scroll;
}

/*  === UNUSED FILTER ===

.subpage dialog[open] {
  opacity: 1;
  pointer-events: inherit;
}

.subpage dialog::after {
  content:"";
  inset: 0;
  pointer-events: none;
  position: absolute;
  filter: url(#subpageNoiseFilter);
  opacity: 0.7;
  z-index: -1;
} */

#subpage-header {
  font-size: calc(0.75 * var(--font-size-heading));
  text-align: center;
  z-index: 1;
  color: #000000a0; 
  width: fit-content;
  padding: 2%;
  margin: auto;
}

.subpage dialog h2 {
  color: white;
  position: relative;
  font-size: calc(0.5rem + var(--font-size-main));
  text-align: center;
  z-index: 1;
  margin-top: 2%;
  margin-bottom: 0;
}

.subpage dialog h3 {
  margin-top: 0;
  text-align: center;
  font-size: calc(var(--font-size-main) - 0.5rem);
  color: var(--color-subtitle-light);
}

.subpage dialog p {
  text-align: center;
  padding: 5%;
  padding-top: 0;
  padding-bottom: 0;
  font-size: calc(var(--font-size-main) - 0.25rem);
  color: var(--color-subtitle-lighter);
}

.subpage dialog img {
  width: 25%;
}

.subpage figure {
  margin: 1%;
}

#art figure img {
  width: 100%;
  z-index: 1;
}

.yearly-art {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#close {
  font-family: var(--font-family-main);
  font-size: var(--font-size-button);
  width: fit-content;
  background-color: #000000a0;
  padding: 10px;
  margin: 10px;
  margin-bottom: 0;
  border-radius: 10px;
  color: var(--color-text-light);
  border: none;
}

#eng {
  z-index: 1;
}

/* Hyperlinks */
.link{
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease, transform 0.3s ease;
}

.link:hover {
  color: var(--color-link-hover);
  /* text-transform: var(--text-transform-link-hover); */
}

/* Watermarks */
.watermark {
  position: relative;
  pointer-events: none;
  display: inline-block;
  width: 22%;
}

.watermark::after {
  position: absolute;
  bottom: 25%;
  right: 0;
  content: "AUDREY ZENG";
  color: white;
  background: #000000a0;
  opacity: 0.6;
  font-size: calc(0.75* var(--font-size-main));
  z-index: 2;
}

footer {
  content: "";
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  /* background: orange; /* background color for debugging */
  margin-top: auto;
}

#socials {
  display: flex;
  justify-content: space-evenly;
  /* background: yellow; /* background color for debugging */
  position: relative;
}

#disclaimer {
  text-align: center;
  color: var(--color-footer);
  z-index: 1;
}

/* on screens that are less than 1500px, hide the middle images */
@media screen and (max-width: 1500px) {
  #skating {display: none;}
  #poster-session {display: none;}
  #family {display: none;}
}

/* on screens that are less than 700px, hide all images */
@media screen and (max-width: 1000px) {
  #kaaterskills {display: none;}
  #potato-chip {display: none;}
}

/* on screens that are less than 1000px, hide all images */
@media screen and (max-height: 1000px) {
  #intro-text {
    font-size: 1rem;
    line-height: var(--spacing-medium);
  }
  #hobbies-text {
    font-size: 1rem;
    line-height: var(--spacing-medium);
  }
}

/* The side navigation menu */
.sidebar {
  margin: 0;
  padding: 0;
  width: 200px;
  background-color: #f1f1f1;
  position: fixed;
  height: 100%;
  overflow: auto;
}

/* Sidebar links */
.sidebar a {
  display: block;
  color: black;
  padding: 16px;
  text-decoration: none;
}

/* Active/current link */
.sidebar a.active {
  background-color: #04AA6D;
  color: white;
}

/* Links on mouse-over */
.sidebar a:hover:not(.active) {
  background-color: #555;
  color: white;
}

/* Page content. The value of the margin-left property should match the value of the sidebar's width property */
div.content {
  margin-left: 200px;
  padding: 1px 16px;
  height: 1000px;
}

/* On screens that are less than 700px wide, make the sidebar into a topbar */
@media screen and (max-width: 700px) {
  .sidebar {
    width: 100%;
    height: auto;
    position: relative;
  }
  .sidebar a {float: left;}
  div.content {margin-left: 0;}
}

/* On screens that are less than 400px, display the bar vertically, instead of horizontally */
@media screen and (max-width: 400px) {
  .sidebar a {
    text-align: center;
    float: none;
  }
}