:root {
  --light-blue: #0dcaf0;
  --light-black: #212529;
  --text-color: white;
  --typography: Verdana, Geneva, Tahoma, sans-serif;
  --progress-bar-animation-time: 5s;
}

body {
  margin: 0;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  background-color: var(--light-black);
  color: var(--text-color);
  background-image: linear-gradient(transparent, rgba(33, 37, 41, 1)),
    url("../imagens/EDER-FOTO-BANNER-2.jpg");
  background-repeat: no-repeat;
  background-position: 80% 0%;
}

p {
  margin: 0;
}

a {
  color: var(--light-blue);
}

h1 {
  font-size: 3.5rem;
  padding-top: 50px;
}

h2 {
  color: var(--light-blue);
  /* width: fit-content; */
}

h3 {
  font-size: 3rem;
  padding: 25px 0 5px 0;
}

h3 > span:nth-of-type(1) {
  color: var(--light-blue);
}

h4 {
  text-align: center;
  font-size: 1.5rem;
}

h4 > span {
  color: var(--light-blue);
}

h5 {
  font-weight: 800;
  font-size: 1rem;
  margin-block-start: 1.2em;
  margin-block-end: 1.2em;
}

section {
  padding-top: 20px;
  width: 85rem;
}

.title-logo-lastname {
  text-decoration: none;
  color: white;
}

.title-logo-firstname {
  text-decoration: none;
  
}
.paragraph {
  padding-bottom: 20px;
  /* text-align: left; */
  word-spacing: 0.5px;
}

.top-bar {
  /* top bar of the site  */
  display: flex;
  justify-content: space-between;
  position: fixed;
  width: 80%;
  padding: 0 10%;
  align-items: center;
  background: linear-gradient(
    180deg,
    rgba(33, 37, 41, 1),
    rgba(33, 37, 41, 0.5)
  );
}

.menu {
  /* top menus on the left  */
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.menu-item {
  list-style-type: none;
}

.menu-item > a {
  text-decoration: none;
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--light-blue);
}

.menu-item > a.active,
.menu-item > a:hover,
.menu-item > a:focus {
  color: white;
}

.fixed-menu {
  position: fixed;
  display: flex;
  justify-content: space-between;
}

.grid-container {
  /* General Grid container */
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2 columns */
  grid-template-rows: repeat(5, 1fr); /*5 rows */
  padding: 0 10%;
}

.grid-container > .grid-item {
  display: flex;
  justify-content: center;
}

.about-me-column,
.skills-column,
.education-work-experience-column,
.contact-me-column,
.portfolio-column,
.grid-item.home-column {
  /* Make all the columns occupy two columns */
  grid-column: span 3; /* Will start at vertical line 1 until line 3 */
  text-align: center;
}

