/* Last updated CM 2026-01-21 */

/* Globe & Maple leaf icon that can change colour to show global stats figure */
.ca-icon {
    width: 1em;
    height: 1em;
    vertical-align: -6%;
    display: inline-block;
    margin: 0px 5px 0px 5px;
    -webkit-mask-size: cover;
    mask-size: cover;
}

.ca-icon-globe {
    -webkit-mask: url(/content/dam/kpmgsites/ca/icons/earth-icon-global-stat-black.svg) no-repeat 50% 50%;
    mask: url(/content/dam/kpmgsites/ca/icons/earth-icon-global-stat-black.svg) no-repeat 50% 50%;
}

.ca-icon-mapleleaf {  -webkit-mask: url(/content/dam/kpmgsites/ca/icons/canada-purple-maple-leaf.svg) no-repeat 50% 50%;
    mask: url(/content/dam/kpmgsites/ca/icons/canada-purple-maple-leaf.svg) no-repeat 50% 50%;
  }

/* Styles for big statistic numbers*/


/* Bold condensed open sans text for percentages and titles */

.ca-bold {
font-family: 'OpenSans_Condensed--Bold', Arial, Helvetica, sans-serif;
font-weight:100;
    font-size: 1.8rem;
    line-height: 1.2;
}

/* Really condensed text for small percentages */

.ca-squished { font-stretch: ultra-condensed;}

/* Legend - left-aligned flexbox for aligning side-by-side text or images and text */

.ca-legend-wrap {
  max-width: fit-content;
   margin: 1rem auto;
 }
 

/* Legend wrapper */
.ca-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin: 1rem auto;
}

/* Each legend item (box + label stay together) */
.ca-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap; /* prevents separation */
}

/* Legend key boxes and text */
.keybox {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.keytext {
  font-size: 1.2rem;
}


/* Horizontal bar graph with left, center, right columns, centred on the middle column */

.ca-hbar {
zoom: 1;
margin: 2rem 0rem;
font-size: 1.8rem;
}

.ca-hbar .row {
  display: flex;
  margin-bottom: .5em;
  align-items: center;
}

.ca-hbar .content {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: .5rem;
text-align: right;
}

.ca-hbar .col {
  flex: 1;
  display: flex;
}

.ca-hbar .center {
  flex: 0 0 5px;
  display: flex;
  margin: 0 0em;
}

.ca-hbar .center .content {
  flex: 1 1 100%;
}

.ca-hbar .left {
  justify-content: flex-end;
}

.ca-hbar .left .content {
  flex: 0 1 auto;
font-size: 1.1rem;
}

.ca-hbar .right .content {
    flex: 0 1 auto;
    width: calc(var(--value) * var(--multiplier, 1));
}

/* Consistent spacing when adding a stat % to the right (outside) of a horizontal bar */

.endstat { width:3rem; }  

/* Style 2 - Even bars are narrow and gray with stat to the right */

.style2 .ca-hbar .left { justify-content: space-between;}
.style2 .ca-hbar .row:nth-child(even) { height: 1rem; font-size: 2.1rem;}

/* Style 5 - Stacked bars in right column with justify-content: space-evenly to center % */
.style5 .ca-hbar .left { max-width: 20%; font-size: 1rem; }
.style5 .ca-hbar .right .content {justify-content: space-evenly; font-size: 1rem; height: 1.8rem; font-family: 'OpenSans_Condensed', Arial, Helvetica, sans-serif;}

/* Style 7 - One line of text centered vertically for sets of bars (can and global) */
  .style7 > .row1 {display: grid; grid-template-areas: "label bars"; grid-template-columns: 1fr 2fr; gap: 1rem; text-align: right; font-size: 1rem; }   
.style7>.row1>div { margin: .5rem 0rem; }
   .style7>.row1>div.label { grid-area: label; text-align: right; min-width: 25%; align-self: center; }
   .style7>.row1>div.content { grid-area: bars; align-self: center;}
   .style7 .ca-hbar .right { font-size: 1.2rem; height: 1.8rem; }