/* -------------------------------------------------- */
/* 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{
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	background: #f4f4f4;
}
h1, h2, h3, h4{
	font-family: 'Old Standard TT', serif;
	line-height: 1.3em;
	color: #000000;
	text-transform: uppercase;
}
h2{
	font-size: 36px;
}
a, a:visited{
	color: #000000;
}
a:hover, a:active{
	color: #000000;
	text-decoration: none;
}
strong{
	color: #000;
	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: 1.6em;
}
.center{
	text-align: center;
}

/* -------------------------------------------------- */
/* Containers
/* -------------------------------------------------- */
.container,
.container-med,
.container-min,
.container-max{
	width: 100%;
	max-width: 1366px;
	padding: 0 18px;
	margin: 0 auto;
}
.container-max{
	max-width: 1600px;
}
.container-med{
	max-width: 960px;
}
.container-min
{	max-width: 640px;
}
a.download,
a.editfile{
	display: inline-block;
	margin: 0 3px;
	width: 18px;
	height: 18px;
	background: url('/assets/images/download.svg') no-repeat center;
}
a.editfile{
	background-image: url('/assets/images/edit.svg');
}

/* -------------------------------------------------- */
/* Controls
/* -------------------------------------------------- */
.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;
}

/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */
header{
	position: absolute;
	padding: 18px 0;	
	width: 100%;
	text-align: center;
}
header .container{
	text-align: center;
}
.inside header{
	position: relative;
	padding: 21px 0 18px 0;
}
.inside header .container{
	max-width: 640px;
}
a.logo{
	display: block;
	align-items: center;
	font-family: 'Old Standard TT', serif;
	font-size: 20px;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: 18px;

}
a.logo img{
	height: 200px;
	width: auto;
	margin-bottom: 9px;
}
.inside a.logo img{
	display: none;
}
a.logo .short{
	display: none;
	font-size: 36px;
	padding-top: 3px;
	font-weight: 700;
}
.inside-head-wrap{
	background: #002a86 url('/assets/images/hero-us-flag.jpg') no-repeat center;
	background-size: cover;
}

/* -------------------------------------------------- */
/* Prime Navigation
/* -------------------------------------------------- */
.prime ul{
	display: flex;
	justify-content: center;
}
.prime li{
	border-right: 1px solid rgba(0,0,0,.1);
	background: #c01b33;
}
.prime li:last-child{
	border: none;
}
.prime ul a{
	display: block;
	padding: 18px 27px;
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
} 
.prime ul a:hover{
	background: #cc1d36;
}
.prime li.active a{
	text-decoration: underline;
}

/* -------------------------------------------------- */
/* Sub Navigation
/* -------------------------------------------------- */
.sub-nav{
	background-color: rgba(0,0,0,.1);
}
.sub-nav ul{
	display: flex;
	justify-content: center;
}
.sub-nav li{
	padding: 0 6px;
}
.sub-nav a{
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: #7ee9ff;
	letter-spacing: 1px;
	text-decoration: none;
	padding: 24px 12px;
	text-align: center;
}
.sub-nav li.active a{

	text-decoration: underline;
}
@media screen and (max-width: 950px) {
	.sub-nav{display:none;}
}

/* -------------------------------------------------- */
/* Mobile Navigation
/* -------------------------------------------------- */
.mnav-btn{
	display: none;
	position: fixed;
	z-index: 100;
	top: 89px; right: 18px;
	background: #c01b33 url('/assets/images/menu.svg') no-repeat center;
	margin-left: auto;
	width: 48px;
	height: 48px;
}
.mnav-btn:hover{
	cursor: pointer;
	background-color: #cc1d36;
}
.show .mnav-btn{
	background-image: url('/assets/images/close.svg');
}
.mnav{
	background: #002a86;
	position: fixed;
	z-index: 50;
	overflow-x: auto;
	top: 0; bottom: 0;
	width: 100%;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 18px;
}
.show .mnav{
	display: flex;
}
.mnav li{
	border-bottom: 1px solid rgba(0,0,0,.1);
	background: #c01b33;
	min-width: 80%;
}
.mnav ul a{
	display: block;
	padding: 21px;
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
	text-decoration: none;
} 
.mnav ul a:hover{
	background: #cc1d36;
}

