@charset "utf-8";
@import "defaults.css";
@import "bs-grid.css";
/* CSS Document */

@font-face {
  font-family: "Publico Headline Web";
	src: url("../fonts/PublicoHeadline-Bold-Web/PublicoHeadline-Bold-Web.woff2") format("woff2"),
  url("../fonts/PublicoHeadline-Bold-Web/PublicoHeadline-Bold-Web.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

/* ------------------- colours ------------------- */
:root {
  --b-navy: #20354f;
	--b-deep-blue: #002b54;
  --b-mid-blue: #1c5478;
  --b-azure: #63cadf;
	--g-accent-cyan: #63cae1;
	--g-accent-cyan-tint: #e8f7fb;
	
	--ui-almost-black: #333;
  --ui-dark-grey: #666;
  --ui-grey: #c4c4c4;
  --ui-light-grey: #e5e5e5;
  --ui-lightest-grey: #f7f8fa;
}
.b-navy {
  color: var(--b-navy) !important;
}
.b-navy-bg {
  background-color: var(--b-navy);
}
.b-navy-bg * {
  color: #fff;
}
.b-navy-border {
  border-color: var(--b-navy);
}
.b-deep-blue {
  color: var(--b-deep-blue) !important;
}
.b-deep-blue-bg {
  background-color: var(--b-deep-blue);
}
.b-deep-blue-bg * {
  color: #fff;
}
.b-deep-blue-border {
  border-color: var(--b-deep-blue);
}
.b-mid-blue-bg {
  background-color: var(--b-mid-blue);
}
.b-mid-blue-bg * {
  color: #fff;
}
.b-mid-blue-border {
  border-color: var(--b-mid-blue);
}
.b-azure-bg {
  background-color: var(--b-azure);
}
.b-azure-bg * {
  color: var(--b-navy);
}
.g-accent-cyan-bg {
  background-color: var(--g-accent-cyan);
}
.g-accent-cyan-bg * {
  color: #000;
}
.g-accent-cyan-border {
  border-color: var(--g-accent-cyan);
}
.g-accent-cyan-tint-bg {
  background-color: var(--g-accent-cyan-tint);
}
.ui-light-grey-bg {
  background-color: var(--ui-light-grey);
}
.ui-light-grey-bg * {
  color: #000;
}
.ui-light-grey-border {
  border-color: var(--ui-light-grey);
}
.ui-lightest-grey-bg {
  background-color: var(--ui-lightest-grey);
}
.ui-lightest-grey-bg * {
  color: #000;
}
.ui-white {
	color: #fff !important;
}
.ui-white-bg {
	background-color: #fff;
}

/* ------------------- sectional elements ------------------- */
html {
  scroll-padding-top: 140px;
}
html.short {
  height: 100%;
}
.short body {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.short main {
  flex: 1 0 auto;
}
body {
  overflow-target: none;
  overscroll-behavior: none;
}

/* RH NAV GLOSSY PAGES ONLY */
#rh-nav {
  font-family: 'Public Sans', sans-serif;
  color: #000;
  position: relative;
  top: 44px;
  height: 0;
  transition: top 1s;
}
.js-is-sticky #rh-nav {
  top: 20px;
}
.static-rh-nav #rh-nav {
  position: static;
  top: unset;
  height: 0;
}
.rh-box {
	display: flex;
	flex-direction: column;
	/*font-size: 17px;*//*AK*/
	font-size: 1.0625rem;/*AK*/
	font-weight: 700;
	margin: 0;
}
.rh-box a {
	background-color: #fff;
	color: var(--b-deep-blue);
  padding: 10px 16px;
	border: 1px solid var(--ui-light-grey);
	margin: 6px 0;
}
.rh-box a:hover,
.rh-box a.disabled {
	color: var(--b-deep-blue);
	background-color: #fff;
  text-decoration: none;
  padding-left: 9px;
  border-left: solid 8px var(--g-accent-cyan);
}
.rh-box a:first-of-type {
	margin: 0 0 6px;
}

