/* viewport, major structural divs
========================================================== */
html, body {
	background: #fff;
	/* font-family: "proxima-nova", "helvetica neue", helvetica, arial, sans-serif; */
	font-family: "Avenir-Book", "Avenir", helvetica, arial, sans-serif;
	font-size: 16px;
	font-weight: 200;
	vertical-align: top;
	color: #000;
	scroll-behavior: smooth;
}

:target:before {
    content: "";
    display: block;
    height: 75px;
    margin: 0;
}


.mobile,
.hidden,
.hide { display: none; }

header {
	background: #000;
	/*
	top: 0;
	left: 0;
	min-height: 80vh;
	height: auto;
	*/
}
.full-color header { background: #fff; }
*:active { border: none; }


/*
.compact header { min-height: 45vh; }
.minimum header { min-height: 30vh; }
*/

main { min-height: 500px; }
main, footer {
	margin-top: 1px;
}

.container--content {
	margin: 0 auto;
	width: 90%;
	max-width: 90%;
	/* border: 1px solid red; */
}

.float-end {
	float: right;
	width: auto;
}


@media (max-width: 575px) {
	.desktop { display: none; }
	.mobile { display: contents; }
}



/* navigation bar
========================================================== */
.site-navigation {
	position: absolute;
	top: 0;
	left: 0;
	padding-bottom: 1rem;
	width: 100%;
	height: auto;
}
.full-color .site-navigation { border-bottom: 1px solid #eee; }
.navbar {
	padding-top: 1rem;
	padding-bottom: 0;
}
.navbar-brand.desktop img {
	width: 11rem;
}
.navbar-nav {
	font-size: 1.05em;
}
.navbar--secondary {
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	z-index: 1000;
}
.navbar--primary {
	margin-top: 1.5rem;
	z-index: 100;
}

.nav-item {
	background: transparent;
}
.nav-link {
	margin-right: 1rem;
	color: #fff;
}
.nav-link:focus,
.nav-link:active,
.nav-link:hover,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
	color: #fff;
}

.full-color .nav-link:focus,
.full-color .nav-link:active,
.full-color .nav-link:hover,
.full-color .navbar-nav .nav-link.active,
.full-color .navbar-nav .nav-link.show {
	color: #000;
}

.full-color .nav-link {
	color: #000;
}

.navbar-nav--secondary {
	font-size: 0.7rem;
}

.nav-item:focus {
	border-bottom: 3px solid #f4721a;
}
.list-inline-item--nav-label,
.nav-item:focus,
.list-inline-item--nav-label .dropdown-toggle.show {
	border-bottom: none;
	margin-bottom: 0;
}

.dropdown-menu.show {
	margin-top: 2px;
	padding: 1.5rem 1.5rem 2rem 1.5rem;
	border-radius: 0;
	--bs-dropdown-link-active-color: #000;
}

.dropdown-menu--medium {
	width: 800px;
}

.dropdown-menu--large {
	width: 850px;
}

.dropdown-menu--medium[data-bs-popper] {
	left: -150px;
}

.dropdown-item {
	padding: 0.15rem;
	font-size: 0.8rem;
}

.dropdown-menu--large .dropdown-item {
	white-space: normal;
}

.dropdown-menu--small .dropdown-item {
	margin-bottom: 0.5rem;
	white-space: normal;
}

.dropdown-menu .title {
	font-weight: 600;
}

.dropdown-toggle {
	outline-width: 5px;
}

.dropdown-toggle.show {
	border-bottom: 5px solid #f4721a;
	margin-bottom: -5px;
}

.fa-bars, .fa-magnifying-glass {
	margin-top: 0.55rem;
	margin-left: 1rem;
	color: #fff;
}

.full-color .fa-magnifying-glass {
	color: #000;
}

.dropdown-menu ul {
	margin-bottom: 1rem;
}
.dropdown-menu h4 {
	margin: 1rem 0 1.5rem 0;
	font-weight: 500;
}
.dropdown-menu h5 {
	margin-bottom: 0.75rem;
	font-weight: 500;
}
.dropdown-menu h5 + p {
	margin-top: 0.25rem;
}
.dropdown-menu p { font-size: smaller; }

.dropdown-item a {  }

.dropdown-menu h5 a:hover,
.dropdown-menu h4 a:hover,
.dropdown-item:focus,
.dropdown-item:hover {
	background: #eee;
}

.dropdown-menu::before,
.dropdown-toggle::after { border: none; }

.btn-popover,
.btn-popover:hover {
	padding: 0.25rem 0.5rem;
	color: #fff;
	border: 1px solid #fff;
}

.dropdown-item.active, .dropdown-item:active {
	background: inherit;
}

.no-break {
	display: inline-block;
	min-width: 50px;
}

@media (max-width: 575px) {
	.site-navigation {
		padding-bottom: 0;
		background: #000;
	}
	.navbar-collapse {
		background: #000;
		width: 100%;
		color: #fff;
	}
	.nav-link,
	.full-color .nav-link {
		margin-left: 1rem;
		color: #fff;
	}
	.nav-link:focus,
	.nav-link:active,
	.nav-link:hover {
		color: #fff;
	}
	.navbar-brand.mobile {
		display: inline-block;
		width: 70%;
	}
	.mark--bsr {
		margin-bottom: 0.5rem;
		padding: 0.25rem 0;
		width: 35%;
	}
	.navbar {
		margin: 0;
		padding: 0;
	}
	.navbar-nav {
		padding: 0.75rem 0;
	}
	.navbar--primary {
		margin-top: 0;
		width: 100%;
		background: #000;
	}
	.navbar-nav--primary {
		width: 100%;
	}
	.navbar--secondary {
		border-bottom: none;
	}
	.dropdown-menu--large,
	.dropdown-menu--medium {
		width: 100%;
	}
}


/* page navigation bar and tabs
========================================================== */
.nav {
	--bs-nav-link-padding-x: 0.5rem;
}
.sticky-top {
	z-index: 50;
}
.nav-item.top { display: none; }
.header--scrolled .nav-item.top { display: block; }

#page-navigation {
	margin: 0;
	padding: 0;
	background: #fff;
	transition: background-color 0.5s ease;
	border-bottom: 1px solid #f4721a;
}
#page-navigation.header--scrolled { }
#page-navigation .nav-item {
	margin: 0.5rem 0 3px 0;
	font-size: 0.9rem;
	border-bottom: none;
}
#page-navigation .photo-credit {
	margin-top: 1rem;
	font-size: 0.65rem;
}
#page-navigation li a.active {
	margin-bottom: -3px;
	border-bottom: 3px solid #f4721a;
}
#page-navigation .dropdown-menu li a.active {
	border-bottom: none;
}
#page-navigation .nav-link {
	color: #000;
}
#page-navigation .dropdown-menu.show {
	margin-top: -2px;
	padding: 0 1rem 1rem 1rem;
}

