@import url("colors.css");
@import url("reset.css");
@import url("forms.css");
@import url("fontawesome.css"); /* all fontawesome-related stuff should go in this file so updates can be made more easily */
@import url("search.css");
@import url("sumo.css");

/* MISC Defaults */
*,
*:after,
*:before {
	-moz-box-sizing: border-box; 
	box-sizing: border-box; 
}
html { overflow-y: scroll; }

img { 
  width: auto;
  height: auto;
  max-width: 100%;
}
.small,
small { font-size: 0.75rem; }
.middy { font-size: 0.9rem!important; }
.hilite { background: var(--hilite); }

sup, sub {
    display: inline-block;
    line-height: 1;
    font-size: 0.75em;
}

blockquote {
    border-left: solid var(--mdgray) 10px;
    padding: 0 30px 0 15px;
    margin: 0 auto 1.25rem 10px;
    font-size: 0.9rem;
}
blockquote *:last-child { padding-bottom: 0; margin-bottom: 0; }
blockquote + * { margin-top: 1rem; }

.HiddenButton { display: none!important; }

/*# Old IE - note no longer needed so just leave hidden #*/
.endIE { display: none; }

/*# BUTTONS #*/
.btn,
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    line-height: 1;
    background: var(--btnColor); 
    color: var(--white);
    text-transform: uppercase;
    padding: 10px 20px;
	text-decoration: none;
    cursor: pointer;
    border: 0;
    width: auto;
    text-align: center;
    display: inline-block;
	border-radius: 3px;
	transition: background-color 0.3s ease;
} 
.button.sml,
input[type="submit"].PageButton { font-size: 0.85rem; padding: 5px 10px 4px 10px; min-width: auto; }
.button.med { font-size: 1rem; padding: 8px 12px 7px 12px; }
.button.big { min-width: 250px; }

	.btn.cancel,
	.button.cancel,
	button.cancel,
	input[type="button"].cancel,
	input[type="reset"].cancel,
	input[type="submit"].cancel { background: var(--mdgray); }


.btn.cancel:hover,
.button.cancel:hover,
button.cancel:hover,
input[type="button"].cancel:hover,
input[type="reset"].cancel:hover,
input[type="submit"].cancel:hover,
.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover { 
    color: var(--white);
    background: var(--btnHover); 
	text-decoration: none;
}

/* .go .bck also in fontawesome file */
/* next/back */
a.go,
a.bck { display: inline-block; text-decoration: none; padding-right: 22px; /* to keep :after from wrapping */}

a.go:after { content: "\f101"; padding-left: 8px; margin-left: -5px; /* to keep :after from wrapping */}
a.bck:before { content: "\f100"; padding-right: 5px; }

/*# LINE #*/
hr,
.line {
  padding: 0;
  border: 0;
  clear: both;
  content: "";
  display: block;
  margin: 1rem auto; 
  background: transparent;
  border-bottom: solid 1px var(--lineColor);
  width: 100%; 
  height: 1px; 
}
	.line.lite { border-bottom: solid 1px var(--litelineColor); }
	.line.dots { border-bottom: dotted 1px var(--litelineColor); }

main p + hr,
main ol + hr,
main ul + hr { margin-top: 0!important; margin-bottom: 1.4rem!important; }

/* #Clearing
/* Use clearfix class on parent to clear nested columns, or wrap each row of columns in a <div class="row"> */
    .clearfix:before,
    .clearfix:after {
      content: "\0020";
      display: block;
      overflow: hidden;
      visibility: hidden;
      width: 0;
      height: 0; 
	}
    .clearfix:after { clear: both; }

    .clear {
      clear: both;
      display: block;
      overflow: hidden;
      visibility: hidden;
      width: 0;
      height: 0;
    }
	.no-clear { clear: initial !important; }
		hr.no-clear,
		hr.noClr { clear: initial; width: auto; }
	
	.break { clear: both; flex-basis: 100%; }
	.inline { display: inline; }

/*# PROGRESS #*/
.update-progress {
    background-image: none; 
	position: fixed;
    top: 0px;
    left: 0px;
    min-height: 100%;
    min-width: 100%;
    background-color: var(--grayfade);
    z-index: 99999 !important;
    overflow: hidden;
    text-align: center;
    right: 0;
    bottom: 0;
}

.update-progress:before {
/* fa- details in fontawesome file */	
    content: "\f110"; /*"\f1ce";*/
    /* font-weight: normal;*/
    display: block;
    color: var(--whtfade);
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
    font-size: 4rem;
    position: absolute;
    top: 40%;
    right: 0;
    left: 0;
    width: 4rem;
    margin: auto;
}

.overlay {
    display: none;
    z-index: 50;
    background: var(--blk); 
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    text-align: center;
}