/* ------------------- header ------------------- */
#coa {
  overflow: auto;
  height: 120px;
}
.masthead,
.masthead-bg {
  background-color: var(--b-deep-blue);
  color: #fff;
  z-index: 10;
  overflow-x: clip;
}
.masthead-bg {
	/*background: radial-gradient(circle 100vw at 0px 150px, #12487e, #12487e 55%, #1d3045 55.1%, #20354f 62%, #20354f 100%);*/
	/*background-image: url("../img/budget2024-25-banner-bg-2400x350.png");*/
  margin-left: -15px;
  margin-right: -15px;
  position: relative;
  z-index: 10000;
}
.masthead nav {
  position: relative;
  top: -75px;
  opacity: 0;
  transition: opacity 4s  ease-out;
	max-height: 260px;
}
.masthead .shown nav {
  opacity: 1;
  transition: opacity 0;
}
.masthead nav .flex-column {
  background-color: var(--b-deep-blue);
  width: max-content;
}

/* ------------------- footer ------------------- */
footer {
  color: #fff;
  background-color: var(--b-deep-blue);
}
footer.container-fluid {
  color: #fff;
  /*padding: 4em 0 0;*/
}
footer .social a {
  font-size: 36px;
  margin-left: 1.5rem;
}
footer .social a {
  font-size: 36px;
  margin-left: 1.5rem;
}
footer .social a:first-of-type {
  margin-left: 0;
}
footer .social p {
  margin: 0;
}
footer .social a .sr-only {
    font-size: 1.125rem;
    margin-left: 0;
    position: absolute;
    top: -16px;
    border-bottom: 1px solid #fff;
}
footer .footer-links h2 {
  color: #fff;
  font-family: 'Public Sans', sans-serif;
  font-weight: 700;
  font-size: 1.3125rem;
  margin-bottom: 20px;
}
footer ul {
  list-style: none;
  color: #fff;
  padding-left: 0;
  /*font-size: 16px;*//*AK*/
  line-height: 2;
}
footer a {
  color: #fff;
}
footer a:hover {
  color: #fff;
  text-decoration: none;
}

/* ------------------- topic styles ------------------- */
.feature-cards .item {
  padding: 2rem;
	height: calc(100% - 1.65em);
}
.feature-cards img.icon {
    max-width: 70px;
    max-height: 70px;
    margin-right: 2rem;
}
.feature-cards.list .item p {
  border-bottom: 2px solid var(--ui-light-grey);
	padding-bottom: 1rem;
}
.feature-cards.list .item p:last-of-type {
  border-bottom: 0;
	padding-bottom: 0;
}
.feature-cards .item-inner {
    margin-bottom: 1rem;
}
.title-box {
    display: flex;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 2rem;
    color: var(--b-deep-blue);
    min-height: 300px;
}
.glossy .title-box h1 {
	color: var(--b-deep-blue);
	font-size: 3.25rem;
}
.glossy .feature-cards h2 {
  color: var(--ui-almost-black);
  font-size: 1.625rem;
  margin-top: 0;
}
.default .feature-cards.list .item {
  border: 1px solid var(--g-accent-cyan);
  border-left: 12px solid var(--g-accent-cyan);
}
.feature-cards.solid h2,
.feature-cards.outline h2 {
	font-family: 'Public Sans', sans-serif;
	/*font-size: 18px;*//*AK*/
	font-size: 1.125rem;/*AK*/
	font-weight: 700;
}
.default .feature-cards.outline .item {
  /*border: 1px solid var(--g-accent-cyan);*/
	border-width: 1px;
	border-style: solid;
}
.default .feature-cards.solid .item {
  /*background-color: var(--g-accent-cyan);*/
}
.row.feature-cards.solid {
    margin-top: 1.65rem;
}
.glossy .item ul {
  padding-inline-start: 0;
  margin-bottom: 0.5rem;
}
.glossy .item li {
  list-style: none;
  border-bottom: 1px solid var(--ui-light-grey);
  padding: .75rem 0;
}
.glossy .item li:last-of-type {
  border-bottom: none;
}
.glossy .item p:last-child {
  margin-bottom: 0;
}
.glossy .item p:last-child span {
  font-size: 1.25rem;
}
#title-area {
  background-color: var(--g-accent-cyan-tint);
	background-repeat: no-repeat;
	background-position: 50% 0;
}
@media all and (min-width: 1600px) {
  #title-area {
    background-size: 100%;
  }
}
#title-area.t1 {
	background-image: url("../img/themes/hero-cost-of-living.jpg");
}
#title-area.t2 {
	background-image: url("../img/themes/hero-health.jpg");
}
#title-area.t3 {
	background-image: url("../img/themes/hero-housing.jpg");
}
#title-area.t4 {
	background-image: url("../img/themes/hero-education.jpg");
}
#title-area.t5 {
	background-image: url("../img/themes/hero-recovery.jpg");
}
#title-area.t6 {
	background-image: url("../img/themes/hero-economy.jpg");
}
#title-area.t7 {
	background-image: url("../img/themes/hero-equality.jpg");
}

