/* src/reset.css */
body {
  padding: 0;
  margin: 0;
  font-family: "Atkinson Hyperlegible Next", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  color: var(--text-color--dark);
  background-color: var(--color--main);
  font-size: var(--text--size-body);
}
a {
  color: var(--color--link);
  text-decoration: none;
  font-weight: bold;
}
svg {
  shape-rendering: geometricPrecision;
}
::selection {
  background: rgba(90, 126, 160, .4);
}
::-moz-selection {
  background: rgba(90, 126, 160, .4);
}
input[type=text] {
  background: transparent;
  border: 0;
  margin: 3px;
  padding: var(--spacing--2x);
  border-bottom: 1px solid var(--text-color--dark);
}
input[type=text]:focused {
  outline: 3px solid var(--color--link);
}

/* src/variables.css */
:root {
  --spacing--1x: 4px;
  --spacing--2x: 8px;
  --spacing--4x: 16px;
  --spacing--6x: 24px;
  --spacing--8x: 32px;
  --spacing--12x: 48px;
  --text--size-larger: 24px;
  --text--size-large: 18px;
  --text--size-body: 16px;
  --text--size-small: 14px;
  --text--size-smaller: 12px;
  --color--main: #fff0db;
  --color--link: #5a7ea0;
  --color--contrast: #5a7ea0;
  --text-color--lighter: #9F9F9F;
  --text-color--light: #6E6E6E;
  --text-color--main: #4C4C4C;
  --text-color--dark: #2C2C2C;
  --header--height: calc(var(--spacing--1x) * 10);
  --footer--height: calc(var(--spacing--1x) * 9);
  --disclaimer--height: calc(var(--spacing--1x) * 20);
}

/* src/animations.css */

/* src/Experience/Experience.module.css */
@-webkit-keyframes Experience_experienceItemFadeIn {
  0% {
    opacity: 0;
    margin-inline-start: calc(var(--spacing--2x) * -1);
  }
  100% {
    opacity: 1;
    margin-inline-start: 0;
  }
}
@-webkit-keyframes Experience_experienceSeparatorExpand {
  0% {
    bottom: calc(100% - var(--spacing--8x));
  }
  100% {
    bottom: var(--spacing--2x);
  }
}
.Experience_experience {
  display: flex;
  position: relative;
  flex-direction: column;
  opacity: 0;
  padding-inline-end: var(--spacing--2x);
  margin-inline-start: calc(var(--spacing--2x) * -1);
  animation: Experience_experienceItemFadeIn .2s ease-in forwards;
}
.Experience_experience > .Experience_line {
  position: absolute;
  left: var(--spacing--1x);
  top: var(--spacing--8x);
  bottom: calc(100% - var(--spacing--8x));
  width: calc(var(--spacing--1x) / 2);
  background: var(--color--contrast);
  animation: Experience_experienceSeparatorExpand .6s ease-out forwards;
}
.Experience_company {
  font-size: var(--text--size-large);
  margin-block-end: var(--spacing--2x);
}
.Experience_position {
  display: flex;
  flex: 1;
  margin-inline-start: var(--spacing--6x);
  padding-block-end: var(--spacing--2x);
  border-block-end: 1px solid var(--color--contrast);
}
.Experience_role {
  display: flex;
  flex: 1;
  font-weight: 600;
}
.Experience_period {
  display: flex;
  flex: initial;
  flex-grow: 0;
}
.Experience_duties {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  flex-direction: column;
}

/* src/Skills/Skills.module.css */
@-webkit-keyframes Skills_skillItemFadeIn {
  0% {
    opacity: 0;
    margin-inline-start: calc(var(--spacing--2x) * -1);
  }
  100% {
    opacity: 1;
    margin-inline-start: 0;
  }
}
.Skills_category:not(:first-child) {
  margin-block-start: var(--spacing--12x);
}
.Skills_skill {
  display: inline-flex;
  opacity: 0;
  align-items: center;
  border: 1px solid var(--text-color--main);
  margin: 0 var(--spacing--4x) var(--spacing--2x);
  padding: var(--spacing--1x) var(--spacing--2x);
  animation: Skills_skillItemFadeIn .2s ease-in forwards;
  box-shadow: 2px 2px var(--text-color--main);
}
@media screen and (max-width: 768px) {
  .Skills_category > h3 {
    margin-block-start: 0;
    padding-inline: 0;
  }
  .Skills_skills {
    min-height: 50vh;
  }
  .Skills_skill {
    padding-inline: var(--spacing--6x);
  }
  .Skills_skill > label {
    font-size: var(--font-size--medium);
  }
}

/* src/Skills/SkillsSearch/SkillsSearch.module.css */
.SkillsSearch_container {
  display: flex;
  width: 30%;
  min-width: calc(var(--spacing--1x) * 50);
  position: relative;
}
.SkillsSearch_input {
  width: 100%;
  position: relative;
  padding-inline-end: var(--spacing--6x);
  z-index: 10;
}
.SkillsSearch_icon {
  display: none;
  position: absolute;
  right: var(--spacing--2x);
  top: 0;
  height: 100%;
  z-index: 11;
  align-items: center;
  cursor: pointer;
}
.SkillsSearch_icon.SkillsSearch_active {
  display: flex;
}
@media screen and (max-width: 768px) {
  .SkillsSearch_container {
    width: 100%;
  }
}

