/* -------------------------------------------------- */
/* 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 !important;}

/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */
body{
	font-family: 'Public Sans', Calibri, sans-serif;
	font-size: 16px;
	color: #000000;
	background: #0d1925;
}

h1, h2, h3, h4{
	font-family: 'Merriweather', Calibri, sans-serif;
	line-height: 1.2em;
	padding: 9px 0 0 0;
}
h2{
	font-size: 24px;
	background: url('/assets/images/hr.svg') no-repeat center bottom;
	padding-bottom: 21px;
	margin-bottom: 21px;
	text-align: center;
}
h2.left-align{
	background-position: left bottom;
	text-align: left;
}
a, a:visited{
	color: #0053a2;
	text-decoration: underline;
}
a:hover, a:active{
	color: #0053a2;
	text-decoration: none;
}
a.new-win{
	display: inline-block;
	padding-right: 23px;
	background: url('/assets/images/new-window.svg') no-repeat right center;
}
strong{
	font-weight: 600;
}
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.65em;
}
p{
	line-height: 1.6em;
	padding: 0 0 18px 0;
}
li p{
	padding-bottom: 0;
}
figure img{
	width: 100%;
	height: auto;
}
figcaption{
	padding-top: 9px;
	font-size: 12px;
	opacity: .5;
}
.center{
	text-decoration: none;
	text-align: center;
}
.container,
.container-sm,
.container-tiny{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 27px;
}
.container-sm{
	max-width: 800px;
}
.container-tiny{
	max-width: 500px;
}
main{
	background: #fff;
}
.error{
	color: red;
}
.success{
	color: green;
}
/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */
.logo-wrap{
	padding: 18px 0;
	background: #0053a2;
	text-align: center;
}
a.logo{
	display: inline-flex;
	align-items: center;
	background: url('/assets/images/ctapa-logo.png') no-repeat;
	background-size: 100px 100px;
	height: 100px;
	padding-left: 118px;
	color: #fff;
	text-decoration: none;
	font-family: 'Merriweather', Calibri, sans-serif;
	font-size: 27px;
	line-height: 1.2em;
	text-align: left;
}
a.logo span{
	display: block;
	font-size: .8em;
}
.prime-nav-wrap{
	background: #083c6f;
}
nav.prime-nav ul{
	display: flex;
	justify-content: center;
	gap: 36px;
}
nav.prime-nav li{
	padding: 0;
}
nav.prime-nav a{
	display: block;
	padding-top: 18px;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}
nav.prime-nav a span{
	display: block;
	width: 0;
	padding-top: 15px;
	border-bottom: 3px solid #f7c800;
	-webkit-transition: width .25s; /* Safari */
	transition: width .25s;
}
nav.prime-nav a:hover span,
nav.prime-nav li.active span{
	width: 100%;
}

/* -------------------------------------------------- */
/* Hero/Page Head
/* -------------------------------------------------- */
.hero{
	background: url('/assets/images/hero-banknote.webp') no-repeat center top;
	background-size: cover;
	padding: 108px 0 162px 0;
	text-align: center;
}
.hero-content{
	color: #fff;
	margin: 0 auto;
}
.hero-content h1{
	font-size: 16px;
	margin-bottom: 18px;
}
.hero-content p{
	font-size: 36px;
	line-height: 1.2em;
}

/* -------------------------------------------------- */
/* Home
/* -------------------------------------------------- */
section{
	padding: 54px 0;
}

/* -------------------------------------------------- */
/* Columns
/* -------------------------------------------------- */
.cols-2{
	display: flex;
	flex-wrap: wrap;
	margin: -27px;
	align-items: center;
}
.cols-2 .col{
	width: 50%;
	padding: 27px;
}

