@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  font-family: 'Poppins', sans-serif;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  height: 100vh;
  background-color: white;
}

body .cursor {
  pointer-events: none;
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  body .cursor {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  body .cursor {
    display: none;
  }
}

body .cursor__ball {
  position: fixed;
  top: 0;
  left: 0;
  mix-blend-mode: difference;
  z-index: 1000;
}

body .cursor__ball circle {
  fill: #f1f1f1;
}

header {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 0;
  bottom: 0;
  margin-bottom: 1.2rem;
  width: 100%;
  text-align: center;
  color: #181818;
  z-index: 100;
}

header a {
  text-decoration: none;
  color: #181818;
  padding: 0.5rem 1.5rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

header a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.nav {
  height: 60px;
  width: 100%;
  background-color: #f8f8f8;
  position: relative;
  z-index: 100;
  display: none;
}

@media only screen and (max-width: 599px) {
  .nav {
    display: inline-block;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .nav {
    display: inline-block;
  }
}

.nav > .nav-header {
  display: inline;
}

.nav > .nav-header > .nav-title {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: 1rem;
  color: #fff;
  padding: 10px 10px 10px 10px;
}

.nav > .nav-header > .nav-title a {
  text-decoration: none;
  color: #181818;
  padding: 0.5rem 1.5rem;
  font-size: 0.8rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

.nav > .nav-header > .nav-title a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.nav > .nav-btn {
  display: none;
}

.nav > .nav-links {
  display: inline;
  float: right;
  font-size: 1rem;
}

.nav > .nav-links .created-by {
  color: #383838;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  right: 0px;
  bottom: 0px;
  margin-top: 2rem;
}

.nav > .nav-links > a {
  display: inline-block;
  padding: 2rem;
  text-decoration: none;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

.nav > .nav-links > a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.nav > #nav-check {
  display: none;
  cursor: pointer;
}

@media only screen and (max-width: 1023px) {
  .nav > .nav-btn {
    display: inline-block;
    position: absolute;
    cursor: pointer;
    right: 0px;
    top: 0px;
  }
  .nav > .nav-btn {
    display: inline-block;
    cursor: pointer;
    margin-top: 0.3rem;
    margin-bottom: 0.2rem;
    margin-right: 0.3rem;
    padding: 1rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e7e7e7)) 50% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
    background: linear-gradient(#e7e7e7 0 0) 50% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
    -webkit-transition: 0.3s, background-size 0.3s 0.3s;
    transition: 0.3s, background-size 0.3s 0.3s;
  }
  .nav #nav-check:checked ~ .nav-btn {
    --d: 100%;
    background-position: 50% 0%;
    color: #181818;
    -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
    transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  }
  .nav > .nav-links {
    position: absolute;
    display: block;
    width: 100%;
    background-color: #181818;
    height: 0px;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    overflow-y: hidden;
    top: 60px;
    left: 0px;
  }
  .nav > .nav-links > a {
    display: block;
    width: 100%;
  }
  .nav > #nav-check:not(:checked) ~ .nav-links {
    height: 0px;
  }
  .nav > #nav-check:checked ~ .nav-links {
    height: calc(100vh - 50px);
    overflow-y: auto;
  }
}