.page-navigation--bar li,
.page-navigation--bar li a,
.page-navigation--bar li a.active {
	margin: 0.25rem 0.5rem;
	border-bottom: none;
	font-size: 0.8rem;
}

.page-navigation--bar {
	padding-top: 0.5rem;
	border-top: 1px solid #c9c9c9;
	border-bottom: 1px solid #c9c9c9;
}

.page-navigation--bar .dropdown-menu li {
	margin-bottom: 0;
}

 .list-inline-item--nav-label:not(:last-child) {
	 margin-right: 2.5rem;
	 font-weight: 800;
 }

.nav-tabs {
	margin-top: 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: none;
}
 .nav-tabs .nav-link.active {
	 border-color: #fff #fff #f4721a;
 }

.events .nav-tabs {
	padding-bottom: 0;
	border-bottom: 1px solid #c9c9c9;
}
.events .nav-tabs li {
	margin-bottom: 0;
}

#careers-why-join {
	padding-bottom: 0;
	border-bottom: 1px solid #c9c9c9;
}

#careers-why-join li {
	margin-bottom: 0;
}
#careers-why-join .nav-link {
	padding: 0.25rem 1rem;
	color: #000;
	font-weight: bold;
	cursor: pointer;
	border: 1px solid #c9c9c9;
	border-radius: 0;
}
#careers-why-join .nav-link.active {
	color: #fff;
	background: #7c162e;
	border: 1px solid #7c162e;
}


@media (max-width: 575px) {
	.page-navigation {
		display: none;
	}
	.page-navigation li,
	.nav-tabs .nav-link.active,
	.nav-tabs .nav-link {
		padding: 0.5rem;
		margin-left: 0;
		color: #000;
		font-size: 0.75rem;
	}
 }


/* carousel
========================================================== */
#carouselHome {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 90vh;
	z-index: 2;
}
.carousel-caption,
.carousel-indicators {
	left: 0;
	text-align: left;
}
.carousel-caption {
	top: 36%;
	/* left: 5%; */
	padding: 0 10rem;
	width: 100%;
}
.carousel-indicators.mobile {
	display: none;
}
.carousel-indicators {
	position: absolute;
	/* left: 7%; */
	z-index: 2;
	bottom: 150px;
	display: flex;
	padding: 0;
	justify-content: start;
	margin-left: 12rem;
	border-top: 1px solid #c9c9c9;
}
.carousel-indicators [data-bs-target] {
	cursor: pointer;
	margin-right: 2rem;
	background: transparent;
	width: 100%;
	text-indent: 0;
	margin-top: -10px;
	opacity: 0.85;
	transition: opacity .6s ease
}

.carousel-indicators--individual {
	margin-right: 1.5rem;
	max-width: 200px;
	text-align: left;
}

.carousel-indicators h5 {
	padding-top: 0.75rem;
	background: transparent;
}

.carousel-indicators [data-bs-target].active {
	margin-top: -5px;
	opacity: 1;
	border-top: 5px solid #f4721a;
}

.carousel-indicators.carousel-indicators--work-examples [data-bs-target] {
	margin-top: 0;
	margin-right: 0.5rem;
	padding: 0.05rem 0.5rem;
	color: #fff;
	font-size: smaller;
	height: auto;
	width: auto;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
}

.carousel-indicators.carousel-indicators--work-examples {
	position: static;
	margin-left: 0;
	margin-right: 0;
	border-top: none;
}

.carousel-indicators.carousel-indicators--work-examples [data-bs-target].active {
	background: #fff;
	color: #7c162e;
	border-top: none;
}

.carousel-inner p { font-size: 1.5rem; }

