.content .template * + .listing {
	margin-top: 50px;
}

/************************************/
/********** LISTING HEADER **********/
/************************************/

.listing .header {
	margin-bottom: 25px;
	position: relative;
}
.listing .header h2,
.listing .header .h2,
.listing .header h3,
.listing .header .h3,
.listing .header h4,
.listing .header .h4 {
	margin: 0;
}
.listing .header .link {
	margin-top: 10px;
	margin-left: auto;
}

.listing hr {
	margin: 0;
	border-top: 1px solid #e0dedd;
}

.template .listing .accordion h3, .template .listing .accordion .h3,
.template .listing .accordion h2, .template .listing .accordion .h2,
.template .listing .file h3, .template .listing .file .h3,
.template .listing .file h2, .template .listing .file .h2,
.template .listing .item:not(.newsletter) h3, .template .listing .item:not(.newsletter) .h3,
.template .listing .item:not(.newsletter) h2, .template .listing .item:not(.newsletter) .h2 {
	font-size: 1.5rem;
	font-weight: 300;
	color: black;
	line-height: 1.4;
	margin: 0;
	transition: var(--transition);
    -webkit-transition: var(--transition);
}

.listing .item h3 a,
.listing .article h3 a {
	border-bottom: 4px solid transparent;
}
.listing .item h3 a:hover,
.listing .item h3 a:focus,
.listing .article h3 a:hover,
.listing .article h3 a:focus {
	border-color: var(--blue)
}

.listing .items > *:not(hr) {
	position: relative;
}


@media(min-width: 768px) {
	.content .template * + .listing {
		margin-top: 70px;
	}
	
	.listing .header {
        display: flex;
		align-items: flex-end;
	}
	.listing .header .link {
        margin-top: 0;
	}
	
	.listing .items > * .link {
		font-size: 12px;
	}
}

@media(min-width: 992px) {
	.content .template * + .listing {
		margin-top: 100px;
	}
}


/*****************************************************/
/********** ARTICLE LISTING ADVANCED SEARCH **********/
/*****************************************************/

.listing .advanced-search {
	max-width: none;
	background-color: var(--white);
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: 65px;
}

.listing .advanced-search .advanced-search-header {
	padding: 25px;
	text-align: center;
	font-size: 0;
	cursor: pointer;
}
.listing .advanced-search .advanced-search-header span {
	display: inline-block;
	position: relative;
	font-family: var(--font-family2);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .1em;
	color: black;
	text-transform: uppercase;
	padding-right: 35px;
}
.listing .advanced-search .advanced-search-header span::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	width: 16px;
	height: 14px;
	background-image: url(/assets/img/arrow-sm-blue.svg);
	transition: var(--transition);
}
.listing .advanced-search.open .advanced-search-header span::before,
.listing .advanced-search.active .advanced-search-header span::before {
	transform: rotate(90deg);
}

.listing .advanced-search .form {
	max-width: none;
	max-height: 0;
	overflow: hidden;
	transition: var(--transition);
}
.listing .advanced-search.active .form {
	max-height: none;
}
.listing .advanced-search .form > div {
	padding: 25px;
}
.listing .advanced-search .form .row {
	margin-left: -40px;
	margin-right: -40px;
}
.listing .advanced-search .form .row > div {
	padding-left: 40px;
	padding-right: 40px;
}

.listing .advanced-search .form .input-wrapper a[submit] {
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	top: 7px;bottom: 0;
	right: 10px;
	margin: auto;
	width: 29px;
	height: 26px;
	padding: 5px;
	background: transparent;
	border: none;
	border-radius: 0;
}
.listing .advanced-search .form .input-wrapper a[submit] svg path {
	fill: var(--blue);
	transition: var(--transition);
}
.listing .advanced-search .form .input-wrapper a[submit]:hover svg path,
.listing .advanced-search .form .input-wrapper a[submit]:focus svg path {
	fill: black;
}


