/* -------------------------------------------------- */
/* Reset - http://purecss.io/base
/* -------------------------------------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section, main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}.hide{display:none;}html{box-sizing: border-box;}*,*:before,*:after{box-sizing:inherit;}.clear{font-size:0px;clear: both;height: 0px;}*:focus{outline: none;}strong{font-weight:bold;}em{font-style:italic;}input:invalid{box-shadow: none;}button{border:none;background:none;padding:0;margin: 0;}button::-moz-focus-inner{border:0;}input,button{border-radius:0;border-radius:none;}html{scroll-behavior: smooth;}
/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */
body{
	background: #000;
	font-family: 'Figtree', Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: #000000;
}
h1, h2, h3, h4{
	line-height: 1.2em;
	font-weight: 900;
}
h2, h3, h4,
h2 a, h3 a, h4 a{ 
	color: #c22032; 
	margin-bottom: 1em;
	text-decoration: none;
}
h2{ 
	text-transform: uppercase;
	font-size: 21px;
}
h3, h4{ font-weight: 700; }
h3{ font-size: 18px; }
h4{ font-size: 16px; }

a{ color: #000000; }
strong{ font-weight: 700; }
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}
p{
	line-height: 1.6em;
	margin-bottom: 1em;
}
.center{
	text-align: center;
}

/* -------------------------------------------------- */
/* Containers   
/* -------------------------------------------------- */
.container{
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
	padding: 0 27px;
}
.contain-sm{
	width: 100%;
	max-width: 720px;
}
.contain-tiny{
	width: 100%;
	max-width: 540px;
}


/* -------------------------------------------------- */
/* Header   
/* -------------------------------------------------- */
header{
	background-color: #fff;
	padding: 18px 0;
	position: sticky;
	top: 0;
	z-index: 999;
}
.logo,
.logo svg{
	width: 208px;
	height: 70px;
	-webkit-transition: width .25s, height .25s; /* Safari */
	transition: width .25s, height .25s;
}
.scrolled header{
	box-shadow: 0 1px 0 #eaebec;
}
.scrolled .logo{
	overflow: hidden;
	width: 145px;
	height: 39px; /* crop out text */
}
.scrolled .logo svg{
	width: 145px;
	height: 50px;
}
 
header .container{
	display: flex;
	align-items: center;
}
header nav{
	margin-left: auto;
}
header nav ul{
	display: flex;
	align-items: center;
}
header nav li{
	padding-left: 27px;
}
header nav a{
	display: block;
	padding: 9px 0 6px 0;
	color: #000;
	text-decoration: none;
	font-weight: 700;
	border-bottom: 2px solid transparent;
	text-transform: uppercase;
	font-size: 14px;
}
header nav a:hover{
	color: #c22032;
}
header nav .active a{
	color: #c22032;
	border-color: #c22032;	
}


/* -------------------------------------------------- */
/* Hero   
/* -------------------------------------------------- */
.hero{
	background: url('/assets/images/hero-hands.webp') no-repeat center;
	background-size: cover;
	padding: 144px 0;
	display: flex;
	align-items: center;
	color: #fff;
}
.hero h1{
	width: 100%;
	margin-bottom: 27px;
	font-size: 54px;
}
.hero p{
	margin: 0;
	font-size: 18px;
}


/* -------------------------------------------------- */
/* History
/* -------------------------------------------------- */
.history{
	background: #eaebec url('/assets/images/logo-symbol.svg') no-repeat -54px center;
	background-size: 900px auto;
	padding: 72px 0;
}
strong em{
	color: #c22032;
}
.sm-btn{
	display: inline-flex;
	align-items: center;
	background: rgba(194,32,50,.1);
	padding: 6px 12px;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	color: #c22032;
	-webkit-transition: background-color .25s, color .25s; /* Safari */
	transition: background-color .25s, color .25s;
	border: none;
}
.sm-btn.bigger{
	padding: 12px;
}
.sm-btn svg{
	margin-left: 6px;
	fill: #c22032;
	transform: translateX(0);
	-webkit-transition: all .25s;
	transition: all .25s;
}
.sm-btn:hover{
	background: rgba(194,32,50,1);
	color: #fff;
	cursor: pointer;
}
.sm-btn:hover svg{
	transform: translateX(3px);
	fill: #fff;
}