.list-group-item,
.list-group-item.active {
  color: var(--ui-almost-black);
}
.default .list-group-item.active {
  background-color: var(--g-accent-cyan);
}
footer.container-fluid {
  padding: 0;
}
footer .footer-links {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

/* ----- OLD GLOSSY CARD STYLES - REMOVE IF NO LONGER REQUIRED ----- */
.glossy .card {
  border: 1px solid #eee;
  margin: 15px 0 15px 0 !important;
}
.glossy .card-text {
  padding: 10px;
}
.glossy .card-header h2, .glossy .card-header h3 {
  color: var(--ui-almost-black);
}
.default .card-header {
  background-color: var(--g-accent-cyan);
  color: var(--b-deep-blue);
}
.icon-cards .card {
    background-color: transparent;
    border: none!important;
}
.icon-cards .card-body, .icon-cards .card-footer {
    padding: .25rem;
    background-color: transparent;
}
.icon-cards .card-footer {
    border-top: none!important;
}

/* ------------------- content ------------------- */
.content, #title-area {
  padding-top: 44px;
  padding-bottom: 44px;
	/*min-height: 406px;*/
}
.otp-container {
	padding-bottom: 0px;
	background-color: var(--g-accent-cyan-tint);	
}

#title-area + .content {
  padding-top: 2px;
}
.band {
  padding: 2em 0 2em;
}
.item {
  margin-bottom: 1.65em;
}
.item h2 a {
	color: #000;
}
.item h2 {
	color: #000;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: 'Public Sans', sans-serif;
    margin: 0 0 1rem;
}
.item-body {
	position: relative;
  background-color: #fff;
	border: 3px solid transparent;
  min-height: 210px;
}
.item-body:hover {
  border: 3px solid var(--b-azure);
  box-shadow: 0px 8px 24px 0px rgba(99, 99, 99, 0.15); 
}
.item-body:hover h3 a {
	text-decoration: underline;
}
.item-body .fa {
	color: transparent;
	font-size: 24px;
}
.item-body:hover .fa {
	color: #000;
}
.item-body .svg-arrow-right {
  display: none;
  max-width: 21px;
}
.item-body:hover .svg-arrow-right {
	display: inline-flex;
}
.no-gutters .item-body, .item-body {
  padding: 1.8em;
}
a[href="#masthead-top"],
a[href="#masthead-top"]:hover {
	text-decoration: none;
}
a[href="#masthead-top"] .btt-txt {
	color: var(--b-deep-blue);
	border: 3px solid var(--g-accent-cyan);
}
a[href="#masthead-top"]:hover .btt-txt,
a[href="#masthead-top"]:focus .btt-txt,
a[href="#masthead-top"] .btn-outline-info.btt-txt:not(:disabled):not(.disabled):active {
	color: var(--b-deep-blue);
	background-color: var(--g-accent-cyan);
	border-color: var(--g-accent-cyan);
}
.btt {
	font-size: 18px;
}
.btt a {
	text-decoration: none;
}