/*# PADDING AND MARGINS #*/
	.m0 { margin-bottom: 0!important; }		
      .m-null { margin: 0!important; }		
	.m1 { margin-bottom:5px!important; }		
	.m2 { margin-bottom:10px!important; }	
	.m3 { margin-bottom:15px!important; }
	.m4 { margin-bottom:20px!important; }	
	.m5 { margin-bottom:25px!important; }	
	.m6 { margin-bottom:30px!important; }	
	.m7 { margin-bottom:35px!important; }	
	.m8 { margin-bottom:40px!important; }	
	.m10 { margin-bottom:50px!important; }	
	.m12 { margin-bottom:60px!important; }

    .mt0 { margin-top: 0!important; }
    .mt1 { margin-top: 5px!important; }
    .mt2 { margin-top: 10px!important; }
    .mt3 { margin-top: 15px!important; }
    .mt4 { margin-top: 20px!important; }
    .mt5 { margin-top: 25px!important; }
    .mt6 { margin-top: 30px!important; }
    .mt7 { margin-top: 35px!important; }
    .mt8 { margin-top: 40px!important; }
    .mt9 { margin-top: 45px!important; }
    .mt10 { margin-top: 50px!important; }
	.mt12 { margin-top:60px!important; }

    .mL0 { margin-left: 0px!important; }
    .mL1 { margin-left: 5px!important; }
    .mL2 { margin-left: 10px!important; }
    .mL3 { margin-left: 15px!important; }
    .mL4 { margin-left: 20px!important; }

    .mR0 { margin-right: 0px!important; }
    .mR1 { margin-right: 5px!important; }
    .mR2 { margin-right: 10px!important; }
    .mR3 { margin-right: 15px!important; }
    .mR4 { margin-right: 20px!important; }
    .mR5 { margin-right: 25px!important; }

	.p0 { padding-top: 0!important; }
      .p-null { padding: 0!important; }
    .p1 { padding-top: 5px!important; }
	.p2 { padding-top: 10px!important; }
	.p3 { padding-top: 15px!important; }
	.p4 { padding-top: 20px!important; }
	.p5 { padding-top: 25px!important; }
	.p6 { padding-top: 30px!important; }
	.p7 { padding-top: 35px!important; }
	.p8 { padding-top: 40px!important; }
	.p9 { padding-top: 45px!important; }
	.p10 { padding-top: 50px!important; }
	.p12 { padding-top: 60px!important; }
	.p13 { padding-top: 65px!important; }
	.p14 { padding-top: 70px!important; }

	.pb0 { padding-bottom: 0!important; }
    .pb1 { padding-bottom: 5px!important; }
	.pb2 { padding-bottom: 10px!important; }
	.pb3 { padding-bottom: 15px!important; }
	.pb4 { padding-bottom: 20px!important; }
	.pb5 { padding-bottom: 25px!important; }
	.pb6 { padding-bottom: 30px!important; }
	.pb7 { padding-bottom: 35px!important; }
	.pb8 { padding-bottom: 40px!important; }
	.pb9 { padding-bottom: 45px!important; }
	.pb10 { padding-bottom: 50px!important; }

    .pad-lft0 { padding-left: 0px!important; }
	.pad-lft1 { padding-left: 5px!important; }
	.pad-lft2 { padding-left: 10px!important; }
	.pad-lft3 { padding-left: 15px!important; }
	.pad-lft4 { padding-left: 20px!important; }
	.pad-lft5 { padding-left: 25px!important; }
	.pad-lft6 { padding-left: 30px!important; }
	.pad-lft7 { padding-left: 35px!important; }
	.pad-lft8 { padding-left: 40px!important; }

	.pad-rgt0 { padding-right: 0px!important; }
	.pad-rgt1 { padding-right: 5px!important; }
	.pad-rgt2 { padding-right: 10px!important; }
	.pad-rgt3 { padding-right: 15px!important; }
	.pad-rgt4 { padding-right: 20px!important; }
	.pad-rgt5 { padding-right: 25px!important; }
	.pad-rgt6 { padding-right: 30px!important; }
	.pad-rgt7 { padding-right: 35px!important; }

.hide { display: none!important; }
.show { display: block!important; }

/*# ALIGNS #*/
.aCtr { text-align: center!important; }
.aLft { text-align: left!important; }
.aRgt { text-align: right!important; }
.aMid { vertical-align: middle!important; }
.aTop { vertical-align: top!important; }

.fLft { float: left; overflow: hidden; margin: 0 1rem 0 0; }
.fRgt { float: right; overflow: hidden; margin: 0 0 0 1rem; }

.nowrap { display: inline-block; white-space: nowrap; }

img.fLft { margin: 0 1rem 1rem 0; }
img.fRgt { margin: 0 0 1rem 1rem; }
	@media only screen and (max-width: 500px) {
		.fLft,
		.fRgt,
		img.fLft,
		img.fRgt  { float: none; text-align: center; margin: 1rem auto; }	
	}

/*# LISTS #*/
.uList {
  padding-bottom: 1.4rem;
  line-height: 1.6;
  margin-left: 25px;
}
.uList li { list-style: square; text-align: left!important; }

.alpha-l > li { list-style-type: lower-alpha; padding-left: 8px; }
.alpha-u > li { list-style-type: upper-alpha; padding-left: 8px; }
.roman-l > li { list-style-type: lower-roman; padding-left: 8px; }  
.roman-u > li { list-style-type: upper-roman; padding-left: 8px; }  
.decimal > li { list-style-type: decimal; padding-left: 8px; } 

  ul.pdfs,
  ul.pdfs li {
    margin-left: 0!important;
    list-style: none!important;
  }
    ul.pdfs:not(.columnGap) > li + li { margin-top: 10px; }
    ul.pdfs.columnGap > li { margin-bottom: 10px; }

/*# COLUMNS #*/
.multiColumn-2 { column-count: 2; }
.multiColumn-3 { column-count: 3; }
.multiColumn-4 { column-count: 4; }
.columnGap { column-gap: 40px; }
.columnGap > li { display: inline-block; }
	ul.columnGap:not(.cBullets),
	ul.columnGap:not(.cBullets) li { margin-left: 0; }
	.cWidth > li,
	.cWidth > p,
	.cWidth > div { 
	  display: inline-block;
	  width: 100%; 
	} /* for short width columns that need the width stated */