/* -------------------------------------------------- */
/* Cardlet
/* -------------------------------------------------- */
.cardlet{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: -27px;
}
.cardlet .img{
	width: 50%;
	padding: 27px;
}
.cardlet .txt{
	width: 50%;
	padding: 27px;
}
.cardlet .img-quote{
	width: 50%;
	padding: 27px;
	line-height: 0;
}
.img-quote img{
	width: 100%;
	height: auto;
}
.quote{
	background: #c22032 url('/assets/images/quote.svg') no-repeat 27px 33px;
	color: #fff;
	padding: 27px 33px 27px 66px;
}
.quote-txt{
	font-weight: 700;
	font-style: italic;
	margin-bottom: 9px;
	font-size: 17px;
}
.quote-cite{
	margin: 0;
	font-size: 15px;
}

.frame-img{
	line-height: 0;
	background: #c22032;
	margin: 9px 0 0 9px;
}
.frame-img img{
	width: 100%;
	height: auto;
	transform: translate(-9px, -9px);
}

/* -------------------------------------------------- */
/* Benefits
/* -------------------------------------------------- */
.benefits{
	padding: 72px 0;
}
main ul{
	margin-bottom: .6em;
}
main li{
	padding: 0 0 .4em 12px;
	line-height: 1.6;
	background: url('/assets/images/bullet-sm.svg') no-repeat left .75em;
}

/* -------------------------------------------------- */
/* CTA
/* -------------------------------------------------- */
.cta-box{
	background: #c22032 url('/assets/images/logo-symbol-ghost.svg') no-repeat -54px center;
	background-size: 600px auto;
	padding: 72px 0;
	color: #fff;
}
.cta-box-container{
	width: 100%;
	max-width: 754px;
	padding: 0 27px;
	margin: 0 auto;
}
.cta h2{
	text-transform: none;
	color: #fff;
	font-size: 48px;
	margin-bottom: 18px;
	text-align: center;
}
.cta p{
	font-size: 18px;
	text-align: center;
	margin-bottom: 18px;
}

.em-btn{
	display: inline-flex;
	align-items: center;
	background: rgba(0,0,0,.1);
	padding: 6px 12px;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	-webkit-transition: background-color .25s, color .25s; /* Safari */
	transition: background-color .25s, color .25s;
}
.em-btn svg{
	margin-right: 9px;
}
.em-btn:hover{
	background: rgba(0,0,0,.25);
	color: #fff;
}