.carousel-inner a,
.carousel-inner a:hover { color: #fff; }

.carousel-indicators--individual a,
.carousel-indicators--individual a:hover {
	margin-top: 5px;
	color: #fff;
	font-size: 0.85rem;
	line-height: 1;
	text-decoration: none;
}

.carousel-caption h1 {
	font-weight: 600;
	font-size: 3.75rem;
	background: transparent;
}

.carousel--simple .active {
	margin-bottom: 50px;
}


@media (max-height: 799px ) {
  .carousel-caption h1 {
	  font-size: 2.75rem;
  }
}

@media (max-height: 650px ) {
	.carousel-caption {
		top: 40%;
	}
	.carousel-indicators {
    	margin-bottom: 1rem;
    }
	.carousel-caption h1 {
	  font-size: 1.5rem;
  }
  .carousel-indicators--individual a, .carousel-indicators--individual a:hover {
	  font-size: 0.7rem;
  }
}

@media (max-height: 600px ) {
	.carousel-indicators.desktop { display: none; }
	.carousel-indicators.mobile { display: block; }
	.carousel-indicators {
		margin-left: 1rem;
		border-top: none;
		bottom: 50px;
		margin-left: 12rem;
		width: 25%;
	}
	.carousel-indicators h5 {
		display: none;
	}
	.carousel-indicators [data-bs-target] {
		margin-top: 0;
		border-top: 3px solid #fff;

	}
	.carousel-indicators [data-bs-target].active {
		margin-top: 0;
		border-top: 3px solid #fff;
	}
}

@media (max-width: 575px) {
	.carousel-caption {
		top: 6.5rem;
		padding: 0;
	}
	.carousel-caption h1 {
		font-size: 2rem;
	}
	.carousel-indicators.desktop { display: none; }
	.carousel-indicators.mobile { display: block; }
	.carousel-indicators {
		margin-left: 1rem;
		border-top: none;
		bottom: 50px;
	}
	.carousel-indicators h5 {
		display: none;
	}
	.carousel-indicators [data-bs-target] {
		margin-top: 0;
		border-top: 3px solid #fff;

	}
	.carousel-indicators [data-bs-target].active {
		margin-top: 0;
		border-top: 3px solid #fff;
	}
	.carousel-inner p { font-size: 1rem; }
}

/* jumbotron
========================================================== */
.jumbotron {
	position: relative;
	height: 75vh;
}

.compact .jumbotron {
	/* padding: 2rem 0; */
	padding: 2rem 0 1rem 0;
	height: auto;
}

.jumbotron--hero {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 75vh;
	z-index: 2;
}
.hero-image {
	height: 75vh;
	object-fit: cover;
	width: 100%;
	filter: brightness(0.6);
}
.jumbotron--home { height: 90vh; }
.jumbotron--home .hero-image {
	height: 90vh;
}

.billboard {
	/*
	margin-top: 100px;
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	margin-top: 200px;
	margin-bottom: 7rem;
	border: 1px solid red;
	*/
}

.compact .billboard { margin-top: 200px; height: auto; }

.jumbotron--hero .billboard {
	position: absolute;
	/* top: 300px; */
	top: 37vh;
	width: 100%;
	height: auto;
	z-index: 1;
}

.reverse .billboard {
	color: #fff;
}

.indicator-down {
	position: absolute;
	bottom: 100px;
	right: 100px;
	background-color: transparent;
 	border-radius: 40px;
	border: 1px solid #fff;
	height: 42px;
 	width: 42px;
 	font-size: 32px;
  	text-align: center;
	z-index: 2;
}
.indicator-down a,
 .indicator-down a:hover,
 .indicator-down a:active {
	color: #fff;
}

.jumbotron .display-1 {
	font-size: 4rem;
	font-weight: 600;
	background: transparent;
}

@media (max-height: 800px ) {
  .jumbotron .display-1 {
	  font-size: 2.5rem;
  }
}
@media (max-height: 600px ) {
  .jumbotron .display-1 {
	  font-size: 1.5rem;
  }
}
@media (max-width: 575px) {
	.jumbotron,
	.jumbotron--hero,
	.hero-image { height: 50vh; }
	.jumbotron--home {
		height: 75vh;
	}
	#carouselHome {
		height: 75vh;
	}
	.jumbotron--home .hero-image {
		height: 75vh;
	}
	.jumbotron--hero .billboard {
		top: 7.5rem;
	}
	.compact .jumbotron {
		padding: 0;
	}
	.compact .billboard {
		margin-top: 7rem;
	}
	.jumbotron .display-1 {
		font-size: 1.05rem;
	}
	.compact .display-1 {
		font-size: 2.5rem;
	}
}