.cBullets li { display: list-item; list-style: initial; }
  
.col3,
.col {
  width: 48.5%;
  display: inline-block;
  vertical-align: top;
  padding: 0 1% 1em 1%;
  margin: auto;
}
.col3 { width: 32%; }
  .col,.col3 {
    display: inline-block;
  }
.col3.dub { width: 65%; }
.col.one { padding: 0 4% 1em 0; }
.col.two { padding: 0 0 1em 4%; }
    .col.bdr,
	.col3.bdr { border-left: solid 1px var(--lineColor); }
    .col3.bdr,
    .col.bdr.two { padding-left: 3%; }

  /*.col > ul { padding-bottom: 0!important; }*/
  .col > ul > li:last-child { margin-bottom: 10px!important; }
  
/*# COLUMNS - FLEX #*/
.flex {
	clear: both;
	display: flex;
}

.flex.biCol,
.flex.triCol {
	flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 15px;
    row-gap: 25px;
}
	.flex.biCol.start,
	.flex.triCol.start { justify-content: flex-start; }
	.flex.biCol.between,
	.flex.triCol.between	{
		justify-content: space-between;
		column-gap: 2%;
	}
.flex.biCol > *,
.flex.triCol > * {
    width: 48%;
}
 .flex.triCol > * { width: 31.5%; } 

.flex.thumbs { 
    flex-wrap: wrap;
    justify-content: flex-start;
	align-items: stretch;
}
.flex.thumbs > * { /* 5-col gallery */
    width: 20%;
    padding: 10px;
    margin-left: 0!important;
    list-style-type: none;
	text-align: center;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
	.flex.thumbs.quad > * { /* 4-col gallery */
		width: 25%;
	}
	.flex.thumbs img { display: block; margin: 0 auto 4px auto; width: 100%; }
	.flex.thumbs .button { padding-right: 0; padding-left: 0; width: 100%; } 

@media only screen and (max-width: 800px) { 
  .multiColumn-2,
  .multiColumn-3,
  .multiColumn-4 {
    column-count: 2;
  }
  .columnGap {
    column-gap: 20px;
  }
  .flex.triCol > * { width: 100%; }
  .flex.thumbs > * { width: 32%; }  
}
@media only screen and (max-width: 500px) {
	  .multiColumn-2,
	  .multiColumn-3,
	  .multiColumn-4 { column-count: 1; }
	  .columnGap { column-gap: 0px; }
	  .col,
	  .col3,
	  .col3.dub,
	  .col.one,
	  .col.two,
      .col.bdr.two {
		width: 100%;
		display: block;
		padding: 0!important;
		clear: both;
		overflow: hidden;
	  }
      
    .col.bdr,
	.col3.bdr { border: 0; }
    .flex.biCol > * { width: 100%; }  
	.flex.thumbs > * { width: 48%; }
}
	
/*# COLUMNS - GALLERY #*/
/* to replace baguette box layout */
	.MediaGalleryContent {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.MediaGalleryContent .MediaLibrarySort { display: none; }
	.MediaGalleryContent a.mediaItem {
		height: 100px;
		position: relative;
		cursor: pointer;
	}
	.MediaGalleryContent .mediaItem img {
		object-fit: cover;
		border: 2px solid #fafafa;
		box-shadow: 0 1px 2px rgba(0,0,0,0.3);
		width: 100%;
		height: 100%;
	}
	.Pager { flex-basis: 100%; text-align: center; }
	.pagerRow a,
	.pagerRow strong { text-decoration: none; display: inline-block; padding-right: 10px; }
	.pagerRow [class*="fa-"]:before { padding-right: 0; }	
	
	@media only screen and (max-width: 800px) {
		.MediaGalleryContent { justify-content: center; }
	}
	
/*# OUTLINE BOX #*/
.outline { display: block; padding: 8px; margin: 1em auto; border: 2px dotted var(--lineColor); clear: both; overflow: hidden; }
    .outline > p:last-child { padding-bottom: 0; margin-bottom: 0; }
	.outline.closed { border-width: 2px; border-color: var(--red);  font-weight: 600; text-align: center; color: var(--red); }
  	.outline.cme { border-style: groove; border-width: 4px; }
  	.outline.cme img { padding: 10px 10px 0 10px; max-width: 50%; border: 0!important; vertical-align: middle; }
  	.outline.cme img.fRgt { margin: 8px 0 0 0; }
  	.outline.cme img.fLft { margin: 0; }
	p + .outline { margin-top: 0; }
	.note {
		background: var(--bkfade);
		padding: 10px;
		font-size: 0.85rem;
		border-radius: 3px;
        margin: 0 auto 1.25rem auto;
	}
    	li.note { margin: 0 0 0.5em 0!important; padding: 10px!important; font-size: 0.75rem; }
    	li .note { padding: 6px 10px; margin: 8px auto 0; font-size: 0.75rem; }
		.outline .note { margin-top: 5px; margin-bottom: 0; padding-top: 5px; padding-bottom: 5px; font-size: 0.85em; }

    [id$="_membership"] .note { margin: 5px auto 0.75rem 15px; }
        [id$="_membership"] .note + br { display: none; }    
    
    .fees { padding: 8px 15px; margin: 0 1rem 1rem 1rem; background: var(--bkfade); }
    .fees > ul { margin-bottom: 0!important; padding-bottom: 0!important; }
	
		.note:empty,
		.outline:empty,
		.closed:empty { display: none; }	
	
/*# CALLOUT #*/
.callout {
    float: right;
    width: 50%;
    max-width: 350px;
    padding: 10px 8px 8px 10px;
    margin: 0 0 1em 1em;
    font-size: 85%;
    background: var(--whtfade);
    border: solid 2px var(--lineColor);
    border-width: 2px 0 0 2px;
}
.callout:empty { display: none!important; }

.callout.inline { float: none; width: 100%; max-width: none; border-width: 2px 0; margin: 1rem auto; padding: 10px 8px; }
.callout > *:last-child { padding-bottom: 0px!important; }
	@media only screen and (max-width: 800px) { 
	  .callout { clear: both; float: none; width: 100%; max-width: none; border-width: 2px 0; margin: 1rem auto; padding: 10px 8px; } 
	}
	
/*# TOTOP BUTTON #*/
#toTop {
  position: fixed;
  overflow: hidden;
  right: 2%!important;
  margin-right: 0px!important;
  bottom: 2%;
  z-index: 999;
  font-size: 0;
  color: transparent;
}

	#toTop:not([class*="fa-"]) {
	  width: 31px;
	  height: 35px;
	  background: url(up-arrow.png) center 3px no-repeat;
	  -webkit-transition: background-position 0.2s ease-out;
	  -moz-transition: background-position 0.2s ease-out;
	  -o-transition: background-position 0.2s ease-out;
	  transition: background-position 0.2s ease-out;
	}
	#toTop a { display: block; }
	#toTop:hover { background-position: center top; }
	#toTop:active,
	#toTop:focus { outline: none; }

	#toTop[class*="fa-"] {
	  background: none;
	  font-size: 2em;
	  color: rgba(51,51,51,0.6);
	  bottom: 4%;
	}
	#toTop[class*="fa-"]:hover { 
	  color: rgba(51,51,51,1);
	  bottom: 5%;
	}