/* -------------------------------------------------- */
/* Hero
/* -------------------------------------------------- */
.hero{
	background: url('/assets/images/hero-capitol.jpg') no-repeat center top;
	background-size: cover;
	padding: 414px 0 108px 0;
	min-height: 100vh;
}
.hero .container-max{
	display: flex;
	align-items: center;
}
.hero-text{
	font-size: 18px;
	margin: 0 auto;
}
.hero-text h1{
	font-size: 54px;
	color: #fff;
	text-transform: uppercase;
}
.rule{
	background: url('/assets/images/hr.svg') no-repeat center bottom;
	padding-bottom: 18px;
	margin-bottom: 27px;
}
.hero-text p{
	max-width: 640px;
	margin: 0 auto;
	color: #fff;
}
.hero-img{
	width: 50%;
	height: auto;

}

/* -------------------------------------------------- */
/* Define
/* -------------------------------------------------- */
.define{
	background: #f4f4f4;
	padding: 108px 0;
	text-align: center;
}

/* -------------------------------------------------- */
/* Meet
/* -------------------------------------------------- */
.meet{
	padding: 108px 0;
	background: #fff;
}

/* -------------------------------------------------- */
/* Cards
/* -------------------------------------------------- */
.cards{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 30px;
	margin: -6px;
}
.card{
	position: relative;
	width: 16.666%;
	padding: 6px;
}
.cards.list .card{
	width: 33.333%;
}
.card .border{
	border: 1px solid #efefef;
	height: 100%;
	padding: 9px;
}
.cards.list .card .border{
	display: flex;
	align-items: center;
}
.card img{
	width: 100%;
	height: auto;
	margin-bottom: 12px;
}
.cards.list .card img{
	width: 120px;
	height: 120px;
	margin: 0;
}
.cards.list .card .data{
	padding: 0 12px;
}
.card span{
	display: block;
	line-height: 1.2em;
	margin-bottom: 3px;
	font-size: 14px;
}
.card .name{
	font-size: 18px;
	font-weight: 700;
	color: #000;
}
.card .assoc-title{
	font-weight: 700;
	text-transform: uppercase;
	color: #002a86;
	margin-bottom: 9px;
	font-size: 13px;
}
.cards.list .card .assoc-title{
	font-size: 12px;
	margin-bottom: 6px;
}
.card .title{
	font-weight: 700;
}
.card .county{
	opacity: .7;
}

/* -------------------------------------------------- */
/* Modal/detail card
/* -------------------------------------------------- */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: none;
    overflow: auto;
    background-color: #000000;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
}
.modal-window {
    display: flex;
    position: relative;
    background-color: #ffffff;
    width: 100%;
    max-width: 540px;
    margin: 10% auto;
    box-shadow: 0 0 18px rgba(0,0,0,.2);
    text-align: left;
}
.cards.list .card .modal-img{
	width: 40%;
}
.cards.list .card .modal-img img{
	width: 100%;
	height: auto;
}
.modal-data{
	width: 60%;
	padding: 54px 36px;
}
.modal-data span{
	display: block;
	
	line-height: 1.2em;
	margin-bottom: 3px;
	font-size: 15px;
}
.modal-data .name{
	font-size: 24px;
	font-weight: 700;
	color: #000;
}
.modal-data .assoc-title{
	font-weight: 700;
	text-transform: uppercase;
	color: #1f5290;
	margin-bottom: 12px;
	font-size: 13px;
}
.modal-data .title{
	font-weight: 700;
}
.modal-data .county{
	opacity: .7;
	margin-bottom: 12px;
}
.modal-data .address{
	margin-bottom: 12px;
}
.modal-data .email{
	margin-bottom: 12px;
}
.close {
    position: absolute;
    top: 9px;
    right: 9px;
    color: #142d52
    height: 30px;
    width: 30px;
    font-size: 30px;
    line-height: 30px;
    text-align: center;
}
.close:hover,
.details:hover{
    cursor: pointer;
}
.details{
	display: block;
	font-size: 13px;
	color: #000;
	text-decoration: underline;
}
.open {
    display: block;
}

