@import url(https://fonts.googleapis.com/css?family=Varela+Round);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700);


:root
{
	--hover:  	#9CFFE4;
	--bg-color:  	#eae3e3;
	--main: #b2dcee;
	--border: #136082;
	--text: #05202b;
	--second-bg: #878f95;
	--toggle: #05202b;
	--toggle-border: #53adfb;
	--toggle-icon: #d2cbcb;
}

:root.dark
{
	--hover: #419580;
	--bg-color: #05202b;
	--main: #43758b;
	--border: #2781cf;
	--text:#d2cbcb;
	--toggle: #eae3e3;;
	--toggle-border: #136082;
	--toggle-icon: #05202b;
}

html
{
	scroll-behavior: smooth;
}

body
{
	background-color: var(--bg-color);
	text-align: center;
	font-family: 'JetBrains Mono';
}

header
{
	max-height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--main);
	border-radius: 20px;
}

.toggle-container
{
	display: flex;
	justify-content: center;
	width: 33%;
}

.toggle
{
	padding: 10px;
	background: var(--toggle);
	border: none;
	border-radius: 50px;
	transition: 0.3s ease;
	cursor: pointer;
	border: 1px solid var(--toggle-border);
}

.toggle:hover
{
	transform: scale(1.25);
	border: 2px solid var(--toggle-border);
}

.menu
{
	display: flex;
	justify-content: flex-end;
	width: 33%;
}

.menu ul
{
	display: flex;
	list-style: none;
}

.menu li
{
	margin: 0 15px;
	background-color: var(--bg-color);
	padding: 0 20px;
	border-radius: 20px;
	border: 1px solid var(--border);
	transition: 0.2s ease;
}

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

a {
  color: var(--text);
  text-decoration: none;
}

.cv
{
	margin-top: 50px;
}

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

.bold {
  color: var(--text);
  font-weight: 400;
}

.resume-wrapper {
  position: relative;
  text-align: center;
  height: 100%;
}

.container {
  min-height: 600px;
}

.profile {
  background: var(--bg-color);
  width: 40%;
  float: left;
  color: var(--text);
}

.profile .name-wrapper {
  float: left;
  width: 60%;
}

.profile h1 {
  font-size: 2.5em;
  text-align: left;
  color: var(--second-bg);
  text-transform: uppercase;
  line-height: 1em;
  padding-top: 40px;
}

.profile li {
  margin-bottom: 10px;
}

.profile .picture-resume-wrapper {
  width: 40%;
  display: block;
  float: left;
}

.profile .picture-resume {
  width: 220px;
  height: 220px;
  background-size: cover;
  border-radius: 50%;
  margin-right: 0;
  display: table;
  position: relative;
  vertical-align: middle;
}

.profile .picture-resume span {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  margin: 0 auto;
  z-index: 1;
  text-align: center;
}

.profile .picture-resume img {
  border-radius: 50%;
  width: 130px;
}

.profile .contact-info {
  margin-top: 100px;
  font-weight: 300;
}

.profile .list-titles {
  float: left;
  text-align: left;
  font-weight: 600;
  width: 40%;
  color: var(--text);
}

.profile .list-content {
  float: left;
  width: 60%;
  text-align: left;
  font-weight: 300;
}

.profile .contact-presentation {
  text-align: left;
  font-weight: 300;
  margin-top: 100px;
  margin-bottom: 100px;
  border-top: 1px solid #3d3e42;
}