/*# BOARD #*/
/* NEW FLEX STYLE - 20210831 - jf */
  .board * { line-height: 1.4; }
  .board a { text-decoration: none!important; }
      .comSection h3,
      .proName,
      .moreDeets,
      .popup-inner { flex-basis: 100%; }
		.board > .comSection {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			gap: 3%;
		}
		.board > .comSection > .board-item {
			width: 31%;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			margin-bottom: 2rem;
			/* padding: 0 30px 25px 0; */
		}		
		.board .bPic {
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center center;
			width: 100%;
			margin-bottom: 3px;
			overflow: hidden;
			height: 250px;
		}
  
    .moreDeets { 
        font-size: 0.75rem;
        padding-top: 8px;
        margin-top: 8px;
        border-top: dotted 1px var(--grayfade);
    }
    .popup-inner a[class*="-close"] {
        float: right;
        padding: 5px;
        text-transform: uppercase;
        text-decoration: none;
        border: solid 1px var(--blk);
        border-radius: 8px;
        margin: 0 0 10px 10px;
    }
	
/*# COMMITTEES #*/
.committees .comSection:not(.flex),
.committees h3 { width: 100%; flex-basis: 100%; }
.committees .comSection ul,
.committees .comSection li { 
  margin: 0!important;
  padding: 0;
  list-style: none!important; 
}
h2 .term {
  display: block;
  line-height: 1;
  font-size: 0.7em;
  color: var(--grayfade);
}

.comSection:empty,
.comSection h3:empty,
.comSection h4:empty,
.board span:empty,
.term br { display: none!important; }

.committees .comSection { padding-bottom: 25px; }
.committees .details .position { display: inline-block; padding-left: 5px; font-style: italic; }
.committees li { padding-bottom: 5px; }
.committees .comSection:not(.flex) li,
.committees .comSection:not(.flex) ul {
  width: 100%!important;
  display: inline-block;
}

/*# BOARD + COMMITTEE PAGING #*/
.panelPaging { position: relative; }
.panelPaging a.prev,
.panelPaging a.next { 
	position: absolute; 
	z-index: 100; 
	width: auto; 
	display: block; 
	cursor: pointer; 
	font-size: 0.9rem;
    text-transform: uppercase;
    line-height: 1;
    right: 15px;
    font-weight: 600;
    vertical-align: middle;
    text-decoration: none;
}
	.panelPaging a.prev { right: 90px; }
	.panelPaging a.prev:hover,
	.panelPaging a.next:hover { color: inherit; text-decoration: none; }

	.panelPaging a.prev:before,
	.panelPaging a.next:after {
		/* font family in fontawesome file */
	  line-height: 0.5;
	  font-size: 1.6em;
	}
	.panelPaging a.prev:before { content: "\f0d9"; padding-right: 5px; }
	.panelPaging a.next:after { content: "\f0da"; padding-left: 5px; }

	.panelPaging a.aspNetDisabled,
	.panelPaging a.aspNetDisabled:hover {
	  color: var(--mdgray);
	  cursor: text;
	}

