body {
  background: #f7f7f7 !important;
  height: 100vh !important;
}

.w100 {
  width: 100%;
}

/* HEADER */
header {
  background: #f7f7f7;
  display: flex;
  height: 12rem;
  padding: 2rem;
  transition: box-shadow 500ms;
  width: 100%;
  z-index: 10;
}

.my-profile {
  height: 100%;
  transition: display 1s;
}

#my-data {
  margin: auto 1rem;
  overflow: hidden;
  transition: all 500ms linear, opacity 0s;
  width: 340px;
}

.my-image {
  border-radius: 50%;
  height: 100%;
}

.contacto {
  font-size: smaller;
}

/* MAIN */
main {
  background-color: #f7f7f7;
}

#experiencia-laboral .title-underline {
  height: 2px;
  margin: auto;
  width: 285px;
}

#formacion-academica .title-underline {
  height: 2px;
  margin: auto;
  width: 320px;
}

.main-timeline {
  position: relative;
}

.main-timeline:before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #c6c6c6;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.main-timeline .timeline {
  padding-bottom: 40px;
  position: relative;
}

.main-timeline .timeline:after {
  content: "";
  display: block;
  clear: both;
}

.main-timeline .icon {
  width: 18px;
  height: 18px;
  line-height: 18px;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.main-timeline .icon:before,
.main-timeline .icon:after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.33s ease-out 0s;
}

.main-timeline .icon:before {
  background: #fff;
  border: 2px solid #232323;
  left: -3px;
}

.main-timeline .icon:after {
  border: 2px solid #c6c6c6;
  left: 3px;
}

.main-timeline .timeline:hover .icon:before {
  left: 3px;
}

.main-timeline .timeline:hover .icon:after {
  left: -3px;
}

.main-timeline .date-content {
  width: 50%;
  float: left;
  margin-top: 22px;
  position: relative;
}

.main-timeline .date-content:before {
  content: "";
  width: 36.5%;
  height: 2px;
  background: #c6c6c6;
  margin: auto 0;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
}

.main-timeline .date-outer {
  width: 125px;
  height: 125px;
  font-size: 16px;
  text-align: center;
  margin: auto;
  z-index: 1;
}

.main-timeline .date-outer:before,
.main-timeline .date-outer:after {
  content: "";
  width: 125px;
  height: 125px;
  margin: 0 auto;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.33s ease-out 0s;
}

.main-timeline .date-outer:before {
  background: #fff;
  border: 2px solid #232323;
  left: -6px;
}

#display-none-studio .date-outer:before,
#display-none-studio .icon:before {
  border-color: #2f2f2f;
}

#display-none-studio .date-outer:after,
#display-none-studio .icon:after {
  border-color: #d84763;
}

#epigram .date-outer:before,
#epigram .icon:before {
  border-color: #d5184c;
}

#eb-moixent .date-outer:before,
#eb-moixent .icon:before {
  border-color: #eac102;
}

#eb-moixent .date-outer:after,
#eb-moixent .icon:after {
  border-color: #0071bc;
}

#stadler-rail .date-outer:before,
#stadler-rail .icon:before {
  border-color: #0b3f75;
}

#stadler-rail .date-outer:after,
#stadler-rail .icon:after {
  border-color: #ffbd00;
}

#ajuntament-moixent .date-outer:before,
#ajuntament-moixent .icon:before {
  border-color: #0f47af;
}

#ajuntament-moixent .date-outer:after,
#ajuntament-moixent .icon:after {
  border-color: #cab313;
}

#android-introducion-programacion .date-outer:before,
#android-introducion-programacion .icon:before {
  border-color: #33691e;
}

#android-introducion-programacion .date-outer:after,
#android-introducion-programacion .icon:after {
  border-color: #a4c739;
}

#desarrollo-aplicaciones-web-php-mysql .date-outer:before,
#desarrollo-aplicaciones-web-php-mysql .icon:before {
  border-color: #454886;
}

#desarrollo-aplicaciones-web-php-mysql .date-outer:after,
#desarrollo-aplicaciones-web-php-mysql .icon:after {
  border-color: #aaadcf;
}

#ingenieria-informatica-upv .date-outer:before,
#ingenieria-informatica-upv .icon:before {
  border-color: #cc0000;
}

#ingenieria-informatica-upv .date-outer:after,
#ingenieria-informatica-upv .icon:after {
  border-color: #313233;
}

.main-timeline .date-outer:after {
  border: 2px solid #c6c6c6;
  left: 6px;
}

.main-timeline .timeline:hover .date-outer:before {
  left: 6px;
}

.main-timeline .timeline:hover .date-outer:after {
  left: -6px;
}

.main-timeline .date {
  width: 100%;
  margin: auto;
  position: absolute;
  top: 27%;
  left: 0;
}

.main-timeline .month {
  font-size: 18px;
  font-weight: 700;
}

.main-timeline .year {
  display: block;
  font-size: 30px;
  font-weight: 700;
  color: #232323;
  line-height: 36px;
}

.main-timeline .timeline-content {
  width: 50%;
  padding: 20px 0 20px 50px;
  float: right;
}

.main-timeline .title {
  font-size: 19px;
  font-weight: 700;
  line-height: 24px;
  margin: 0;
}

.main-timeline .description {
  margin-bottom: 0;
}

.main-timeline .timeline:nth-child(2n) .date-content {
  float: right;
}

.main-timeline .timeline:nth-child(2n) .date-content:before {
  left: 10px;
}

.main-timeline .timeline:nth-child(2n) .timeline-content {
  padding: 20px 50px 20px 0;
  text-align: right;
}

@media only screen and (max-width: 991px) {
  .main-timeline .date-content {
    margin-top: 35px;
  }
  .main-timeline .date-content:before {
    width: 22.5%;
  }
  .main-timeline .timeline-content {
    padding: 10px 0 10px 30px;
  }
  .main-timeline .title {
    font-size: 17px;
  }
  .main-timeline .timeline:nth-child(2n) .timeline-content {
    padding: 10px 30px 10px 0;
  }
}

@media only screen and (max-width: 767px) {
  .main-timeline:before {
    margin: 0;
    left: 7px;
  }

  .main-timeline .timeline {
    margin-bottom: 20px;
  }

  .main-timeline .timeline:last-child {
    margin-bottom: 0;
  }

  .main-timeline .icon {
    margin: auto 0;
  }

  .main-timeline .date-content {
    width: 95%;
    float: right;
    margin-top: 0;
  }

  .main-timeline .date-content:before {
    display: none;
  }

  .main-timeline .date-outer {
    width: 110px;
    height: 110px;
  }

  .main-timeline .date-outer:before,
  .main-timeline .date-outer:after {
    width: 110px;
    height: 110px;
  }

  .main-timeline .date {
    top: 30%;
  }

  .main-timeline .year {
    font-size: 24px;
  }

  .main-timeline .timeline-content,
  .main-timeline .timeline:nth-child(2n) .timeline-content {
    width: 95%;
    text-align: center;
    padding: 10px 0;
  }

  .main-timeline .title {
    margin-bottom: 10px;
  }
}

.end {
  height: 2px !important;
  margin: auto;
  width: 6rem;
}

@media screen and (max-width: 767px) {
  hr.title-underline {
    margin-bottom: 2rem !important;
    margin-top: 1rem !important;
  }

  .end {
    display: none;
  }
}

/* FOOTER */
footer {
  background: #f7f7f7;
  padding: 2rem;
}

.social-media {
  text-decoration: none;
  color: #000;
}

.social-media:hover {
  color: #000;
}

svg {
  margin: auto;
}
