:root {
  --primary-color: #333333;
  --secondary-color: #ffffff;
}

* {
  margin: 0;
  padding: 0;
}

body {
  overflow-x: hidden;
  font-family: "Raleway", sans-serif;
}

header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 25;
}

nav {
  overflow: hidden;
  position: relative;
  background-color: var(--primary-color);
  height: calc(34px + 37 * ((100vw - 200px) / 650));
}

nav img {
  float: left;
  width: calc(20px + 23 * ((100vw - 200px) / 650));
  margin: calc(7px + 8 * ((100vw - 200px) / 650)) 0 0 calc(7px + 8 * ((100vw - 200px) / 650));
}

.hamburger_button {
  float: right;
  background: none;
  border: none;
  outline: none;
  margin: calc(5px + 13 * ((100vw - 200px) / 650)) calc(7px + 8 * ((100vw - 200px) / 650)) 0 0;
  cursor: pointer;
}

.bar,
.hamburger_button::before,
.hamburger_button::after {
  content: "";
  height: calc(2px + 2 * ((100vw - 200px) / 650));
  width: calc(21px + 11 * ((100vw - 200px) / 650));
  background-color: var(--secondary-color);
  display: block;
  margin-top: calc(5px + 1 * ((100vw - 200px) / 650));
}

.hamburger_button::before {
  -webkit-transition: 2s;
  transition: 2s;
}

.bar {
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

.hamburger_button::after {
  -webkit-transition: 1s;
  transition: 1s;
}

.hamburger_button_off .bar,
.hamburger_button_off::after,
.hamburger_button_off::before {
  -webkit-transform: translateX(20vw);
          transform: translateX(20vw);
}

.menu_ham {
  float: none;
  position: absolute;
  top: 0;
  right: 0;
}

.menu_ham span {
  display: none;
}

header .links {
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  background-color: #333333ef;
  z-index: 30;
  padding-top: calc(58px + 152 * ((100vw - 200px) / 650));
  -webkit-transition: 1s;
  transition: 1s;
}

header ul li {
  list-style: none;
  text-align: center;
}

header ul li a {
  text-decoration: none;
  color: var(--secondary-color);
  display: block;
  padding: calc(12px + 23 * ((100vw - 200px) / 650)) 0;
  font-size: calc(23px + 47 * ((100vw - 200px) / 650));
}

.links div img {
  width: calc(18px + 22 * ((100vw - 200px) / 650));
  position: absolute;
  top: 0;
  right: 0;
  margin: calc(5px + 13 * ((100vw - 200px) / 650)) calc(7px + 8 * ((100vw - 200px) / 650)) 0 0;
  cursor: pointer;
}

.links_hidden {
  -webkit-transform: translateY(-150vh);
          transform: translateY(-150vh);
}

.about {
  min-height: 100vh;
  padding: 0 calc(19px + 22 * ((100vw - 200px) / 300));
  background-color: white;
  padding-top: calc(30px + 12 * ((100vw - 200px) / 300));
}

/*top sticky part*/
.top_part_parent {
  position: -webkit-sticky;
  position: sticky;
  top: calc(35px + 12 * ((100vw - 200px) / 300));
  background-color: white;
  -webkit-box-shadow: 0px 34px 67px -64px black;
          box-shadow: 0px 34px 67px -64px black;
  padding: calc(9px + 5 * ((100vw - 200px) / 300)) 0;
  z-index: 20;
}

.top_part {
  font-size: calc(11px + 8 * ((100vw - 200px) / 300));
  margin: auto;
  border-bottom: 2px solid black;
}

.top_part_parent img {
  width: calc(33px + 57 * ((100vw - 200px) / 300));
  margin: auto;
  display: block;
  margin-top: calc(9px + 13 * ((100vw - 200px) / 300));
}

.top_part_parent h2 {
  text-align: center;
  margin-top: calc(7px + 15 * ((100vw - 200px) / 300));
  font-size: calc(13px + 7 * ((100vw - 200px) / 300));
  font-weight: bold;
}

.switch1 {
  -webkit-transition: 1s;
  transition: 1s;
}

.switch2 {
  position: absolute;
  top: calc(23px + 14 * ((100vw - 200px) / 300));
  right: calc(0px + 10 * ((100vw - 200px) / 300));
  -webkit-transition: 1s;
  transition: 1s;
  opacity: 0;
}

.switch_off_1 {
  -webkit-transform: translateX(calc(-48px + -96 * ((100vw - 200px) / 300)));
          transform: translateX(calc(-48px + -96 * ((100vw - 200px) / 300)));
  opacity: 0;
}

.switch_on_2 {
  -webkit-transform: translateX(calc(-48px + -96 * ((100vw - 200px) / 300)));
          transform: translateX(calc(-48px + -96 * ((100vw - 200px) / 300)));
  opacity: 1;
}

/*personal info part*/
.personal p {
  text-align: center;
  font-size: calc(11px + 6 * ((100vw - 200px) / 300));
  line-height: calc(16px + 7 * ((100vw - 200px) / 300));
  padding: calc(8px + 17 * ((100vw - 200px) / 300)) 0 0 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.personal span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

/*education section*/
.education {
  margin-top: calc(50px + 40 * ((100vw - 200px) / 300));
  position: relative;
}

.education span {
  font-size: calc(11px + 6 * ((100vw - 200px) / 300));
}

.years_span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0 0 calc(0px + 100 * ((100vw - 200px) / 300));
}

.year {
  height: calc(35px + 18 * ((100vw - 200px) / 300));
  width: calc(35px + 18 * ((100vw - 200px) / 300));
  border-radius: 100%;
  display: block;
  position: relative;
  background-color: black;
  color: white;
}

.last {
  background-color: white;
  color: black;
  border: 1px solid black;
}

.year span {
  position: absolute;
  top: calc(10px + 5 * ((100vw - 200px) / 300));
  left: calc(5px + 1 * ((100vw - 200px) / 300));
}

.till {
  display: block;
  width: 2px;
  height: calc(30px + 46 * ((100vw - 200px) / 300));
  margin: auto;
  background-color: black;
}

.describe {
  top: 0px;
  position: absolute;
  right: calc(5px + 28 * ((100vw - 200px) / 300));
  width: calc(94px + 94 * ((100vw - 200px) / 300));
}

.describe span {
  display: block;
  padding-bottom: calc(30px + 46 * ((100vw - 200px) / 300));
  height: calc(35px + 18 * ((100vw - 200px) / 300));
}

.describe span:last-child {
  padding: 0;
}

.spacer {
  height: 20px;
}

@media screen and (min-width: 850px) {
  body {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(40%, #333333), color-stop(40%, #ffffff));
    background-image: linear-gradient(to right, #333333 40%, #ffffff 40%);
  }
  .about {
    display: none;
  }
  nav {
    background-color: transparent;
  }
}