/* -------------------------------------------------- */
/* Page Header
/* -------------------------------------------------- */
.pg-head{
	background-image: linear-gradient( to right, #eaebec 60%, #fff 60%);
}
.pg-head .wrapper{
	background: url('/assets/images/logo-symbol.svg') no-repeat -108px center;
	background-size: 900px auto;
}
.pg-head .content{
	display: flex;
	flex-wrap: wrap;
	color: #000;
	line-height: 0;
}
.pg-head .img,
.pg-head .txt{
	width: 50%;
}
.pg-head h1{
	font-size: 27px;
	padding-bottom: 23px;
	margin-bottom: 27px;
	border-bottom: 4px solid #838588;
	color: #c22032;
	line-height:  1.2em;
	text-transform: uppercase;
}
.pg-head .txt{
	display: flex;
	align-items: center;
	padding: 54px 54px 54px 0;
}
.pg-head .txt div{
	width: 100%;
}
.pg-head .callout{
	margin: 0;
}
.pg-head .img{
	background: #000 no-repeat center;
	background-size: cover;
	padding-bottom: 37.5%;
}

/* -------------------------------------------------- */
/* News
/* -------------------------------------------------- */
.pg-head.news .img{
	padding-bottom: 18.75%;
}
.breadcrumb a{
  line-height: 1em;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 700;
  padding: 9px 0 6px 0;
  border-bottom: 2px solid #000;
  color: #000;
  font-size: 14px;
}
.pg-head.news h1{
	font-size: 36px;
	padding: 18px 0 21px 0;
	margin: 0;
	border-bottom: none;
	line-height:  1.2em;
	text-transform: none;
	font-weight: 700;
}
.pub-date{
	font-size: 14px;
	font-weight: 700;
	color: #838588;
	text-transform: uppercase;
}


/* -------------------------------------------------- */
/* Interior
/* -------------------------------------------------- */
.main{
	padding: 27px 0;
}
.callout{
	font-size: 27px;
	margin-bottom: 27px;
	line-height: 1.4em;
}
.interior section{
	padding: 27px 0;
}
.interior .main h3,
.interior .main h4{
	padding-top: 1em;
}

/* -------------------------------------------------- */
/* About: Mission
/* -------------------------------------------------- */

.icon-cards{
	display: flex;
	flex-wrap: wrap;
	margin: -27px;
	padding-top: 27px;
}
.icon-cards .card{
	width: 50%;
	padding: 27px;
}
.icon-cards .content{
	display: flex;
	height: 100%;
}
.icon-cards .txt{
	flex-grow: 1;
	padding-left: 27px;
}
.icon-cards h3{
	padding: 0;
}
.events .card h2{
	margin-bottom: 9px;
	padding: 0;
}
.events .sdate{
	font-size: 14px;
	margin-bottom: 12px;
	font-weight: 700;
}
.events .sum{
	line-height: 1.4em;
	margin-bottom: 15px;
}

/* -------------------------------------------------- */
/* Members
/* -------------------------------------------------- */
.mem-cards{
	display: flex;
	flex-wrap: wrap;
	margin: -3px;
	padding: 0 0 27px 0;
}
.mem-cards .card{
	padding: 3px;
	width: 33.33%;
}
.mem-cards .content{
	background: #eaebec;
	height: 100%;
}
.mem-cards .img img{
	width: 100%;
	height: auto;
	filter: grayscale(100%);
	-webkit-transition: all .25s; /* Safari */
	transition: all .25s;
}
.mem-cards .card:hover img{
	filter: grayscale(0);
}
.mem-cards .txt{
	padding: 27px;
}
.interior .main .mem-cards h3{
	margin-bottom: 9px;
	padding: 0;
}
.mem-cards .company{
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 9px;
}

/* -------------------------------------------------- */
/* Resources
/* -------------------------------------------------- */
.resource-cards{
	display: flex;
	flex-wrap: wrap;
	margin: -27px;
}
.resource-cards .card{
	width: 33.33%;
	padding: 27px;
}
.resource-cards img{
	width: 100%;
	height: auto;
	margin-bottom: 12px;
}
.resource-cards h2{
	margin-bottom: 12px;
}
.resource-cards .source,
.resource-cards .type{
	display: inline-block;
	font-weight: 700;
	margin-bottom: 12px;
	font-size: 14px;
}
.resource-cards .source{
	border: none;
}
.resource-cards .sum{
	line-height: 1.4em;
	margin-bottom: 15px;
}

/* -------------------------------------------------- */
/* Table 
/* -------------------------------------------------- */
.mem-teirs table{
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}
.mem-teirs table td, 
.mem-teirs table th{
	text-align: left;
	padding: 18px;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}
.mem-teirs table th{
	font-weight: bold;
	background: #eaebec;
	width: 33.33%;
}
.mem-teirs table td{
	font-size: 15px;
}
.mem-teirs table td, 
.mem-teirs table th,
.mem-teirs table li{
	line-height: 1.4em;
}
.valign-middle{ vertical-align: middle; }
.side-th{ display: none; }

/* -------------------------------------------------- */
/* Membership
/* -------------------------------------------------- */

.members {
	margin-bottom: 45px;
}
.members-list {
	padding: 27px 0;
	overflow: hidden;
}
.members-list ul {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #eaebec;
	margin: 0 -1px;
}
.members-list li{
	position: relative;
	width: 33.33%;
	border-right: 1px solid #eaebec;
	border-bottom: 1px solid #eaebec;
	background: none;
	padding: 0;
	text-align: center;
}
img.member-tier{
	position: absolute;
	top: 0;
	left: 12px;
	width: 30px;
	height: 61px;
}
.members-list .member-name{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 9px;
	font-size: 11px;
	line-height: 1.2em;
	text-transform: uppercase;
	color: #ccc;
}
.member-logo{
	display: inline-block;
	padding: 54px 0;
}
.member-logo img{
	height: auto;
	max-height: 60px;
	max-width: 180px;
	width: auto;
}
@media screen and (max-width: 1050px) {
	.members-list li{ width: 50%; }
}
@media screen and (max-width: 660px) {
	.members-list li{ width: 100%; }
}


/* Membership Tiers */

.membership-tiers .container {
    overflow-x: auto;
}
.membership-tiers table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    table-layout: fixed;
    padding: 27px 0;
}
.membership-tiers .col-icon {
    width: 48px;
}
.membership-tiers .col-offering {
    width: 44%;
}
.membership-tiers .col-diamond,
.membership-tiers .col-platinum,
.membership-tiers .col-gold {
    width: 18.66%;
}
.membership-tiers th,
.membership-tiers td {
    padding: 14px 16px;
    vertical-align: middle;
}

