/* Funds Resources, front end, in the Investcent Investment Bank design.
   Square geometry, IP Slate Blue #003B5C for type, links and buttons, IP Blue
   #00A9E0 as the accent, Open Sauce Sans headings and Roboto text. Every rule
   sits under .fres at two classes or more, so theme and builder rules on bare
   elements cannot reach in, and the reset below loses to every component. */

.fres {
	--fres-slate: #003B5C;
	--fres-hover: #00324D;
	--fres-blue: #00A9E0;
	--fres-dgrey: #545859;
	--fres-grey: #9EA2A2;
	--fres-hair: #D3DBE0;
	--fres-field: #86919A;
	--fres-tint: #EEF3F6;
	--fres-white: #FFFFFF;
	--fres-oss: 'Open Sauce Sans', Roboto, Arial, sans-serif;
	--fres-rob: Roboto, Arial, sans-serif;
	font: 400 16px/1.5 var(--fres-rob);
	color: var(--fres-slate);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

.fres *, .fres *::before, .fres *::after { box-sizing: border-box; }
.fres h2, .fres h3, .fres h4, .fres p, .fres ul, .fres li, .fres dl, .fres dt, .fres dd, .fres table, .fres caption, .fres th, .fres td, .fres form, .fres label, .fres figure { margin: 0; padding: 0; border: 0; background: none; letter-spacing: 0; text-transform: none; }
.fres ul { list-style: none; }
.fres a { color: inherit; }
.fres button { font: inherit; }
.fres [hidden] { display: none !important; }

.fres .fres-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fres .fres-ic { flex: none; transition: transform .15s; }

/* Text links and buttons, as on the site */
.fres .fres-tlink { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; font: 500 16px/24px var(--fres-rob); color: var(--fres-slate); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; white-space: nowrap; background: none; border: 0; padding: 0; cursor: pointer; }
.fres .fres-tlink:hover { text-decoration-thickness: 2px; color: var(--fres-slate); }
.fres .fres-tlink:hover .fres-ic { transform: translateX(3px); }
.fres .fres-tlink[download]:hover .fres-ic { transform: translateY(2px); }
.fres .fres-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 2px; border: 1.5px solid transparent; font: 600 15px/20px var(--fres-oss); text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.fres .fres-btn-sec { background: var(--fres-white); color: var(--fres-slate); border-color: var(--fres-slate); }
.fres .fres-btn-sec:hover { background: var(--fres-tint); }
.fres .fres-btn-rev { background: var(--fres-white); color: var(--fres-slate); }
.fres .fres-btn-rev:hover { background: var(--fres-tint); color: var(--fres-slate); }
.fres .fres-btn-rev-o { background: transparent; color: var(--fres-white); border-color: rgba(255, 255, 255, .85); }
.fres .fres-btn-rev-o:hover { background: rgba(255, 255, 255, .12); color: var(--fres-white); }
.fres :focus-visible { outline: 2px solid var(--fres-slate); outline-offset: 2px; }

.fres .fres-tag { display: inline-flex; align-items: center; min-height: 22px; margin-left: 10px; padding: 0 8px; font: 500 12px/16px var(--fres-rob); color: var(--fres-slate); background: var(--fres-white); border: 1px solid var(--fres-hair); vertical-align: middle; white-space: nowrap; }
.fres .fres-empty { font: 400 17px/27px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-dash { font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }

/* Hub tabs: the open tab is filled, never underlined on one edge */
.fres .fres-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.fres .fres-tab { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px; border: 1px solid var(--fres-hair); border-radius: 2px; background: var(--fres-white); color: var(--fres-slate); font: 600 15px/20px var(--fres-oss); cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.fres .fres-tab:hover { border-color: var(--fres-slate); }
.fres .fres-tab[aria-selected="true"] { background: var(--fres-slate); border-color: var(--fres-slate); color: var(--fres-white); }
.fres .fres-tab-n { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 6px; font: 500 12px/16px var(--fres-rob); color: var(--fres-slate); background: var(--fres-tint); }
.fres .fres-tab[aria-selected="true"] .fres-tab-n { background: rgba(255, 255, 255, .16); color: var(--fres-white); }
.fres .fres-panel + .fres-panel { margin-top: 56px; }
.fres .fres-panel-h { font: 400 24px/30px var(--fres-oss); color: var(--fres-slate); margin-bottom: 24px; }
.fres.is-ready .fres-panel-h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.fres.is-ready .fres-panel + .fres-panel { margin-top: 0; }
.fres .fres-panel:focus-visible { outline-offset: 8px; }

/* Documents */
.fres .fres-bar { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px 24px; margin-bottom: 36px; }
.fres .fres-chips { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.fres .fres-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--fres-field); border-radius: 2px; background: var(--fres-white); color: var(--fres-slate); font: 400 15px/20px var(--fres-rob); cursor: pointer; }
.fres .fres-chip:hover { border-color: var(--fres-slate); }
.fres .fres-chip[aria-pressed="true"] { background: var(--fres-slate); border-color: var(--fres-slate); color: var(--fres-white); }
.fres .fres-chip-n { font: 500 13px/16px var(--fres-rob); opacity: .8; }
.fres .fres-bar-r { display: flex; flex-wrap: wrap; gap: 12px; }
.fres .fres-field { position: relative; display: block; min-width: 0; }
.fres .fres-select, .fres .fres-input { display: block; width: 100%; height: 48px; margin: 0; padding: 0 14px; border: 1px solid var(--fres-field); border-radius: 0; background-color: var(--fres-white); color: var(--fres-slate); font: 400 16px/24px var(--fres-rob); box-shadow: none; font-variant-numeric: tabular-nums; }
.fres .fres-select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23545859' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.fres .fres-select:hover, .fres .fres-input:hover { border-color: var(--fres-dgrey); }
.fres .fres-select:focus-visible, .fres .fres-input:focus-visible { outline: 2px solid var(--fres-slate); outline-offset: 0; }
.fres .fres-bar-r .fres-field { width: 260px; }
.fres .fres-typesel { display: none; }
.fres .fres-search svg { position: absolute; left: 14px; top: 16px; color: var(--fres-dgrey); }
.fres .fres-search .fres-input { padding-left: 40px; }
.fres .fres-count { margin: -20px 0 16px; font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-count:empty { display: none; }
.fres .fres-group + .fres-group { margin-top: 48px; }
.fres .fres-group-head { display: grid; gap: 6px; margin-bottom: 16px; }
.fres .fres-group-h { font: 400 24px/30px var(--fres-oss); color: var(--fres-slate); }
.fres .fres-group-b { font: 400 16px/25px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-rows { border-top: 1px solid var(--fres-hair); }
.fres .fres-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--fres-hair); }
.fres .fres-row-main { display: grid; gap: 4px; min-width: 0; }
.fres .fres-row-t { font: 400 20px/27px var(--fres-oss); color: var(--fres-slate); }
.fres .fres-row-d { font: 400 15px/23px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-row-m { font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-row-a { display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: flex-end; }
.fres .fres-none { display: grid; gap: 16px; justify-items: start; padding: 32px 0; border-bottom: 1px solid var(--fres-hair); }
.fres .fres-none p { font: 400 17px/27px var(--fres-rob); color: var(--fres-dgrey); }

/* Fact sheets */
.fres .fres-sheets + .fres-sheets { margin-top: 56px; }
.fres .fres-latest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--fres-hair); border: 1px solid var(--fres-hair); }
.fres .fres-card { display: grid; gap: 6px; align-content: start; padding: 28px; background: var(--fres-white); }
.fres .fres-card-k { font: 500 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-card-k .fres-tag { margin-left: 8px; }
.fres .fres-card-t { font: 300 32px/38px var(--fres-oss); color: var(--fres-slate); letter-spacing: -0.01em; }
.fres .fres-card-m { font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-card-a { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 10px; }
.fres .fres-scroll { overflow-x: auto; margin-top: 28px; }
.fres .fres-table { width: 100%; border-collapse: collapse; font: 400 16px/24px var(--fres-rob); color: var(--fres-slate); }
.fres .fres-table th, .fres .fres-table td { padding: 14px 24px 14px 0; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--fres-hair); }
.fres .fres-table thead th { font: 500 14px/20px var(--fres-rob); color: var(--fres-dgrey); border-top: 1px solid var(--fres-hair); }
.fres .fres-table tbody th { font: 400 17px/24px var(--fres-oss); }
.fres .fres-cell-a { display: inline-flex; flex-wrap: wrap; gap: 4px 24px; }
.fres .fres-more { margin-top: 24px; }

/* Figures */
.fres .fres-ticker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 40px; padding: 22px 28px; background: var(--fres-tint); }
.fres .fres-ticker-h { display: inline-flex; align-items: center; font: 500 15px/20px var(--fres-rob); color: var(--fres-slate); }
.fres .fres-ticker-l { display: grid; grid-auto-flow: column; grid-auto-columns: max-content; gap: 12px 40px; }
.fres .fres-tick { display: grid; gap: 2px; }
.fres .fres-tick dt { font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-tick dd { font: 300 30px/36px var(--fres-oss); color: var(--fres-slate); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.fres .fres-tick dd.is-review { font: 400 18px/36px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-ticker-n { display: grid; gap: 4px; flex: 1 1 320px; min-width: 0; font: 400 14px/21px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-fund-n { display: block; }
.fres .fres-fund-l { display: block; font: 400 14px/20px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-fig-v { display: block; font: 300 26px/32px var(--fres-oss); font-variant-numeric: tabular-nums; }
.fres .fres-fig-v.is-review { font: 400 16px/24px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-fig-d { display: block; font: 400 13px/18px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-figtable-tag { margin-bottom: 12px; }
.fres .fres-figtable-tag .fres-tag { margin-left: 0; }
.fres .fres-note { margin-top: 16px; font: 400 14px/21px var(--fres-rob); color: var(--fres-dgrey); }

/* Calculator */
.fres .fres-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 1px solid var(--fres-hair); background: var(--fres-white); }
.fres .fres-calc-in { display: grid; gap: 20px; align-content: start; padding: 40px; }
.fres .fres-calc-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.fres .fres-calc label { display: grid; gap: 8px; align-content: start; font: 500 14px/20px var(--fres-rob); color: var(--fres-slate); }
.fres .fres-calc-hint { font: 400 13px/19px var(--fres-rob); color: var(--fres-dgrey); }
.fres .fres-calc-warn { padding: 12px 14px; font: 400 14px/21px var(--fres-rob); color: var(--fres-slate); background: var(--fres-tint); }
.fres .fres-calc-out { display: grid; gap: 14px; align-content: start; padding: 40px; background: var(--fres-slate); color: var(--fres-white); }
.fres .fres-calc-k { font: 500 14px/20px var(--fres-rob); color: rgba(255, 255, 255, .88); }
.fres .fres-calc-v { font: 300 48px/54px var(--fres-oss); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; color: var(--fres-white); }
.fres .fres-calc-v.is-prompt { font: 300 26px/34px var(--fres-oss); }
.fres .fres-calc-dl { display: grid; margin-top: 8px; }
.fres .fres-calc-dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .24); font: 400 16px/24px var(--fres-rob); color: var(--fres-white); }
.fres .fres-calc-dl dd { margin: 0; font-weight: 500; font-variant-numeric: tabular-nums; }
.fres .fres-calc-note { font: 400 14px/21px var(--fres-rob); color: rgba(255, 255, 255, .88); }
.fres .fres-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.fres .fres-calc-out :focus-visible { outline-color: var(--fres-white); }

/* Document viewer: a modal on wider screens, a new tab on phones */
.fres.fres-viewer { width: min(1100px, calc(100vw - 48px)); height: min(92vh, 1000px); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; border-radius: 0; background: var(--fres-white); color: var(--fres-slate); overflow: hidden; }
.fres.fres-viewer[open] { display: flex; flex-direction: column; }
.fres.fres-viewer::backdrop { background: rgba(0, 31, 48, .72); }
.fres .fres-viewer-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 12px 12px 24px; background: var(--fres-slate); color: var(--fres-white); }
.fres .fres-viewer-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 17px/24px var(--fres-oss); color: var(--fres-white); }
.fres .fres-viewer-acts { display: flex; align-items: center; gap: 8px; flex: none; }
.fres .fres-viewer-acts .fres-btn { min-height: 40px; padding: 0 16px; }
.fres .fres-viewer-x { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1.5px solid rgba(255, 255, 255, .85); border-radius: 2px; background: transparent; color: var(--fres-white); cursor: pointer; }
.fres .fres-viewer-x:hover { background: rgba(255, 255, 255, .12); }
.fres .fres-viewer-f { flex: 1 1 auto; width: 100%; border: 0; background: #E3EAEE; }
.fres .fres-viewer :focus-visible { outline-color: var(--fres-white); }

@media (max-width: 1023px) {
	.fres .fres-calc { grid-template-columns: 1fr; }
	.fres .fres-bar-r .fres-field { width: 100%; }
	.fres .fres-bar-r { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}

@media (max-width: 767px) {
	.fres .fres-tabs { margin-bottom: 28px; }
	.fres .fres-tab { flex: 1 1 auto; justify-content: center; }
	.fres .fres-row { grid-template-columns: 1fr; gap: 10px; }
	.fres .fres-row-a { justify-content: flex-start; }
	.fres .fres-row-t { font-size: 18px; line-height: 25px; }
	.fres .fres-latest { grid-template-columns: 1fr; }
	.fres .fres-card { padding: 24px 20px; }
	.fres .fres-card-t { font-size: 28px; line-height: 34px; }
	.fres .fres-calc-in, .fres .fres-calc-out { padding: 28px 20px; }
	.fres .fres-calc-row { grid-template-columns: 1fr; }
	.fres .fres-calc-v { font-size: 38px; line-height: 44px; }
	.fres .fres-acts .fres-btn { flex: 1 1 100%; }
	.fres .fres-ticker { padding: 20px; gap: 12px 28px; }
	.fres .fres-table th, .fres .fres-table td { padding-right: 16px; }
	.fres .fres-group-h { font-size: 21px; line-height: 27px; }
	.fres .fres-chips { display: none; }
	.fres .fres-typesel { display: block; }
	.fres .fres-bar-r { grid-template-columns: 1fr; }
	.fres .fres-bar { margin-bottom: 28px; }
	.fres .fres-ticker-l { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto; width: 100%; }
	.fres .fres-scroll { overflow-x: visible; }
	.fres .fres-table.is-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.fres .fres-table.is-stack tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; padding: 16px 0; border-bottom: 1px solid var(--fres-hair); }
	.fres .fres-table.is-stack tbody tr:first-child { border-top: 1px solid var(--fres-hair); }
	.fres .fres-table.is-stack th, .fres .fres-table.is-stack td { display: block; padding: 0; border: 0; }
	.fres .fres-table.is-stack tbody th { grid-column: 1 / -1; }
	.fres .fres-table.is-stack td::before { content: attr(data-label); display: block; margin-bottom: 2px; font: 400 13px/18px var(--fres-rob); color: var(--fres-dgrey); }
	.fres .fres-table.is-stack .fres-cell-a { display: grid; gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fres *, .fres *::before, .fres *::after { transition: none !important; }
}