/*# PAST PRESIDENTS #*/
.past li.hdr {
    font-weight: 600;
    padding: 0 0 5px 0;
    border-bottom: solid 1px var(--lineColor);
	margin-bottom: 5px;
}
/*# CME #*/
.GridView_CEU { width: 100%; margin: 0 auto 1em auto; border: solid 1px var(--lineColor); border-width: 1px 1px 0 0; }
.GridView_CEU th,
.GridView_CEU td { padding: 3px 6px; border: solid 1px var(--lineColor); border-width: 0 0 1px 1px; text-align: center; font-size: 0.85em }
.GridView_CEU th { font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.GridView_CEU th a { text-decoration: none; }
td.GridView_CEU_Hours { text-align: right; }
td.GridView_CEU_Meeting,
td.GridView_CEU_Location { text-align: left; }

/*# CERTIFICATE LINKS #*/
.cert-link { display: flex; flex-wrap: wrap; justify-content: space-between; }
.cert-link h4 { flex-basis: 100%; }
.cert-link > div { padding-bottom: 8px; }
.cert-link > div:not(.credits) { flex-basis: 50%; flex-grow: 1; }
.cert-link > div.credits {  width: 35%; font-size: 0.85rem;
}
	@media only screen and (max-width: 800px) { 
		.cert-link > div { flex-basis: 100%; padding-bottom: 5px; } 
		.cert-link > div.credits { flex-basis: 100%; padding-bottom: 1rem; } 
	}

/*# DIRECTORY - INSTITUTIONAL MEMBER #*/
.institutions a { 
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.3;
  display: inline-block;
 }
  .institutions a[href*="javascript:;"],
  .institutions a[href*="javascript:;"]:hover {
      text-decoration: none;
      cursor: text;
      color: inherit;
  }

.institutions > li { padding-bottom: 1em; }
.institutions .container {
  width: 100%;
  border: 1px solid var(--litelineColor);
  margin-top: 8px!important; 
}
.institutions .container .header,
.institutions .container .header2 {
  width:100%;
  background-color: var(--bkfade);
  padding: 2px 5px;
  cursor: pointer;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.9em;
}
  .institutions .container .header2  {
    background-color: #d9d7d7;
    margin-bottom: 2px;
  }
.institutions .container .expandable {
  display: none;
  padding: 5px;
 }
  .institutions .container .expandable ul { margin-bottom: 0; padding-bottom: 0; font-size: 0.9em }
  .institutions .container .expandable li { margin-bottom: 5px; }

/*# DIRECTORY - COMPANY #*/
.flex.biCol.institutions { justify-content: flex-start; }
.flex.biCol.institutions > li { padding: 15px; border-top: solid 1px var(--mdgray); }
    .flex.biCol.institutions > li:first-child { border-top: 0; }
	
@media only screen and (min-width: 501px) {
    .flex.institutions.biCol > li:nth-child(odd) { padding-left: 0;}
    .flex.institutions.biCol > li:nth-child(even) { padding-right: 0; border-left: solid 1px var(--litelineColor); }
    .flex.institutions.biCol > li:nth-child(2) { border-top: 0; }
}

/*# FIND A PROVIDER - 2023 revised #*/
.panelSearch { display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 10px; }
.panelSearch > div { flex-grow: 1; flex-basis: 32%; } /* default 3-col layout */
.panelSearch > div:not([id*="col"]) { padding: 10px 15px 55px 15px; position: relative; text-align: center; border: dotted 2px rgba(0,0,0,0.25); margin-bottom: 1rem; }
.panelSearch > div:not([id*="col"]) * + * { margin-top: 10px; }
	.panelSearch > div:not([id*="col"]) .button { position: absolute; right: 10px; bottom: 10px; left: 10px; margin: auto; }

.panelSearch > div#col1 { flex-basis: 68%; }
.panelSearch #col1 > div { font-size: 0.8rem; flex-basis: 70%; padding: 10px; background: rgba(0,0,0,0.05); }

/*# FIND A PROVIDER - 2023 revised - LIST #*/
.providerList { width: 100%; justify-content: space-between; align-items: center; }
.providerList { flex: 1; }
.providerList > div:not(.NameCol) { font-size: 0.8rem; }
.providerList > div + div { padding-left: 20px; }
.providerList .PhotoCol img { max-width: 100px; }
.providerList .NameCol { flex-basis: 30%; text-transform: uppercase; font-weight: 600; }

	.srchResDataList span:not(:empty) { display: block; }
	.srchResDataList span:not(:empty) + span:not(:empty) { margin-top: 10px; }
	.srchResAlternate .srcResContainer { padding: 10px; background: rgba(0,0,0,0.04); }
	
	.PagingPanel { display: block; margin: 1rem 0; }
	.PagingPanel .PageMessage { float: right; font-size: 0.85rem; }

/*# FIND A PROVIDER - 2023 revised - DETAILS #*/
.ProviderDetails { display: flex; position: relative; }
.ProviderDetails > div { width: 18%; }
.ProviderDetails .Details { 
  flex-basis: 65%;
  padding: 0 25px;
}
.ProviderDetails .ContactCol { padding-top: 75px; }
.ProviderDetails .button {
    position: absolute;
    /*top: -15px;*/
    right: 0;
}
  /* wrap URLs */
  .DirectoryContent a {
    overflow-wrap: break-word;
    word-wrap: break-word!important;
    -ms-word-break: break-all;
    word-break: break-all;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
  }

.AlphaSearch { width: 100%; padding: 8px; margin: 0.6em auto; background: rgba(175,175,175,0.3); text-align: center; font-size: 0.85rem }
.AlphaSearch a { display: inline-block; padding: 0 0 0 5px; text-decoration: none; }

@media only screen and (max-width: 800px) { 
    .panelSearch,
	.ProviderDetails,
	.providerList { flex-direction: column; }
    .providerList > div,
	.ProviderDetails > div,
    .ProviderDetails > .Details,
	.panelSearch > div { width: 100%; flex-basis: 100%; padding: 0 0 25px 0; }
	.ProviderDetails .ContactCol { padding-top: 0; }
	.providerList > div { padding-bottom: 15px; }
	.ResultHeader .aRgt { text-align: center; }
}

/*# UNIVERSAL DIRECTORY #*/
	.DirectoryPageMessage { float: right; font-size: 0.8rem; }
  .DirectorySearchBox.dirSearchBox { margin-bottom: 0; }
  .dirSearchBox .srchSpecialtyBtn { padding: 12px 9px!important; }
  .dirSearchBox,
  .mbrList { display: flex; flex-wrap: wrap; justify-content: center; }
  .dirSearchBox .specPanel { text-align: center; width: 100%; }
  .dirSearchBox .specPanel input[type="text"] { max-width: 225px; }
  .dirSearchBox .specPanel select { font-size: 0.85rem; max-width: 225px; }
  .dirSearchBox .AlphaSearch span { white-space: nowrap; }
  .srchTtls { padding: 8px 0 20px 0; text-align: right; }
	span.chkAny { white-space: nowrap; }  
  
  .mbrList .DisplayName { font-weight: 600; }
  .mbrList > span { width: 50%; padding: 20px 3% 10px 0; border-top: solid 1px var(--mdgray); } 
    .mbrList > span + span { padding-right: 0; padding-left: 3%; border-left: solid 1px var(--mdgray); } 
    .mbrList > span [class*="List"] + [class*="List"] { margin-top: 8px; }
    .mbrList .dirProfile { padding-bottom: 15px; }
    .mbrList .displayDetails { font-size: 0.75rem; }
  .mbrList > span img {
    float: right;
    max-width: 90px;
    padding: 0 0 0.75rem 0.75rem;
  }
  
/*# LOGIN v2 #*/
/*.LogonPageBackground { max-width: 400px; margin: auto; padding: 2rem; position: relative; } -- centers login - goes with new login design */
.LogonPageBackground { position: relative; }
		/* actual classes */
		.LogonPageBackground,
		.lgnForm {
			display: flex;
			flex-direction: column;
			column-gap: 20px;
		}
		
		.pReset { position: absolute; top: 0; right: 0; bottom: 0; left: 0;
			background-color: #eaeaea!important;
    		background-image: repeating-linear-gradient(135deg, transparent, transparent 15px, rgba(255,255,255,.75) 15px, rgba(255,255,255,.75) 30px)!important; padding: 20px; }
		.pReset .xClose { flex-basis: 35%; align-self: flex-end; }
		.pReset .groupA { background: var(--white); }
		
		.LogonPageBackground input[type="reset"],
		.LogonPageBackground input[type="submit"],
		.LogonPageBackground .btn {
			padding: 8px 10px;
			font-size: 0.85rem;
		}
		.LogonPageBackground .btn.lite { background: var(--white); border: solid 1px var(--mdgray); color: var(--mdgray); }
		.LogonPageBackground .btn.lite:hover { background: var(--white); border: solid 1px var(--blk); color: var(--blk); }
		
		.LogonPageBackground .groupA {
			display: grid;
			width: 100%;
			grid-template-rows: auto auto auto;
			grid-template-columns: 60px auto;
			border: 1px solid var(--litelineColor);
			padding: 5px;
		}
		
		.LogonPageBackground .groupA + .groupA { border-top: 0; }

		.LogonPageBackground .groupA .icon { 
			grid-column: 1;
			grid-row: 1 / span 2;
		}
		.LogonPageBackground .groupA .red { 
			grid-column: 1 / span 2;
			grid-row: 3;
		}		
			.LogonPageBackground .groupA .icon:before { 
				font-size: 2.25rem;
				padding: 8px;
				opacity: 0.25;
			}
		
		.LogonPageBackground .groupA label { font-size: 0.75rem; }
		.LogonPageBackground .groupA input,
		.LogonPageBackground .groupA input:hover {
			border: 0!important;
			box-shadow: none;
			padding: 5px 0 10px 0;
		}
		
		.LogonPageBackground .groupB {
			display: flex;
			justify-content: space-between;
			column-gap: 10px;
		}
		.LogonPageBackground .groupB.lButtons { justify-content: center; }
		
		.LogonPageBackground .groupB > * { width: 50%; margin-top: 1rem; }
		
		.LogonPageBackground .alternatives { font-size: 0.8rem; }
		.LogonPageBackground .alternatives .checkbox {
			display: flex;
			gap: 5px;
		}
		.LogonPageBackground .alternatives .forgot { text-align: right; }
			.LogonPageBackground .alternatives .forgot a { color: var(--mdgray); text-decoration: none;}
			.LogonPageBackground .alternatives .forgot a:hover { color: var(--blk); text-decoration: none;}
		
		/*.LogonPageBackground .red,
		.LogonPageBackground [class*="rror"] { flex-basis: 100%; padding: 8px; text-align: center; display: block; }*/

/*# LOGIN - to be replaced in 2023 - jf #*/
.LogonPageBackground .xRw { margin-top: 10px; }

.LogonPageBackground .forgot,
.LogonPageBackground .checkbox { font-size: 0.9rem; display: block; padding: 4px 0; }
.LogonPageBackground .checkbox input + label { padding-left: 5px; }
.LogonPageBackground .forgot { max-width: 400px; }
.LogonPageBackground .forgot a { padding: 3px 8px 4px 8px; text-decoration: none; background: rgba(0,0,0,0.075); color: var(--dkgray); border: solid 1px var(--mdgray); }
.LogonPageBackground .forgot a:hover { text-decoration: none; color: var(--gray); border-color: var(--gray); }
  .LoginPanelPasswordRetrieval input { vertical-align: middle; margin-bottom: 6px!important; }

/*# PROFILE - 2018 - to be replaced in 2023 - jf #*/
		.profileWrapper a { text-decoration: none; }
        .profileWrapper [id$="_panelEdit"] {
            background: rgba(0,0,0,0.05);
            padding: 50px 12px 20px 12px;
            position: relative;
        }
        .profileWrapper [id$="_panelEdit"] .button { position: absolute; top: 10px; } 
            .profileWrapper [id$="_panelEdit"] .button.save { left: 10px; }
            .profileWrapper [id$="_panelEdit"] .button.cancel { right: 10px; }

        .profileWrapper [id$="_panelDisplay"] { line-height: 1.5; }
        
        .profileWrapper span:not(.PasswStrengthIndicator):empty { display: none; }
        .profileWrapper [class*="fa-"].lrg  { font-size: 1.4em; vertical-align: middle; line-height: 0.6; }
        
        .profileWrapper .PasswStrengthIndicator {
            font-weight: 600;
            text-transform: uppercase;
            display: inline-block;
        }
        .profileWrapper .short,
        .profileWrapper .weak { color: red; }
        .profileWrapper .good { color: darkorange; }
        .profileWrapper .yellow { color:yellow; }
        .profileWrapper .green,
        .profileWrapper .strong { color: green; }
        .profileWrapper .veryStrong { color: darkgreen; }
        
        .profileWrapper .hiLite { background: rgba(255,255,0,0.3); }
        .profileWrapper small { text-transform: none!important; }

        .profileWrapper .button,
        .profileWrapper input[type="button"],
        .profileWrapper input[type="submit"],
        input[type="submit"].PageButton { min-width: 0; padding: 5px 10px; }
            input[type="submit"].PageButton { font-size: 0.85rem; }

        .profileWrapper ul.form > li { line-height: 1.5; }
		.profileWrapper div.fLft > span { display: block; }
		
@media only screen and (min-width: 801px) {
	[id*="_panelEditSubSpecialty"],
	[id*="_panelEditSpecialty"] { white-space: nowrap; }
	[id*="_panelEditSubSpecialty"] .inlinetable,
	[id*="_panelEditSpecialty"] .inlinetable { white-space: normal; }
}		

/* THUMB PROFILE PICTURE */
.profileWrapper .thumbPic { 
  position: relative; 
  display: block;
  background: var(--grayfade);
  text-align: center;
  transition: all 0.4s ease;
	height: 125px;
	width: 125px;	
}

.profileWrapper .thumbPic,
.profileWrapper .thumbPic a,
.profileWrapper .thumbPic a:hover { color: var(--whtfade)!important; }

.profileWrapper #imgPic {
  position: absolute;
  z-index: 99;
  top: 0; right: 0; bottom: 0; left: 0;
  margin: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.profileWrapper a:hover #imgPic { opacity: 0.5; z-index: 0; }

.profileWrapper .thumbPic.fa-times:before  {
  position: absolute;
  z-index: 9;
  font-size: 300%;
  margin: auto;
  line-height: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  vertical-align: middle;
  text-align: center;
  padding: 50% 0;
}
.profileWrapper .circle { border-radius: 50%; } */

/*# EVENTS / Meeting Nav #*/
ul.mtgNav,
.mtgNav ul,
.mtgNav li {
    margin: 0!important;
    list-style-type: none!important;
    text-align: center;
}
ul.mtgNav,
.mtgNav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 1rem;
    align-items: stretch;
}
.mtgNav li {
    font-size: .8em;
    padding: 2px;
    text-transform: uppercase;
}
.mtgNav li.thirty { width: 33.3%; }
.mtgNav li a {
    display: block;
    width: 100%;
    padding: 6px 15px;
    color: var(--white);
    list-style: none!important;
    background: var(--grayfade);
    text-decoration: none;
}
.mtgNav li a:hover,
.mtgNav li.Highlighted a {
    color: var(--white);
    background: var(--blk); 
    text-decoration: none;
}

