#jgp-cv {
  --font-family:       var(--font-body);
  --font-size:         14px;
  --line-height:       15px;
  --color-text:        #000000;
  --color-muted:       #999999;
  --color-border:      #000000;
  --color-divider:     #e8e8e8;
  --color-bg-hover:    #f2f2f2;
  --border-width:     var(--jgp-border-width);
  --pad:               0px;
  --pad-sm:            8px;
  --pad-bottom:        50px;
  --gap-mobile-item:   8px;
  --opacity-hover:     0.6;
  --p-ano:             25%;
  --p-exposicion:      41.67%;
  --p-lugar:           75%;
}

#jgp-cv *, #jgp-cv *::before, #jgp-cv *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

#jgp-cv * {
  font-family: var(--font-family);
  font-size: var(--font-size);
  font-weight: 400;
  line-height: var(--line-height);
}

#jgp-cv {
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  width: 100%;
  border-top: var(--border-width) solid var(--color-border);
  padding-bottom: var(--pad-bottom);
}

#jgp-cv .cv-row {
  display: grid;
  grid-template-columns:
    var(--p-ano)
    calc(var(--p-exposicion) - var(--p-ano))
    calc(var(--p-lugar) - var(--p-exposicion))
    1fr;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

#jgp-cv .cv-section {
  border-bottom: var(--border-width) solid var(--color-border);
}

#jgp-cv .cv-toggle {
  position: relative;
  padding-top: var(--pad-sm);
  padding-bottom: var(--pad-sm);
  padding-left: 0;
  padding-right: var(--pad);
  cursor: pointer;
  user-select: none;
  align-items: center;
}

#jgp-cv .cv-toggle-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  color: #000000;
  align-self: center;
}

#jgp-cv .cv-static-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
}

#jgp-cv .cv-toggle:hover .cv-toggle-label {
  opacity: var(--opacity-hover);
}

#jgp-cv .cv-toggle-arrow {
  position: absolute;
  right: var(--pad);
  top: 50%;
  color: var(--color-text);
  transition: transform 0.25s;
  transform: translateY(-50%) rotate(0deg);
}

#jgp-cv .cv-section.open .cv-toggle-arrow {
  transform: translateY(-50%) rotate(180deg);
}

#jgp-cv .cv-body {
  display: none;
}

#jgp-cv .cv-section.open .cv-body {
  display: block;
}

#jgp-cv .cv-toggle-meta {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  color: transparent;
  transition: color 0.2s ease;
  user-select: none;
  align-self: center;
}

#jgp-cv .cv-section.open .cv-toggle-meta {
  color: #999999;
}

#jgp-cv .cv-toggle-arrow-wrap {
  position: relative;
  align-self: center;
}

#jgp-cv .cv-item {
  border-bottom: var(--border-width) solid var(--color-divider);
  padding-top: var(--pad-sm);
  padding-bottom: var(--pad-sm);
  align-items: baseline;
}

#jgp-cv .cv-item:last-child { border-bottom: none; }
#jgp-cv .cv-item:hover { background-color: var(--color-bg-hover); }
#jgp-cv .cv-z2 { font-family: var(--font-heading); font-weight: 700; font-size: 12px; color: var(--color-muted); padding-right: var(--pad); }
#jgp-cv .cv-z3 { padding-right: var(--pad); }

#jgp-cv .cv-static {
  border-bottom: var(--border-width) solid var(--color-border);
  padding: var(--pad-sm) var(--pad);
  display: grid;
  grid-template-columns:
    var(--p-ano)
    calc(var(--p-exposicion) - var(--p-ano))
    calc(var(--p-lugar) - var(--p-exposicion))
    1fr;
}

#jgp-cv .cv-static-text {
  grid-column: 3 / 5;
  grid-row: 1;
}

#jgp-cv .cv-static-text p + p { margin-top: var(--line-height); }

@media (max-width: 768px) {
  #jgp-cv {
    padding-top: 8px;
  }

  #jgp-cv .cv-static {
    display: block;
    padding-top: var(--pad-sm);
    padding-bottom: var(--pad-sm);
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

 #jgp-cv .cv-static-text {
  grid-column: unset;
  grid-row: unset;
  display: block;
  margin-top: var(--pad-sm) !important;
}

  #jgp-cv .cv-static-text p {
    font-weight: 400;
    margin-top: 30px;
    margin-bottom: 0;
  }

  #jgp-cv .cv-static-text p + p {
    margin-top: var(--line-height);
  }

 #jgp-cv .cv-static-label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 12px;
  color: var(--color-text);
  margin-bottom: var(--pad-sm) !important;
}

  #jgp-cv .cv-row {
    display: block;
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

  #jgp-cv .cv-item {
    display: block;
    padding-top: var(--pad-sm);
    padding-bottom: var(--pad-sm);
  }

  #jgp-cv .cv-item span:first-child { display: none; }
  #jgp-cv .cv-item .cv-z2 { display: block; color: var(--color-muted); padding-right: 0; margin-bottom: var(--gap-mobile-item); }
  #jgp-cv .cv-item .cv-z3 { display: block; padding-right: 0; margin-bottom: var(--gap-mobile-item); }
  #jgp-cv .cv-item span:last-child { display: block; color: var(--color-muted); }

  #jgp-cv .cv-toggle-meta { display: none; }

  #jgp-cv .cv-toggle-arrow-wrap {
    display: flex !important;
    align-items: center;
    font-size: 0 !important;
    flex-shrink: 0;
  }

  #jgp-cv .cv-toggle-arrow-wrap .cv-toggle-arrow {
    font-size: var(--font-size) !important;
  }

  #jgp-cv .cv-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--pad-sm);
    padding-bottom: var(--pad-sm);
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

  #jgp-cv .cv-toggle-arrow {
    position: static;
    transform: rotate(0deg);
    color: var(--color-text);
    flex-shrink: 0;
    transition: transform 0.25s;
  }

  #jgp-cv .cv-section.open .cv-toggle-arrow {
    transform: rotate(180deg);
  }
}