/* ------------------- typography and cards ------------------- */
body {
  font-family: 'Public Sans', sans-serif;
  /*font-size: 16px; *//*AK*/
  font-weight: 400;
  line-height: 1.5;
  font-optical-sizing: auto;
}
a {
  color: #20607F;
	text-underline-offset: 0.25em;
}
a:hover {
  color: #20607F;
  text-decoration: underline;
}
a:hover span {
	text-underline-offset: 0.1em;
}
a.disabled {
  pointer-events: none;
  cursor: default;
}
h1 {
  font-family: 'Publico Headline Web', 'Source Serif Pro', sans-serif;
	font-weight: 700;
  color: var(--b-deep-blue);
}
h2, h3, h6, .h2, .h3, .h6 {
  font-family: 'Public Sans', sans-serif;
	font-weight: 700;
  color: var(--b-mid-blue);
}
h4, h5, .h4, .h5 {
  font-family: 'Public Sans', sans-serif;
	font-weight: 500;
  color: #000;
}
h1 {
  font-size: 3.5rem;
}
.masthead h1 {
	font-size: 3rem;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 1rem;
}
h2 {
	font-size: 2.6rem;
  margin-top: 1rem;
}
h2.display {
	font-family: 'Publico Headline Web', 'Source Serif Pro', sans-serif;
}
h2.small {
	font-size: 1.75rem;
}
h3 {
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
	color: #000000;
}
h4 {
	font-size: 1.25rem;
  margin-bottom: 0.6rem;
}
h5 {
	font-size: 1.125rem;
  margin-top: 1rem;
}
h6 {
	font-size: 1.125rem;
  margin-top: 1rem;
}
.tag-line {
  font-weight: 400;
  font-size: 2rem;
  color: #FFF;
}
.lead {
	color: var(--b-mid-blue);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
}
figcaption {
  font-weight: 700;
}
.item-body .btn {
  background-color: #fff;
  border-color: var(--b-mid-blue);
}
#main .item-body span:last-of-type {
  margin-right: 0;
}
.budget-papers .item {
	flex-grow: 1;
  min-height: 158px;
	margin-bottom: 0;
}
.budget-papers .item-body {
  background-image: linear-gradient(to bottom, var(--b-azure) 0%, var(--b-azure) 3px, #fff 3px, #fff 100%);
  background-repeat: no-repeat;
  border: none;
}
.budget-papers .item-body:hover,
.budget-papers .item-body:focus {
  border: 3px solid var(--b-azure) !important;
  box-shadow: 0px 8px 24px 0px rgba(99, 99, 99, 0.15);
  border-top: none !important;
  margin-left: -3px;
  margin-right: -3px;
}
.budget-papers .item-body p {
  margin-bottom: 0;
}
.budget-papers .item .card-title span.small {
	color: #767676;
	/*font-size: 16px;*//*AK*/
	font-size: 1rem;/*AK*/
	display: table;
	margin-bottom: -12px;
}
h3.card-title {
    /*font-size: 18px;*//*AK*/
	font-size: 1.125rem;/*AK*/
    font-family: 'Public Sans', sans-serif;
}
h3.card-title a, a h3.card-title {
  color: #000;
  text-decoration: none;
}
.rh-box .list-group-item {
  border: none;
}
.rh-box .list-group-item a {
  color: var(--ui-almost-black);
}
blockquote {
  font-family: 'Publico Headline Web', 'Source Serif Pro', sans-serif;
  /*font-size: 24px;*//*AK*/
  font-size: 1.5rem;/*AK*/
  font-weight: 700;
  padding: 1em;
}
blockquote p:last-of-type {
  margin-bottom: 0;
}
.callout {
	font-family: 'Public Sans', sans-serif;
	font-weight: 700;
	/*font-size: 18px; *//*AK*/
	font-size: 1.125rem; /*AK*/
	padding: 1em;
	margin-bottom: 1em;
	margin-top: 1em;
}
.callout p {
	margin-bottom: 0!important;
}
.default .callout {
	border-left: 8px solid var(--g-accent-cyan);
}
.otp {
	font-family: 'Public Sans', sans-serif;
	font-weight: 400;
	/*font-size: 16px; *//*AK*/
	padding: 2rem;
	border-left: 8px solid var(--g-accent-cyan);
	margin-bottom: .75em;
	margin-top: .75em;
}
.otp p, .otp ul {
	margin-bottom: 0!important;
}
#otpLabel {
  font-size: 1.25rem;
  font-weight: 700;
}
.otp a:hover,
.otp a:focus {
  text-decoration: none;
}