/* -------------------------------------------------- */
/* Cards
/* -------------------------------------------------- */
.cards{
	display: flex;
	flex-wrap: wrap;
	margin: -3px;
	line-height: 1.6em;
	padding: 12px 0 24px 0;
}
.cards .card{
	width: 50%;
	padding: 3px;
	position: relative;
	background: none;
}
.cards .card-box{
	position: relative;
	height: 100%;
	background: #fff;
	padding: 24px;
	border: 1px solid #dddddd;
	overflow: hidden;
}
.cards em{
	opacity: .6;
}
.cards h2,
.cards h3{
	font-size: 24px;
	padding: 0;
	margin: 0 0 6px 0;
	background-image: none;
}
.card{
	line-height: 1.4em;
}
.member-name{
	display: block;
	font-weight: 700;
}
.member-position{
	font-style: italic;
}
.member-county{
	opacity: .6;
}
.member-email{
	font-size: 15px;
	display: block;
}


/* -------------------------------------------------- */
/* Counties
/* -------------------------------------------------- */
.county{
	border: 1px solid #dddddd;
	margin-bottom: 24px;
}
.county .top-row{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid #dddddd;
}
.county .top-row-img{
	flex: 0 0 250px;
	line-height: 0;
	border-right: 1px solid #dddddd;
}
.county .top-row-img img{
	width: 100%;
	height: auto;
}
.county .top-row-txt{
	flex-grow: 1;
	padding: 24px;
}
.county .top-row-txt div{
	line-height: 1.4em;
}
.county .top-row-txt div:first-child{
	font-weight: bold;
	font-size: 18px;
}
.county table{
	width: 100%;
}
.county td, 
.county th{
	padding: 6px 24px; 
	border-bottom: 1px solid #dddddd;
	text-align: left;
	line-height: 1.4em;
}
.county th{
	border-right: 1px solid #dddddd;
	width: 250px;
	text-align: right;
}
.county tr:first-child th, 
.county tr:first-child td{
	padding-top: 24px;
}
.county tr:last-child th, 
.county tr:last-child td{
	padding: 24px;
	border-bottom: none;
}
.county td ul{
	padding: 0;
	margin: 0;
}

.goto{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	padding-bottom: 54px;
}
.goto select{
	background: #fff;
	font-family: 'Public Sans', Calibri, sans-serif;
	font-size: 16px;
	color: #0053a2;
	padding: 12px;
	width: 100%;
	border: 2px solid #ecf0f3;
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */
.top-btn{
	display: block;
	visibility: hidden;
	width: 42px;
	height: 42px;
	background: #0053a2 url('/assets/images/arrow-up.svg') no-repeat center;
	position: fixed;
	z-index: 100;
	bottom: 18px;
	right: 18px;
	opacity: 0;
	-webkit-transition: opacity .5s, visibility .5s; /* Safari */
	transition: opacity .5s, visibility .5s;
}
.scrolled .top-btn{
	opacity: 1;
	visibility: visible;
}

/* -------------------------------------------------- */
/* Interior
/* -------------------------------------------------- */
.align-center p, 
.align-center{
	text-align: center;
}
.pg-head{
	background: #ecf0f3;
	padding: 36px 0;
}
.pg-head h1{
	font-size: 33px;
	padding: 0;
	margin: 0;
	text-align: center;
}
.pg-main{
	padding: 36px 0;
}
.pg-main ul{
	padding: 9px 0 21px 0;
}
.pg-main li{
	background: #ecf0f3;
	padding: 6px 12px;
	line-height: 1.4em;
	margin-bottom: 3px;
}
.pg-main li:last-child{
	border: none;
}

.categories label, 
.search label{
	display: block;
	padding-bottom: 3px;
	font-size: 13px;
	color: #000;
	text-transform: uppercase;
	font-weight: 700;
}
.categories,
.search{
	padding: 12px 12px 18px 12px;
	border: 1px solid #e3e8ec;
	border-bottom: none;
	background: #ecf0f3;
}
.categories select,
.search input{
	background: #fff;
	font-family: 'Public Sans', Calibri, sans-serif;
	font-size: 15px;
	color: #000;
	width: auto;
	padding: 0 9px;
	width: 100%;
	border: 1px solid #e3e8ec;
	height: 40px;
}
.categories{
	border-bottom: 1px solid #e3e8ec;
}
.search-fields{
	display: flex;
}
.search button{
	background: #e3e8ec url('/assets/images/search.svg') no-repeat center;
	width: 40px;
	height: 40px;
}

.controls{
	height: 60px;
	display: flex;
	align-items: center;
}
.pagination{
	flex-grow: 1;
	display: flex;
	justify-content: flex-end;
}
.count{
	color: #000;
}
.count span{
	color: #4d4d4d;
}
.pagination .prev,
.pagination .next{
	width: 48px;
	height: 36px;
	background: no-repeat center;
}
.pagination .prev{
	background-image: url('/assets/images/arrow-back.svg');
}
.pagination .next{
	background-image: url('/assets/images/arrow-forward.svg');
}
.pagination .prev.disable,
.pagination .next.disable{
	opacity: .1;
}

/* -------------------------------------------------- */
/* Alert Ribbon 
/* -------------------------------------------------- */
.alert{
	background: #f7c800;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: #0d1925;
	line-height: 1.4em;
}
.alert .container{
	padding: 9px 18px;
}
.alert a{
	color: #0d1925;
}

/* -------------------------------------------------- */
/* Conferences 
/* -------------------------------------------------- */
.conf{
	margin-bottom: 9px;
	background: #fff;
}
.conf .box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 9px;
	border: 1px solid #dddddd;
}
.conf a{
	width: 50%;
}
.conf a img{
	width: 100%;
	height: auto;
}
.conf-txt{
	width: 50%;
	padding: 27px;
	line-height: 1.6em;
}
.conf-txt h2{
	text-align: left;
	background-position: left bottom;
}
.conf-txt h2 a{
	color: #000;
	text-decoration: none;
}
.conf-when{
	font-weight: 700;
	margin-bottom: 9px;
}
.conf-address{
	opacity: .6;
}
.conf-sum{
	padding: 18px 0 0 0;
}

