/* A4 resume: a light header, main content on the right, and a light left sidebar. */
.resume-page,.resume-measure {
  --cv-tint:#edf5fc;
  --cv-side:#f5f8fc;
  --cv-line:#dce7f2;
  font-family:Vazirmatn,Tahoma,sans-serif;
  font-size:13px;
  line-height:1.9;
  color:#354b62;
  direction:rtl;
  text-align:right;
  overflow-wrap:anywhere;
  box-sizing:border-box;
  background:white;
}
@supports(background:color-mix(in srgb, blue 10%, white)) {
  .resume-page,.resume-measure {
    --cv-tint:color-mix(in srgb,var(--resume-color) 9%,white);
    --cv-side:color-mix(in srgb,var(--resume-color) 4%,white);
    --cv-line:color-mix(in srgb,var(--resume-color) 17%,white);
  }
}
.resume-page {
  position:absolute;
  inset:0 0 auto auto;
  width:794px;
  height:1123px;
  padding:0;
  border:0;
  transform-origin:top right;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.resume-measure {
  position:fixed;
  top:0;
  left:-9999px;
  width:794px;
  visibility:hidden;
  pointer-events:none;
  z-index:-1;
}
.cv-header {
  display:grid;
  grid-template-columns:minmax(0,1fr) 238px;
  align-items:center;
  gap:22px;
  min-height:168px;
  padding:24px 28px;
  border-top:6px solid var(--resume-color);
  border-bottom:1px solid var(--cv-line);
  background:var(--cv-tint);
}
.cv-identity {
  display:flex;
  align-items:center;
  gap:17px;
  min-width:0;
}
.cv-name { min-width:0; }
.cv-kicker {
  color:#6b829c;
  font-size:9px;
  letter-spacing:.3px;
  margin-bottom:2px;
}
.cv-name h1 {
  color:var(--resume-color);
  font-size:31px;
  font-weight:700;
  line-height:1.5;
  margin:0;
}
.cv-name-long h1 { font-size:20px; }
.cv-job {
  color:#3e5b78;
  font-size:14px;
  margin-top:2px;
}
.cv-latin {
  display:block;
  color:#6784a3;
  font-size:11px;
  letter-spacing:1.1px;
  margin-top:5px;
}
.cv-photo {
  width:88px;
  height:88px;
  min-width:88px;
  border-radius:50%;
  overflow:hidden;
  background:white;
  color:var(--resume-color);
  border:4px solid white;
  outline:1px solid var(--cv-line);
  display:grid;
  place-items:center;
  font-size:25px;
  font-weight:600;
}
.cv-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.cv-photo>.icon { width:38px; height:38px; color:#6d94b8; }
.cv-template-note { margin:0; color:#6a86a1; font-size:10px; line-height:2.1; }
.cv-placeholder { display:grid; gap:13px; padding:8px 0 20px; }
.cv-placeholder>span { display:block; width:var(--line-width); height:7px; border-radius:4px; background:#e6edf4; }
.cv-aside .cv-placeholder>span { background:#dbe7f2; }
.cv-contact {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  font-size:9.5px;
  line-height:1.8;
  color:#516d88;
}
.cv-contact>span { display:flex; align-items:flex-start; gap:7px; min-width:0; max-width:100%; }
.cv-contact bdi,.cv-contact>span>span { min-width:0; overflow-wrap:anywhere; }
.cv-contact .icon { width:12px; height:12px; margin-top:3px; color:var(--resume-color); }
.cv-contact .cv-address { font-size:9px; color:#70869e; padding-inline-start:19px; }
.cv-body {
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  height:var(--cv-body-height);
}
.resume-measure .cv-body { height:auto; }
.cv-column { min-width:0; padding:24px 28px 26px; }
.cv-aside { background:var(--cv-side); border-inline-start:1px solid var(--cv-line); padding-inline:22px; }
.print-block { display:flow-root; padding-bottom:12px; }
.cv-section-title {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--resume-color);
  font-size:15px;
  font-weight:700;
  line-height:1.8;
  margin:9px 0 1px;
  padding-bottom:8px;
  border-bottom:1px solid var(--cv-line);
}
.cv-section-title>.icon { width:17px; height:17px; stroke-width:1.6; }
.cv-section-title>span { flex:1; }
.cv-section-title>small { font-size:9px; font-weight:400; color:#7b91a9; }
.cv-aside .cv-section-title { font-size:13px; gap:7px; }
.cv-aside .cv-section-title>.icon { width:15px; height:15px; }
.cv-column>.print-block:first-child .cv-section-title { margin-top:0; }
.cv-paragraph { font-size:12px; line-height:2; color:#526a81; margin:0; }
.cv-entry {
  position:relative;
  padding-inline-start:14px;
  border-inline-start:2px solid var(--cv-line);
}
.cv-entry:before {
  content:'';
  position:absolute;
  inset-inline-start:-4px;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--resume-color);
}
.cv-entry-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:8px; }
.cv-entry h4 { font-size:13px; font-weight:600; color:#2e4b66; line-height:1.9; margin:0; min-width:0; }
.cv-entry h4 span { font-weight:400; }
.cv-date { font-size:9px; color:#70869d; white-space:nowrap; }
.cv-employer { display:block; font-size:11.5px; font-weight:500; color:#526d88; margin-top:3px; }
.cv-meta { font-size:10px; color:#7c8fa4; line-height:1.9; margin-top:3px; }
.cv-task { display:flex; align-items:baseline; gap:6px; font-size:12px; line-height:1.9; color:#4d667f; padding-inline-start:14px; }
.cv-bullet { color:var(--resume-color); }
.cv-task em { font-size:10px; font-style:normal; color:#7b90a6; }
.cv-small { font-size:12px; line-height:1.95; color:#526b83; }
.cv-main .cv-small { padding-inline-start:14px; }
.cv-small strong { font-weight:600; }
.cv-muted { font-size:10px; color:#7f91a5; }
.cv-skill { padding:8px 10px; border:1px solid var(--cv-line); border-radius:5px; background:white; }
.cv-skill strong { display:block; font-size:11px; font-weight:500; line-height:1.9; color:#41678f; }
.cv-skill>span { display:block; color:#7b91a9; font-size:9px; margin-top:2px; }
.cv-language { font-size:12px; }
.cv-language>div { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.cv-language strong { font-size:12px; color:#3e5b78; }
.cv-language p { font-size:10.5px; color:#7c90a5; margin-top:2px; }
.cv-language .cv-language-certificate { color:#5b7896; font-size:10px; }
.cv-language-level { color:var(--resume-color); background:white; border:1px solid var(--cv-line); border-radius:4px; padding:0 7px; font-size:10px; }
.cv-status { background:var(--cv-side); border:1px solid var(--cv-line); border-radius:5px; padding:9px 12px; font-size:11px; color:#5b7591; }
.cv-footer {
  position:absolute;
  inset:auto 0 0;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:12px 28px;
  border-top:1px solid var(--cv-line);
  background:white;
  font-size:8px;
  color:#8b9caf;
}
.cv-footer>span:last-child { white-space:nowrap; }