.grid-item.home-column {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.grid-item.home-column > .flex-item {
  flex-basis: 35rem;
  flex-shrink: 1;
  flex-grow: 0;
}
/*banner text left*/
.grid-item.home-column > .flex-item > div {
  text-align: left;
}

.flex-container {
  /* My Journey */
  display: flex;
  justify-content: center;
  gap: 50px;
  padding: 20px 0;
}

.flex-container > .flex-item > a {
  color: var(--light-blue);
}

.about-me-flex {
  /* about me */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-me-pic {
  /* about me picture */
  margin-bottom: 25px;
  border: 1px solid var(--light-blue);
  border-radius: 50%;
}

#about-me-id .btn {
  margin-bottom: 40px;
}

.about-me-item.about-me-pic img {
  border-radius: 50%;
  width: 180px;
}

i.bx {
  /* social icons - About me */
  border-radius: 50%;
  border: 2px solid var(--light-blue);
  padding: 15px 20px 15px 20px;
  font-size: 2.5rem;
  transition: 0.9s ease-out 0.1s all;
}

i.bx:hover {
  color: var(--light-black);
  box-shadow: inset 5em 0 var(--light-blue);
}

.btn {
  padding: 15px;
  border-radius: 10px;
  font-size: 1rem;
  background-color: var(--light-blue);
  border: 1px solid transparent;
  font-weight: bold;
  font-family: var(--typography);
  color: var(--light-black);
  width: 150px;
  margin: 25px 0;
  transition: 0.5s ease-out 0.1s all;
}

.btn:hover {
  cursor: pointer;
  box-shadow: inset 10em 0 var(--light-black);
  color: var(--light-blue);
}

.btn-box .btn {
  width: 250px !important;
}

.btn-box .btn:hover {
  cursor: pointer;
  box-shadow: inset 16em 0 var(--light-black);
  color: var(--light-blue);
}

.skills-flex-container {
  /* Skills */
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  justify-content: center;
}

.skills-flex-container .flex-item {
  padding: 15px;
  min-width: 20rem;
  flex: 1 1 0;
}

.sub-skills-flex-container {
  display: flex;
  justify-content: space-between;
  margin: 0 10px;
}

.border-style {
  border: 2px solid var(--light-blue);
  border-radius: 5px;
}

.light-percentage {
  /*width: 500px; px is very bad for responsiveness*/
  /*width: 24rem; works but if we don't define width it'll be fine*/
  height: 14px;
  margin-bottom: 20px;
  padding: 5px;
}

.dark-percentage {
  background-color: var(--light-blue);
  height: 10px;
}

.percent-95 {
  width: 95%;
}

.percent-90 {
  width: 90%;
}

.percent-85 {
  width: 85%;
}

.percent-75 {
  width: 75%;
}

.percent-50 {
  width: 50%;
}

.percent-45 {
  width: 45%;
}

.percent-35 {
  width: 35%;
}

.education-work {
  /* My Journey */
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.education-style {
  width: fit-content;
  text-align: left;
  margin-bottom: 20px;
  padding: 10px;
  /* height: 25%; */
  /* height: 30%; */
  /* max-width: 500px; */
  max-width: 20.875rem;
}

.stick {
  /* My Journey vertical sticks*/
  /* height: 485px; */
  /* height: 550px; */
  /* width: 2px;
  background-color: var(--light-blue); */
  position: relative;
}

.stick:before {
  position: absolute;
  content: "";
  top: 0;
  bottom: -200px;
  background-color: var(--light-blue);
  width: 2px;
}

.thick-bullet {
  /* My Journey rounded little circles */
  width: 30px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--light-blue);
  /* position: absolute; */
}

.thick-bullet-left {
  /* Place the circle along the stick */
  left: -15px;
}

.thick-bullet-top-second {
  /* Place the circle along the stick */
  /* top: 180px; */
  top: 200px;
}

.thick-bullet-top-third {
  /* Place the circle along the stick */
  /* top: 350px; */
  top: 400px;
}

.bullet-education-group {
  display: flex;
  gap: 3px;
}

.blue {
  /* change calendar color on My Journey */
  color: var(--light-blue);
}

.portfolio{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 0.8rem;
}

.portfolio-item {
  border: 1px solid var(--light-blue);
  overflow: hidden;
 
}

.portfolio-item img {
  height: 100%;
  max-width: 100%;
  /* opacity: 0.6; */
  transition: 0.5s ease-out 0.1s all;
}

.portfolio-item img:hover {
  cursor: pointer;
  /* opacity: 1;   */
  transform: scale(1.5);
}


.contact-me-div {
  /* Contact me */
  height: 30rem;
}

.contact-me-div .item {
  display: flex;
  margin-bottom: 5px;
  min-height: 3rem;
  border: solid var(--light-blue);
  border-radius: 10px;
}

.contact-me-div input,
textarea {
  flex-grow: 1;
  background-color: var(--light-black);
  border: none;
  border-radius: 10px;
  padding-left: 5px;
  color: white;
  font-size: 1.2rem;
  padding-left: 20px;
  width: 1rem;
  outline: none;
}

::placeholder {
  color: white;
  font-size: 1.2rem;
  opacity: 1; /* fix for firefox*/
}

.contact-me-div form {
  display: flex;
  flex-direction: column;
  height: 28rem;
}

.contact-me-div .flexbox {
  display: flex;
  justify-content: center;
  gap: 5px;
}

.contact-me-div .flexbox > .flex-item {
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}

.contact-me-div .text-area {
  height: fit-content;
  /*border: 1px solid orange;*/
  display: flex;
}

.contact-me-div textarea {
  flex-grow: 1;
  flex-shrink: 1;
  height: 15rem;
  background-color: var(--light-black);
  border: 2px solid var(--light-blue);
  border-radius: 10px;
}

textarea:active,
textarea:focus {
  border: 2px solid var(--light-blue);
}

.footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.footer a,
.education-style a {
  text-decoration: none;
}

.copyright {
  padding-left: 10%;
}

.go-top {
  padding-right: 10%;
}

/* Animation */
/* https://dev.to/afif/a-scalable-css-only-typewriter-effect-2opn */

.type {
  display: inline-block;
}

.type span {
  display: grid;
  height: 1.2em;
  overflow: hidden;
  border: none;
}

.type span span {
  width: 0%;
  max-width: max-content;
  overflow: hidden;
  height: inherit;
  word-break: break-all;
  animation: cursor 0.5s infinite steps(1),
    typewriter 2s linear infinite alternate, m 12s steps(3) infinite;
}

.percent-95-animation {
  width: 10%; /*will overwrite the class .percent-95*/
  animation: progress-bar-95 var(--progress-bar-animation-time) infinite;
}

.percent-90-animation {
  width: 10%; /*will overwrite the class .percent-95*/
  animation: progress-bar-90 var(--progress-bar-animation-time) infinite;
}

.percent-85-animation {
  width: 0%; /*will overwrite the class .percent-95*/
  animation: progress-bar-85 var(--progress-bar-animation-time) infinite;
}

.percent-75-animation {
  width: 0%; /*will overwrite the class .percent-95*/
  animation: progress-bar-75 var(--progress-bar-animation-time) infinite;
}

.percent-50-animation {
  width: 0%; /*will overwrite the class .percent-95*/
  animation: progress-bar-50 var(--progress-bar-animation-time) infinite;
}

.percent-45-animation {
  width: 0%; /*will overwrite the class .percent-95*/
  animation: progress-bar-45 var(--progress-bar-animation-time) infinite;
}

.percent-35-animation {
  width: 0%; /*will overwrite the class .percent-95*/
  animation: progress-bar-35 var(--progress-bar-animation-time) infinite;
}

@keyframes cursor {
  /* caret or cursor */
  0%,
  100% {
    box-shadow: 5px 0 0 #0000;
  }
  50% {
    box-shadow: 5px 0 0 rgba(255, 255, 255, 0.75);
  }
}

@keyframes typewriter {
  /* typewriter */
  90%,
  100% {
    width: 100%;
  }
}

@keyframes m {
  /* change locations to show new animation */
  100% {
    transform: translateY(-300%);
  }
}

@keyframes progress-bar-35 {
  100% {
    width: 35%;
  }
}

@keyframes progress-bar-45 {
  100% {
    width: 45%;
  }
}

@keyframes progress-bar-50 {
  100% {
    width: 50%;
  }
}

@keyframes progress-bar-75 {
  100% {
    width: 75%;
  }
}

@keyframes progress-bar-85 {
  100% {
    width: 85%;
  }
}

@keyframes progress-bar-90 {
  100% {
    width: 90%;
  }
}

@keyframes progress-bar-95 {
  100% {
    width: 95%;
  }
}

/* 1443.60 px at size some space appear in between sections */
@media (max-width: 1414.6px) {
  .grid-container {
    grid-template-rows: repeat(5, auto);
  }
}

/* All page to scroll between section in smooth way */
@media (prefers-reduced-motion: no-preference) {
  * {
    scroll-behavior: smooth;
  }
}

/* Fixing My Journey Section */
@media (min-width: 1530.4px) {
  .education-work
    > .bullet-education-group:nth-of-type(4)
    .thick-bullet.stick:before,
  .education-work
    > .bullet-education-group:nth-of-type(5)
    .thick-bullet.stick:before,
  .education-work
    > .bullet-education-group:nth-of-type(6)
    .thick-bullet.stick:before {
    bottom: -160px;
  }
}

@media (min-width: 1017.60px) {
  .education-work
    > .bullet-education-group:nth-of-type(5)
    .thick-bullet.stick:before,
  .education-work
    > .bullet-education-group:nth-of-type(6)
    .thick-bullet.stick:before {
    bottom: -160px;
  }
}

@media (max-width: 1016px) {
  .education-work
    > .bullet-education-group:nth-of-type(5)
    .thick-bullet.stick:before,
    .education-work
    > .bullet-education-group:nth-of-type(4)
    .thick-bullet.stick:before,
    .education-work
    > .bullet-education-group:nth-of-type(3)
    .thick-bullet.stick:before,
    .education-work
    > .bullet-education-group:nth-of-type(2)
    .thick-bullet.stick:before,
    .education-work
    > .bullet-education-group:nth-of-type(1)
    .thick-bullet.stick:before {
      bottom: -240px;
    }
 
  .education-work
    > .bullet-education-group:nth-of-type(6)
    .thick-bullet.stick:before {
    bottom: -160px;
  }
}