/* -------------------------------------------------- */
/* Event Detail
/* -------------------------------------------------- */
.event-date{
	color: #0053a2;
	font-size: 21px;
}
.cbox{
	background: #ecf0f3;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 18px;
}
.cbox img{
	width: 50%;
	height: auto;
}
.cbox-txt,
.cbox-txt-full{
	width: 50%;
	padding: 18px;
	line-height: 1.6em;
}
.cbox-txt-full{
	width: 100%;
}
.cbox-imgs{
	display: flex;
	flex-wrap: wrap;
	margin: -3px;
}
.cbox-imgs a{
	padding: 3px;
	width: 33.33%;
}
.cbox-imgs a img{
	width: 100%;
	height: auto;
}
@media screen and (max-width: 600px) {
	.cbox-imgs a{
		width: 100%;
	}
}
.agenda{
	width: 100%;
	background: #ecf0f3;
	margin-bottom: 18px;
}
.agenda th,
.agenda td{
	text-align: left;
	padding: 18px;
	border-bottom: 3px solid #fff;
}
.agenda th{
	font-weight: 700;
	border-right: 3px solid #fff;
	font-size: 14px;
	white-space: nowrap;
}
.agenda td{
	width: 100%;
}
.agenda ul{
	margin: 0; padding: 0;
}
.agenda ul li{
	margin-bottom: 6px;
	background: no-repeat url('/assets/images/bullet.svg') left 11px;
	padding: 0 0 0 12px;
}
.agenda ul li p{
	padding: 0; margin: 0;
}


/* -------------------------------------------------- */
/* Login
/* -------------------------------------------------- */


input{
	font-family: 'Public Sans', Calibri, sans-serif;
	font-size: 16px;
	color: #000000;
	width: 100%;
	border: 2px solid #dddddd;
	padding: 15px;
}
.form-row{
	margin-bottom: 12px;
}
.form-row label{
	display: block;
	padding-bottom: 6px;
	font-weight: 700;
}
.btn-form,
a.btn{
	display: inline-block;
	font-family: 'Public Sans', Calibri, sans-serif;
	font-size: 16px;
	border: none;
	background: #0053a2;
	color: #fff;
	padding: 15px 24px;
	text-decoration: none;
}
a.btn:hover,
.btn-form:hover{
	cursor: pointer;
	color: #fff;
}
.help{
	display: block;
	padding-top: 6px;
	opacity: .6;
	font-size: 14px;
}