/* ------------------- navigation ------------------- */
#toggle {
  background: none;
  border: none;
  padding: 0 12px 6px;
  margin-top: 8px;
	z-index: 11;
}
#toggle span {
  font-family: var(--fa-style-family);
  font-weight: var(--fa-style);
  color: #fff;
  font-size: 1.75em;
  margin-top: 10px;
  margin-bottom: 0;
}
.banner-toggle {
  z-index: 10;
}
.banner-toggle.hidden {
  height: 0;
  opacity: 0;
  display: none;
}
nav {
  align-items: normal;
  padding: 0;
}
nav > div {
    background-color: var(--b-deep-blue);
    width: fit-content;
}
nav a.nav-link {
  color: #fff;
  background-color: var(--b-deep-blue);
  display: table;
}
nav a.nav-link:hover, nav a.nav-link:focus, nav a.nav-link:active {
  color: #fff;
  text-decoration: underline;
}
.nav-link {
    /*font-size: 16px;*//*AK*/
    font-weight: 700;
    padding: 6px 0 6px 2px;
    margin: 0 12px;
}
.nav-link:hover:before,
.nav-link.disabled:before {
    content: "\f061";
    position: absolute;
    left: -8px;
    font-family: var(--fa-style-family);
    font-weight: var(--fa-style);
}
.nav-link:last-of-type {
  /*margin-bottom: 48px; <-- commented out due to new positioning of nav */
}
.nav-link.active {
  color: rgba(255, 255, 255, 0.55);
}

/* ------------------- buttons and form controls ------------------- */
.btn {
	font-family: 'Public Sans', serif;
	/*font-size: 18px;*//*AK*/
	font-size: 1.125rem;/*AK*/
	font-weight: 700;
	text-align: left;
	padding: 6px 32px 6px;
	border-radius: 32px;
}
.btn-dark {
  color: #fff;
	background-color: var(--b-deep-blue);
	border: 3px solid var(--b-deep-blue);
}
.btn-dark:hover,
.btn-dark:focus {
  color: var(--b-deep-blue);
  background-color: #fff;
  border: 3px solid var(--b-deep-blue);
  text-decoration: none;
}
.btn-outline-dark {
  color: #fff;
	background-color: var(--b-deep-blue);
	border: 3px solid #fff;
}
.btn-outline-dark:hover,
.btn-outline-dark:focus {
  color: var(--b-deep-blue);
	background-color: #fff;
	border: 3px solid #fff;
  text-decoration: none;
}
span.align-center-btn {
	/* align label text with vertical center of buttons */
	position: relative;
  top: -6px;
}

/* ------------------- tables ------------------- */
.overflow-x-div {
  overflow-x: auto;
}
.scroll-x-active {
	outline: 2px dashed var(--ui-light-grey);
	outline-offset: 8px;
	margin-bottom: 1rem;
}
.scroll-x-active::before {
	content: "This table contains more content, please scroll sideways";
  color: #000;
  background: var(--ui-light-grey);
  padding: 8px 2px 2px;
}
th {
  padding: .5em;
}
table tbody td {
  padding: .5em;
}
tr.border-bottom {
    border-bottom: 1px solid var(--b-mid-blue)!important;
}
td.border-left {
    border-left: 1px solid var(--b-mid-blue)!important;
}
caption {
  caption-side: top;
  /*font-size: 20px;*//*AK*/
  font-size: 1.25rem; /*AK*/
  font-weight: 700;
  color: #000;
}
.table-banded, .table-glossy {
	margin: 1rem 0 1rem;
	border: 2px solid var(--b-mid-blue);
	border-top: 12px solid var(--b-mid-blue);
}
.table-banded tr:nth-of-type(2n+1) {
    background-color: var(--ui-lightest-grey);
}
.table-banded tr {
  border-bottom: 1px solid var(--ui-lightest-grey);
}
.table-small {
	/*font-size: 14px;*//*AK*/
	font-size: 0.875rem;/*AK*/
}
.boring-table {
	margin-bottom: 2rem;
}
.boring-table thead,
.boring-table th {
	font-weight: 700;
}
.boring-table tr {
	border-bottom: 1px solid var(--ui-lightest-grey);
}
.boring-table tr:hover {
    background-color: var(--ui-lightest-grey);
}
.boring-table th,
.boring-table td {
	padding: 1rem;
}
.boring-table td.indent {
	padding-left: 2rem;
}
.boring-table td.indent-double {
  padding: 8px 8px 8px 40px;
}
/* Prevent download links breaking onto new line */
.boring-table td:nth-of-type(2) {
    white-space: nowrap;
}
/* Limit line length of first column */
.boring-table td:nth-of-type(1) {
    width: 70ch;
}
.info-table th {
	font-weight: 400;
}
#main table.info-table thead tr {
  background-color: #fff;
  color: #000;
}
.fancy-table th {
	font-family: 'Publico Headline Web', 'Source Serif Pro', sans-serif;
	/*font-size: 30px;*//*AK*/
	font-size: 1.875rem;/*AK*/
	font-weight: 700;
	border-bottom: 3px solid var(--ui-grey);
}
.fancy-table tr:nth-of-type(2n+1) {
	color: #fff;
  background-color: var(--b-mid-blue);
}
table.table-glossy thead tr {
  background-color: var(--b-mid-blue);
  color: #fff;
  font-weight: 700;
}

