* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  font-family: "Inter", sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
}

.layout {
  margin: 0 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  display: flex;
  border: solid 3px #000;
  padding: 8px 16px;
  align-items: center;
  width: 100%;
  margin-top: 40px;
}
header nav {
  display: flex;
  width: 90%;
  gap: 7vw;
}
header #lg {
  display: flex;
  width: 10%;
  justify-content: end;
  border-left: solid 1px #000;
  font-size: 24px;
}
header a {
  font-size: 24px;
  font-weight: bold;
  color: #000;
  display: flex;
}
header a.active::before {
  content: "";
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #000;
  top: 6vh;
  left: 50%;
  display: flex;
}
@media screen and (max-width: 480px) {
  header {
    width: 60%;
    justify-content: center;
  }
  header nav {
    flex-direction: column;
    align-items: center;
    gap: 3vw;
  }
  header a {
    font-size: 16px;
  }
  header .active {
    font-size: 24px;
  }
  header .active::before {
    visibility: hidden;
  }
  header #lg {
    display: none !important;
  }
}
@media all and (min-width: 480px) and (max-width: 768px) {
  header {
    width: 60%;
    justify-content: center;
  }
  header nav {
    flex-direction: column;
    align-items: center;
    gap: 3vw;
  }
  header a {
    font-size: 16px;
  }
  header .active {
    font-size: 24px;
  }
  header .active::before {
    visibility: hidden;
  }
  header #lg {
    display: none !important;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  header {
    width: 90%;
    justify-content: center;
  }
  header nav {
    align-items: center;
    justify-content: center;
    gap: 3vw;
  }
  header a {
    font-size: 16px;
  }
  header .active {
    font-size: 24px;
  }
  header .active::before {
    visibility: hidden;
  }
}

/* _main.scss */
main {
  width: 100%;
}

main h1 {
  font-size: 150px;
  font-weight: 900;
  line-height: 150px;
  margin: 80px 0;
}

.services {
  display: flex;
  gap: 16px;
  border: solid 3px #000;
  border-left: 0;
  border-right: 0;
  padding: 10px 0;
  font-weight: bold;
  font-size: 24px;
}

div#lg {
  display: flex;
  width: 10%;
  justify-content: end;
  border-left: solid 1px #000;
  font-size: 24px;
}

main dl {
  display: flex;
  width: 100%;
  margin: 20px 0;
}

dd {
  margin-right: 16px;
}

main dd:nth-child(6) {
  width: 100%;
  text-align: end;
  margin: 0;
}

dl .button {
  padding: 16.5px 28px;
  background: #000;
  color: #fff;
  border-radius: 30px;
  border: none;
}

/* Media Queries */
@media screen and (max-width: 480px) {
  main h1 {
    font-size: 64px;
    line-height: 64px;
  }
  h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 20px;
  }
  main dl {
    padding: 20px 0;
    flex-wrap: wrap;
  }
  div#lg {
    display: flex;
    font-size: 24px;
  }
  dd {
    margin-right: 16px;
  }
  main dd:nth-child(6) {
    width: 100%;
    margin: 30% 0 0 0;
    text-align: center;
  }
  dl button {
    width: 100%;
  }
  .services {
    gap: 8px;
    font-size: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media all and (min-width: 480px) and (max-width: 768px) {
  main h1 {
    font-size: 64px;
    line-height: 64px;
  }
  h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 20px;
  }
  .services {
    gap: 8px;
    font-size: 15px;
    flex-wrap: wrap;
    justify-content: center;
  }
  main dl {
    padding: 20px 0;
    flex-wrap: wrap;
  }
  div#lg {
    display: flex;
    font-size: 24px;
  }
  dd {
    margin-right: 16px;
  }
  main dd:nth-child(6) {
    width: 100%;
    margin: 30% 0 0 0;
    text-align: center;
  }
  dl button {
    width: 100%;
  }
}
@media all and (min-width: 769px) and (max-width: 1024px) {
  main h1 {
    font-size: 64px;
    line-height: 64px;
  }
  h2 {
    font-size: 40px;
    text-align: center;
    margin-bottom: 20px;
  }
  .sobre_mi h2 {
    font-size: 30px;
    width: 20%;
  }
  .sobre_mi p {
    width: 80%;
  }
  dl button {
    width: 100%;
  }
}
.sobre_mi {
  margin-top: 60px;
  display: flex;
}
.sobre_mi h2 {
  width: 30%;
  font-size: 30px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .sobre_mi h2 {
    font-size: 30px;
    width: 20%;
  }
}
.sobre_mi p {
  width: 70%;
}
@media screen and (max-width: 480px) {
  .sobre_mi p {
    width: 80%;
  }
}