/* Header */

.membership-tiers thead th {
    border-bottom: 2px solid #c91f37;
    font-weight: 700;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}
.membership-tiers thead .offering {
    padding-left: 0;
    text-align: left;
}
.membership-tiers thead .diamond {
    background: #c91f37;
    color: #fff;
}
.membership-tiers thead .platinum {
    background: #ccc;
}
.membership-tiers thead .gold {
    background: #f4cb0b;
}

/* Body */

.membership-tiers tbody td.icon,
.membership-tiers tbody th {
    background: #f3f3f3;
}
.membership-tiers tbody td.icon {
    padding: 8px 6px;
    text-align: center;
}
.membership-tiers tbody td.icon img {
    display: block;
    width: 36px;
    height: 36px;
    margin: 0 auto;
    object-fit: contain;
}
.membership-tiers tbody th {
    padding-left: 8px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}
.membership-tiers tbody td:not(.icon) {
    font-weight: 600;
    text-align: center;
}
.membership-tiers tbody td:nth-of-type(2) {
    background: #efd0c9;
}
.membership-tiers tbody td:nth-of-type(3) {
    background: #ddd;
}
.membership-tiers tbody td:nth-of-type(4) {
    background: #faf8e9;
}
.membership-tiers tbody tr + tr th,
.membership-tiers tbody tr + tr td {
    border-top: 2px solid #fff;
}

/* Research */

.membership-tiers .research th,
.membership-tiers .research td {
    vertical-align: top;
}
.membership-tiers .research ul {
    margin: 12px 0 0;
}
.membership-tiers .research li {
    margin-bottom: 6px;
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.45;
}

/* Breakpoint */

@media (max-width: 768px) {
    .membership-tiers table {
        min-width: 740px;
    }
    .membership-tiers th,
    .membership-tiers td {
        padding: 12px;
    }
    .membership-tiers tbody td.icon img {
        width: 36px;
        height: 36px;
    }
}

/* -------------------------------------------------- */
/* Form   
/* -------------------------------------------------- */
form{
	padding: 18px 0 0 0;
}
form input{
	font-family: 'Figtree', Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: #000000;
	width: 100%;
	padding: 12px;
	border:  2px solid #ccc;
}
label{
	display: block;
	padding-bottom: 6px;
	font-weight: 700;
	font-size: 14px;
}
.form-row{
	padding-bottom: 18px;
}
.form-row.wcols{
	display: flex;
	flex-wrap: wrap;
	margin: -9px;
}
.form-col{
	width: 50%;
	padding: 9px;
}
.alert{
	color: red;
}

/* -------------------------------------------------- */
/* Footer
/* -------------------------------------------------- */
.foot-box{
	text-align: center;
	padding: 18px 0 9px 0;
}
footer p{
	margin-bottom: 9px;
	line-height: 1.2em;
}
.sm-txt{
	font-size: 13px;
	opacity: .6;
}