/* PBS list that looks like table style */
ul.table-like, ul.table-like ul {
    list-style-type: "";
    padding:0; margin:0;
}
ul.table-like li {
    border-top: solid 1px var(--ui-lightest-grey);
}
ul.table-like p:hover {
   background-color: var(--ui-lightest-grey);
}
ul.table-like p {
    margin:0; padding:1rem;
}
ul.table-like ul p {
    padding-left: 2rem;
}

/* Divs that look like table */
div.table-like h2 {
    font-size: var(--bs-body-font-size);
    font-weight: normal;
	line-height: inherit;
}
div.table-like {
	border-top: solid 1px var(--ui-lightest-grey);
	border-bottom: solid 1px var(--ui-lightest-grey);
	padding:1rem;
}
div.table-like:hover {
	background-color: var(--ui-lightest-grey);
}
/* ------------------- glossy boxes ---------------- */
.glossy .cameo-box {
	margin-bottom: 2em;
}
.glossy .row.cameo-box {
  margin-left: 0;
  margin-right: 0;
}
.glossy .cameo-box h3,
.feature-cards .item h3 {
	font-family: 'Public Sans', sans-serif;
	font-size: 1rem;
}
.glossy .cameo-box h3, .glossy .cameo-box p, .glossy .cameo-box a,
.feature-cards .item h3 {
    color: #fff;
}
.cameo-box .col-lg-7,
.cameo-box .col-lg-12 {
  /* for text column */
  background-color: var(--b-deep-blue);
  padding: 40px;
}
.inner-cameo {
  /* for pair of text columns */
  background-color: var(--b-deep-blue);
  padding: 40px;
  height: 100%;
}
.cameo-box .col-lg-5 {
  /* for image column */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.cameo-box img {
  flex-shrink: 0;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.cameo-box .col-lg-7,
.cameo-box .col-lg-8 {
  position: static;
}
.cameo-box p:last-of-type {
    margin-bottom: 0;
}

/* ------------------- Bootstrap extensions/overrides ------------------- */
.border-left {
	border-left-color: var(--b-deep-blue)!important;
}
.border-right {
	border-right-color: var(--b-deep-blue)!important;
}
.card {
  margin: 15px;
}
.navbar {
  padding-right: 0;
}
.navbar-toggler {
  background-color: #fff;
}
div#navbar.show {
  position: absolute;
  top: 9px;
  right: 70px;
}
.masonry-grid-row {
  margin-right: -15px;
  margin-left: -15px;
}

/* ------------------- 2rem spacing classes ------------------- */
.m-2r {
  margin: 2rem !important;
}
.mx-2r {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}
.my-2r {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.mt-2r {
  margin-top: 2rem !important;
}
.mb-2r {
  margin-bottom: 2rem !important;
}
.ms-2r {
  margin-left: 2rem !important;
}
.me-2r {
  margin-right: 2rem !important;
}
.p-2r {
  padding: 2rem !important;
}
.px-2r {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}
.py-2r {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.pt-2r {
  padding-top: 2rem !important;
}
.pb-2r {
  padding-bottom: 2rem !important;
}
.ps-2r {
  padding-left: 2rem !important;
}
.pe-2r {
  padding-right: 2rem !important;
}

/* ------------------- masonry 3, 2, and 1 column layouts ------------------- */
.grid-item {
  width: 33%;
}
.grid-item--width2 {
  width: 66%;
}
/* fluid 2 columns */
@media (max-width: 991.98px) {
  .grid-item, .grid-item--width2 {
    width: 50%;
  }
}
@media (max-width: 767.98px) {
  .grid-item, .grid-item--width2 {
    width: 100%;
  }
}

/* ------------------- responsive styles ------------------- */
@media all and (min-width: 1600px) {
	.masthead-bg {
    /*background: radial-gradient(circle 96vw at 0px 150px, #12487e, #12487e 55%, #1d3045 55.1%, #20354f 62%, #20354f 100%);*/
	}
}
@media all and (max-width: 1199.98px) and (min-width: 992px) {
	.budget-papers .item {
    min-height: 178px;
  }
}
@media all and (max-width: 1199.98px) {
  h1, .h1 {
    font-size: 3.5rem;
  }
	h1.display, .h1.display {
    font-size: 2.5rem;
  }
  .masthead h1 {
    font-size: 2.5rem;
    margin: 0 0 .5rem;
  }
  .lead {
    font-size: 1.25rem;
  }
	.btn {
    padding: 2px 12px 1px;
    font-size: 1rem;
  }
}
@media all and (max-width: 991.98px) and (min-width: 768px) {
	.item .fa {
    font-size: 2rem;
    min-width: 24px;
	}
}
@media all and (max-width: 991.98px) {
  #coa {
    height: 88px;
  }
  .js-is-sticky #coa img {
    top: 7px;
  }
  .js-is-sticky #toggle, .js-is-sticky #toggle span {
    top: -4px;
  }
	.glossy .title-box h1 {
    font-size: 2.5rem;
  }
	h1, .h1 {
	  font-size: 2.5rem;
	}
	h2, .h2 {
    font-size: 1.875rem;
  }
	h3, .h3 {
    font-size: 1.5rem;
  }
	h4, .h4 {
    font-size: 1.125rem;
  }
	h5, .h5 {
    font-size: 1.125rem;
  }
	h6, .h6 {
    font-size: 1rem;
	}
	.masthead nav {
    top: -56px;
    left: 40px;
  }
  .banner-toggle nav {
    margin-bottom: 1rem;
  }
  #rh-nav {
    /*top: 481px;*/
  }
  .rh-box {
    font-size: 1rem;
  }
  .cameo-box .col-lg-5,
  .cameo-box .col-lg-4,
	.tool .cameo-box .col-lg-4 {
    /* image column */
    display: none;
  }
  footer.container-fluid {
    padding: 0 0 1em;
  }
  footer .col-md, footer .col-md-3 {

    padding-left: 6px;
    padding-right: 6px;
  }
  footer h2 {
    font-size: 1rem;
    margin-bottom: 12px;
  }
  footer ul {
    /*font-size: 14px;*//*AK*/
	font-size: 0.875rem;/*AK*/
  }
  footer .social a {
    font-size: 30px;
    margin-left: 0.5rem;
  }
}
@media all and (max-width: 767.98px) {
  .masthead-bg {
    /*background: radial-gradient(circle 140vw at 0 190px, #12487e, #12487e 55%, #1d3045 55.1%, #20354f 62%, #20354f 100%);*/
	}
  .masthead h1 {
    display: none;
  }
	.logo {
		padding: 0;
	}
  .banner-toggle nav {
    margin-bottom: 1.5em;
  }
	.masthead nav {
    position: static;
    top: unset;
    transition: opacity 0s ease-out;
    max-height: unset;
  }
  .nav-link {
    margin-left: 0;
  }
  .nav-link:hover:before, .nav-link.disabled:before {
    left: calc((100vw - 540px) / 2);
  }
	#title-area {
    background-position: 0 0;
  }
	#title-area.t3 {
    /*background-position: 100% 0;*/
  }
	.cameo-box p.small {
    display: none; /* hide cameo box image credit */
  }
}
@media all and (max-width: 575.98px) {
  .masthead > .logo-controls {
    padding-top: 12px;
    padding-bottom: 12px;
    transition: 0.25s;
  }
	.masthead-bg {
    /*background: radial-gradient(circle 200vw at -120px 180px, #12487e, #12487e 55%, #1d3045 55.1%, #20354f 62%, #20354f 100%);*/
	}
  #coa, .js-is-sticky #coa {
    height: unset;
    padding: 0.75em 0 0.75em;
  }
	.logo {
		padding-left: 15px;
	}
  .logo img {
    min-width: 250px;
  }
  .js-is-sticky #coa img {
    transform: scale(1);
    top: 0;
  }
  #toggle, #toggle span, .js-is-sticky #toggle, .js-is-sticky #toggle span {
    position: relative;
    top: -4px;
    padding: 4px 4px 0 0;
  }
  button#toggle:focus {
    outline: none;
  }
  /* menu alignment/spacing on small screens */
  #banner-toggle .offset-xl-1 {
    margin-left: 15px;
    margin-top: 0.5em;
  }
	#banner-toggle p.lead {
    display: none;
  }
	.masthead nav {
    padding-left: 12px;
  }
  .nav-link {
    padding: 6px 0px 6px 6px;
  }
  .nav-link:hover:before, .nav-link.disabled:before {
    left: 12px;
  }
  .nav-link:last-of-type {
    margin-bottom: 0;
  }
  .content, #title-area {
    padding-top: 0.75em;
		padding-bottom: 0.75em;
  }
  #title-area .btn {
    display: none;
  }
	.title-box {
		min-height: unset;
	}
  h2 {
    margin-top: 0.5em;
  }
  .item-body .btn {
    margin-right: 6px;
  }
	.popular-links {
		display: flex;
		flex-direction: column;
	}
}

