.main-menu {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.main-menu__item {
  border-bottom: 1px solid var(--first-dark-color);
  margin-left: 0;
}

.main-menu__link {
  display: block;
  padding: 1rem;
  color: var(--first-color);
}

.link-index,
.link-services,
.link-training,
.link-blog,
.link-about,
.link-contact {
  background-color: var(--first-color);
  padding: 1rem 1.5rem;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
  color: #fff;
  text-decoration: underline;
  pointer-events: none;
  cursor: default;
}

@media (hover: hover) and (pointer: fine) {
  /* mouse or touch-pad: ratón o panel táctil */
  .main-menu__link:hover {
    text-decoration: underline;
    color: var(--first-dark-color);
    background-color: #fff;
    font-weight: normal;
    transition: all, 0.4s;
  }
}

@media (hover: none) and (pointer: coarse) {
  /* touchscreens: pantallas táctiles */
  .main-menu__link {
    color: var(--first-dark-color);
    background-color: #fff;
    padding: 1rem 1.5rem;
    margin-top: 0;
    border-radius: 0;
    transition: all, 0.4s;
  }

  .link-index,
  .link-services,
  .link-training,
  .link-blog,
  .link-about,
  .link-contact {
    color: #fff;
    background-color: var(--first-color);
    text-decoration: none;
    font-weight: bold;
  }
}

.main-nav {
  position: fixed;
  height: calc(100vh - var(--header-height));
  width: 80%;
  top: var(--header-height);
  right: -80%;
  background-color: var(--body-bg-color);
  z-index: var(--z-fixed);
  transition: right 0.4s;
}

.main-nav.show {
  right: 0;
}

.main-menu-toggle {
  --color: var(--first-color);
  width: 2.2rem;
  height: 1.8rem;
  background: linear-gradient(
    var(--color) 20%,
    transparent 20%,
    transparent 40%,
    var(--color) 40%,
    var(--color) 60%,
    transparent 60%,
    transparent 80%,
    var(--color) 80%
  );
  cursor: pointer;
}

@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .main-nav {
    position: static;
    background-color: transparent;
    height: auto;
    width: auto;
  }

  .main-menu {
    display: flex;
  }

  .main-menu-toggle {
    display: none;
  }

  .main-menu__item {
    border-bottom: none;
  }

  .link-index,
  .link-services,
  .link-training,
  .link-blog,
  .link-about,
  .link-contact {
    color: var(--first-dark-color);
    background-color: #fff;
    border-bottom: 2px solid var(--first-dark-color);
    text-decoration: none;
    padding: 0.5rem 1.5rem 0.25rem 1.5rem;
    border-radius: 0;
    margin-top: 0.5rem;
  }
}

@media screen and (min-width: 768px) and (hover: none) and (pointer: coarse) {
  .main-nav {
    position: static;
    background-color: transparent;
    height: auto;
    width: auto;
  }

  .main-menu {
    display: flex;
  }

  .main-menu-toggle {
    display: none;
  }

  .main-menu__item {
    border-bottom: none;
  }

  .link-index,
  .link-services,
  .link-training,
  .link-blog,
  .link-about,
  .link-contact {
    color: var(--first-dark-color);
    background-color: #fff;
    border-bottom: 2px solid var(--first-dark-color);
    text-decoration: none;
    padding: 0.375rem 1.5rem;
    border-radius: 0rem;
    margin-top: 0.625rem;
  }
}