@media(max-width: 767px) {
	.listing .advanced-search .form a.button {
		width: 100%;
	}
	.listing .advanced-search .form .row > div .button + .button {
		margin-top: 15px;
	}
}

@media(min-width: 768px) {
	.listing .advanced-search {
		margin: 0;
		margin-bottom: 80px;
	}

	.listing .advanced-search .advanced-search-header {
		padding: 25px 60px;
	}

	.listing .advanced-search .form > div {
		padding: 35px 60px 60px;
	}
	.listing .advanced-search .form .row > div .button {
		width: 220px;
	}
	.listing .advanced-search .form .row > div .button[data-events] {
		margin-top: 25px;
	}
	
	.listing .advanced-search .form .row > div .button + .button {
		margin-left: 20px;
	}
}


/****************************************/
/********** LISTING PAGINATION **********/
/****************************************/

.listing .pagination {
	margin: 40px 0;
	justify-content: center;
}

.listing .pagination ul {
	display: block;
	text-align: center;
	list-style: none;
	font-size: 0;
	padding: 0;
	margin: 0 -7px;
}
.listing .pagination ul li {
	font-size: 18px;
	font-weight: 300;
	color: var(--blue);
	line-height: 1;
	display: inline-block;
}
.listing .pagination ul li.disabled {
	pointer-events:none;
	opacity: .4;
}
.listing .pagination ul li.prev {
	margin-right: 10px;
}
.listing .pagination ul li.next {
	margin-left: 10px;
}
.listing .pagination ul li::before {
	content: normal;
}
.listing .pagination ul li a,
.listing .pagination ul li.ellipsis {
	padding: 0 7px;
	display: inline-block;
	border: none;
}
.listing .pagination ul li a:hover,
.listing .pagination ul li a:focus,
.listing .pagination ul li.active a {
	color: var(--black);
	border: none;
}

.listing .pagination ul li.prev a,
.listing .pagination ul li.next a {
	height: 12px;
	width: 27px;
	background-image: url(/assets/img/arrow-color.svg);
	background-repeat: no-repeat;
}
.listing .pagination ul li.prev a {
	transform: rotate(180deg);
}


@media(min-width: 768px) {
    .listing .pagination {
        margin: 60px 0 0;
    }
}

@media(min-width: 992px) {
    .listing .pagination {
        margin: 70px 0 0;
	}
	
	.listing .pagination ul {
		margin: 0;
	}
	.listing .pagination ul li a,
	.listing .pagination ul li.ellipsis {
		padding: 0 9px;
	}
	.listing .pagination ul li.prev {
		margin-right: 15px;
    }
    .listing .pagination ul li.next {
        margin-left: 15px;
    }
	.listing .pagination ul li.prev a,
	.listing .pagination ul li.next a {
        width: 23px;
        height: 10px;
	}
}


/******************************************/
/********** GENERIC ITEM LISTING **********/
/******************************************/

.listing .item {
	padding: 15px 0;
}

.listing .item h3,
.listing .item .h3 {
	flex: 1;
}

.listing .item .link {
	margin-top: 10px;
}


@media(min-width: 768px) {
    .listing .item {
		padding: 25px 0;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}
	
	.listing .item h3,
	.listing .item .h3 {
		padding-right: 40px;
	}
	
	.listing .item .link {
		margin-top: 0;
    }
}


/**********************************/
/********** FILE LISTING **********/
/**********************************/