/* additional non-Bootstrap breakpoint */
@media all and (max-width: 420px) {
	.item .fa {
    font-size: 2rem;
    min-width: 24px;
	}
	.glossy .title-box h1 {
		font-size: 2.25rem;
	}
}

/* extra extra small screens down to 320px wide */
@media all and (max-width: 360px) {
  #coa, .js-is-sticky #coa {
    height: unset;
    padding: 0.75em 0 0.75em;
  }
  .logo img {
    min-width: 230px;
    image-rendering: crisp-edges;
    image-rendering: -webkit-optimize-contrast;
  }
	.masthead-bg {
    /*background: radial-gradient(circle 270vw at calc(100vw * -0.595) 170px, #12487e, #12487e 55%, #1d3045 55.1%, #20354f 62%, #20354f 100%);*/
  }
  .masthead h1 {
    font-size: 8.7vw;
  }
  #toggle, #toggle span, .js-is-sticky #toggle, .js-is-sticky #toggle span {
    position: relative;
    top: 2px;
    padding: 0;
    margin: 0;
  }
  .nav-link {
    font-size: 5vw;
    /*margin: 0.5em;*/
  }
  .item .item-body span::after {
    min-width: unset;
    font-size: 3.3vw;
  }
  body {
    font-size: 4.5vw;
  }
  .glossy .title-box h1 {
		font-size: 9.5vw;
	}
	h1 {
		font-size: 9.5vw;
	}
  h2 {
    font-size: 8.9vw;
    margin-top: 0.5em;
  }
  h3 {
    font-size: 7.75vw;
  }
  h4 {
    font-size: 6.75vw;
  }
  h5 {
    font-size: 5.75vw;
  }
  h6 {
    font-size: 5.25vw;
  }
	.lead {
    font-size: 5.75vw;
  }
}

