.qcc-download-link { font-size:0.75em;border-radius:0.5em;background-color:var(--bs-success);font-weight:bold;padding:0.25em 1.25em;color:white; }
.qcc-download-link:hover { color:black;background-color:transparent;border:2px solid var(--bs-success); }

#policyGrid {
	display: grid;
	grid-column-gap: var(--base-margin);
	grid-row-gap: var(--base-margin);
	grid-template-areas:"TOC main";
	grid-template-columns: 25% 75%;
	margin:auto auto calc(var(--base-margin) * 2);
	padding:0;
	position:relative;
	width: calc(100% - 1rem);
}

#policyGrid.links {
	grid-template-areas:"links main";
}

#policyTOC {
	grid-area:TOC;
	padding:0;
	position: sticky;
	top:0;
	z-index: +1;
}
#policyLinks {
	grid-area:links;
	padding:0;
	position: sticky;
	top:0;
	z-index: +1;
}

#policyMain {
	grid-area:main;
	height:100%;
	padding:calc(var(--base-padding) * 4);
	position:relative;
}

#policyMain section h2 {
	font-size: calc(var(--base-rem) * 1.25);
	font-weight: 600;
}

#policyMain section h3 {
	font-size: calc(var(--base-rem) * 1.05);
	font-weight: 500;
	text-transform: uppercase;
}

.qcc-toc-block {
	display:block;
	width:100%;
}

.pol-head {
	transition:all .2s ease;
}

.toc-area {
	display:block;
	left:0;
	overflow:auto;
	padding:var(--base-padding) var(--base-margin);
	position:sticky;
	top:0;
}

.qcc-toc-block
	, .qcc-toc-block ul {
	font-size:calc(var(--base-rem) * .8);
	padding-left:calc(var(--base-rem) * .85);
}

@media (max-width:990px) {
	#policyGrid {
		grid-template-areas:"TOC"
				"main";
		grid-template-columns: 100%;
		margin:auto;
		width:100%;
	}
	#policyGrid.links {
		grid-template-areas:
			"main"
			"links";
	}

	#policyTOC {
		display:flex;
		flex-direction:column;
		flex:1 1 auto;


		background-color: #fff;
		border: var(--brd);
		border-radius: var(--radius);
		box-shadow: var(--ds-lt);
		max-height: calc(100vh - 15%);
		padding: 0;
		top: 0;
	}
	#policyMain {
		padding:calc(var(--base-padding) * 2);
	}
	.pol-head.pol-toggle {
		background:var(--bs-primary);
		border:1px solid transparent;
		border-radius:var(--radius);
		color:#fff;
		cursor:pointer;
		display:block;
		padding:0.25rem 0.5rem;
		width:100%;
		z-index:+1;
	}
	.pol-head.pol-toggle:before {
		align-items:center;
		background:#fff;
		border:var(--brd);
		border-radius:100%;
		color:var(--color-a);
		content:" + ";
		display:inline-flex;
		height:20px;
		justify-content:center;
		margin-right:calc(var(--base-margin) * .5);
		transition:all .5s linear;
		width:20px;
	}
	.pol-head.pol-toggle:hover
		, .toc-area.open .pol-toggle {
		background:rgb(255,255,255);
		border:1px solid var(--bs-primary);
		color:var(--bs-primary);
	}
	.toc-area {
		border:0;
		display:flex;
		flex-direction:column;
		margin:0;
		padding:0;
		position:relative;
	}
	.toc-area .qcc-toc-block {
		height:0;
		margin:0;
		overflow:hidden;
		padding:0;
		position:relative;
		transition:all .2s ease;
		width:0;
	}
	.toc-area.open .qcc-toc-block {
		font-size: calc(var(--base-rem) * .8);
		height: 100%;
		overflow: auto;
		padding: 0 0 calc(var(--base-padding) * 2) calc(var(--base-padding) * 4);
		width: 100%;
    	}
	.toc-area.open .pol-head.pol-toggle:before {
		background:var(--bs-danger);
		color:white;
		transform:rotate(45deg);
	}
}