@media only screen and (min-width: 1001px) {
	.mtgNav li:not(.thirty) { flex: 1; }
}
@media only screen and (max-width: 1000px) {
	.mtgNav li,
	.mtgNav li.thirty { width: 50% }
}
@media only screen and (max-width: 500px) {
	.mtgNav li,
	.mtgNav li.thirty { width: 100% }
}

/* classes  */
.capped { text-transform: capitalize!important; }
.lower { text-transform: lowercase!important; }
.upper { text-transform: uppercase!important; }
.unCap { text-transform: none!important; }
	.tooltipsy {
		padding: 10px;
		max-width: 200px;
		color: var(--dkgray);
		background-color: #f5f5b5;
		border: 1px solid #deca7e;
	}

.spinner { font-weight: 600; min-height: 60px; padding: 12px; }
    .blockMsg {
        background: transparent!important;
		border: 0!important;
		color: var(--white)!important;
        font-size: 20px;
	}

.mLabel, /* for sites with bootstrap */
.label {
	display: inline-block; 
	padding-right: 10px;
	font-weight: 600; 
} /* use with width classes, below */
	@media only screen and (max-width: 500px) {
		.mLabel,
		.label { display: block; }
	}

.inlinetable { display: inline-table!important; vertical-align: top; }

/*# TABLE TABLES #*/
table.xTbl { width: 100%!important; }
.MemberDataHeading td,
.xTbl td,
.xTbl th { line-height: 1; font-size: 0.85rem; padding: 3px; }
.xTbl td {
	vertical-align: top;
	padding: 4px 6px;
	border: solid 1px var(--lineColor);
	border-width: 0 1px 1px 0;
}
.MemberDataHeading td,
.xTbl th { 
	text-transform: uppercase;
	text-align: center;
	border: solid 1px var(--lineColor);  
	border-width: 1px 0;
	font-weight: 600;
}
.xTbl td:last-child { border-right: 0; }
	[id$="_dgDuesHistory"] td { text-align: center; }
    