/* src/Skills/SkillsEmpty/SkillsEmpty.module.css */
.SkillsEmpty_empty {
  display: flex;
  flex-direction: column;
  height: calc(var(--spacing--1x) * 64);
  align-items: center;
  justify-content: center;
}
.SkillsEmpty_icon {
  width: calc(var(--spacing--12x));
  height: calc(var(--spacing--12x));
}
.SkillsEmpty_message {
  margin-block: var(--spacing--4x);
}

/* src/Intro/Intro.module.css */
@-webkit-keyframes Intro_paragraphItemFadeIn {
  0% {
    opacity: 0;
    margin-inline-start: calc(var(--spacing--2x) * -1);
  }
  100% {
    opacity: 1;
    margin-inline-start: 0;
  }
}
.Intro_container > p {
  opacity: 0;
  font-size: var(--text--size-large);
  animation: Intro_paragraphItemFadeIn .3s ease-in forwards;
}
.Intro_container > p:first-child {
  margin-block-start: 0;
  font-size: var(--text--size-larger);
  font-weight: bold;
}

/* src/Header/Header.module.css */
.Header_header {
  display: flex;
  position: fixed;
  flex-direction: row;
  top: 0;
  left: 0;
  right: 0;
  padding: var(--spacing--2x) var(--spacing--4x);
  border-block-end: 1px solid var(--text-color--main);
  z-index: 999;
  background: var(--color--main);
}
.Header_title {
  display: flex;
  flex: 1;
  font-weight: bold;
  align-items: center;
  justify-self: flex-start;
  color: var(--text-color--dark);
}
.Header_title > span:not(:last-child):after {
  content: "\a0-\a0";
}
.Header_socials {
  display: flex;
  list-style: none;
  flex: initial;
  margin: 0;
  align-items: center;
}
.Header_socials > li {
  display: flex;
  padding-inline: var(--spacing--1x);
  padding-block: 0;
}
.Header_socials > li > a > svg {
  fill: var(--text-color--main);
  width: var(--spacing--6x);
  height: var(--spacing--6x);
}
@media screen and (max-width: 768px) {
  .Header_header {
    position: static;
  }
  .Header_title {
    display: flex;
    flex-direction: column;
    align-items: start;
  }
  .Header_title > span:after {
    content: "";
  }
}

/* src/Menu/Menu.module.css */
@-webkit-keyframes Menu_menuItemFadeIn {
  0% {
    opacity: 0;
    padding-inline-start: 0;
  }
  100% {
    opacity: 1;
    padding-inline-start: var(--spacing--4x);
  }
}
.Menu_menu {
  display: flex;
  flex: initial;
  flex-shrink: 0;
  flex-direction: column;
  width: 350px;
  height: 100vh;
  justify-content: center;
}
.Menu_menuItem {
  display: flex;
  flex: 0;
  opacity: 0;
  color: var(--text-color--dark);
  padding-block: var(--spacing--2x);
  padding-inline: var(--spacing--6x);
  margin-block: .5em;
  font-size: 1.5em;
  border-inline-end: 0 solid #5a7ea0;
  animation: Menu_menuItemFadeIn .2s ease-in forwards;
  transition: background-color .1s ease-in, border-inline-end-width .1s ease-in;
}
.Menu_menuItem:hover,
.Menu_menuItem[aria-current=page] {
  background-color: rgba(90, 126, 160, .2);
  border-inline-end-width: var(--spacing--2x);
}
@media screen and (max-width: 1600px) {
  .Menu_menu {
    width: 25vw;
  }
}
@media screen and (max-width: 768px) {
  .Menu_menu {
    width: auto;
    height: auto;
    flex-direction: column;
  }
  .Menu_menuItem {
    opacity: 1;
    margin-block: 0;
    border-inline-end: 0;
    padding-block-start: var(--spacing--4x);
    padding-inline: var(--spacing--4x);
    animation: none;
    transition: none;
    border-block-end: var(--spacing--2x) solid transparent;
  }
  .Menu_menuItem:hover {
    border-inline-end-width: 0;
  }
  .Menu_menuItem[aria-current=page] {
    border-block-end: var(--spacing--2x) solid var(--color--contrast);
    border-inline-end-width: 0;
  }
}

/* src/Footer/Footer.module.css */
.Footer_footer {
  display: flex;
  position: fixed;
  flex-direction: row;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--spacing--2x) var(--spacing--4x);
  border-block-start: 1px solid var(--text-color--main);
  z-index: 999;
  background: var(--color--main);
}
.Footer_copyright {
  display: flex;
  flex: 1;
  justify-content: start;
}
.Footer_madeWithLove {
  display: flex;
  justify-content: end;
}
@media screen and (max-width: 768px) {
  .Footer_footer {
    position: static;
  }
}

/* src/Website.module.css */
.Website_container {
  display: flex;
}
.Website_section {
  display: flex;
  flex: 1;
  overflow: hidden;
  padding: var(--spacing--6x);
  flex-direction: column;
  align-content: center;
  justify-content: center;
  max-height: calc(100vh - calc(var(--header--height) + var(--footer--height) + var(--disclaimer--height)));
  margin-block-start: var(--header--height);
}
.Website_content {
  overflow-x: hidden;
  overflow-y: auto;
}
@media screen and (max-width: 768px) {
  .Website_container {
    flex-direction: column;
  }
  .Website_section {
    overflow: auto;
    padding: 0 var(--spacing--4x);
    margin-block-start: 0;
    max-height: none;
  }
  .Website_content {
    padding: var(--spacing--4x);
    margin-inline: calc(var(--spacing--4x) * -1);
  }
}