.top {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #181818;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .top {
    height: 75vh;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .top {
    height: 80vh;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.top .top-description-title {
  font-size: 5rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .top .top-description-title {
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .top .top-description-title {
    font-size: 4rem;
  }
}

.top .top-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .top .top-description-subtitle {
    font-size: 1rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .top .top-description-subtitle {
    font-size: 1.3rem;
  }
}

.top .top-description-scroll {
  margin-top: 6rem;
  font-size: 0.9rem;
  -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
          animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.top .text-focus-in {
  -webkit-animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) 1s both;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) 1s both;
}

@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

.top-designer {
  color: #181818;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
}

.top-designer a {
  text-decoration: none;
  color: #181818;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
}

.top-designer a:hover {
  color: #e20b1a;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  cursor: pointer;
}

.top-designer:hover {
  color: #e20b1a;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  cursor: pointer;
}

.contact-designer {
  color: #181818;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%/var(--d, 0) 6px no-repeat;
  background: linear-gradient(currentColor 0 0) 0 100%/var(--d, 0) 6px no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.contact-designer a {
  text-decoration: none;
  color: #181818;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
}

.contact-designer a:hover {
  color: #e20b1a;
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  cursor: pointer;
}

.contact-designer:hover {
  color: #e20b1a;
  --d: 100%;
  cursor: pointer;
}

.top-info {
  height: 60vh;
}

.top-info-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #181818;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 60vh;
  margin: auto;
  width: 100%;
}

.top-info-container .top-info-subtitle {
  font-size: 1rem;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #e20b1a;
}

.top-info-container .top-info-paragraph {
  font-size: 1rem;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .top-info-container .top-info-paragraph {
    font-size: 0.8rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .top-info-container .top-info-paragraph {
    font-size: 0.9rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.top-info-container .top-info-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
  line-height: 1.4rem;
}

@media only screen and (max-width: 599px) {
  .top-info-container .top-info-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .top-info-container .top-info-paragraph p {
    width: 90%;
  }
}

.sticky-header {
  width: 100vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.4rem;
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .sticky-header {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  .sticky-header {
    display: none;
  }
}

.logo-header {
  width: 50vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 767px) {
  .logo-header {
    width: 80vw;
  }
}

.breadcrumbs {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 0;
  top: 0;
  margin-top: 1.5rem;
  width: 100%;
  text-align: center;
  color: #181818;
  z-index: 100;
}

.breadcrumbs a {
  text-decoration: none;
  color: #181818;
  padding: 0.5rem 1rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 767px) {
  .breadcrumbs a {
    font-size: 0.6rem;
    margin: 0 0.6;
  }
}

.breadcrumbs a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.breadcrumbs p {
  color: #181818;
}

.breadcrumbs-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 599px) {
  .breadcrumbs-content {
    display: none;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .breadcrumbs-content {
    display: none;
  }
}

.breadcrumbs-content p {
  font-size: 0.6rem;
  font-weight: bold;
}

.breadcrumbs-mobile {
  position: fixed;
  display: none;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #f8f8f8;
  bottom: 0;
  height: 60px;
  width: 100%;
  text-align: center;
  color: #181818;
  z-index: 100;
}

@media only screen and (max-width: 599px) {
  .breadcrumbs-mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .breadcrumbs-mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.breadcrumbs-mobile .breadcrumbs-mobile-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
}

.breadcrumbs-mobile .breadcrumbs-mobile-container a {
  text-decoration: none;
  color: #181818;
  padding: 0.5rem 1rem;
  margin: 0rem 1rem;
  font-size: 0.8rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

.breadcrumbs-mobile .breadcrumbs-mobile-container a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.breadcrumbs-mobile .breadcrumbs-mobile-container p {
  font-size: 0.6rem;
  color: red;
}

.top-info-2 {
  height: 100vh;
}

img {
  height: 80vh;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

h1 {
  font-size: 5rem;
  line-height: 1;
  font-weight: 800;
  margin-bottom: 1rem;
  position: absolute;
  top: 10vw;
  left: 10vw;
  z-index: 4;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}

@media (max-width: 768px) {
  h1 {
    font-size: 16vw;
  }
}

h1 span {
  display: block;
}

h2 {
  font-size: 2rem;
  max-width: 400px;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#sectionPin {
  height: 100vh;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  background: var(--text-color);
  color: var(--bg-color);
}

.pin-wrap {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 50px 10vw;
}

.pin-wrap a {
  text-decoration: none;
  color: #b2b2b2;
  font-size: 0.8rem;
  padding: 0.5rem 0rem;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) var(--p, -100%) 100%/50% 2px no-repeat, -webkit-gradient(linear, right top, left top, color-stop(50%, currentColor), color-stop(0, transparent)) bottom/var(--d, 0) 2px no-repeat;
  background: linear-gradient(currentColor 0 0) var(--p, -100%) 100%/50% 2px no-repeat, linear-gradient(-90deg, currentColor 50%, transparent 0) bottom/var(--d, 0) 2px no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.2s;
  transition: 0.3s, background-size 0.3s 0.2s;
}

.pin-wrap a:hover {
  --d: 100%;
  --p: 0%;
  -webkit-transition: 0.3s, background-position 0.3s 0.2s;
  transition: 0.3s, background-position 0.3s 0.2s;
}

.pin-wrap > * {
  min-width: 60vw;
  padding: 0 6vw;
}

.pin-wrap-text {
  width: 100px;
}

.pin-wrap-text h3 {
  font-size: 1.2rem;
  font-weight: 500;
  color: #c80000;
}

@media only screen and (max-width: 599px) {
  .pin-wrap-text h3 {
    font-size: 0.8rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .pin-wrap-text h3 {
    font-size: 1rem;
  }
}

.pin-wrap-text p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media only screen and (max-width: 599px) {
  .pin-wrap-text p {
    font-size: 0.6rem;
    line-height: 1rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .pin-wrap-text p {
    font-size: 0.7rem;
    line-height: 1.2rem;
  }
}

.download-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.download-container img {
  height: 60vh;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.download-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3rem;
  width: 100%;
}

@media only screen and (max-width: 599px) {
  .download-btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .download-btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.download-btn a {
  text-decoration: none;
  color: #181818;
  padding: 0.5rem 1rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 599px) {
  .download-btn a {
    font-size: 0.7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .download-btn a {
    font-size: 0.7rem;
  }
}

.download-btn a .fa {
  margin-right: 1rem;
}

.download-btn a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.download-btn svg {
  color: white;
}

.home-section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
  margin-bottom: 20rem;
}

@media only screen and (max-width: 599px) {
  .home-section {
    margin-top: 10rem;
    margin-bottom: 45rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .home-section {
    margin-bottom: 50rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .home-section {
    margin-bottom: 30rem;
  }
}

@media only screen and (max-width: 599px) {
  .home-section .cv-formacion {
    margin-top: 25rem;
  }
}

.home-section .home-section-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95vw;
}

@media only screen and (max-width: 599px) {
  .home-section .home-section-container {
    padding-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .home-section .home-section-container {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.home-section .home-section-container .home-section-container-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50vh;
  width: 50vw;
  margin: 1rem;
  background-color: #181818;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 599px) {
  .home-section .home-section-container .home-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .home-section .home-section-container .home-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

.home-section .home-section-container .home-section-container-item a {
  font-size: 3rem;
  font-weight: 600;
  cursor: pointer;
  color: #f8f8f8;
  padding: 2rem 6rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .home-section .home-section-container .home-section-container-item a {
    padding: 2rem 5rem;
  }
}

.home-section .home-section-container .home-section-container-item a:hover {
  --d: 100%;
  color: #f8f8f8;
  font-size: 3.1rem;
}

.home-section .home-section-container-title {
  margin: 2rem;
  font-size: 4rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .home-section .home-section-container-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .home-section .home-section-container-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.how-help {
  width: 80vw;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
}

@media only screen and (max-width: 599px) {
  .how-help {
    width: 100vw;
    height: 80vh;
    display: inline-block;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 10rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help {
    width: 100vw;
    display: inline-block;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .how-help {
    width: 90vw;
  }
}

.how-help .how-help-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
      grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
  gap: 2rem 2rem;
      grid-template-areas: ". . ." ". . .";
}

@media only screen and (max-width: 599px) {
  .how-help .how-help-container {
    display: block;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help .how-help-container {
    display: -ms-grid;
    display: grid;
    gap: 0.6rem 0.6rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .how-help .how-help-container {
    gap: 0.6rem 0.6rem;
  }
}

.how-help .how-help-title {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 4rem;
  margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
  .how-help .how-help-title {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 0rem;
    margin-top: 0rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help .how-help-title {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 0rem;
    margin-top: 0rem;
  }
}

.how-help .how-help-container-item {
  padding: 2rem 3rem;
  -webkit-transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
  display: inline-block;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .how-help .how-help-container-item {
    padding: 1rem 1.5rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help .how-help-container-item {
    padding: 1rem 1rem;
  }
}

.how-help .how-help-container-item .how-help-subtitle {
  font-size: 1rem;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 1rem;
  margin-top: 1.5rem;
}

@media only screen and (max-width: 599px) {
  .how-help .how-help-container-item .how-help-subtitle {
    font-size: 0.8rem;
    line-height: 1.2rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help .how-help-container-item .how-help-subtitle {
    font-size: 0.9rem;
    line-height: 1.2rem;
  }
}

.how-help .how-help-container-item .how-help-paragraph {
  margin-bottom: 1rem;
  line-height: 1.2rem;
  font-size: 0.8rem;
}

@media only screen and (max-width: 599px) {
  .how-help .how-help-container-item .how-help-paragraph {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .how-help .how-help-container-item .how-help-paragraph {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .how-help .how-help-container-item .how-help-paragraph {
    font-size: 0.9rem;
    line-height: 1.2rem;
  }
}

.how-help .how-help-container-item:hover {
  -webkit-box-shadow: 0 0.3px 2.3px rgba(226, 11, 26, 0.027), 0 0.8px 5.7px rgba(226, 11, 26, 0.037), 0 1.6px 11.7px rgba(226, 11, 26, 0.046), 0 3.3px 24.1px rgba(226, 11, 26, 0.059), 0 9px 66px rgba(226, 11, 26, 0.1);
          box-shadow: 0 0.3px 2.3px rgba(226, 11, 26, 0.027), 0 0.8px 5.7px rgba(226, 11, 26, 0.037), 0 1.6px 11.7px rgba(226, 11, 26, 0.046), 0 3.3px 24.1px rgba(226, 11, 26, 0.059), 0 9px 66px rgba(226, 11, 26, 0.1);
  -webkit-transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
}

.cv {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #181818;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .cv {
    height: 70vh;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv {
    height: 80vh;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv {
    height: 70vh;
  }
}

.cv .cv-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 599px) {
  .cv .cv-description {
    display: block;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 4rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv .cv-description {
    display: block;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 2rem;
  }
}

.cv .cv-description-container {
  padding: 1rem;
}

.cv .cv-description-container .cv-description-title {
  font-size: 5rem;
  font-weight: 600;
  text-align: left;
  padding: 0rem 1rem;
}

@media only screen and (max-width: 599px) {
  .cv .cv-description-container .cv-description-title {
    margin: 0rem;
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv .cv-description-container .cv-description-title {
    font-size: 5rem;
    margin: 0rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv .cv-description-container .cv-description-title {
    margin: 0rem;
  }
}

.cv .cv-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cv .cv-description-subtitle img {
  height: 80vh;
}

@media only screen and (max-width: 599px) {
  .cv .cv-description-subtitle {
    font-size: 1rem;
    text-align: left;
    margin-right: 2rem;
    margin-left: 2rem;
  }
  .cv .cv-description-subtitle img {
    height: 25vh;
    width: 100%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv .cv-description-subtitle {
    font-size: 1.3rem;
  }
  .cv .cv-description-subtitle img {
    height: 50vh;
    width: 50%;
  }
}

.cv .cv-description-scroll {
  margin: 2rem;
  font-size: 0.9rem;
  -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
          animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .cv .cv-description-scroll {
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv .cv-description-scroll {
    text-align: left;
  }
}

.cv .text-focus-in {
  -webkit-animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) 1s both;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) 1s both;
}

@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}

.cv-academic {
  margin-top: 20rem;
}

@media only screen and (max-width: 599px) {
  .cv-academic {
    margin-top: 30rem;
    margin-bottom: 10rem;
  }
}

.cv-adicional {
  margin-top: 15rem;
}

@media only screen and (max-width: 599px) {
  .cv-adicional {
    margin-top: 10rem;
    margin-bottom: 10rem;
  }
}

.cv-section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-formacion {
    margin-top: 25rem;
  }
}

.cv-section .cv-section-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 5rem;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-description {
    padding-top: 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-section .cv-section-description {
    padding-top: 2rem;
  }
}

.cv-section .cv-section-description-title {
  margin: 2rem;
  font-size: 5rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-description-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-section .cv-section-description-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.cv-section .cv-section-timeline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1rem 0;
  height: 80vh;
  width: 60vw;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-timeline {
    width: 90vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-section .cv-section-timeline {
    width: 80vw;
  }
}

.cv-section .cv-section-timeline .cv-section-timeline-paragraph {
  text-align: right;
  width: 20%;
  font-size: 0.8rem;
  padding-right: 1rem;
  padding-bottom: 2rem;
  margin-right: 1rem;
  border-right: 2px solid #e20b1a;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-timeline .cv-section-timeline-paragraph {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 0.5rem;
  }
}

.cv-section .cv-section-timeline .cv-section-timeline-container {
  text-align: left;
  width: 60%;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-timeline .cv-section-timeline-container {
    margin-left: 1rem;
    width: 100%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-section .cv-section-timeline .cv-section-timeline-container {
    width: 100%;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv-section .cv-section-timeline .cv-section-timeline-container {
    width: 100%;
  }
}

.cv-section .cv-section-timeline .cv-section-timeline-container h3 {
  color: #e20b1a;
  font-size: 0.8rem;
  font-weight: 600;
}

.cv-section .cv-section-timeline .cv-section-timeline-container h2 {
  color: #181818;
  font-weight: 600;
  margin: 0.5rem 0;
  width: 100%;
}

.cv-section .cv-section-timeline .cv-section-timeline-container p {
  text-align: left;
  line-height: 1.2rem;
  font-size: 0.9rem;
  width: 100%;
}

.cv-section .cv-section-skills {
  text-align: left;
  width: 50%;
  margin: auto;
}

@media only screen and (max-width: 599px) {
  .cv-section .cv-section-skills {
    width: 80%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-section .cv-section-skills {
    width: 80%;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv-section .cv-section-skills {
    width: 80%;
  }
}

.cv-section .cv-section-skills h3 {
  color: #e20b1a;
  font-size: 0.8rem;
  font-weight: 600;
  margin: 1rem 0;
}

.cv-section .cv-section-skills p {
  text-align: left;
  line-height: 1.2rem;
  font-size: 0.9rem;
  width: 100%;
  margin: 1rem 0;
}

.cv-how-help {
  padding-top: 6rem;
  width: 80vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
}

@media only screen and (max-width: 599px) {
  .cv-how-help {
    padding-top: 40rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help {
    padding-left: 0rem;
    padding-right: 0rem;
  }
}

.cv-how-help .cv-how-help-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
      grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
  gap: 2rem 2rem;
      grid-template-areas: ". . ." ". . .";
}

@media only screen and (max-width: 599px) {
  .cv-how-help .cv-how-help-container {
    display: block;
    width: 90vw;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help .cv-how-help-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    gap: 20px;
        grid-template-areas: ". . ." ". . .";
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv-how-help .cv-how-help-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-rows: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    gap: 20px;
        grid-template-areas: ". . ." ". . .";
  }
}

.cv-how-help .cv-how-help-title {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 4rem;
  margin-top: 4rem;
}

@media only screen and (max-width: 599px) {
  .cv-how-help .cv-how-help-title {
    font-size: 2.5rem;
    text-align: left;
    margin-top: 20rem;
    margin-bottom: 0rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help .cv-how-help-title {
    font-size: 3.5rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv-how-help .cv-how-help-title {
    font-size: 3rem;
  }
}

.cv-how-help .cv-how-help-container-item {
  padding: 2rem 3rem;
  -webkit-transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
  display: inline-block;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .cv-how-help .cv-how-help-container-item {
    padding: 1rem 1rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help .cv-how-help-container-item {
    padding: 1rem 1rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .cv-how-help .cv-how-help-container-item {
    padding: 1rem 1.5rem;
  }
}

.cv-how-help .cv-how-help-container-item .cv-how-help-subtitle {
  font-size: 1.2em;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
  .cv-how-help .cv-how-help-container-item .cv-how-help-subtitle {
    font-size: 1rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help .cv-how-help-container-item .cv-how-help-subtitle {
    font-size: 1.3rem;
  }
}

.cv-how-help .cv-how-help-container-item .cv-how-help-paragraph {
  font-size: 0.9rem;
  margin-bottom: 1rem;
  line-height: 1.4rem;
}

.cv-how-help .cv-how-help-container-item .cv-how-help-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .cv-how-help .cv-how-help-container-item .cv-how-help-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-how-help .cv-how-help-container-item .cv-how-help-paragraph p {
    width: 90%;
  }
}

.cv-how-help .cv-how-help-container-item:hover {
  -webkit-box-shadow: 0 0.3px 2.3px rgba(226, 11, 26, 0.027), 0 0.8px 5.7px rgba(226, 11, 26, 0.037), 0 1.6px 11.7px rgba(226, 11, 26, 0.046), 0 3.3px 24.1px rgba(226, 11, 26, 0.059), 0 9px 66px rgba(226, 11, 26, 0.1);
          box-shadow: 0 0.3px 2.3px rgba(226, 11, 26, 0.027), 0 0.8px 5.7px rgba(226, 11, 26, 0.037), 0 1.6px 11.7px rgba(226, 11, 26, 0.046), 0 3.3px 24.1px rgba(226, 11, 26, 0.059), 0 9px 66px rgba(226, 11, 26, 0.1);
  -webkit-transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: -webkit-box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out;
  transition: box-shadow 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
}

.cv-languages {
  height: 40vh;
  margin-bottom: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
}

.cv-languages .cv-section-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 5rem;
}

.cv-languages .cv-section-description-title {
  margin: 2rem;
  font-size: 3rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .cv-languages .cv-section-description-title {
    font-size: 2rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-languages .cv-section-description-title {
    font-size: 3rem;
  }
}

.cv-languages .cv-section-languages {
  text-align: left;
  width: 50%;
}

@media only screen and (max-width: 599px) {
  .cv-languages .cv-section-languages {
    width: 75%;
  }
}

.cv-languages .cv-section-languages h3 {
  color: #e20b1a;
  font-size: 1rem;
  font-weight: 600;
  margin: 1rem 0;
}

.cv-languages .cv-section-languages p {
  text-align: left;
  line-height: 1.2rem;
  font-size: 0.9rem;
  width: 100%;
  margin: 1rem 0;
}

.cv-contact {
  padding-top: 6rem;
  width: 80vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 10rem;
}

.cv-contact .cv-contact-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-container {
    display: block;
    width: 100vw;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-container {
    display: block;
    width: 100vw;
  }
}

.cv-contact .cv-contact-title {
  font-size: 3rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-title {
    font-size: 2rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-title {
    font-size: 3rem;
    text-align: center;
  }
}

.cv-contact .cv-contact-container-item {
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-container-item {
    padding: 1rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-container-item {
    padding: 1rem 2rem;
  }
}

.cv-contact .cv-contact-container-item .cv-contact-subtitle {
  font-size: 1.2em;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-container-item .cv-contact-subtitle {
    font-size: 1rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-container-item .cv-contact-subtitle {
    font-size: 1.3rem;
  }
}

.cv-contact .cv-contact-container-item .cv-contact-paragraph {
  width: 50%;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 4rem;
  line-height: 1.4rem;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-container-item .cv-contact-paragraph {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-container-item .cv-contact-paragraph {
    width: 90%;
  }
}

.cv-contact .cv-contact-container-item .cv-contact-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .cv-contact .cv-contact-container-item .cv-contact-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .cv-contact .cv-contact-container-item .cv-contact-paragraph p {
    width: 90%;
  }
}

.cv-contact svg {
  margin-bottom: 2rem;
}

.cv-contact a {
  text-decoration: none;
  color: #181818;
  margin-top: 1rem;
  padding: 0.5rem 1.5rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 599px) {
  .cv-contact a {
    font-weight: 600;
  }
}

.cv-contact a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.branding-section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
  margin-bottom: 20rem;
}

@media only screen and (max-width: 599px) {
  .branding-section {
    margin-bottom: 45rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section {
    margin-bottom: 50rem;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .branding-section {
    margin-bottom: 30rem;
  }
}

@media only screen and (max-width: 599px) {
  .branding-section .cv-formacion {
    margin-top: 25rem;
  }
}

.branding-section .branding-section-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95vw;
}

@media only screen and (max-width: 599px) {
  .branding-section .branding-section-container {
    padding-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section .branding-section-container {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.branding-section .branding-section-container .branding-section-container-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50vh;
  width: 50vw;
  margin: 1rem;
  background-color: #181818;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 599px) {
  .branding-section .branding-section-container .branding-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section .branding-section-container .branding-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

.branding-section .branding-section-container .branding-section-container-item a {
  font-size: 3rem;
  font-weight: 600;
  cursor: pointer;
  color: #f8f8f8;
  padding: 2rem 6rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .branding-section .branding-section-container .branding-section-container-item a {
    padding: 2rem 5rem;
  }
}

.branding-section .branding-section-container .branding-section-container-item a:hover {
  --d: 100%;
  color: #f8f8f8;
  font-size: 3.1rem;
}

.branding-section .branding-section-container-title {
  margin: 2rem;
  font-size: 4rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .branding-section .branding-section-container-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section .branding-section-container-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.branding-section-branding {
  height: 100vh;
}

.branding-section-branding .home-description-title {
  font-size: 5rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .branding-section-branding .home-description-title {
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section-branding .home-description-title {
    font-size: 4rem;
  }
}

.branding-section-branding .home-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 15rem;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .branding-section-branding .home-description-subtitle {
    font-size: 1rem;
    text-align: center;
    line-height: 1.2rem;
    width: 65vw;
    margin-top: 7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section-branding .home-description-subtitle {
    font-size: 1.3rem;
    margin-top: 10rem;
  }
}

.branding-section-branding-container {
  padding-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .branding-section-branding-container {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-section-branding-container {
    padding-top: 15rem;
  }
}

.branding-contact {
  padding-top: 0rem;
  width: 80vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 10rem;
}

@media only screen and (max-width: 599px) {
  .branding-contact {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact {
    padding-top: 10rem;
  }
}

.branding-contact .branding-contact-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-container {
    display: block;
    width: 100vw;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-container {
    display: block;
    width: 100vw;
  }
}

.branding-contact .branding-contact-title {
  font-size: 3rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-title {
    font-size: 2rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-title {
    font-size: 3rem;
    text-align: center;
  }
}

.branding-contact .branding-contact-container-item {
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-container-item {
    padding: 1rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-container-item {
    padding: 1rem 2rem;
  }
}

.branding-contact .branding-contact-container-item .branding-contact-subtitle {
  font-size: 1.2em;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-container-item .branding-contact-subtitle {
    font-size: 1rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-container-item .branding-contact-subtitle {
    font-size: 1.3rem;
  }
}

.branding-contact .branding-contact-container-item .branding-contact-paragraph {
  width: 50%;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 4rem;
  line-height: 1.4rem;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-container-item .branding-contact-paragraph {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-container-item .branding-contact-paragraph {
    width: 90%;
  }
}

.branding-contact .branding-contact-container-item .branding-contact-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .branding-contact .branding-contact-container-item .branding-contact-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .branding-contact .branding-contact-container-item .branding-contact-paragraph p {
    width: 90%;
  }
}

.branding-contact svg {
  margin-bottom: 2rem;
}

.branding-contact a {
  text-decoration: none;
  color: #181818;
  margin-top: 1rem;
  padding: 0.5rem 1.5rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 599px) {
  .branding-contact a {
    font-weight: 600;
  }
}

.branding-contact a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.logo-branding {
  width: 20rem;
}

@media only screen and (max-width: 599px) {
  .logo-branding {
    width: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .logo-branding {
    width: 20rem;
  }
}

.web-contact {
  padding-top: 10rem;
  width: 80vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 10rem;
}

@media only screen and (max-width: 599px) {
  .web-contact {
    padding-top: 20rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact {
    padding-top: 15rem;
  }
}

.web-contact .web-contact-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-container {
    display: block;
    width: 100vw;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-container {
    display: block;
    width: 100vw;
  }
}

.web-contact .web-contact-title {
  font-size: 3rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-title {
    font-size: 2rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-title {
    font-size: 2.5rem;
    text-align: center;
  }
}

.web-contact .web-contact-container-item {
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-container-item {
    padding: 1rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-container-item {
    padding: 1rem 2rem;
  }
}

.web-contact .web-contact-container-item .web-contact-subtitle {
  font-size: 1.2em;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-container-item .web-contact-subtitle {
    font-size: 1rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-container-item .web-contact-subtitle {
    font-size: 1.3rem;
  }
}

.web-contact .web-contact-container-item .web-contact-paragraph {
  width: 60%;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 4rem;
  line-height: 1.4rem;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-container-item .web-contact-paragraph {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-container-item .web-contact-paragraph {
    width: 90%;
  }
}

.web-contact .web-contact-container-item .web-contact-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .web-contact .web-contact-container-item .web-contact-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .web-contact .web-contact-container-item .web-contact-paragraph p {
    width: 90%;
  }
}

.web-contact svg {
  margin-bottom: 2rem;
}

.web-contact a {
  text-decoration: none;
  color: #181818;
  margin-top: 1rem;
  padding: 0.5rem 1.5rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 599px) {
  .web-contact a {
    font-weight: 600;
  }
}

.web-contact a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.website-section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
  margin-top: 1rem;
}

.website-section img {
  height: 80vh;
}

@media only screen and (max-width: 599px) {
  .website-section img {
    height: 40vh;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section img {
    height: 70vh;
  }
}

@media only screen and (max-width: 599px) {
  .website-section .cv-formacion {
    margin-top: 25rem;
  }
}

.website-section .website-section-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95vw;
}

@media only screen and (max-width: 599px) {
  .website-section .website-section-container {
    padding-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section .website-section-container {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.website-section .website-section-container .website-section-container-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60vh;
  width: 75vw;
  margin: 1rem;
}

@media only screen and (max-width: 599px) {
  .website-section .website-section-container .website-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section .website-section-container .website-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

.website-section .website-section-container .website-section-container-item a {
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
  color: #e7e7e7;
  padding: 2rem 10rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .website-section .website-section-container .website-section-container-item a {
    padding: 2rem 5rem;
  }
}

.website-section .website-section-container .website-section-container-item a:hover {
  --d: 100%;
  color: #f8f8f8;
  font-size: 1.6rem;
}

.website-section .website-section-container-title {
  margin: 2rem;
  font-size: 4rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .website-section .website-section-container-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section .website-section-container-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.website-section-website {
  height: 100vh;
}

.website-section-website .home-description-title {
  font-size: 5rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .website-section-website .home-description-title {
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section-website .home-description-title {
    font-size: 4rem;
  }
}

.website-section-website .home-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 10rem;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .website-section-website .home-description-subtitle {
    font-size: 1rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section-website .home-description-subtitle {
    font-size: 1.3rem;
  }
}

.website-section-website-container {
  padding-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .website-section-website-container {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-section-website-container {
    padding-top: 15rem;
  }
}

.website-contact {
  padding-top: 0rem;
  width: 80vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 10rem;
}

@media only screen and (max-width: 599px) {
  .website-contact {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact {
    padding-top: 10rem;
  }
}

.website-contact .website-contact-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-container {
    display: block;
    width: 100vw;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-container {
    display: block;
    width: 100vw;
  }
}

.website-contact .website-contact-title {
  font-size: 3rem;
  font-weight: 600;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-title {
    font-size: 2rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-title {
    font-size: 3rem;
    text-align: center;
  }
}

.website-contact .website-contact-container-item {
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-container-item {
    padding: 1rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-container-item {
    padding: 1rem 2rem;
  }
}

.website-contact .website-contact-container-item .website-contact-subtitle {
  font-size: 1.2em;
  font-weight: 500;
  color: #e20b1a;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-container-item .website-contact-subtitle {
    font-size: 1rem;
    text-align: left;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-container-item .website-contact-subtitle {
    font-size: 1.3rem;
  }
}

.website-contact .website-contact-container-item .website-contact-paragraph {
  width: 50%;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 4rem;
  line-height: 1.4rem;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-container-item .website-contact-paragraph {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-container-item .website-contact-paragraph {
    width: 90%;
  }
}

.website-contact .website-contact-container-item .website-contact-paragraph p {
  width: 60%;
  margin: auto;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .website-contact .website-contact-container-item .website-contact-paragraph p {
    width: 90%;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .website-contact .website-contact-container-item .website-contact-paragraph p {
    width: 90%;
  }
}

.website-contact svg {
  margin-bottom: 2rem;
}

.website-contact a {
  text-decoration: none;
  color: #181818;
  margin-top: 1rem;
  padding: 0.5rem 1.5rem;
  margin: 0rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e20b1a)) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  background: linear-gradient(#e20b1a 0 0) 0% calc(-3px - 100%)/var(--d, 0%) 200% no-repeat;
  -webkit-transition: 0.3s, background-size 0.3s 0.3s;
  transition: 0.3s, background-size 0.3s 0.3s;
}

@media only screen and (max-width: 599px) {
  .website-contact a {
    font-weight: 600;
  }
}

.website-contact a:hover {
  --d: 100%;
  background-position: 50% 0%;
  color: #fff;
  -webkit-transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
  transition: 0.3s, background-position 0.3s 0.3s, color 0.3s 0.3s;
}

.video-header video {
  width: 100%;
  height: 50vh;
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .video-header video {
    width: 40%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.contact-section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
}

.contact-section .contact-href a {
  font-size: 3rem;
  font-weight: 600;
  cursor: pointer;
  color: #181818;
  padding: 2rem 6rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-href a {
    padding: 2rem 5rem;
    font-size: 1rem;
  }
}

.contact-section .contact-href a:hover {
  --d: 100%;
  color: #e20b1a;
  font-size: 3.1rem;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-href a:hover {
    font-size: 1rem;
  }
}

.contact-section .contact-thx {
  margin-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .contact-section .cv-formacion {
    margin-top: 25rem;
  }
}

.contact-section .contact-section-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95vw;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-section-container {
    padding-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section .contact-section-container {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.contact-section .contact-section-container .contact-section-container-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50vh;
  width: 50vw;
  margin: 1rem;
  background-color: #181818;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-section-container .contact-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section .contact-section-container .contact-section-container-item {
    height: 40vh;
    width: 100vw;
  }
}

.contact-section .contact-section-container .contact-section-container-item a {
  font-size: 3rem;
  font-weight: 600;
  cursor: pointer;
  color: #f8f8f8;
  padding: 2rem 6rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-section-container .contact-section-container-item a {
    padding: 2rem 5rem;
  }
}

.contact-section .contact-section-container .contact-section-container-item a:hover {
  --d: 100%;
  color: #f8f8f8;
  font-size: 3.1rem;
}

.contact-section .contact-section-container-title {
  margin: 2rem;
  font-size: 4rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .contact-section .contact-section-container-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section .contact-section-container-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.contact-section-branding {
  height: 100vh;
  text-align: left;
}

.contact-section-branding .home-description-title {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .contact-section-branding .home-description-title {
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section-branding .home-description-title {
    font-size: 4rem;
  }
}

.contact-section-branding .home-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 8rem;
  margin-bottom: 2rem;
}

@media only screen and (max-width: 599px) {
  .contact-section-branding .home-description-subtitle {
    font-size: 1rem;
    text-align: center;
    line-height: 1.2rem;
    width: 65vw;
    margin-top: 7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section-branding .home-description-subtitle {
    font-size: 1.3rem;
    margin-top: 10rem;
  }
}

.contact-section-branding .home-description-subtitle:first-child {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 10rem;
  margin-bottom: 0rem;
}

@media only screen and (max-width: 599px) {
  .contact-section-branding .home-description-subtitle:first-child {
    font-size: 1rem;
    text-align: center;
    line-height: 1.2rem;
    width: 65vw;
    margin-top: 7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section-branding .home-description-subtitle:first-child {
    font-size: 1.3rem;
    margin-top: 10rem;
  }
}

.contact-section-branding-container {
  padding-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .contact-section-branding-container {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-section-branding-container {
    padding-top: 15rem;
  }
}

.contact-2section {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #181818;
  text-align: center;
}

.contact-2section .contact-2href a {
  font-size: 3rem;
  font-weight: 600;
  cursor: pointer;
  color: #181818;
  padding: 2rem 6rem;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 0, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 0 100%, -webkit-gradient(linear, left top, left bottom, color-stop(0, currentColor)) 100% 100%;
  background: linear-gradient(currentColor 0 0) 100% 0, linear-gradient(currentColor 0 0) 0 0, linear-gradient(currentColor 0 0) 0 100%, linear-gradient(currentColor 0 0) 100% 100%;
  background-size: var(--d, 0) 3px, 3px var(--d, 0);
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media only screen and (max-width: 599px) {
  .contact-2section .contact-2href a {
    padding: 2rem 5rem;
    font-size: 1rem;
  }
}

.contact-2section .contact-2href a:hover {
  --d: 100%;
  color: #e20b1a;
  font-size: 3.1rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section .contact-2href a:hover {
    font-size: 1rem;
  }
}

.contact-2section .contact-2thx {
  margin-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section .cv-formacion {
    margin-top: 25rem;
  }
}

.contact-2section .contact-2section-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95vw;
}

@media only screen and (max-width: 599px) {
  .contact-2section .contact-2section-container {
    padding-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section .contact-2section-container {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.contact-2section .contact-2section-container-title {
  margin: 2rem;
  font-size: 4rem;
  font-weight: 600;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .contact-2section .contact-2section-container-title {
    font-size: 3rem;
    text-align: left;
    margin: 0rem 2rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section .contact-2section-container-title {
    font-size: 3rem;
    margin: 0rem 2rem;
  }
}

.contact-2section-branding {
  height: 80vh;
  margin-top: 20rem;
  text-align: left;
}

@media only screen and (max-width: 599px) {
  .contact-2section-branding {
    height: 50vh;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section-branding {
    height: 100vh;
    margin-top: 20rem;
  }
}

.contact-2section-branding .home-description-title {
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section-branding .home-description-title {
    font-size: 3rem;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section-branding .home-description-title {
    font-size: 4rem;
  }
}

.contact-2section-branding .home-description-subtitle {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 8rem;
  margin-bottom: 2rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section-branding .home-description-subtitle {
    font-size: 1rem;
    text-align: center;
    line-height: 1.2rem;
    width: 65vw;
    margin-top: 7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section-branding .home-description-subtitle {
    font-size: 1.3rem;
    margin-top: 10rem;
  }
}

.contact-2section-branding .home-description-subtitle:first-child {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 10rem;
  margin-bottom: 0rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section-branding .home-description-subtitle:first-child {
    font-size: 1rem;
    text-align: center;
    line-height: 1.2rem;
    width: 65vw;
    margin-top: 7rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section-branding .home-description-subtitle:first-child {
    font-size: 1.3rem;
    margin-top: 10rem;
  }
}

.contact-2section-branding-container {
  padding-top: 10rem;
}

@media only screen and (max-width: 599px) {
  .contact-2section-branding-container {
    padding-top: 15rem;
  }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
  .contact-2section-branding-container {
    padding-top: 15rem;
  }
}
/*# sourceMappingURL=index-style.css.map */