/* -------------------------------------------------- */
/* Conference
/* -------------------------------------------------- */
.conf{
	padding: 9px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border: 1px solid #efefef;
}
.conf img{
	width: 50%;
}
.conf-text{
	width: 50%;
	padding: 27px;
}
.conf-dates{
	font-weight: 700;
	text-transform: uppercase;
	color: #002a86;
	font-size: 15px;
	margin-bottom: 21px;
}
.conf-venue{
	font-weight: 700;
	margin-bottom: 10px;
}
.conf-address{
	margin-bottom: 18px;
	opacity: .7;
}
.conf-sum{
	line-height: 1.4em;
}
.conf-files h3{
	font-size: 21px;
}
.conf-files ol{
	list-style-image: url('/assets/images/download.svg');
	list-style-position: inside;
	padding: 18px 0;
}
.conf-files ol li{
	background: 0;
	padding: 0;
}
@media screen and (max-width: 900px) {
	.conf img, .conf-text{ width: 100%; }
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */
a.btn{
	display: inline-block;
	background: #c01b33;
	padding: 12px 18px;
	font-size: 13px;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
}
a.btn:hover{
	color: #fff;
	background: #cc1d36;
}
.btns{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -6px;
}
.btns a.btn{
	margin: 6px;
}
@media screen and (max-width: 800px) {
	.btns .btn{
		width: 100%;
		text-align: center;
	}
}

/* -------------------------------------------------- */
/* Interior
/* -------------------------------------------------- */
main{
	padding: 54px 0;
	background: #fff;
}
.pg-header{
	padding: 18px 0 18px 0;
}
.pg-header h1{
	font-size: 36px;
	color: #fff;
	text-align: center;
}
.pg-header p{
	color: #fff;
	margin: 0;
	font-size: 21px;
}
.body{
	padding-bottom: 54px;
}
.body h2{
	font-size: 30px;
	background: url('/assets/images/hr.svg') no-repeat left bottom;
	padding-bottom: 18px;
	margin-bottom: 27px;
}
.body .cards{
	padding-bottom: 108px;
}
.body ul{
	margin: 1.6em;
}
.body li{
	line-height: 1.4em;
	margin-bottom: 1em;
	background: url('/assets/images/bullet.svg') no-repeat left .6em;
	padding-left: 18px;
}
.body li p{
	margin: 0;
}

/* -------------------------------------------------- */
/* Login
/* -------------------------------------------------- */
form label{
	display: block;
	padding-bottom: 9px;
	font-weight: 600;
	font-size: 16px;
}
form input{
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	color: #000;
	border: 1px solid #ccc; 
	padding: 12px;
	width: 100%;
}
.form-row{
	margin-bottom: 12px;
}
button.btn-form{
	display: ;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	text-decoration: none;
	background: #000;
	color: #fff;
	padding: 18px 27px;
	display: inline-block;
	line-height: 1em;
}
button.btn-form:hover{
	cursor: pointer;
}
.error{
	color: red;
}
.success,
.success a{
	color: green;
}
.help{
	padding: 9px 0;
	font-size: 12px;
	opacity: .6;
}

/* -------------------------------------------------- */
/* Go-to menu
/* -------------------------------------------------- */
.goto{
	padding-bottom: 108px;
}
.goto select{
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	width: auto;
	padding: 9px;
	width: 100%;
}
.help-text{
	font-size: 14px;
	margin-bottom: 6px;
}

/* -------------------------------------------------- */
/* Member sections	
/* -------------------------------------------------- */
.sections{
	display: flex;
	flex-wrap: wrap;
	margin: -6px;
}
.sections article{
	padding: 6px;
	width: 33.333%;
	position: relative;
}
.sections .pad{
	padding: 24px;
	border: 1px solid #efefef;
	height: 100%;
}
.sections article h3{
	font-size: 21px;
	margin-bottom: 9px;
}
.sections article p:last-child{
	margin: 0;
}
@media screen and (max-width: 900px) {
	.sections article{ width: 50%; }
}
@media screen and (max-width: 600px) {
	.sections article{ width: 100%; }
}
/* -------------------------------------------------- */
/* Listed files
/* -------------------------------------------------- */
dl{
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #e4e4e4;
	border-bottom: none;
	margin-bottom: 24px;
	font-size: 16px;
}
dt{
	width: 20%;
	background: #efefef;
	border-bottom: 1px solid #e4e4e4;
	border-right: 1px solid #e4e4e4;
	padding: 12px;
	text-align: right;
	color: #666;
}
dd{
	width: 80%;
	border-bottom: 1px solid #e4e4e4;
	padding: 12px;
}
dd.topic{
	font-weight: 600;
}
dd.link{
	font-size: 15px;
}
@media screen and (max-width: 620px) {
	dl{
		border: 1px solid #e4e4e4;
		padding: 19px 24px;
		margin-bottom: 12px;
	}
	dt{ display: none; }
	dd{
		width: 100%;
		border: none;
		padding: 5px 0 5px 0;
	}
}

/* -------------------------------------------------- */
/* Table
/* -------------------------------------------------- */
table{
	width: 100%;
	border-top: 1px solid #e4e4e4;
	border-right: 1px solid #e4e4e4;
}
td, th{
	padding: 12px;
	text-align: left;
	border-left: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
	line-height: 1.2em;
}
th, tr:nth-child(odd) td{
	background: #efefef;
}
th,.categories label, 
.search label{
	font-size: 13px;
	color: #000;
	text-transform: uppercase;
	font-weight: 700;
}
.categories,
.search{
	padding: 12px 12px 18px 12px;
	border: 1px solid #e4e4e4;
	border-bottom: none;
	background: #efefef;
}
.categories select,
.search input{
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	width: auto;
	padding: 0 9px;
	width: 100%;
	border: 1px solid #e4e4e4;
	height: 40px;
}
.categories{
	border-bottom: 1px solid #e4e4e4;
}
.search-fields{
	display: flex;
}
.search button{
	background: #e4e4e4 url('/assets/images/search.svg') no-repeat center;
	width: 40px;
	height: 40px;
}

/* -------------------------------------------------- */
/* CMS edit button
/* -------------------------------------------------- */
.edit-btn{
	background:  #000000 url('/assets/images/pencil.svg') no-repeat center;
	height: 48px;
	width: 48px;
	position: fixed;
	z-index: 45;
	bottom: 68px;
	right: 10px;
}

/* -------------------------------------------------- */
/* Jump to top button
/* -------------------------------------------------- */
.totop-btn{
	background:  #c01b33 url('/assets/images/arrow-top.svg') no-repeat center;
	height: 48px;
	width: 48px;
	position: fixed;
	z-index: 45;
	bottom: 10px;
	right: 10px;
}
.totop-btn:hover{
	background-color: #cc1d36;
}

/* -------------------------------------------------- */
/* Footer
/* -------------------------------------------------- */
footer{
	background: #f4f4f4;
	padding: 54px 0;
	font-size: 13px;
	text-align: center;
}
footer p:last-child{
	margin: 0;
}
.sm-text{
	font-size: 11px;
	opacity: .6;
}

/* -------------------------------------------------- */
/* Breakpoints
/* -------------------------------------------------- */
@media screen and (max-width: 1600px) {
	.hero-text h1{ font-size: 48px; }
	.card{ width: 20%; }
}
@media screen and (max-width: 1360px) {
	.hero-text h1{ font-size: 42px; }
}
@media screen and (max-width: 1200px) {
	.hero-text h1{ font-size: 48px; }
	.hero-text{ 
		width: 100%;
		padding: 0;
	}
	.define,.meet{ 
		padding: 54px 0; 
	}
	.define{background-image: none;}
}
@media screen and (max-width: 1240px) {
	.card{ width: 25%; }
}
@media screen and (max-width: 1070px) {
	.cards.list .card{ width: 50%; }
}
@media screen and (max-width: 1040px) {
	.card{ width: 33.333%; }
}
@media screen and (max-width: 840px) {
	.card{ width: 50%; }
}
@media screen and (max-width: 830px) {
	.cards.list .card{ width: 100%; }
}
@media screen and (max-width: 800px) {
	header{ padding: 0; }
	header .container{ 
		display: flex;
		align-items: center;
		text-align: left; 
		height: 84px;
	}
	.inside header{ padding: 0; }
	a.logo{ margin: 0; }
	.mnav-btn{ top: 18px; }
	a.logo .full,.prime,a.logo img{ display: none; }
	a.logo .short,.mnav-btn{ display: block; }
	.hero{ padding: 138px 0 108px 0; }
}
@media screen and (max-width: 690px) {
	.hero-text h1{ font-size: 42px; }
	h2{ font-size: 33px; }
}
@media screen and (max-width: 540px) {
	.hero-text h1{ font-size: 36px; }
	h2{ font-size: 30px; }
	.card{ width: 100%; }
}