/* table gridview */
table.mGrid {
    width: 100%;
    border: 0;
    margin: 0 auto 1em auto;
}
form .mGrid td,
[id$="_PanelForm"] .mGrid td,
.mGrid th,
.mGrid td {
    padding: 3px 10px 3px 3px;
    vertical-align: middle;
    font-size: 0.75rem; /*11px;*/
    border: 0;
	text-align: center;
}
.mGrid.mTop td { vertical-align: top; }
.mGrid.mTop tr td:last-child { white-space: nowrap; }
.mGrid.mTop tr td:last-child .button { float: right; }

table.mGrid th {
    font-weight: 600;
    white-space: nowrap;
}
table.mGrid td {
    border-top: solid 1px var(--lineColor);
}
table.mGrid tr td:first-child { white-space: nowrap; }
table.mGrid tr th:first-child,
table.mGrid tr td:first-child { 
    text-align: left; 
    padding-left: 3px;
}

table.mGrid tr th:last-child,
table.mGrid tr td:last-child { 
    text-align: right; 
    padding-right: 3px;
}
table.mGrid > tbody > tr:nth-child(odd) td {
    background: rgba(0,0,0,0.05);
}

.emptyRowText, 
.emptyRowText td  {
    font-weight: 600;
    font-size: 1em!important;
    line-height: 1.2;
    text-align: inherit!important;
    color: var(--red); 
}