/* -------------------------------------------------- */
/* CMS edit button
/* -------------------------------------------------- */
.edit-btn{
	background:  #000000 url('/assets/images/pencil.svg') no-repeat center;
	height: 48px;
	width: 48px;
	position: fixed;
	z-index: 9999;
	bottom: 10px;
	right: 10px;
}

/* -------------------------------------------------- */
/* Mobile Navigation
/* -------------------------------------------------- */
#page{
	background: #ffffff;
	position: relative;
	z-index: 20;
	width: 100%;
	background: #fff;
	-webkit-transition: all .25s; /* Safari */
	transition: all .25s;
	min-height: 100vh;
}
#page.show{
	transform: translateX(-240px);
}
.mnav{
	background: url('/assets/images/logo-symbol-ghost.svg') no-repeat -300px bottom;
	background-size: 600px auto;
	position: fixed;
	z-index: 10;
	height: 100vh;
	overflow-y: scroll;
	width: 240px;
	padding: 39px 15px 15px 15px;
	top: 0;
	right: 0;
}
.mnav a{
	display: block;
	color: #fff;
	text-align: left;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.4em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px;
}
.mnav-btn{
	display: none;
	background: transparent url('/assets/images/menu.svg') no-repeat center;
	width: 42px;
	height: 42px;
}
#page.show .mnav-btn{
	background-image: url('/assets/images/close.svg');
}

/* -------------------------------------------------- */
/* Breaking Points
/* -------------------------------------------------- */
@media screen and (max-width: 1366px) {
	.pg-head.news .img{ display: none; }
	.pg-head.news{ 
		background: #eaebec; 
		border-right: 27px solid #fff;
	}
}
@media screen and (max-width: 1080px) {
	.cardlet{
		align-items: start;
	}
}
@media screen and (max-width: 959px) {
	header nav ul{ display: none; }
	.mnav-btn{ display: block; }
	.logo{
		overflow: hidden;
		width: 145px;
		height: 39px; /* crop out text */
	}
	.logo svg{
		width: 145px;
		height: 50px;
	}
}
@media screen and (min-width: 960px) {
	#page.show{
		transform: translateX(0);
	}
}
@media screen and (max-width: 900px) {
	.mem-cards .card{ width:100%; }
	.mem-cards .img{ max-width: 400px; }
	.resource-cards .card{ width: 50%; }
}
@media screen and (max-width: 800px) {
	.pg-head{ background: #eaebec; padding-bottom: 27px;}
	.pg-head .img,
	.pg-head .txt{ width: 100%; }
	.pg-head .txt{ padding: 27px 0; }
	.pg-head .img{ padding-bottom: 56%; }
	.pg-head.news{ padding-bottom: 0;}
	.history{
		background-position: center -54px;
	}
	.history,
	.benefits{
		padding: 36px 0;
	}
	.hero{
		padding: 36px 0;
	}
	.cardlet .img,
	.cardlet .img-quote, 
	.cardlet .txt{
		width: 100%;
	}
	.icon-cards .content{ flex-wrap: wrap; }
	.icon-cards .card{ width: 100%; padding-bottom:0;}
	.icon-cards .txt{ padding:0; }
	
	.mem-teirs table,
	.mem-teirs table tr,
	.mem-teirs table th,
	.mem-teirs table td{
		display: block;
		width: 100%;
	}
	.side-th{ display: block; }
	.top-th{ display: none; }
}
@media screen and (max-width: 700px) {
	.resource-cards .card{ width: 100%; }
}
@media screen and (max-width: 600px) {
	.hero h1{
		font-size: 42px;
	}
	.cta h2{
		font-size: 36px;
	}
	.pg-head.news h1{
		font-size: 30px;
	}
	.form-col{ width: 100%; }
	.form-col:first-child{
		padding-bottom: 9px;
	}
}
@media screen and (max-width: 500px) {
	.quote{
		background-position: 18px 33px;
		background-size: 18px 14px;
		padding: 27px 33px 27px 48px;
	}
	.icon-cards .txt{ 
		width:  100%; 
		padding: 0;
	}
	.callout{ font-size: 24px; }
}