@media (pointer: coarse) {
  .masonry-grid-item {
    margin-bottom: 0;
  }
}

/* ---- new header and footer styling - in progress ---- */
.logo img {
  max-width: 320px;
  height: auto;
}

.masthead-bg {
  background-size: 2400px;
  background-position: 100% 0;
  background-repeat:no-repeat;
}

footer .grid.footer-links {
  justify-content: space-around;
  --bs-columns: 12;
  --bs-gap: 6px;
}

@media (max-width: 1200px) {
  /*.masthead-bg {
    background-position: calc(50vw - 1100px) 0;
  }*/
  footer .grid.footer-links h2 {
    font-size: 1.125rem;
  }
}

@media (max-width: 992px) {
  /*.masthead-bg {
    background-position: calc(50vw - 970px) 0;
  }*/
  .popular-links span.align-self-start {
    display: block;
  }
	footer .grid.footer-links {
    justify-content: start;
    padding-top: 2.5em;
    padding-bottom: 2.5rem;
    --bs-columns: 6;
  }
  footer .fc {
    width: 30%;
  }
}

@media (max-width: 768px) {
	.logo img {
    margin-left: 0;
  }
  footer .fc {
    width: 50%;
  }
}

@media (max-width: 575px) {
  footer .grid.footer-links {
    /*flex-direction: column;*/
    --bs-columns: 1;
  }
  footer .grid.footer-links h2 {
    margin-bottom: 6px;
  }
}

@media all and (max-width: 420px) {
	.logo img {
    max-width: 250px;
  }
}