@media only screen and (min-width: 0px) {
  .w25 { width: 100%!important; max-width: 25px!important; }
  .w35 { width: 100%!important; max-width: 35px!important; }
  .w50 { width: 100%!important; max-width: 50px!important; }
  .w65 { width: 100%!important; max-width: 65px!important; }
  .w75 { width: 100%!important; max-width: 75px!important; }
  .w100 { width: 100%!important; max-width: 100px!important; }
  .w100per { width: 100%!important; max-width: 92%!important; } /* to allow for * on-submit without wrapping */
  .w125 { width: 100%!important; max-width: 125px!important; }
  .w150 { width: 100%!important; max-width: 150px!important; }
  .w160 { width: 100%!important; max-width: 160px!important; }
  .w175 { width: 100%!important; max-width: 175px!important; }
  .w200 { width: 100%!important; max-width: 200px!important; }
  .w225 { width: 100%!important; max-width: 225px!important; }
  .w250 { width: 100%!important; max-width: 250px!important; }
  .w275 { width: 100%!important; max-width: 275px!important; }
  .w300 { width: 100%!important; max-width: 300px!important; }
  .w325 { width: 100%!important; max-width: 325px!important; }
  .w350 { width: 100%!important; max-width: 350px!important; }
  .w400 { width: 100%!important; max-width: 400px!important; }
  .w450 { width: 100%!important; max-width: 450px!important; }
  
.w25per { width: 100%!important; max-width: 24%!important; }
.w33per { width: 100%!important; max-width: 32.5%!important; }
.w40per { width: 100%!important; max-width: 40%!important; }
.w50per { width: 100%!important; max-width: 50%!important; }
.w60per { width: 100%!important; max-width: 59%!important; }
.w100per { width: 100%!important; max-width: 99.5%!important; }
  
  .h125 img,
  .h125 { max-height: 125px; width: auto; }  
  .h150 img,
  .h150 { max-height: 150px; width: auto; }  
}
@media only screen and (max-width: 800px) {
  .w300, 
  .w350,
  .w400,
  .w450,
  .w25per,
  .w33per,
  .w40per,
  .w50per,
  .w60per { 
    display: block;
    max-width: 100%!important;  
   }
}

/*# CONTAINER QUERIES #*/
/*# CONTAINER QUERIES / BOARD #*/
	.board {
	  container-type: inline-size;
	  container-name: brd;
	  position: initial;
	}
		@container brd (max-width: 700px) and (min-width: 401px) {
			.board > .comSection > .board-item { width: 48%; }		
		}	
		@container brd (max-width: 400px) {
			.board > .comSection > .board-item { width: 100%; padding: 0 0 25px 0; text-align: center; }
			.board .bPic { background-size: contain; }		
		}
	
/*# CONTAINER QUERIES / UNIVERSAL DIRECTORY #*/
	[id$="_UniversalDirectory_panelDir"] {
	  container-type: inline-size;
	  container-name: unidir;
	  position: initial;
	}
		@container unidir (max-width: 700px) and (min-width: 401px) {
			.dirSearchBox .specPanel:not(.genPanel) { width: 50%; margin-bottom: 8px; }
			.dirSearchBox .genPanel { flex-basis: 100%; margin-bottom: 8px; }
		}
		@container unidir (max-width: 700px) {
			.dirSearchBox .specPanel { width: 100%; margin-bottom: 8px; }    
			.dirSearchBox .AlphaSearch span,
			.dirSearchBox .specPanel .chkAny { display: block; margin-top: 5px; }
			.dirSearchBox .specPanel + .specPanel { margin-top: 10px; }
		}
		@container unidir (max-width: 500px) {
			.mbrList > span { width: 100%; padding: 20px 0 10px 0; }
			.mbrList > span + span { padding-left: 0; border-left: 0; }     
		}