.profile svg {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.profile .st0,
.profile .st1 {
  fill: var(--border);
}

.experience {
  background: var(--second-bg);
  width: 60%;
  float: left;
  position: relative;
  color: var(--bg-color);
  font-weight: 300;
  min-height: 100%;
  min-height: 100vh;
  border-radius: 75px;
}

.experience h3.experience-title {
  color: var(--text);
  text-align: left;
  text-transform: uppercase;
  font-size: 1.2em;
  margin-bottom: 20px;
  font-weight: 400;
}

.experience .company-wrapper {
  width: 30%;
  float: left;
  text-align: left;
  padding-right: 5%;
  margin-bottom: 60px;
}

.experience .job-wrapper {
  width: 70%;
  float: left;
  text-align: left;
  padding-right: 5%;
  margin-bottom: 60px;
}

.experience .experience-title {
  color: var(--border);
  margin-bottom: 15px;
}

.section-padding {
  padding: 60px 60px 40px 40px;
}

.section-wrapper {
  width: 50%;
  float: left;
  text-align: left;
  color: var(--bg-color);
  font-weight: 300;
  margin-bottom: 20px;
}

.section-wrapper:nth-child(3) {
  padding-right: 8%;
}

.section-wrapper h3.section-title {
  color: var(--border);
  text-align: left;
  text-transform: uppercase;
  font-size: 1.2em;
  margin-bottom: 20px;
  font-weight: 400;
}

.section-wrapper .skill-percentage {
  margin-bottom: 10px;
  position: relative;
}

.section-wrapper .skill-percentage::after {
  content: "";
  width: 100%;
  height: 6px;
  background: var(--bg-color);
  display: block;
  margin-top: 3px;
  border-radius: 15px;
}

.section-wrapper .skill-percentage::before {
  content: "";
  height: 6px;
  background: var(--border);
  position: absolute;
  margin-top: 3px;
  bottom: 0;
  border-radius: 15px;
}

.section-wrapper .skill-percentage:nth-child(1)::before {
  width: 70%;
  animation: skill_1 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(2)::before {
  width: 60%;
  animation: skill_2 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(3)::before {
  width: 20%;
  animation: skill_3 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(4)::before {
  width: 60%;
  animation: skill_4 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(5)::before {
  width: 50%;
  animation: skill_5 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(6)::before {
  width: 30%;
  animation: skill_6 0.6s ease;
}

.section-wrapper .skill-percentage:nth-child(7)::before {
  width: 60%;
  animation: skill_7 0.6s ease;
}

@keyframes skill_1 {
  from {
    width: 0%;
  }
  to {
    width: 80%;
  }
}

@keyframes skill_2 {
  from {
    width: 0%;
  }
  to {
    width: 90%;
  }
}

@keyframes skill_3 {
  from {
    width: 0%;
  }
  to {
    width: 50%;
  }
}

@keyframes skill_4 {
  from {
    width: 0%;
  }
  to {
    width: 60%;
  }
}

@keyframes skill_5 {
  from {
    width: 0%;
  }
  to {
    width: 70%;
  }
}

@keyframes skill_6 {
  from {
    width: 0%;
  }
  to {
    width: 70%;
  }
}

@keyframes skill_7 {
  from {
    width: 0%;
  }
  to {
    width: 70%;
  }
}

@media (max-width: 1500px) {
  .profile .picture-resume {
    width: 150px;
    height: 150px;
  }

  .profile .picture-resume img {
    width: 80px;
  }
}

@media (max-width: 1200px) {
  .profile h1 {
    padding-top: 20px;
  }

  .profile .picture-resume-wrapper {
    width: 100%;
  }

  .profile .picture-resume {
    width: 200px;
    height: 200px;
  }

  .profile .picture-resume img {
    width: 120px;
    height: 120px;
  }

  .profile .contact-info {
    margin-top: 70px;
  }

  .profile .contact-presentation {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

@media (max-width: 850px) {
  .profile {
    width: 100%;
  }

  .section-padding {
    padding: 80px 15% 40px 10%;
  }

  .profile .contact-presentation {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .experience {
    width: 100%;
  }
}

@media (max-width: 450px) {
  .profile h1 {
    font-size: 1.8em;
    padding-top: 20px;
  }

  .profile .picture-resume {
    width: 180px;
    height: 180px;
  }

  .profile .contact-info {
    margin-top: 50px;
  }

  .section-padding {
    padding: 40px 10% 20px 5%;
  }

  .experience .company-wrapper {
    width: 100%;
    margin-bottom: 20px;
  }

  .experience .job-wrapper {
    width: 100%;
    margin-bottom: 40px;
  }

  .section-wrapper {
    width: 100%;
  }
}