.listing .file {
	padding: 20px 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.listing .file .image {
	width: 40px;
}

.listing .file h3,
.listing .file .h3 {
	flex: 1;
	padding-left: 20px;
	min-width: calc(100% - 40px);
}

.listing .file .link {
	padding-left: 60px;
	margin-top: 10px;
}


@media(min-width: 768px) {	
	.listing .file h3,
	.listing .file .h3 {
		min-width: auto;
		padding: 0 40px 0 20px;
	}
	
	.listing .file .link {
		padding-left: 0;
		margin-top: 0;
	}
}


/***************************************/
/********** ACCORDION LISTING **********/
/***************************************/

.listing .accordion > div {
	position: relative;
	padding: 20px 0;
	padding-right: 45px;
	cursor: pointer;
	transition: var(--transition);
    -webkit-transition: var(--transition);
}

.template .listing .accordion h3,
.template .listing .accordion .h3,
.template .listing .accordion h2,
.template .listing .accordion .h2 {
    padding-right: 40px;
}

.listing .accordion > div:first-child:hover h2,
.listing .accordion > div:first-child:focus h2,
.listing .accordion.open > div:first-child h2,
.listing .accordion > div:first-child:hover .h2,
.listing .accordion > div:first-child:focus .h2,
.listing .accordion.open > div:first-child .h2,
.listing .accordion > div:first-child:hover h3,
.listing .accordion > div:first-child:focus h3,
.listing .accordion.open > div:first-child h3,
.listing .accordion > div:first-child:hover .h3,
.listing .accordion > div:first-child:focus .h3,
.listing .accordion.open > div:first-child .h3 {
	color: var(--blue);
}

.listing .accordion .toggle {
	height: 26px;
	width: 26px;
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	margin: auto;
	transition: var(--transition);
    -webkit-transition: var(--transition);
}
.listing .accordion .toggle:hover,
.listing .accordion .toggle:focus {
	transform: scale(1.1);
}
.listing .accordion .toggle::before,
.listing .accordion .toggle::after {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	margin: auto;
	height: 2px;
	width: 100%;
	background-color: var(--blue);
	transition: var(--transition);
    -webkit-transition: var(--transition);
}
.listing .accordion .toggle::after {
	transform: rotate(90deg);
}
.listing .accordion.open .toggle::after,
.listing .accordion.active .toggle::after {
	transform: rotate(0deg);
}

.listing .accordion .description {
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: var(--transition);
	cursor: default;
}

.listing .accordion.active .description {
	max-height: none;
}

.listing .accordion .description > *:first-child {
	margin-top: 5px;
}
.listing .accordion .description > *:last-child {
	margin-bottom: 30px;
}

.listing .accordion .description .button {
	padding: 10px 25px;
	margin-top: 35px;
}


@media(min-width: 768px) {	
	.listing .accordion > div {
        padding: 25px 0;
	}
	
	.listing .accordion .description {
		padding: 0 65px 0 0;
    }
	.listing .accordion .description > *:first-child {
		margin-top: 15px;
	}
	.listing .accordion .description > *:last-child {
		margin-bottom: 40px;
	}
}


/*************************************/
/********** ARTICLE LISTING **********/
/*************************************/

.listing.listing-article > .items > h2,
.listing.listing-article.associates-stats .associates-stats-header h2 {
	font-size: 3rem;
	font-weight: 100;
	line-height: 1;
	text-align: center;
	margin: 0;
	margin-bottom: 40px;
	flex: 0 0 100%;
}
.listing.listing-article.associates-stats .associates-stats-header {
	flex: 0 0 100%;
}
.listing.listing-article.associates-stats .associates-stats-header h2 {
	margin: 0;
	text-align: left;
	flex: auto;
}
.listing.listing-article > .items.row > h2,
.listing.listing-article.associates-stats .associates-stats-header {
	margin: 0;
	padding: 25px;
	padding-bottom: 10px;
}

.listing.listing-article .items.row {
	margin: -25px;
}
.listing.listing-article .article {
	padding: 25px;
	font-size: 0;
}

.listing .article h3 {
	font-size: 20px;
	font-weight: 900;
	line-height: 1.35;
	margin: 0;
}

.listing .article span {
	display: inline-block;
	font-family: var(--font-family2);
	font-size: 11px;
	font-weight: 400;
	color: var(--lightgrey);
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-top: 15px;
	margin-right: 20px;
}
.listing .article span.date {
	color: var(--black);
}
.listing .article span.publication-type {
	display: inline-block;
	padding: 3px 10px;
	margin: 0;
	margin-bottom: 10px;
	font-weight: 300;
	color: white;
	background-color: black;
}
.listing .article span.publication-type.blue {
	background-color: var(--blue);
}
.listing .article span.publication-type.yellow {
	background-color: #eaa939;
}
.listing .article span.publication-type.green {
	background-color: #86c617;
}

.listing .article span a {
	color: var(--blue);
	border-bottom: 1px solid transparent;
}
.listing .article span a:hover,
.listing .article span a:focus {
	border-bottom: 1px solid var(--blue);
}


@media(min-width: 768px) {
	.listing.listing-article > .items.row > h2 {
		padding: 40px;
	}
	.listing.listing-article.associates-stats .associates-stats-header {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.listing .article h3 {
		font-size: 1.875rem;
	}

	.listing.listing-article .items.row {
		margin: -25px;
	}
	.listing.listing-article .article {
		padding: 25px;
		font-size: 0;
	}
	
}


/******************************************/
/********** MINI ARTICLE LISTING **********/
/******************************************/

.listing .article.mini-article .image {
	position: relative;
	display: block;
	width: 220px;
	height: 131px;
	margin: 0 auto;
	margin-bottom: 40px;
}
.listing .article.mini-article .image.bordered {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 54.545%;
	margin-bottom: 40px;
	border: 1px solid #edeff0;
	margin-bottom: 25px;
}
.listing .article.mini-article .image.bordered:last-child {
	margin: 0;
}

.listing .article.mini-article .image img {
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	max-width: 100%;
	max-height: 100%;
	margin: auto;
}
.listing .article.mini-article .image.bordered img {
	padding: 15px;
	filter: grayscale(1);
	filter: grayscale(100%);
	filter: gray;
	transition: var(--transition);
}
.listing .article.mini-article .image.bordered:hover img,
.listing .article.mini-article .image.bordered:focus img {
	filter: grayscale(0);
	filter: none;
}

.listing .article.mini-article h3 {
	font-size: 1.375rem;
	line-height: 1.25;
}
.listing .article.mini-article .image.bordered + h3 {
	font-size: 1.125rem;
}

.listing .article.mini-article > a {
	margin-top: 25px;
	line-height: 1;
}

.listing .article.mini-article > .link-arrow {
	position: relative;
	display: inline-block;
	width: 35px;
	height: 30px;
	padding: 0;
}
.listing .article.mini-article > .link-arrow::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background-image: url(/assets/img/arrow-sm-blue.svg);
	transition: inherit;
}
.listing .article.mini-article > .link-arrow:hover::before,
.listing .article.mini-article > .link-arrow:hover::after {
	transform: translateX(5px);
}


/***********************************/
/********** EVENT LISTING **********/
/***********************************/

.listing.listing-article .article.event {
	display: flex;
}

.listing.listing-article .article.event > div:last-child {
	flex: 1;
}
.listing.listing-article .article.event > div + div {
	margin-left: 35px;
	max-width: calc(100% - 97px);
}

.listing.listing-article .article.event > .date {
	max-width: 62px;
}
.listing.listing-article .article.event > div.date span {
	font-family: var(--font-family1);
	display: block;
	color: black;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	margin: 0;
}
.listing.listing-article .article.event > div.date span:first-child {
	font-size: 3.75rem;
	font-weight: 900;
	letter-spacing: 0;
	margin-bottom: 5px;
}
.listing.listing-article .article.event > div.date span:first-child + span {
	line-height: 1.5;
	letter-spacing: .1em;
}

.listing .article.event span {
	color: var(--blue);
}


@media(min-width: 768px) {
	.listing.listing-article .article.event > div + div {
		margin-left: 60px;
	}

	.listing.listing-article .article.event > .date {
		max-width: 76px;
	}
}


/**************************************/
/********** MAGAZINE LISTING **********/
/**************************************/

.listing .article.magazine.magazine-highlight {
	display: flex;
}

.listing .article.magazine.magazine-highlight .image {
	max-width: 270px;
	margin-right: 50px;
}
.listing .article.magazine.magazine-highlight .image  + div {
	flex: 1;
}
.listing .article.magazine img {
	margin-bottom: 20px;
}
.listing .article.magazine.magazine-highlight img {
	margin-bottom: 0;
}

.listing .article.magazine .magazine-issue {
	margin-bottom: 15px;
	display: flex;
	align-items: center;
}
.listing .article.magazine .magazine-issue span {
	margin: 0;
}
.listing .article.magazine .magazine-issue span.number {
	font-size: .875rem;
	font-weight: bold;
	color: white;
	line-height: 1;
	padding: 12px 13px;
	background-color: var(--blue);
}
.listing .article.magazine .magazine-issue span.date {
	margin-left: 20px;
	flex: 1;
}

.listing .article.magazine h3 {
	margin-bottom: 23px;
}
.listing .article.magazine:not(.magazine-highlight) h3 {
	font-size: 1.125rem;
}

.listing .article.magazine .link[download] {
	position: relative;
	margin: 0;
	padding: 8px 0 8px 45px;
	color: var(--black);
	overflow: visible;
}
.listing .article.magazine.magazine-highlight .link[download] {
	margin-top: 40px;
}
.listing .article.magazine .link[download]::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;
	width: 27px;
	height: 34px;
	margin: auto;
	background-image: url(/assets/img/icon-pdf.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.listing .article.magazine .link[download]:hover,
.listing .article.magazine .link[download]:focus {
	color: var(--blue);
}


@media(max-width: 767px) {
	.listing .article.magazine .link:not([download]) {
		display: none;
	}
}


@media(min-width: 768px) {
	.listing .article.magazine .link[download] {
		margin-top: 25px;
	}
}


/************************************/
/********** BUTTON LISTING **********/
/************************************/

.listing.listing-button .items {
    margin: -5px;
    font-size: 0;
}

.listing.listing-button .button {
    margin: 5px;
}


/*************************************************/
/********** ITEM WITH THUMBNAIL LISTING **********/
/*************************************************/

.listing .image-item {
    padding: 35px 0;
    display: flex;
    flex-wrap: wrap;
}
.listing .image-item:first-child {
    padding-top: 0;
}
.listing .image-item:last-child {
    padding-bottom: 0;
}

.listing .image-item .image {
    width: 80px;
    height: 80px;
    position: relative;
    margin-right: 20px;
}
.listing .image-item .image img {
    position: absolute;
    top: 0;bottom: 0;
    left: 0;right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

.listing .image-item > div:not(.image) {
	flex: 1;
	max-width: calc(100% - 100px);
}


@media(min-width: 768px) {
	.listing .image-item .image {
		width: 90px;
		height: 90px;
		margin-right: 75px;
	}

	.listing .image-item > div:not(.image) {
		max-width: calc(100% - 165px);
	}
}


/*****************************************/
/********** TEAM MEMBER LISTING **********/
/*****************************************/

.listing.listing-team .header,
.listing.listing-article .header {
	margin-bottom: 50px;
	display: block;
}
.listing.listing-team .header h2,
.listing.listing-team .header h3,
.listing.listing-article .header h2 {
	text-align: center;
}
.listing.listing-team .header h3 {
	font-weight: 300;
}

.listing.listing-team .items.row {
	margin: -25px;
}
.listing.listing-team .items.row > div {
	padding: 25px;
}

.listing.listing-team .team-member img {
	margin-bottom: 15px;
	filter: grayscale(1);
	filter: grayscale(100%);
	filter: gray;
}

.listing.listing-team .team-member h3 {
	font-size: 1.5rem;
	margin-top: 0;
	margin-bottom: 10px;
}

.listing.listing-team .team-member span {
	font-family: var(--font-family2);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.listing.listing-team .team-member a {
	display: inline-block;
	font-size: .9375rem;
	font-weight: 300;
	color: var(--blue);
	margin-top: 5px;
	border-bottom: 1px solid transparent;
}
.listing.listing-team .team-member a:hover,
.listing.listing-team .team-member a:focus {
	border-bottom-color: var(--blue);
}


/*****************************************/
/********** NEWSLETTERS LISTING **********/
/*****************************************/

.listing .item.newsletter {
	padding-top: 35px;
	padding-bottom: 35px;
}

.listing .item.newsletter h3 {
	margin: 0;
}

.listing .item.newsletter label {
	font-family: var(--font-family2);
	font-size: 11px;
	font-weight: 400;
	color: var(--lightgrey);
	letter-spacing: .1em;
	line-height: 1;
	text-transform: uppercase;
	display: block;
	min-width: 100%;
	max-width: 100%;
	margin: 0;
	margin-top: 15px;
}
.listing .item.newsletter label:first-of-type {
	margin-top: 25px;
}
.listing .item.newsletter label.date {
	color: black;
}


@media(min-width: 768px) {
	.listing .item.newsletter.justify-content-center {
		margin-top: 65px;
		padding-bottom: 0;
	}
}


/***********************************/
/********** AUDIO LISTING **********/
/***********************************/

.listing .audio {
	margin: 0 -20px;
	padding: 20px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	background-color: white;
}
.listing .audio audio {
	display: none;
}

.listing .audio + .audio {
	margin-top: 30px;
}

.listing .audio .play,
.listing .audio .pause {
	max-width: 42px;
	min-width: 42px;
}
.listing .audio .play a,
.listing .audio .pause a {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: calc(100% - 4px);
	border: 2px solid var(--blue);
	border-radius: 100%;
}
.listing .audio .play a::before,
.listing .audio .pause a::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	margin: auto;
}
.listing .audio .play a::before {
	border-left: 12px solid var(--blue);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	width: 0;height: 0;
}
.listing .audio .pause a::before {
	border-left: 3px solid var(--blue);
	border-right: 3px solid var(--blue);
	width: 14px;height: 14px;
}

.listing .audio .audio-progress {
	min-width: 100%;
	max-width: 100%;
	display: flex;
	align-items: center;
	margin-top: 25px;
}
.listing .audio span {
	display: block;
	position: relative;
	font-size: 10px;
	line-height: 1;
	color: var(--grey);
}

.listing .audio .bar {
	position: relative;
	margin: 0 12px;
	flex: 1;
	max-width: 100%;
	height: 4px;
	border-radius: 2px;
	background-color: var(--white);
	cursor: pointer;
}
.listing .audio .bar > span {
	position: absolute;
	top: 0;bottom: 0;
	background-color: var(--blue);
	width: 0;
	border-radius: inherit;
}
.listing .audio .bar > span::before {
	content: "";
	position: absolute;
	top: 50%;right: 0;
	transform: translate(50%, -50%);
	width: 8px;height: 8px;
	border-radius: 100%;
	background-color: inherit;
	pointer-events: none;
}

.listing .audio h4,
.listing .audio .h4 {
	flex: 1;
	padding-left: 20px;
	margin: 0;
	min-width: calc(100% - 42px);
}


@media(min-width: 768px) {
	.listing .audio {
		align-items: center;
	}

	.listing .audio h4,
	.listing .audio .h4 {
		min-width: auto;
	}
	
	.listing .audio .link {
		padding-left: 0;
		margin-top: 0;
	}

	.listing .audio .audio-progress {
		padding-left: 62px;
	}
}

@media(min-width: 992px) {
	.listing .audio h4,
	.listing .audio .h4 {
		padding-left: 40px;
	}

	.listing .audio {
		padding: 30px;
		margin: 0 -30px;
	}

	.listing .audio .audio-progress {
		padding-left: 82px;
	}
}