/* -------------------------------------------------- */
/* Responsive video
/* -------------------------------------------------- */
.video { 
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
} 
.video iframe, .video object, .video embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* -------------------------------------------------- */
/* CMS edit button
/* -------------------------------------------------- */
.btn-edit{
	position: fixed;
	z-index: 100;
	bottom: 66px;
	right:  18px;
	background: #0053a2 url('/assets/images/pencil.svg') no-repeat center;
	width: 42px;
	height: 42px;
}

/* -------------------------------------------------- */
/* Footer
/* -------------------------------------------------- */
footer{
	padding: 27px 0;
	background: #0d1925;
	text-align: center;
	color: #fff;
}
footer a, 
footer a:visited, 
footer a:active, 
footer a:hover{
	color: #fff;
}
footer p{
	padding: .25em 0
}
.small{
	font-size: .8em;
	opacity: .6;
}

/* -------------------------------------------------- */
/* Mobile Navigation
/* -------------------------------------------------- */
.prime-nav li:last-child{
	display: none;
}
#page{
	position: relative;
	background: #ffffff;
	position: relative;
	z-index: 20;
	width: 100%;
	left: 0;
	background: #fff;
	-webkit-transition: left .25s; /* Safari */
	transition: left .25s;
}
#page.show{
	left: -240px;
}

.mnav{
	position: fixed;
	z-index: 10;
	height: 100vh;
	overflow-y: scroll;
	width: 240px;
	padding: 24px;
	top: 0;
	right: 0;
}
.mnav a{
	display: block;
	padding-top: 18px;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.mnav a.logo{
	width: 192px;
	height: 192px;
	background-size: 192px 192px;
	opacity: .25;
}
.mnav li{
	margin-bottom: 6px;
}
.mnav li li{
	margin-bottom: 0;
}

.prime-nav button{
	background: transparent url('/assets/images/menu.svg') no-repeat center;
	width: 42px;
	height: 42px;
}
#page.show .prime-nav button{
	background-image: url('/assets/images/close.svg');
}

/* -------------------------------------------------- */
/* Breakpoints
/* -------------------------------------------------- */
@media screen and (max-width: 959px) {
	.cols-2{
		margin: -9px;
	}
	.cols-2 .col{
		width: 100%;
		padding: 9px;
	}
}
@media screen and (max-width: 799px) {
	.hero, section{
		padding: 54px 0;
	}
	a.logo, 
	a.logo span{
		font-size: 21px;
	}
	nav.prime-nav ul{
		justify-content: flex-end;
	}
	.prime-nav li{
		display: none;
	}
	.prime-nav li:last-child{
		display: block;
	}
	.cards .card{
		width: 100%;
	}
	.conf img,
	.conf-txt{ width: 100%; }
}
@media screen and (min-width: 800px) {
	#page{ 
		left: 0 !important; 
	}
}
@media screen and (max-width: 599px) {
	.hero p{
		font-size: 27px;
	}
	.county table,
	.county table tr,
	.county table th,
	.county table td,
	.county .top-row-img,
	.county .top-row-txt{
		display: block;
		width: 100%;
		text-align: left;
	}
	.county table th{
		border-right: none;
	}
	.county tr:last-child th{
		border-bottom: 1px solid #dddddd;
	}
	.county .top-row-img{
		flex-grow: 1;
		width: 100%;
		max-width: 300px;
		border: none;
	}
	.county th{
		background: #ecf0f3;
	}
	.county td,
	.county th,
	.county tr:first-child th, 
	.county tr:first-child td,
	.county .top-row-txt,
	.county tr:last-child th,
	.county tr:last-child td{
		padding: 9px;
	}
}
@media screen and (max-width: 399px) {
	a.logo{
		padding-left: 112px;
	}
	a.logo, 
	a.logo span{
		font-size: 18px;
	}
}