html {
  --theme-base: rgb(70, 75, 85);
  --theme-obj: rgb(26, 28, 32);
  --theme-fore: rgb(248, 248, 248);
  --theme-section-txture: url('/assets/img/app/bg.interests.svg');
  --theme-section-tile: url('/assets/img/app/bg.tiles.winter.svg');
  --theme-section-tile-sz: 20em;
  --theme-section-img: url('/assets/img/app/obj.girl.svg');
}

.main--winter {
  --theme-base: rgba(96, 157, 192, 1);
  --theme-obj: rgba(53, 107, 138, 1);
  --theme-fore: rgba(245, 250, 254, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.winter.svg');
  --theme-section-tile-sz: 15em;
}

.main--spring {
  --theme-base: rgba(140, 179, 102, 1);
  --theme-obj: rgba(80, 117, 44, 1);
  --theme-fore: rgba(255, 255, 238, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.spring.svg');
}

.main--summer {
  --theme-base: rgba(81, 129, 105, 1);
  --theme-obj: rgba(40, 97, 86, 1);
  --theme-fore: rgba(255, 253, 242, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.summer.svg');
  --theme-section-tile-sz: 15em;
}

.main--autumn {
  --theme-base: rgba(97, 74, 65, 1);
  --theme-obj: rgba(61, 46, 37, 1);
  --theme-fore: rgba(255, 247, 221, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.autumn.svg');
  --theme-section-img: url('/assets/img/app/obj.girl.autumn.svg');
  --theme-section-tile-sz: 21em;
}

.main--halloween {
  --theme-base: rgba(66, 69, 72, 1);
  --theme-obj: rgba(36, 39, 42, 1);
  --theme-fore: rgba(220, 220, 220, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.haloween.svg');
  --theme-section-img: url('/assets/img/app/obj.girl.halloween.svg');
  --theme-section-tile-sz: 50em;
}

.main--xmas {
  --theme-base: rgba(30, 100, 90, 1);
  --theme-obj: rgba(20, 90, 70, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.xmas.svg');
  --theme-section-img: url('/assets/img/app/obj.girl.xmas.svg');
}

.main--valentine {
  --theme-base: rgba(120, 100, 120, 1);
  --theme-obj: rgba(55, 25, 50, 1);
  --theme-fore: rgba(255, 250, 250, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.valentine.svg');
  --theme-section-img: url('/assets/img/app/obj.girl.valentine.svg');
}

.main--birthday {
  --theme-base: rgba(70, 90, 100, 1);
  --theme-obj: rgba(30, 50, 60, 1);
  --theme-fore: rgba(230, 240, 250, 1);
  --theme-section-tile: url('/assets/img/app/bg.tiles.birthday.svg');
  --theme-section-img: url('/assets/img/app/obj.girl.birthday.svg');
}

@font-face {
  font-family: "wellagain";
  font-weight: normal;
  font-style: normal;
  src: url("fonts/wellagain.woff?v1") format("woff"), url("fonts/wellagain.woff2?v1") format("woff2");
}
h1,
h2,
h3,
h4 {
  font-weight: normal;
}

.side-note {
  font-weight: 200;
  line-height: 1.25;
}

dl {
  margin: 1em 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
dl dt {
  flex: 1 1 100%;
  margin: 0.5em 0 0 0;
  border-bottom: solid 2px var(--theme-base);
  padding: 0.25em 0;
  font-weight: 200;
}
dl dd {
  flex: 1 1 100%;
  justify-self: flex-end;
  margin: 0 0 0.5em 2.25em;
  padding: 0.25em 0;
  text-align: right;
  color: var(--theme-base);
}

[class*=ico-] {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  text-rendering: optimizeLegibility;
  font-family: "icon";
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  speak: none;
}

.ico-calendar::before {
  content: "\e900";
}

.home__intro {
  background: var(--theme-section-img) no-repeat 50% 50%, var(--theme-section-txture) repeat, var(--theme-section-tile) repeat, var(--theme-base);
  background-size: 25%, 70%, var(--theme-section-tile-sz), auto;
}
.home--error .home__intro {
  background: url("/assets/img/app/obj.girl.404.svg") no-repeat 50% 50%, var(--theme-section-txture) repeat, var(--theme-section-tile) repeat, var(--theme-base);
  background-size: 40%, 70%, var(--theme-section-tile-sz), auto;
}

.intro__nav {
  background-repeat: no-repeat, repeat, repeat;
  background-size: auto 120%, var(--theme-section-tile-sz), auto;
  background-position: 100% 50%, auto, auto;
  background-color: var(--theme-base);
}
.page--art .intro__nav {
  background-image: url("/assets/img/app/nav.art.svg"), var(--theme-section-tile), linear-gradient(60deg, var(--theme-obj) 0%, var(--theme-base) 100%);
}
.page--photos .intro__nav {
  background-image: url("/assets/img/app/nav.photography.svg"), var(--theme-section-tile), linear-gradient(60deg, var(--theme-obj) 0%, var(--theme-base) 100%);
}
.page--info .intro__nav {
  background-image: url("/assets/img/app/nav.info.svg"), var(--theme-section-tile), linear-gradient(60deg, var(--theme-obj) 0%, var(--theme-base) 100%);
}

.home__data {
  background-image: linear-gradient(60deg, var(--theme-obj) 0%, var(--theme-base) 100%);
}

.gallery--photos img, .p-cover img {
  display: block;
  margin: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ul[class],
ol[class] {
  padding: 0;
}

body {
  text-rendering: optimizeSpeed;
  scroll-behavior: smooth;
}

img {
  display: inline-block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

html,
body {
  height: 100%;
}

body {
  font-family: Helvetica, Arial, sans-serif;
  font-weight: normal;
  display: grid;
  grid-template-areas: "content" "menu";
  grid-template-columns: 100%;
  grid-template-rows: 75vh 25vh;
  margin: 0;
  padding: 0;
  min-height: 100%;
  font-size: 16px;
}
@media (max-width: 991px) {
  body {
    grid-template-areas: "menu" "content";
    grid-template-rows: 3em 1fr !important;
    max-height: 100%;
  }
}
body.page--art, body.page--info, body.page--photos {
  grid-template-rows: 92vh 8vh;
}

.app__content {
  grid-area: content;
  background: rgb(255, 255, 255);
  color: rgb(26, 28, 32);
}
.page--art .app__content, .page--photos .app__content {
  overflow-y: auto;
}
.page--info .app__content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.app__header {
  position: relative;
  grid-area: menu;
  box-shadow: 0 -0.1em 1em rgba(26, 28, 32, 0.2);
  background: var(--theme-base);
  color: var(--theme-fore);
}

.home {
  display: grid;
  grid-template-areas: "illustration data";
  grid-template-columns: 3fr 2fr;
  height: 100%;
}
@media (max-width: 991px) {
  .home {
    grid-template-areas: "illustration" "data";
    grid-template-columns: 100%;
    grid-template-rows: 30vh auto;
  }
}

.home__intro {
  grid-area: illustration;
}

.home__data {
  grid-area: data;
  color: var(--theme-fore);
}
.home__data article {
  position: relative;
  margin: 2.25em 2.25em 2.25em -5em;
  padding: 5vh 2.25em 2.25em;
  background: var(--theme-fore);
  color: rgb(26, 28, 32);
}
@media (max-width: 991px) {
  .home__data article {
    margin: 1em;
    padding: 2em;
  }
}
.home__data article::before, .home__data article::after {
  position: absolute;
  display: block;
  background: var(--theme-fore);
}
@media (min-width: 992px) {
  .home__data article::before, .home__data article::after {
    content: "";
  }
}
.home__data article::before {
  width: 2em;
  height: 100%;
  right: 100%;
  top: 0;
  clip-path: polygon(100% 0, 0% 13%, 100% 100%);
}
.home__data article::after {
  width: 100%;
  height: 100%;
  left: 0;
  top: 100%;
  clip-path: polygon(0 0, 15% 30%, 100% 0);
}
.home__data .side-note {
  margin-top: -1em;
  margin-left: 40%;
  width: 60%;
}

.intro {
  display: grid;
  grid-template-areas: "brand data nav";
  grid-template-columns: 1fr 1fr 1fr;
  min-height: 25vh;
  background: var(--theme-fore);
}
@media (max-width: 991px) {
  .intro {
    grid-template-areas: "brand data" "nav nav";
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto 1fr;
    min-height: auto;
  }
}
@media (max-width: 576px) {
  .intro {
    grid-template-areas: "brand" "data" "nav";
    grid-template-columns: 100%;
    grid-template-rows: 3em auto 1fr;
    min-height: auto;
  }
}

.intro__brand,
.intro__data {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2.25em;
}

.intro__brand {
  grid-area: brand;
}
@media (max-width: 991px) {
  .intro__brand {
    padding: 1em 2.25em 0;
  }
}

.intro__data {
  position: relative;
  z-index: 300;
  grid-area: data;
  color: rgb(26, 28, 32);
}
@media (max-width: 991px) {
  .intro__data {
    padding: 0 2.25em;
  }
}
.intro__data::before, .intro__data::after {
  position: absolute;
  display: block;
  background: var(--theme-fore);
}
@media (min-width: 992px) {
  .intro__data::before, .intro__data::after {
    content: "";
  }
}
.intro__data::before {
  width: 2em;
  height: 100%;
  left: 100%;
  top: 0;
}
.page--art .intro__data::before {
  clip-path: polygon(0 0, 0% 100%, 60% 20%);
}
.page--photos .intro__data::before {
  clip-path: polygon(0 0, 0% 100%, 70% 40%);
}
.page--info .intro__data::before {
  clip-path: polygon(0 0, 0% 100%, 50% 70%);
}
.intro__data::after {
  width: 100%;
  height: 100%;
  left: 0;
  top: 100%;
}
.page--art .intro__data::after {
  clip-path: polygon(0 0, 90% 10%, 100% 0);
}
.page--photos .intro__data::after {
  top: 0;
  background: rgb(26, 28, 32);
  clip-path: polygon(80% 80%, 0 100%, 100% 100%);
}
.page--info .intro__data::after {
  clip-path: polygon(0 0, 40% 25%, 100% 0);
}

.intro__data {
  text-align: right;
}
@media (max-width: 576px) {
  .intro__data {
    text-align: center;
  }
}
.intro__data p {
  margin-left: auto;
  max-width: 35ch;
  line-height: 2.25em;
}
@media (max-width: 991px) {
  .intro__data p {
    max-width: none;
    line-height: 1;
  }
}

.intro__nav {
  grid-area: nav;
  align-content: flex-end;
  color: var(--theme-fore);
  padding: 2.25em 2.25em 2.25em 5vw;
}
@media (max-width: 991px) {
  .intro__nav {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}

.app__logo {
  font-family: "wellagain", cursive;
  font-weight: normal;
  margin: 0;
  padding: 0;
  line-height: 2;
  color: rgb(0, 100, 190);
  font-size: 3em;
  text-shadow: 2px 0 1px rgb(255, 255, 255), 2px 2px 1px rgb(255, 255, 255), 2px -2px 1px rgb(255, 255, 255), -2px 0 1px rgb(255, 255, 255), -2px 2px 1px rgb(255, 255, 255), -2px -2px 1px rgb(255, 255, 255), 0 -2px 1px rgb(255, 255, 255), 0 2px 1px rgb(255, 255, 255);
}
@media (max-width: 991px) {
  .app__logo {
    font-size: 2em;
  }
}
.app__logo.intro--home {
  font-size: 4em;
}

.text {
  display: grid;
  grid-template-areas: "side txt img";
  grid-template-columns: 1fr 2fr 2fr;
  flex: 1 1 auto;
}
@media (max-width: 991px) {
  .text {
    grid-template-areas: "txt" "img" "side";
    grid-template-columns: 100%;
    grid-template-rows: auto 20vh auto;
  }
}

.text__img {
  grid-area: img;
  background: rgb(248, 248, 248);
  color: rgb(26, 28, 32);
}

.text__txt {
  grid-area: txt;
  padding: 2.25em;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .text__txt {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}

.text__side {
  grid-area: side;
  background: rgb(26, 28, 32);
  padding: 2.25em;
  color: rgb(248, 248, 248);
}
@media (max-width: 991px) {
  .text__side {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}

.header__menu {
  display: flex;
  flex-direction: row;
  justify-content: stretch;
  align-items: stretch;
  height: 100%;
}
.header__menu a {
  position: relative;
  flex: 1 1 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: solid 1px var(--theme-obj);
  border-left: solid 1px var(--theme-obj);
  background-color: rgba(26, 28, 32, 0.2);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  text-decoration: none;
  color: var(--theme-fore);
}
@media (max-width: 991px) {
  .header__menu a {
    font-size: 0.85em;
    padding-right: 0.25em;
    padding-left: 0.25em;
  }
}
.header__menu a:hover {
  color: rgb(248, 248, 248);
}
.header__menu a:hover::before {
  opacity: 0.2;
  transition: opacity 0.1s ease-in;
}
.header__menu a::before {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0.1em;
  left: 0.1em;
  bottom: 0.1em;
  right: 0.1em;
  background-color: var(--theme-obj);
  transition: opacity 0.1s ease-out;
  opacity: 0;
  content: "";
}
.header__menu a.active {
  border-top-color: rgba(26, 28, 32, 0.3);
  background: var(--theme-fore);
  color: var(--theme-obj);
}
.header__menu a.active span {
  background: rgb(0, 100, 190);
  color: var(--theme-fore);
}
.header__menu a.active::before {
  opacity: 0;
}
.header__menu a:not(.active):hover span {
  background-color: rgba(26, 28, 32, 0.3);
  transition: background 0.2s ease 0.1s;
}
.header__menu a span {
  position: relative;
  z-index: 2;
  display: inline-flex;
  transition: background 0.3s ease 0.1s;
  padding: 0.3em 0.5em;
}

.nav__item--home:hover {
  background-image: url("/assets/img/app/nav.home.svg");
}

.nav__item--art:hover {
  background-image: url("/assets/img/app/nav.art.svg");
}

.nav__item--photo:hover {
  background-image: url("/assets/img/app/nav.photography.svg");
}

.nav__item--info:hover {
  background-image: url("/assets/img/app/nav.info.svg");
}

.subnav {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  margin-top: auto;
  gap: 0.2em;
}
.subnav a {
  background: var(--theme-fore);
  transition: background 0.2s ease 0.1s;
  padding: 0.2em;
  line-height: 1;
  color: var(--theme-obj);
  text-decoration: none;
}
.subnav a:hover {
  background: rgb(255, 255, 255);
}

html,
body {
  height: 100%;
}

.gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1em;
  grid-template-rows: auto;
  background: rgb(26, 28, 32);
  padding: 1em;
  color: rgb(248, 248, 248);
}
@media (max-width: 991px) {
  .gallery {
    grid-template-columns: 100% !important;
    gap: 1em !important;
    padding: 1em !important;
  }
}
.gallery article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 991px) {
  .gallery article {
    grid-column: auto !important;
    grid-row: auto !important;
    padding: 0 !important;
  }
}
.gallery img {
  max-height: 100%;
  max-width: 100%;
}
.gallery div {
  margin-left: auto;
  background: rgb(248, 248, 248);
  color: rgb(26, 28, 32);
  padding: 0.5em 1em;
  font-size: 14px;
}
.gallery div h4 {
  margin: 0;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1.3;
}
.gallery div small {
  font-weight: 200;
}
.gallery div p {
  margin: 0;
}

.gallery--xs {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 0;
  padding: 0;
}
@media (max-width: 991px) {
  .gallery--xs {
    grid-template-columns: 1fr 1fr !important;
  }
}

.gallery--s {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 0;
}

.gallery--m {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1vw;
}

.gallery--l {
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
}

.gallery--photos {
  padding: 5vh 1em;
  grid-auto-rows: minmax(20em, auto);
}
@media (max-width: 991px) {
  .gallery--photos {
    grid-auto-rows: auto;
  }
}
.c--light {
  background: rgb(255, 255, 255);
  color: rgb(26, 28, 32);
}
.c--light div {
  box-shadow: 0 1px 1px 0 rgba(26, 28, 32, 0.2);
}

.sz-m {
  grid-column: auto/span 2;
}

.sz-l {
  grid-column: auto/span 2;
  grid-row: auto/span 2;
}

.sz-v-l {
  grid-row: auto/span 2;
}

.sz-xl {
  grid-column: 1/-1;
  grid-row: auto/span 2;
}

.p-xs {
  padding: 1vw;
}

.p-s {
  padding: 2vw;
}

.p-m {
  padding: 3vw;
}

.p-l {
  padding: 5vw;
}

.p-xl {
  padding: 7vw;
}

.st-shadow img {
  box-shadow: 0 0 3px 0 rgba(26, 28, 32, 0.2);
}

/*# sourceMappingURL=application.css.map */