:root {
  --bg-body: #edeeec;
  --bg-card: #ffffff;
  --bg-footer: #999999;
  --bg-experience: #ff7766;
  --bg-electric: #5599ff;
  --color-title: #333333;
  --color-text: #333333;
  --color-text-theme: #3355aa;
  --color-text-white: #ffffff;
  --color-text-bold: #224488;
  --color-contrast: #000000;
  --color-secondary: #666666;
  --color-hr: rgba(0, 0, 0, 0.1);
  --color-sign: rgba(0, 0, 0, 0.2);
}
@media screen and (prefers-color-scheme: dark) {
  :root {
    --bg-body: #000000;
    --bg-card: #121418;
    --bg-footer: #121418;
    --bg-experience: #aa4433;
    --bg-electric: #2255aa;
    --color-title: #ffffff;
    --color-text: #eeeeee;
    --color-text-theme: #84aaff;
    --color-text-white: rgba(255, 255, 255, 0.8);
    --color-text-bold: #bbccff;
    --color-contrast: #ffffff;
    --color-secondary: #999999;
    --color-hr: rgba(255, 255, 255, 0.3);
    --color-sign: rgba(255, 255, 255, 0.3);
  }
}
* {
  box-sizing: border-box;
  font-family: sans-serif;
}
a {
  text-decoration: none;
  color: inherit;
}
body {
  margin: 0;
  min-width: 320px;
}
body.home,
body.project {
  background: var(--bg-body);
}
body.photo {
  background: #000000;
}
body.photo > footer {
  background: transparent;
  color: rgba(255, 255, 255, 0.2);
}
.container {
  width: 90%;
  max-width: 1280px;
  min-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 800px) {
  .container {
    width: 100%;
    min-width: auto;
  }
}
.container.row {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
main.container {
  padding-bottom: 4rem;
}
/*
    项目目录
 */
/*
    摄影目录
 */
.photo.index main.container {
  display: flex;
  flex-flow: row wrap;
  --size-title: 2.5rem;
  --size-sm: calc(var(--size-title) / 2 - 0.2rem);
  --text-gap: calc(var(--size-title) - 2 * var(--size-sm));
  --block-margin: 1.5rem;
}
@media (max-width: 1000px) {
  .photo.index main.container {
    --size-title: 1.75rem;
    --block-margin: 0.75rem;
  }
}
.photo.index main.container .photo-hr {
  flex: 1 1 100%;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin: 0 var(--block-margin);
  font-size: 1.25rem;
}
.photo.index main.container .photo-hr:first-of-type {
  margin-top: var(--block-margin);
}
.photo.index main.container .photo-hr p {
  flex: 0 1 auto;
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
  padding: 0 1em;
}
@media (max-width: 1000px) {
  .photo.index main.container .photo-hr {
    font-size: 1rem;
  }
  .photo.index main.container .photo-hr p {
    flex: 0 1 6rem;
  }
}
.photo.index main.container .photo-hr:before,
.photo.index main.container .photo-hr:after {
  flex: 1 1 auto;
  content: "";
  display: block;
  height: 0.1em;
  background: rgba(255, 255, 255, 0.3);
}
.photo.index main.container .photo-hr:before {
  background: linear-gradient(to left, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.04) 98%, rgba(255, 255, 255, 0));
}
.photo.index main.container .photo-hr:after {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.04) 98%, rgba(255, 255, 255, 0));
}
.photo.index main.container .photo-list-item {
  flex: 1 1 100%;
  margin: var(--block-margin);
  position: relative;
}
.photo.index main.container .photo-list-item .cover {
  display: block;
  width: 100%;
  height: 35vw;
  min-height: 300px;
  max-height: 400px;
  background-size: cover;
  background-position: center;
  border-radius: 0.5rem;
  transition: 0.24s;
  position: relative;
}
.photo.index main.container .photo-list-item .cover:before,
.photo.index main.container .photo-list-item .cover:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
  background: inherit;
  position: absolute;
  transition: 0.3s;
}
.photo.index main.container .photo-list-item .cover:before {
  z-index: 10;
}
.photo.index main.container .photo-list-item .cover:after {
  transform: rotate(180deg);
  filter: contrast(0.3) hue-rotate(0deg);
  z-index: 5;
}
.photo.index main.container .photo-list-item .cover:hover {
  transform: translateY(-5px);
}
.photo.index main.container .photo-list-item .cover:hover:before {
  transform: scale(1.01) rotate(-0.5deg);
  box-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
}
.photo.index main.container .photo-list-item .cover:hover:after {
  transform: rotate(181deg) translateY(3px);
}
.photo.index main.container .photo-list-item .cover:hover + .info {
  color: rgba(255, 255, 255, 0.6);
}
.photo.index main.container .photo-list-item.half {
  flex: 1 1 350px;
}
.photo.index main.container .photo-list-item.half .cover {
  min-height: 180px;
}
.photo.index main.container .photo-list-item.half .cover:hover:before {
  transform: scale(1.02) rotate(-1deg);
}
.photo.index main.container .photo-list-item.half .cover:hover:after {
  transform: rotate(182deg) translateY(3px);
}
@media (max-width: 800px) {
  .photo.index main.container .photo-list-item.half {
    flex: 1 1 100%;
  }
}
.photo.index main.container .photo-list-item .info {
  color: rgba(255, 255, 255, 0.3);
  display: flex;
  transition: 0.3s;
}
@media (max-width: 800px) {
  .photo.index main.container .photo-list-item .info {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: rgba(0, 0, 0, 0.8) 0 0 2em;
    position: absolute;
    right: var(--block-margin);
    bottom: 0;
    z-index: 100;
  }
  .photo.index main.container .photo-list-item .info .title {
    margin-bottom: var(--block-margin);
  }
}
.photo.index main.container .photo-list-item .info .title {
  font-size: var(--size-title);
  font-weight: 400;
  line-height: var(--size-title);
  height: var(--size-title);
  margin-top: var(--size-sm);
  margin-right: var(--text-gap);
  margin-left: auto;
}
.photo.index main.container .photo-list-item .info .description {
  display: flex;
  flex-flow: column nowrap;
  margin-top: var(--size-sm);
}
.photo.index main.container .photo-list-item .info .description .row {
  display: flex;
  flex-flow: row nowrap;
}
.photo.index main.container .photo-list-item .info .description .date,
.photo.index main.container .photo-list-item .info .description .class,
.photo.index main.container .photo-list-item .info .description .amount {
  font-size: var(--size-sm);
  line-height: var(--size-sm);
  height: var(--size-sm);
  margin: 0;
}
.photo.index main.container .photo-list-item .info .description .date {
  margin-bottom: var(--text-gap);
  margin-left: auto;
  opacity: 0.5;
  font-weight: 700;
}
.photo.index main.container .photo-list-item .info .description .class {
  margin-right: var(--text-gap);
}
.photo.index main.container .photo-list-item .info .description .amount {
  margin-right: 0;
  margin-left: auto;
}
/**
    页眉导航栏
**/
header .main-nav {
  background: #3355aa;
}
header .main-nav .container {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
header .main-nav .logo {
  flex: 2;
  color: #ffffff;
  line-height: 4rem;
  margin: 0;
}
header .main-nav .logo a {
  font-size: 1.5rem;
  font-family: Consolas, "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", Monaco, "Courier New", "monospace";
  letter-spacing: 0em;
}
header .main-nav nav {
  flex: 2;
}
header .main-nav nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  height: 100%;
  display: flex;
  flex-flow: row nowrap;
}
header .main-nav nav ul li {
  flex: 1 0 5.5em;
  margin: auto;
  height: 100%;
  border-right: rgba(255, 255, 255, 0.5) 1px solid;
}
header .main-nav nav ul li:first-of-type {
  border-left: rgba(255, 255, 255, 0.5) 1px solid;
}
header .main-nav nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 3.5rem;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
}
header .main-nav nav ul li a i {
  position: absolute;
  width: 6em;
  font-size: 1em;
  text-align: right;
  transform: scale(0.5) translateX(-9.25rem) translateY(1.8em);
}
header .main-nav nav ul li.active a {
  background: #ffffff;
  font-weight: 700;
  color: #3355aa;
}
@media (max-width: 1000px) {
  header .main-nav .logo {
    flex: 0 1 10rem;
  }
  header .main-nav .logo a {
    margin-left: 1.5rem;
  }
  header .main-nav nav {
    flex: 1 0 22rem;
  }
  header .main-nav nav ul li {
    border-right: none;
  }
  header .main-nav nav ul li:first-of-type {
    border-left: none;
  }
}
@media (max-width: 400px) {
  header .main-nav nav {
    flex: 1 0 320px;
  }
  header .main-nav nav ul li {
    flex: 1 0 80px;
  }
}
/**
    页脚
**/
body > footer {
  background: var(--bg-footer);
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-size: 0.75em;
  margin: 0;
  padding: 1rem;
}
body > footer p {
  margin: 1rem 3rem;
}
/*# sourceMappingURL=index.css.map */