.habilidades {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  border: solid 3px #000;
  border-left: 0;
  border-right: 0;
  margin: 40px 0;
  padding: 20px 0;
}
.habilidades div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  margin: 15px 0;
}
.habilidades article {
  width: 18%;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.habilidades p {
  text-align: center;
}

.educacion {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0;
}
.educacion section:nth-child(2) {
  border-left: solid 3px #000;
}
.educacion dl {
  display: flex;
  flex-direction: column;
}
.educacion section {
  width: 50%;
  padding-left: 20px;
}
.educacion section:nth-child(2) dl {
  padding: 10px 0;
}
.educacion div {
  background-color: #D9D9D9;
  width: 100%;
  height: 25px;
}

.empresas_con_las_que_he_trabajado {
  border: solid 3px #000;
  border-left: 0;
  border-right: 0;
  margin: 40px 0;
  padding: 20px 0;
}
.empresas_con_las_que_he_trabajado dl {
  display: flex;
  flex-wrap: wrap;
  margin: 7vh 0;
}
.empresas_con_las_que_he_trabajado dt {
  width: 15%;
}
.empresas_con_las_que_he_trabajado dd {
  width: 80%;
}
.empresas_con_las_que_he_trabajado h3 {
  margin-bottom: 10px;
}

@media screen and (max-width: 480px) {
  .sobre_mi {
    flex-wrap: wrap;
  }
  .sobre_mi h2, .sobre_mi p {
    width: 100%;
  }
  .habilidades article {
    width: 33%;
  }
  .educacion section {
    width: 100%;
  }
  .educacion section:nth-child(2) {
    border-top: solid 3px #000;
    border-left: none;
    padding-top: 40px;
  }
  .empresas_con_las_que_he_trabajado dt, .empresas_con_las_que_he_trabajado dd {
    width: 100%;
  }
  .empresas_con_las_que_he_trabajado h3 {
    margin-bottom: 10px;
  }
}
@media all and (min-width: 480px) and (max-width: 768px) {
  .sobre_mi h2 {
    font-size: 40px;
    width: 30%;
  }
  .portafolio section {
    width: 100%;
    padding: 0;
  }
  .portafolio article h2 {
    font-size: 24px;
  }
  .portafolio article h3 {
    font-size: 19px;
    text-align: center;
  }
  .portafolio article h4 {
    font-size: 24px;
    text-align: center;
  }
  .portafolio a {
    width: 100%;
    height: 30vh;
    margin: 30px 0;
    background-size: contain;
  }
  .portafolio button {
    width: 100%;
  }
  .blog time {
    width: 100%;
    font-size: 24px;
    margin-bottom: 20px;
  }
  .contacto h1 {
    font-size: 42px;
    line-height: 42px;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .sobre_mi h2 {
    font-size: 46px;
  }
  .portafolio article h3 {
    font-size: 28px;
    text-align: center;
  }
  .portafolio article h4 {
    font-size: 24px;
    text-align: center;
  }
  .portafolio a {
    width: 100%;
    height: 41vh;
    margin: 30px 0;
    background-size: cover;
  }
  .blog time {
    font-size: 24px;
  }
}
@media all and (min-width: 1024px) {
  .contacto h1 {
    font-size: 100px;
    line-height: 100px;
  }
}
main.portafolio {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}

.portafolio article {
  width: 100%;
  height: 50vh;
  display: flex;
  flex-wrap: wrap;
  padding: 40px 0;
  border-bottom: solid 2px #000;
}

.portafolio section {
  width: 65%;
  padding: 50px 0;
}

.portafolio article h2 {
  font-size: 50px;
}

.portafolio article h3 {
  font-size: 24px;
}

.portafolio article:nth-child(1) a {
  background-image: url(../img/portafolio/tick_mint.jpg);
}

.portafolio article:nth-child(2) a {
  background-image: url(../img/portafolio/email_marketing.jpg);
}

.portafolio article:nth-child(3) a {
  background-image: url(../img/portafolio/culto_cervecero.jpg);
}

.portafolio article:nth-child(4) a {
  background-image: url(../img/portafolio/inno_venture.jpg);
}

.portafolio .img {
  width: 35%;
  background-image: url(../img/sobre_mi/habilidades.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  border-radius: 30px;
}

.portafolio .button {
  position: relative;
  bottom: 14%;
  padding: 16.5px 28px;
  background: #000 !important;
  color: #fff;
  border-radius: 30px;
  border: none;
  height: 15%;
}

@media screen and (max-width: 480px) {
  .portafolio article {
    height: 0%;
  }
  .portafolio section {
    width: 100%;
    padding: 0;
  }
  .portafolio article h2 {
    font-size: 24px;
  }
  .portafolio article h3 {
    font-size: 19px;
    text-align: center;
  }
  .portafolio a {
    width: 100%;
    height: 30vh;
    margin: 30px 0;
    background-size: contain;
  }
  .portafolio button {
    width: 100%;
  }
}
@media all and (min-width: 480px) and (max-width: 768px) {
  .portafolio article {
    height: 0%;
  }
  .portafolio section {
    width: 100%;
    padding: 0;
  }
  .portafolio article h2 {
    font-size: 24px;
  }
  .portafolio article h3 {
    font-size: 28px;
    text-align: center;
  }
  .portafolio article h4 {
    font-size: 24px;
    text-align: center;
  }
  .portafolio a {
    width: 100%;
    height: 41vh;
    margin: 30px 0;
    background-size: cover;
  }
  .portafolio button {
    width: 100%;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .portafolio section {
    width: 50%;
    padding: 0;
  }
  .portafolio article h2 {
    font-size: 36px;
  }
  .portafolio article h3 {
    font-size: 24px;
  }
}
.blog {
  padding: 10vh 0;
}
.blog article {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 20px 0;
  border-bottom: solid 3px;
}
.blog article time {
  width: 15%;
  font-size: 38px;
  font-weight: bold;
  padding-right: 50px;
}
.blog article div {
  width: 85%;
}
.blog article div h2 {
  font-size: 52px;
}
.blog article div ul {
  display: flex;
  list-style: none;
  gap: 15px;
  margin-top: 5vh;
  width: 20vw;
}
.blog article div li {
  border: solid 2px #000;
  border-radius: 14px;
  padding: 2px 12px;
}
.blog article div li:hover {
  background: #000;
  color: #fff;
  transform: scale(1.2);
}

@media screen and (max-width: 480px) {
  .blog article time {
    width: 100%;
    font-size: 24px;
    margin-bottom: 20px;
  }
  .blog article div {
    width: 85%;
  }
  .blog article div h2 {
    font-size: 24px;
  }
  .blog article ul {
    width: 80vw !important;
  }
  .blog article li {
    width: 100%;
  }
}
@media all and (min-width: 480px) and (max-width: 768px) {
  .blog article {
    flex-direction: column;
    align-items: center;
  }
  .blog article time {
    width: 100%;
    font-size: 24px;
    margin-bottom: 20px;
  }
  .blog article div {
    width: 100%;
  }
  .blog article ul {
    justify-content: center;
  }
  .blog article li {
    width: 100%;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .blog article {
    flex-direction: column;
    align-items: center;
  }
  .blog article time {
    width: 100%;
    font-size: 24px;
    margin-bottom: 0;
  }
  .blog article div {
    width: 100%;
  }
  .blog article ul {
    justify-content: center;
  }
  .blog article li {
    width: 100%;
  }
}
@media all and (min-width: 1024px) {
  .blog article {
    flex-direction: row;
  }
  .blog article time {
    width: 15%;
    font-size: 38px;
    margin-bottom: 0;
    margin-right: 20px;
    padding: 0;
  }
  .blog article div {
    width: 80%;
  }
  .blog article div h2 {
    font-size: 48px;
    text-align: left;
  }
  .blog article div ul {
    justify-content: flex-start;
  }
  .blog article div li {
    width: 50%;
  }
}
.contacto h1 {
  margin-bottom: 40px;
}
.contacto ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 3vw;
  margin-top: 5vh;
  justify-content: center;
}
.contacto ul li {
  border: solid 2px #000;
  border-radius: 8px;
  padding: 8px 12px;
}
.contacto ul li:hover {
  background: #000;
  color: #fff;
  transform: scale(1.2);
}
.contacto form {
  margin: 5vh 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
}
.contacto form fieldset {
  border: none;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.contacto form fieldset:nth-child(1) {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin: 5vh 0;
}
.contacto form input[type=text],
.contacto form input[type=email] {
  width: 45%;
  border-width: 0;
  border-bottom: solid 3px #000;
  font-size: 24px;
  color: #000;
  outline: none;
}
.contacto form input[type=text]::placeholder,
.contacto form input[type=email]::placeholder {
  color: #8d8c8c;
}
.contacto form textarea {
  width: 100%;
  border: solid 3px #000;
  padding: 20px;
  font-size: 24px;
}
.contacto form input[type=submit] {
  margin: 20px 0;
  padding: 16.5px 28px;
  background: #000;
  color: #fff;
  border-radius: 30px;
  align-self: end;
  margin-top: 30px;
  border: none;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .contacto h1 {
    font-size: 42px;
    line-height: 42px;
  }
  .contacto ul {
    justify-content: center;
  }
  .contacto form fieldset:nth-child(1) {
    margin: 5vh 0;
  }
  .contacto form input[type=text],
  .contacto form input[type=email] {
    width: 100%;
  }
  .contacto form textarea {
    width: 100%;
  }
  .contacto form input[type=submit] {
    width: 100%;
  }
}
footer {
  display: flex;
  flex-wrap: wrap;
  background: #1e1e1e;
  padding: 40px 10%;
  margin-top: 40px;
  font-size: 52px;
  width: 100%;
}
footer dl {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
}
footer dt {
  color: #fff;
  font-size: 52px;
  width: 100%;
}
footer path {
  fill: #fff;
}
footer form {
  display: flex;
  flex-direction: column;
  width: 50%;
}
footer label {
  color: #1e1e1e;
  margin-top: 20px;
}
footer input[type=text],
footer input[type=email] {
  background: #1e1e1e;
  font-size: 24px;
  border: 0;
  border-bottom: solid 2px #8d8c8c;
}
footer input[type=submit] {
  width: auto;
  padding: 16.5px 28px;
  background: #8d8c8c;
  color: #000;
  border-radius: 30px;
  align-self: end;
  margin-top: 30px;
  border: none;
}
@media screen and (max-width: 480px) {
  footer {
    padding: 40px 5%;
  }
  footer dl,
  footer form {
    width: 100%;
  }
  footer dt {
    font-size: 44px;
  }
}

/*# sourceMappingURL=styles.css.map */