/* backgrounds and borders
========================================================== */
.bg--primary { background: #7c162e; color: #fff; }
.bg--neutral { background: #f7f6f5; }
.bg--neutral-secondary { background: #cbc4bc; color: #fff; }
.bg--neutral-tertiary { background: #6e787b; color: #fff; }
.bg--secondary { background: #f4721a; color: #fff;}
.bg--tertiary { background: #3db8db; color: #fff; }
.bg--quaternary { background: #9fc80b; color: #000; }
.bg--warning { background: #f5a800; color: #fff; }
.bg--black { background: #000; color: #fff; }
.bg--neutral p { background: transparent; }

.section--primary-bg-gradient {
 	background: linear-gradient(to right, rgba(124, 24, 46, 0.85), rgba(244, 114, 26, 0.85)), center center;
}

th.bg--primary { background-color: #7c162e; color: #fff; }


/* non-navigation links
========================================================== */
a,
a:hover,
a:active {
	color: #000;
	text-decoration: none;
}

h1, h2, h3 { line-height: 1.5; }
main p a,
main li a { border-bottom: 1px solid #f4721a; }

main p a.clean,
main li a.clean,
.modal-body p a.clean,
.modal-body li a.clean,
.sidebar li a,
.list-group-item a { border-bottom: none; }

.text--primary a { color: #7c162e; border-bottom: 1px solid #7c162e; }
.text--secondary a { color: #f4721a; }

.list h2 a,
.tag-label a {
	color: #000;
}
.list a:hover,
.list a:active {
	color: #f4721a;
	border-bottom: 1px solid #f4721a;
}

main .people--list .card-footer p a,
main .people--page .card-footer p a { border-bottom: none; }

.bg--neutral-secondary a,
.bg--tertiary a,
.bg--primary a {
	color: #fff;
	border-bottom: 1px solid #fff;
}

.bg--black a,
.section--case-studies a { color: #fff; }


/* typography
========================================================== */
p, li, h1, h3, h4, h4, h5, h6 {
	background: transparent;
}
h1, h2, h3, .diplay-1 {
	font-family: "Avenir-Heavy", "Avenir", helvetica, arial, sans-serif; font-weight: 600;
}
h4, h5, h6 { font-weight: 200; }
header p { background: transparent; }
h6 { font-size: 0.7rem }
strong { font-family: "Avenir-Heavy", "Avenir", helvetica, arial, sans-serif; font-weight: 600; }

.display-5,
.list--insights .display-5 {
	font-size: 3rem;
	font-family: "Avenir-Book", "Avenir", helvetica, arial, sans-serif; font-weight: normal;
}
.warning { color: #f4721a; }

.section-label {
	font-size: 1.5rem;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.1rem;
	background: transparent;
}

.full-color .section-label {
	color: #000;
}

.section--case-studies {
	color: #fff;
}

main p,
main li {
	font-size: 1.05rem;
}

main li { margin-bottom: 1rem; }

main p {
	margin-bottom: 1.5rem;
	line-height: 1.5;
}

.overview .lead,
.lead p {
	font-size: 1.25rem;
}

main h2,
.text--introduction,
.text--introduction p {
	font-size: 2.25rem;
}

.list h2 { font-size: 1.25rem; }
.list p { font-size: 0.95rem; }

.list--insights p { font-size: 0.9rem; }

.list--news h3 { font-size: 1.65rem; }
.list--insights h2 {
	font-family: "Avenir-Book", "Avenir", helvetica, arial, sans-serif;
	font-size: 1.25rem;
}
.list h5 {
	font-size: 0.8rem;
	font-weight: 200;
}
.list--insights h4,
.list--insights h5 { font-weight: 500; }

.list--insights-plus h2 {
	font-size: 1.5rem;
}

.insights .card h5 { font-size: 1.25rem; }

.fs-3 p { font-size: 1.75rem; }

.highlight--primary {
	color: #f4721a;
}

mark { background: yellow; }

.lead--section {
	font-size: 2rem;
	font-weight: 900;
}

.title--sidebar {
	margin-top: 1rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
}
.sidebar h5 { font-size: 1rem; }
.sidebar,
.sidebar p,
.sidebar li {
	font-size: 0.85rem;
	line-height: 1.5;
}

.insights-plus .sidebar h4,
.insights-plus .sidebar p,
.insights-plus .sidebar p strong {
	font-family: "Archer A", "Archer B", cambria, georgia, serif;
	color: #000;
	font-weight: normal;
}
.insights-plus .sidebar p,
.insights-plus .sidebar p strong { font-size: 1rem; }

.sidebar li {
	margin-bottom: 0.5rem;
}

.col.list p.sidebar {
	font-size: 0.6rem;
}

.label--subheading {
	margin-top: 1rem;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.15rem;
	background: transparent;
}

.sidebar .label--subheading { font-size: smaller; }

.sidebar--help {
	margin-top: 2rem;
}
.sidebar--help p {
	font-size: 1rem;
}

.label--subheading-alt {
	font-size: 1.05rem;
	font-weight: 600;
}


.section--primary {
	margin-top: 4rem;
	color: #fff;
}
.section--primary a { color: #fff; }
.section--primary p a,
.section--primary li a {
	color: #fff;
	border-bottom: 1px dotted #fff;
}

.section--chapter-marker {
	margin: 1rem 0;
	padding-top: 8rem;
	color: #fff;
}
.section--chapter-marker h2 {
	font-size: 1.5rem;
	font-weight: 800;
}
.section--chapter-marker .lead p {
	font-size: 2.25rem;
	line-height: normal;
}

.label--impact-number {
	font-family: "Archer A", "Archer B", cambria, georgia, serif;
	font-size: 6.5rem;
	font-weight: 800;
}

.about .first {
	text-align: center;
	padding: 0.5rem 0;
	font-size: 12rem;
	border-right: 1px solid #f4721a;
}
.about .label--impact-number {
	font-size: 3.25rem;
}

.about .first .label--impact-number {
	font-size: 15rem;
}

.label--services {
	font-weight: 600;
	background: transparent;
}

.bg--white .label--services {
	color: #7c162e;
}

.bg--white h2 {
	color: #000;
}

[class^=bg--] p,
#opportunities p {
	background: transparent;
}

span.text-start {
	display: inline-block;
	padding-left: 0.15rem;
}
span.text-end {
	padding-right: 0.15rem;
	display: inline-block;
}

.label--tag {
	margin: 0;
}

.label--tag,
.excerpt {
	font-size: 0.8rem;
}

.key-points {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #c9c9c9;
}
.key-points li {
	color: #000;
	margin-bottom: 1rem;
	font-size: 1.10rem;
}

.rounded-circle--help-icon {
	border: 3px solid #fff;
}

.bg--white .rounded-circle--help-icon {
	padding: 0.5rem;
	border: 8px solid #7c162e;
}
.rounded-circle--accordion { }

.rounded-circle--social-icon {
	padding: 0.2rem;
	background: #000;
	color: #fff;
	width: 1.5rem;
	height: 1.5rem;
}

.follow .rounded-circle--social-icon {
	padding: 0.5rem;
	background: #000;
	width: 3.25rem;
	height: 3.25rem;
}

footer .rounded-circle--social-icon {
	padding: 0.15rem;
	background: transparent;
	border: 1px solid #fff;
}
.flavor-text {
	font-size: smaller;
	color: #6e767b;
}

.caption {
	font-family: "Archer A", "Archer B", cambria, georgia, serif;
	font-size: smaller;
	font-style: italic;
	font-weight: 400;
}

.text--normal { color: #000; }
.text--primary { color: #7c162e; }
.text--secondary { color: #f4721a; }
.text--tertiary { color: #00aed8; }
.text--reverse { color: #fff !important; }
.text--info { color: #00aed8; }
.text--warning { color: #f5a800; }
.text--smaller, .text--smaller p { font-size: 0.8rem; }

.text--description p {
	font-size: 1.25rem;
}

.text--heading {
	line-height: 1.5;
}

.col--description {
	font-size: 0.85rem;
}


.col--impact-number { padding: 3.5rem; }
.col--impact-number.text--primary,
.col--impact-number.text--secondary {
	padding: 3.5rem;
	border-right: 1px solid #f4721a;
}

.col--impact-number:last-of-type,
.about .col--impact-number:nth-child(3) {
	border-right: none;
}

.about .col--impact-number:nth-child(-n+3) {
	padding-bottom: 2rem;
	border-bottom: 1px solid #f4721a;
}

.author {
	font-weight: 900;
}

.about .col--impact-number {
	padding: 0;
}

#moreText { display: none; }

.testimonial p {
	font-size: 1.5rem;
}
p.testimonial--attribute {
	font-size: 0.9rem;
}

blockquote {
	padding: 1.5em 1.5em 0.05em 1.5em;
	border-left-width: 7px;
	border-left-style: solid;
	border-image: linear-gradient(0deg, rgba(124,22,46,1) 10%, rgba(244,114,26,1) 100%);
	border-image-slice: 1;
}

blockquote p,
blockquote li {
	font-family: "Archer A", "Archer B", georgia, cambria, serif;
	font-size: 15pt;
	font-weight: normal;
	/* font-style: italic; */
	color: #000;
}

.card--emerging-issues h4 {
	font-size: 2rem;
	font-weight: 600;
}

.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.about .text--125 {
	font-size: 1.25rem;
}


p.badge--primary {
	/* padding: 0.35rem 1.75rem; */
	background: #7c162e;
	background: linear-gradient(90deg,rgba(244, 114, 26, 1) 0%, rgba(124, 22, 46, 1) 100%);
	color: #ffffff;
	border-radius: 0;
	font-size: 0.75rem;
}
p.badge--secondary {
	/* padding: 0.35rem 1.75rem; */
	background: #eeeeee;
	color: #7c162e;
	border-radius: 0;
	font-size: 0.75rem;
}

@media (max-height: 799px ) {
	.section-label {
		font-size: 1rem;
	}
}

@media (max-width: 1200px ) {
	.about .label--impact-number {
		font-size: 2.5rem;
	}
}

@media (max-width: 1260px ) {
	.label--impact-number {
		font-size: 5.75rem;
	}
}

@media (max-width: 575px) {
	.section-label {
		font-size: 0.9rem;
	}
	.col--impact-number.text--primary,
	.col--impact-number.text--secondary {
		border-right: none;
	}
	.about .col--impact-number:nth-child(-n+3) {
		border-bottom: none;
	}
}

/* masonry
========================================================== */
.row--masonry [class*="col-md"] {
    padding: 2.25rem;
    border: 2px solid #fff;
    background-color: #cbc4bc;
}



/* shapes
========================================================== */
.square {
    display: inline-block;
    width: 1.1rem;
    vertical-align: text-bottom;
}
.square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
.square--primary { background-color: #7c162e; }
.square--secondary { background-color: #f4721a; }
.square--tertiary { background-color: #d72825; }
.square--quaternary { background-color: #3db8db; }
.square--quinary { background-color: #9fc80b; }



/* tables
========================================================== */
.ghg { width: 100%; vertical-align: center; }
.ghg--scope { width: 80%; }
.ghg--mtco2e { width: 20%; }

.ghg caption { display: hidden; }
.ghg th,
.ghg td {
	font-size: 0.9rem;
}

.ghg tfoot td { }
.ghg .table--primary td {
	color: #fff;
	background: #7c162e;
}



/* blog and report pages
========================================================== */
.insights-view h2 {
	font-weight: 600;
}
.insights-view h3 {
	margin-top: 1.5rem;
	font-size: 1.5rem;
}


/* people
========================================================== */
.people--name {
	margin: 0;
	font-size: 1rem;
	font-weight: 900;
}
.people--job-title {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	line-height: 1.5;
	font-weight: 200;
}
.jumbotron .people--job-title { font-size: 2.25rem; }

.people--location {
	margin-bottom: 0.25rem;
	font-family: "Archer A", "Archer B", georgia, cambria, serif;
	font-size: 0.7rem;
	font-weight: 500;
	font-style: italic;
}
.people--view .people--location {
	font-size: 1rem;
}
.fa-brands {
	padding: 0.25rem;
	font-size: 0.65rem;
	color: #fff;
	background: #000;
}
.fa-2x.fa-brands {
	padding: 0.5rem;
}
.people--biography p:nth-child(1) {
	font-size: 1.5rem;
}

.people-page .rounded-circle--people,
.people--list .modal .rounded-circle--people {
	width: 100%;
}
.people--list .rounded-circle--people { width: 70%; }
.sidebar .people--list .rounded-circle--people { width: 60%; }
.sidebar .modal .rounded-circle--people { width: 100%; }

.sidebar .people-page .modal-title,
.people-page .modal-title {
	font-size: 4rem;
	line-height: 1.2;
	font-weight: 600;
}
.sidebar .modal-body .people--job-title,
.modal-body .people--job-title  {
	font-size: 1.5rem;
	line-height: 1.3;
}
.sidebar .modal-body p {
	font-size: 1rem;
	line-height: 1.5;
}

@media (max-width: 575px) {
	.sidebar .people-page .modal-title,
	.people-page .modal-title {
		font-size: 2.5rem;
	}
	.people--name { font-size: 0.9rem; }
	.insights-view .sidebar .people--list .rounded-circle--people,
	.insights-view .people--list .rounded-circle--people {
		width: 40%;
	}
}

/* buttons
========================================================== */
.btn {
	border-radius: 0;
	text-transform: uppercase;
	font-size: 0.9rem;
}

.btn--primary {
	padding: 0.5rem 2.5rem;
	text-transform: uppercase;
	color: #fff;
	border: 1px solid #fff;
	background: linear-gradient(to right, rgba(124, 24, 46, 0.9), rgba(244, 114, 26, 0.9));
}
.btn--primary:hover,
.btn--reverse:hover { color: #fff; }
.btn--warning {
	padding: 0.5rem 2rem;
	background: #f4721a;
	color: #fff;
}

.btn--primary-outline {
	border: 1px solid #7c162e;
	background: transparent;
	color: #7c162e;
}
.btn--primary-outline:hover {
	background: #7c162e;
	color: #ffffff;
}

.btn--primary-solid {
	padding: 0.5rem 2.5rem;
	text-transform: uppercase;
	color: #fff;
	background: #7c162e;
}
.btn--primary-solid:hover {
	background: #7c162e;
	color: #fff;
}

.btn--neutral {
	padding: 0.5rem 2rem;
	background: transparent;
	color: #000;
	border: 1px solid #000;
}

.btn.btn-lg {
	padding: 0.9rem 2.5rem;
	font-size: larger;
}

.btn.btn-sm {
	padding: 0.25rem 1.5rem;
	font-size: 0.775rem;
}

.btn--download,
.btn--download-registration,
.btn--neutral.btn-sm {
	margin-bottom: 0.25rem;
	padding: 0.5rem 1.25rem;
	background: transparent;
	color: #000;
	font-size: 0.65rem;
	border: 1px solid #000;
}
.btn--download::after {
	padding-left: 1rem;
	font: var(--fa-font-thin);
	content: "\e094";
}
.sidebar .btn--download,
.sidebar .btn--download-registration {
	width: 100%;
}

.sidebar .btn--download-registration::after {
	padding-left: 1em;
	font: var(--fa-font-thin);
	content:"\f044"
}

.btn--download-registration:hover,
.btn--download:hover,
.btn--neutral:hover {
	background: transparent;
	border: 1px solid #000;
}

.btn--reverse {
	padding: 0.5rem 2rem;
	color: #fff;
	background: transparent;
	border: 1px solid #fff !important;
}

.sidebar .btn {
	/* padding: 0.25rem 1.5rem;
	font-size: smaller;
	*/
}

#textButton,
.btn.btn--read-more {
	margin-top: 1.75rem;
	padding: 0;
	color: #000;
	font-size: 0.85rem;
	text-transform: none;
	border-bottom: 1px solid #f4721a;
	cursor: pointer;
}

@media (max-width: 575px) {
	.btn.btn-lg {
		padding: 0.75rem 1.5rem;
		font-size: smaller;
	}
}

/* labels
========================================================== */
.label--entry-title {
	position: relative;
	margin-top: -90px;
	padding: 1.25rem 1rem 2rem 1.25rem;
	background-color: #fff;
	width: 85%;
}

.label--entry-title h2 {
	font-size: 1.5rem;
}

label.capitalize {
	text-transform: capitalize;
}
label.uppercase {
	text-transform: uppercase;
}

@media (max-width: 575px) {
	.label--entry-title {
		width: 95%;
		padding: 1rem;
	}
}

/* images and icons
========================================================== */
.img-responsive { width: 100%; height: auto; }
.mark { background: transparent; }
.rounded-circle--people {
	margin: 1rem auto;
	max-width: 250px;
	width: 100%;
}

.rounded-circle--tertiary {
	border: 8px solid #7c162e;
}

.rounded-circle--reverse {
	border: 6px solid #fff;
}
.icon--primary {
	color: #f4721a;
	font-size: 3rem;
}

.icon--help {
	width: 75%;
}

.icon-size--50 { width: 50%; }
.icon-size--25 { width: 25%; }

.icon--services p {
	margin-bottom: auto;
	font-size: 0.8rem;
	line-height: 1.4;
}

.img-frame {
	border: 1px solid #c9c9c9;
}

.icon-link {
	align-items: flex-start;
}
.icon-link--no-gap {
	gap: 0.375rem 0;
	align-items: center;
}

/* cards
========================================================== */
.card {
	border-radius: 0;
	/* box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
	border: 1px solid #eeeeee; */
	border: none;
}

.card-header {
	padding-bottom: 0;
	background: #fff;
	border-bottom: none;
}
.card.people--page,
.list--insights .card { box-shadow: none; }

/* .card--marks { box-shadow: none; border: 1px solid #eee; } */
.card--marks { box-shadow: none; border: none; text-align:center; }
.member-list .card--marks { margin-bottom: 2.5rem; }
.card-head { min-height: 135px; }
.card img {
	/* margin-top: 1.75rem; */
	display: flex;
	justify-content: center; }

.card--horizontal .rounded-circle--people { margin-top: 2.75rem; margin-bottom: 2rem; }

.card img.mark { background: transparent; }
.card-body {
	padding: 1rem;
}
.card-body.sidebar { padding: 1rem 0; }
.card-footer {
	padding: 0.25rem 1.75rem;
	/*
	margin-bottom: 2rem;
	border-bottom: 1px solid #eee; */
}
.media .card-footer { border-bottom: none; }
.card h5 {
	/* font-size: 0.9rem; */
	line-height: 1.4;
	font-weight: 500;
}
.people--list .card-body,
.card.people--list .card-footer,
.people--page .card-body {
	margin-right: 1rem;
	margin-left: 1rem;
	padding: 0 1rem;
}
.card.people--list,
.card.people--page {
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;
}

.card.event--list {
	padding: 0;
}
.card.event--list img {
	border-radius: 0;
}
.card.event--list .event-title,
.card.event--list .card-body,
.card.event--list .card-footer {
	padding: 0 0.75rem;
}
.card.event--list .event-title {
	font-size: 1.15rem;
	line-height: 1.25;
}

/*
.event--list .card-body {
	padding-top: 0;
}

.event--list .card-footer {
	margin-bottom: 1rem;
	padding: 0 0.75rem;
}
*/

.card--marks img {
	max-width: 150px;
	width: 100%;
	object-fit: contain;
}
.card--alliances .card-head img {
	padding: 1rem 2.5rem;
}
.card--marks--spark img {
	padding: 1.25rem;
	max-width: 200px;
}

.card-footer {
	background: transparent;
	border-top: none;
}

.hub .card {
	box-shadow: none;
}
.hub .card-title {
	font-size: 1.15rem;
}
.hub .card-footer {
	padding: 1rem;
}

.card--description p { font-size: smaller; }

.people--page.card img,
.people--list.card .card-footer img { display: inline; }

.card-footer {
    flex: 1 1 auto;
    padding: 1rem 1rem;
    display: flex;
    flex-direction: column;
	align-items: stretch;
    .justify-content: space-between;
	justify-content: flex-end;
}

.card--ci-list {
	padding: 0;
}

@media (max-width: 575px) {
	.people--list .card-body,
	.card.people--list .card-footer,
	.people--page .card-body {
		margin-right: 0;
		margin-left: 0;
		padding: 0 1rem;
	}
	.card.event--list .event-title {
		font-size: 1rem;
	}
}
@media (max-width: 1200px) {
	.people--list .card-body,
	.card.people--list .card-footer,
	.people--page .card-body {
		margin-right: 0;
		margin-left: 0;
	}
}



/* general modal window customizations
========================================================== */
 .btn-close { background: none; }
 .modal-header { padding-bottom: 0; border-bottom: none; }
 .modal-header .btn-close { padding: 1rem; margin: 0 0 0 auto; }

.modal-content--search-preview {
	padding: 0.5rem 2.5rem;
}

 /* logo slider and company logos
 ========================================================== */
.container--slider {
	overflow: hidden;
}

.slider {
	animation: slidein 30s linear infinite;
	white-space: nowrap;
}
.slider .marks .col-md-2 {
	padding: 0 1rem;
	width: auto;
	display: inline-block;
	margin: 0px 0;
}
.slider .marks img,
.slider .marks .col-md-2 h6 {
	display: inline-block;
	/* width: calc(100% / 15); */
	animation: fade-in 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards;
}

.marks h6 {
	font-family: "Archer A", "Archer B", cambria, georgia, serif;
	font-size: 1.5rem;
	font-weight: 200;
}
@keyframes slidein {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(-100%, 0, 0);
	}
}
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.marks {
	padding: 1rem;
	text-align: center;
	font-size: smaller;
}
.marks img {
	max-width: 300px;
	max-height: 70px;
	width: 100%;
	height: 100%;
	object-fit: contain;
}


/* pagination
========================================================== */
.page-item.active .page-link {
	background-color: #000;
	border-color: #000;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
	border-radius: 0;
}

.page-link {
	color: #000;
}
.page-link:hover {
	background-color: #7c162e;
	border-color: #7c162e;
	color: #fff;
}


/* accordions and slide up/down
========================================================== */
.accordion-button,
.accordion-body {
	padding: inherit;
	font-size: inherit;
}

.accordion-item {
	margin: 2rem 0;
	border-color: #6e767b;
}

.accordion-item--faq h4 {
	margin: 1rem 0;
	font-size: 1.25rem;
	font-weight: normal;
}

.accordion-button:not(.collapsed) {
	color: inherit;
	background: inherit;
	box-shadow: none;
}
.accordion-button::after {
	/*
	font: var(--fa-font-regular);
    content: "\2b"; */
	color: #f4721a;
	background-image: none;
}
.accordion-button:not(.collapsed)::after { background-image: none; }

.accoridon--horizontal .accordion-button:not(.collapsed) {
	background: transparent;
	color: inherit;
}

.accoridon--horizontal .accordion-button:not(.collapsed)::after {
	background-image: none;
	font: var(--fa-font-solid);
	content: "\f0a9";
}

.accoridon--horizontal .accordion-button::after {
	background-image: none;
	font: var(--fa-font-regular);
	content: "\f0a9";
}

.accordion-item--faq .accordion-button::after {
	font: var(--fa-font-regular);
    content: "\2b";
	color: #f4721a;
	background-image: none;
}

.accoridon--horizontal .show-hide .list-group {
	border-radius: 0;
}
.accoridon--horizontal .show-hide .list-group-item,
.accoridon--horizontal .show-hide .list-group li:active {
	border: none;
	border-bottom: 1px solid #eee;
}
.accoridon--horizontal .show-hide .list-group li {

}
.accoridon--horizontal .show-hide .list-group li a {
	border-bottom: none;
}
.accoridon--horizontal .show-hide .badge { color: #000; }

.list-group-item:first-child,
.list-group-item+.list-group-item {
	border-top-width: 1px;
	margin-bottom: 0.25rem;
}

div.slide-container {
    /* transition: height .5s ease; */
	transition: height 1.15s ease;
    overflow  : hidden;
}

div.slide-container:not(.slide-show) {
    display: none;
}

.h-accordion { display: flex; gap: 0.1rem; }
.h-accordion-item {
	display: flex;
	flex: 0 0 auto;               /* collapsed items don’t grow */
	overflow: hidden;
	/* min-height: 220px;             set a height you like */
	/* transition: flex-basis .5s ease, flex-grow .5s ease; */
	transition: 0.5s ease-in;
}
.h-accordion-item.is-open {
	flex: 1 1 auto;                /* the open item grows to fill space */
	transition: 0.5s ease-in;
}

/* Vertical header button */
.h-accordion-item h4 {
	display: flex;
	writing-mode: vertical-rl;     /* vertical text */
	transform: rotate(180deg);     /* keep text upright */
	align-items: start;
}
.h-accordion-toggle:focus { outline: none; }

/* Content area */
.h-accordion-pane {
	flex: 1 1 auto;
	/* min-width: 240px;            prevents super-narrow content on small screens */
}
.h-accordion-pane .card {
	height: 100%;
}
.is-open h4 { display: none; }


/* careers page
========================================================== */
.careers--benefits .col-md-3 {
}
.careers--benefits .benefits-icon {
	height: 80px;
}

@media (max-width: 575px) {
	.careers--benefits .benefits-icon {
		height: auto;
	}
	.careers--benefits .benefits-icon img {
		max-width: 40%;
	}
}

/* testimonials
========================================================== */
.fa-message-quote {
	margin-bottom: 1rem;
	font-size: 5rem;
	opacity: 0.55;
}
.section--testimonials blockquote {
	padding: 0;
	border-left: none;
	border-image: none;
}
.section--testimonials blockquote p {
	font-family: "Archer A", "Archer B", cambria, georgia, serif;
	font-size: 1.75em;
	font-weight: 400;
	color: #fff;
	font-style: normal;
	background: transparent;
}

.section--testimonials .attribution {
	margin-top: 2.75rem;
	font-size: 0.9rem;
	background: transparent;
}

.section--testimonials-img-about {
	background: url(/images/backgrounds/bsr-people-hero.jpg) center center no-repeat;
	background-size: cover;
}

.row--offset-vertical .attribution {
	margin-top: 1rem;
}

@media (max-width: 575px) {
	.section--testimonials p {
		font-size: 0.9rem;
	}
}

/* forms
========================================================== */
legend { font-weight: 600; }
.about-you { width: 90%; }
.form label {
	margin-top: 1.25rem;
}

textarea[name="message"] {
	height: 7rem;
}

/* Remove outline for non-keyboard :focus */
*:focus:not(.focus-visible) {
	outline: none;
}

/* Optional: Customize .focus-visible */
.focus-visible {
	outline: #7c162e solid 2px;
}

/* misc and utilities
========================================================== */
.p-6 { padding: 6rem 0; }
.pt-6 { padding-top: 6rem; }
.pb-6 { padding-bottom: 6rem; }
.gx-6 { --bs-gutter-x: 6rem; }

.container--highlight {
	padding: 4rem 2rem;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

hr { background: rgba(0, 0, 0, 0.35); }
hr.decorative {
	height: 0.5rem;
	border: 0;
	background: rgb(124,22,46);
	background: linear-gradient(90deg, rgba(124,22,46,1) 10%, rgba(244,114,26,1) 100%);
}

.sidebar--ruleline {
	height: 0.5rem;
	border: 0;
	background: rgba(0, 0, 0, 1);
	opacity: 1;
}

.entry-list {
	border-bottom: 1px solid red;
}

.row--offset-vertical {
	margin-top: -12rem;
}

.rule-line--top {
	border-top: 1px solid #c9c9c9;
}
.faux-rule-line {
	margin-top: 0.5rem;
	background: rgb(124,22,46);
	background: linear-gradient(90deg, rgba(124,22,46,1) 0%, rgba(244,114,26,1) 90%);
	height: 7px;
}

.border--left {
	border-left: 1px solid #7c162e;
}

.img--frame { border: 1px solid #c9c9c9; }

@media (max-width: 575px) {
	.row--offset-vertical {
		margin-top: -2rem;
	}
}


/* share buttons
========================================================== */
.resp-sharing-button__link,
.resp-sharing-button__icon {
	display: inline-block
}
.resp-sharing-button__link {
	margin-top: 0;
	text-decoration: none;
	color: #fff;
}
.resp-sharing-button {
	border-radius: 5px;
	transition: 25ms ease-out;
	/* padding: 0.5em 0.75em; */
	font-family: Helvetica Neue,Helvetica,Arial,sans-serif
}
.resp-sharing-button__icon svg {
	width: 1em;
	height: 1em;
	margin-right: 0.4em;
	vertical-align: top
}
.resp-sharing-button--small svg {
	margin: 0;
	vertical-align: middle
}
.resp-sharing-button__icon {
	stroke: #fff;
	fill: none
}
.resp-sharing-button__icon--solid,
.resp-sharing-button__icon--solidcircle {
	fill: #fff;
	stroke: none
}

/* footer
========================================================== */
footer {
	padding: 2rem 0;
	background: #000;
	color: #fff;
	font-size: 0.7rem;
}

footer strong { color: #fff; }

footer .mark--bsr {
	margin-bottom: 1rem;
	width: 10%;
}

footer h5 {
	margin-bottom: 0.25rem;
	font-size: 0.9rem;
	text-transform: uppercase;
	background: transparent;
}

footer p,
footer li {
	background: transparent;
}

footer p a,
footer div[role="navigation"] a {
	color: #fff;
	border-bottom: 1px dotted #fff;
}
footer li { margin-bottom: 0.25rem; }
footer div[role="navigation"] a { border-bottom: none; }
footer p a:hover,
footer li a:hover {
	color: #fff;
}

footer .divider {
	margin-top: 0.15rem;
	margin-bottom: 0.15rem;
	border-bottom: 1px solid #444;
}

footer hr { background: rgba(255, 255, 255, 0.9); }

@media (max-width: 575px) {
	footer .mark--bsr {
		width: 25%;
	}
}
