/* V3 Base Styles */

:root {
  /* Fonts */
  --font-icon: "FontAwesome";
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-weight-heavy: 900;

  /* Colors */
  --color-text: #212529;
  --color-muted: #6c757d;
  --color-light: #fff;
  --color-light-alt: #f5f5f5;
  --color-light-muted: #e9ecef;
  --color-muted-on-light: #495057;
  --color-border: #d1d5db;
  --color-primary: var(--color-text);
  --color-primary-rgb: 33, 37, 41;
  --color-secondary: var(--color-muted);
  --color-secondary-rgb: 108, 117, 125;
  --opacity-high: 0.9;
  --opacity-medium: 0.6;
  --opacity-low: 0.3;

  /* Buttons */
  --color-button-primary-bg: #0d6efd;
  --color-button-primary-bg-on-dark: #0d6efd;
  --color-button-primary-hover: #0a58ca;
  --color-button-secondary-bg: var(--color-muted);
  --color-button-secondary-hover: #5c636a;
  --focus-ring-inner: #fff;
  --focus-ring-outer: #000;


  /* Spacing scale */
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;  
  --space-xxl: 48px;

  /* Borders */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-xxl: 20px;

  /* Layers */
  --z-base: 1;
  --z-dropdown: 100;
  --z-overlay: 1000;
  --z-modal: 10000;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
}

html {
  scroll-behavior: smooth;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="string"],
input[type="tel"],
input[type="color"],
.uneditable-input,
select {
  background-color: var(--color-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
  transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;
  padding: var(--space-xs);
  outline: 0;
  max-width: 100%;
}

select {
  max-width: 100%;
}

input[type="file"] {
  margin-bottom: var(--space-lg);
  display: block;
}

textarea:focus,
input[type="text"]:focus,
input[type="string"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus,
select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  outline: none;
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
  color: #dc2626;
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid,
input[type="text"].requiredInput:focus,
input[type="password"].requiredInput:focus,
textarea.requiredInput:focus {
  outline: none;
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}

/* Buttons
   ========================================================================== */

/* Primary buttons */
.btn,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.button,
span.button a,
span.EvtFeeRegLink a,
span.EvtFeeRegDone a,
.MembershipReports form#mail a {
  font-size: var(--font-size-md);
  display: inline-block;
  line-height: normal;
  vertical-align: middle;
  text-align: center;
  padding: var(--space-sm) var(--space-lg);
  color: var(--color-light);
  font-weight: var(--font-weight-medium);
  border: 0;
  background-color: var(--color-button-primary-bg);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
}

/* Secondary buttons */
input.formButton.cancel,
input[type="reset"],
input#CartUpdateButton,
input[type="button"].cancel,
input.cancel,
input[value=" Cancel "],
input[value=" Cancel "][type="button"],
input[value="Cancel"][type="submit"],
input[value="Cancel"],
input[value=" Annuler "],
input[value=" Annuler "][type="button"],
input[value="Annuler"][type="submit"],
input[value="Annuler"],
input#CartCancelButton,
button#CartCancelButton {
  background-color: var(--color-button-secondary-bg);
  border: none;
}

/* TinyMCE special class buttons */
span.button,
span.button:hover,
span.button:active,
span.button:focus {
  background: none;
  padding: 0;
  border: none;
  color: var(--color-text);
}

/* Primary button hover */
.btn:hover,
.btn:active,
button:hover:not(.btn-close),
button:active:not(.btn-close),
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="button"]:hover,
input[type="button"]:active,
.button:hover,
.button:active,
span.button a:hover,
span.button a:active,
.btn-primary:not(:disabled):not(.disabled):active,
span.EvtFeeRegLink a:hover,
span.EvtFeeRegLink a:active,
span.EvtFeeRegDone a:hover,
span.EvtFeeRegDone a:active,
.MembershipReports form#mail a:hover,
.MembershipReports form#mail a:active {
  background-color: var(--color-button-primary-hover);
  color: var(--color-light);
  text-decoration: none;
  border: none;
}

/* Secondary button hover */
input.formButton.cancel:hover,
input.formButton.cancel:active,
input[type="reset"]:hover,
input[type="reset"]:active,
input#CartUpdateButton:hover,
input#CartUpdateButton:active,
input[type="button"].cancel:hover,
input[type="button"].cancel:active,
input.cancel:hover,
input.cancel:active,
input[value=" Cancel "]:hover,
input[value=" Cancel "]:active,
input[value=" Cancel "][type="button"]:hover,
input[value=" Cancel "][type="button"]:active,
input[value="Cancel"][type="submit"]:hover,
input[value="Cancel"][type="submit"]:active,
input[value="Cancel"]:hover,
input[value="Cancel"]:active,
input[value=" Annuler "]:hover,
input[value=" Annuler "]:active,
input[value=" Annuler "][type="button"]:hover,
input[value=" Annuler "][type="button"]:active,
input[value="Annuler"][type="submit"]:hover,
input[value="Annuler"][type="submit"]:active,
input[value="Annuler"]:hover,
input[value="Annuler"]:active,
input#CartCancelButton:hover,
input#CartCancelButton:active,
button#CartCancelButton:hover,
button#CartCancelButton:active {
  background: var(--color-button-secondary-hover);
  color: var(--color-light);
  text-decoration: none;
  border: none;
}

/* Primary button focus */
.btn:focus-visible,
button:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible,
input[type="submit"]:focus-visible,
.button:focus-visible,
span.button a:focus-visible,
.btn-primary:not(:disabled):not(.disabled):active:focus-visible,
span.EvtFeeRegLink a:focus-visible,
span.EvtFeeRegDone a:focus-visible,
.bx-wrapper .bx-pager.bx-default-pager a:focus-visible,
.MembershipReports form#mail a:focus-visible {
  color: var(--color-light);
  background-color: var(--color-button-primary-hover);
  box-shadow: 0 0 0 2px var(--focus-ring-inner), 0 0 0 4px var(--focus-ring-outer);
  outline: none;
}

/* Secondary button focus */
input.formButton.cancel:focus-visible,
input[type="reset"]:focus-visible,
input#CartUpdateButton:focus-visible,
input[type="button"].cancel:focus-visible,
input.cancel:focus-visible,
input[value=" Cancel "]:focus-visible,
input[value=" Cancel "][type="button"]:focus-visible,
input[value="Cancel"][type="submit"]:focus-visible,
input[value="Cancel"]:focus-visible,
input[value=" Annuler "]:focus-visible,
input[value=" Annuler "][type="button"]:focus-visible,
input[value="Annuler"][type="submit"]:focus-visible,
input[value="Annuler"]:focus-visible,
input#CartCancelButton:focus-visible,
button#CartCancelButton:focus-visible {
  color: var(--color-light);
  background-color: var(--color-button-secondary-hover);
  box-shadow: 0 0 0 2px var(--focus-ring-inner), 0 0 0 4px var(--focus-ring-outer);
  outline: none;
}

button.mfp-close:hover,
button.mfp-close:active,
button.mfp-close:focus {
  color: var(--color-text);
  background: none;
  box-shadow: none;
}

.formButtons {
  margin: var(--space-lg) 0;
}

.btn-xs {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-xs);
  border-radius: var(--radius-sm);
  border: none;
}

button.close:hover,
button.close:active,
button.close:focus {
  background: none;
  box-shadow: none;
  color: #000;
}

/* TinyMCE Buttons */
.mce-btn button {
  text-transform: none;
  letter-spacing: normal;
  border: none;
  background: none;
  border-radius: 0;
  box-shadow: none;
  line-height: normal !important;
}

button.mce-close,
.mce-btn button:hover,
.mce-btn button:active,
.mce-btn button:focus {
  background: none !important;
  box-shadow: none !important;
}

button.mce-close {
  color: #858585 !important;
}

button.mce-close:hover {
  color: #adadad !important;
}

.mce-foot .mce-last button:hover {
  color: var(--color-text);
}

/* Image align
   ========================================================================== */
img[align="left"],
img[style*="float: left;"],
img[style*="float:left;"] {
  margin: 0 var(--space-lg) var(--space-lg) 0;
}

img[align="right"],
img[style*="float: right;"],
img[style*="float:right;"] {
  margin: 0 0 var(--space-lg) var(--space-lg);
}

@media screen and (max-width: 767px) {
  img[align="left"],
  img[align="right"],
  img[style*="float: left;"],
  img[style*="float:left;"],
  img[style*="float: right;"],
  img[style*="float:right;"] {
    float: none;
    max-width: 100%;
    margin: 0 0 var(--space-lg);
  }
}

/* Responsive iframes
   ========================================================================== */
.iframe-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Event Calendar
   ========================================================================== */
div.EvtDateSelector {
  border: 1px solid var(--color-muted);
  background-color: #f7f7f7;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
  margin-bottom: var(--space-sm);
}

.EvtCalHeader {
  font-size: large;
  font-weight: normal;
}

.EvtCalMonthMenuButton {
  cursor: pointer;
}

table.EvtCal {
  border-collapse: collapse;
  margin-bottom: var(--space-sm);
}

table.EvtCal td {
  border: 1px #b2b9c3 solid;
  margin: 0px;
  padding: var(--space-xs);
  height: 80px;
  width: 14.2%;
  vertical-align: top;
  background-color: var(--color-light);
  font-size: var(--font-size-sm);
}

table.EvtCal th {
  font-size: var(--font-size-sm);
}

table.EvtCal caption {
  background-color: #204379;
  color: var(--color-light);
  border: 1px #204379 solid;
  margin: 0px;
  margin-left: -1px;
  margin-right: -1px;
  padding: 4px;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
}

table.EvtCal td.EvtDay {
  background-color: var(--color-light);
}

table.EvtCal td.Today {
  background-color: #ffc;
}

table.EvtCal div.EvtDay {
  font-weight: var(--font-weight-bold);
}

table.EvtCal div.Evt {
  padding-top: 4px;
}

table.EvtCal div.Evt a {
  font-weight: normal;
}

table.EvtCal div.SharedEvt a {
  color: red;
}

table.EvtCal div.OtherEvt a {
  color: magenta;
}

table.EvtCal td.NoDay {
  background-color: #ddd;
}

.popup_p a:hover {
  text-decoration: none;
}

.EvtCal div.popup {
  border: 2px solid #666677;
  background-color: var(--color-light);
  color: black;
  padding: var(--space-sm);
  display: none;
  z-index: 10;
  position: absolute;
  left: -80px;
  text-align: left;
  line-height: 1.4;
  height: auto !important;
}

div.popup a {
  font-weight: normal;
}

span.popup_p {
  position: relative;
}

.EvtCal div.popup a.popup_close {
  display: block;
  float: right;
  border: 1px solid var(--color-border);
  padding: 2px;
  top: -5px;
  left: 5px;
  position: relative;
  font-size: xx-small;
  font-weight: normal;
}

table.Report.Membership .popup_close {
  background-color: #ddd;
  text-decoration: none;
}

.ThisMonth {
  font-weight: var(--font-weight-bold);
}

div.vCalendarLink {
  padding-left: 50px;
  background-image: url(add_small.png);
  background-repeat: no-repeat;
  background-position: left center;
  margin-top: var(--space-lg);
  height: 45px;
  font-size: 90%;
  display: table;
}

div.vCalendarLink a {
  display: table-cell;
  vertical-align: middle;
}

p.EvtCalCalendarLink {
  background-image: url(back.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  margin: var(--space-sm) 0;
  padding-left: var(--space-md);
  font-size: var(--font-size-sm);
}

div.EvtCal .EvtCalRSS img {
  margin-right: var(--space-xs);
  vertical-align: top;
}

div.EvtCal .EvtCalRSS a:hover {
  text-decoration: none;
}

div.EvtCal .EvtCalRSS {
  margin-top: var(--space-md);
}

div.EvtCal p.EventDate {
  font-weight: var(--font-weight-bold);
}

div.EvtCal .EvtCalList dt {
  font-weight: var(--font-weight-bold);
}

div.EvtCal .EvtCalList dd {
  margin-left: 0px;
  margin-bottom: var(--space-lg);
}

div.EvtCal .EvtCalList dd p {
  margin-top: 0px;
}

div.EvtCal table.EvtCalSm th,
table.EvtCal th {
  text-align: center;
  padding: var(--space-xs);
  color: var(--color-text);
  background-color: #f9f9fb;
  border: 1px solid #b2b9c3;
}

div.EvtCal table.EvtCalSm th select {
  font-weight: normal;
  color: var(--color-text);
}

div.EvtCal table.EvtCalSm td {
  text-align: center;
  padding: var(--space-md);
  border: 1px solid #b2b9c3;
  background: var(--color-light);
}

div.EvtCal table.EvtCalSm td.EvtDay {
  background-color: #ecf0f1;
}

div.EvtCal table.EvtCalSm td.EvtDay a {
  background-color: var(--color-primary-link);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-light);
  width: 35px;
  height: 35px;
  display: block;
  border-radius: 100%;
  line-height: 35px;
  text-decoration: none;
  margin: 0 auto;
}

div.EvtCal table.EvtCalSm td.EvtDay a:hover,
div.EvtCal table.EvtCalSm td.EvtDay a:active,
div.EvtCal table.EvtCalSm td.EvtDay a:focus {
  background-color: var(--color-primary-link-hover);
}

.EvtCal::after {
  clear: both;
}

.EvtCal::before,
.EvtCal::after {
  display: table;
  content: " ";
}

a#viewallevent {
  background: url("viewallevent.png") no-repeat scroll 0 center rgba(0, 0, 0, 0);
  color: #7e7e7e;
  padding: 2px var(--space-xs) 2px var(--space-lg);
  text-decoration: none;
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
}

/* Event Registration
   ========================================================================== */
.FeeAdminOnly,
.FeeHidden {
  background-color: var(--color-light-alt) !important;
  color: var(--color-muted);
}

.FeeHidden .EvtFeeRegLink a,
.FeeAdminOnly .EvtFeeRegLink a {
  background-color: #a3c59d !important;
}

.evt_hidden {
  color: #a2a2a2;
}

.evt_hidden::after,
.FeeHidden .EvtFeeName::after,
.FeeAdminOnly .EvtFeeName::after {
  content: url(hidden.png);
  margin-left: var(--space-xs);
}

span.EvtFeeRemaining {
  background-color: #337ab7;
  color: var(--color-light);
  padding: 2px var(--space-sm);
  font-size: var(--font-size-xs);
  border-radius: var(--radius-sm);
  margin-right: var(--space-lg);
}

@media (max-width: 991px) {
  div.EvtCal table.EvtCalSm {
    float: none;
    width: 100%;
    margin: 0 0 var(--space-lg);
  }

  div.EvtCal table.EvtCalSm th img {
    display: none;
  }
}

div.EvtSessionRegistrant div.EventFee {
  border-bottom: 1px dashed var(--color-muted);
}

span.EvtFeeName {
  text-transform: uppercase;
  margin-right: var(--space-sm);
  display: block;
  float: left;
}

div.EventFees div.EvtSessionRegistrant {
  margin-bottom: var(--space-lg);
}

span.EvtFeeAccess {
  color: red;
  display: block;
  font-size: x-small;
  font-style: italic;
  line-height: 120%;
}

span.EvtFeeCost {
  font-weight: var(--font-weight-bold);
  margin-right: var(--space-lg);
}

span.EvtFeeRegLink,
span.EvtFeeRegDoneLink {
  float: right;
}

span.EvtFeeRegLink a,
span.EvtFeeRegDone a {
  color: var(--color-light);
  font-weight: var(--font-weight-bold);
  padding: var(--space-xs);
  font-size: var(--font-size-sm);
  background: #1a700a;
  text-transform: uppercase;
}

span.EvtFeeRegLink a:hover,
span.EvtFeeRegLink a:active,
span.EvtFeeRegLink a:focus,
span.EvtFeeRegDone a:hover,
span.EvtFeeRegDone a:active,
span.EvtFeeRegDone a:focus {
  background: #0f4406;
}

span.EvtFeeRegLink a:focus,
span.EvtFeeRegDone a:focus {
  box-shadow: 0 0 0 4px rgb(26 112 10 / 50%);  
}

span.EvtFeeRegDone a {
  font-size: 10px;
}

div.EventFees h3 {
  background-color: var(--color-muted);
  color: #3c3c3c;
  font-size: 100%;
  top: 0;
  margin-bottom: 3px;
}

div.popup {
  display: none;
  background-color: var(--color-light);
  border: 1px solid var(--color-border);
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  position: absolute;
  z-index: 100;
  padding: var(--space-lg);
  right: 0;
  font-size: var(--font-size-sm);
}

div.EvtRegRegistrants div.popup {
  min-width: 180px;
}

div.popup .formButtons {
  margin: var(--space-md) 0 0;
}

div.popup .popup_close {
  margin: 0;
  font-size: 10px;
}

div.EvtFeeActivityInfo {
  display: inline;
}

.EvtFeeActivityInfo .MagPopup-inline {
  display: inline-block;
}

div.EvtFeeGroup div.EventFee div.EvtFeeActivityInfo {
  float: left;
}

div.EvtRegRegistrants div.popup .Event h3 {
  padding: 0;
  width: 80%;
  background: none;
  font-size: 12pt;
  text-transform: none;
  margin: 0px;
}

span.EvtFeeGroupName {
  font-size: 120%;
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-xs);
  margin-top: 30px;
  padding-bottom: 2px;
  display: block;
  color: var(--color-muted);
}

div.EvtRegContinue {
  padding: 0;
  margin-bottom: var(--space-lg);
}

div.EvtRegContinue h2,
div.EvtRegFinish h2,
div.EvtRegRegistrants h3,
div.EvtRegMerchandise h3 {
  background-color: #e3e3e3;
  color: black;
  margin: 0px;
  padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-lg);
  font-size: var(--font-size-md);
  text-transform: uppercase;
  border-radius: 0;
}

div.EvtRegMerchandise h3 {
  margin-bottom: var(--space-md);
}

div.EvtRegRegistrants .EventFees h3 {
  color: black;
  margin: 0 0 var(--space-md);
  padding: 0px;
  font-size: var(--font-size-lg);
  background-color: var(--color-light);
  border: 0px;
}

h2.EvtFeeThankYou,
.EvtFeeThankYou h2 {
  font-size: var(--font-size-lg);
  color: var(--color-text);
}

.EvtFeeThankYou,
h2.EvtFeeThankYou {
  margin: 0 0 var(--space-lg);
}

.EvtRegTicketMessages h2.EvtFeeThankYou {
  display: none;
}

.EvtRegTicketMessages h2.EvtFeeThankYou:first-child {
  display: block;
}

.EvtRegTicketMessages p {
  margin: 0;
}

.EvtRegTicketMessages p:last-child {
  margin-bottom: var(--space-lg);
}

.EvtRegHelp {
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  font-size: var(--font-size-xl);
  margin: 0 0 var(--space-lg);
}

.backToEvent {
  display: block;
  margin-top: var(--space-lg);
}

.EvtRegRegistrants .blindbox .boxhead,
.Event .blindbox .boxhead {
  margin: 0;
  border: 2px solid var(--color-primary);
  padding: var(--space-sm);
  cursor: pointer;
  font-weight: bold;
  background-color: antiquewhite;
}

.EvtRegRegistrants .boxhead {
  margin-bottom: var(--space-sm);
}

.EvtRegRegistrants .blindbox {
  margin: var(--space-lg) 0 var(--space-xxl);
}

div.EvtRegContinue div.EvtRegContinue {
  border: 0px;
  padding: 0px;
  margin: 0px;
}

div.EvtRegFinish {
  border: 1px solid var(--color-border);
  padding: 0;
}

div.EvtRegFinish p,
div.EvtRegFinish div.Pay {
  padding: var(--space-sm);
}

div.EventFee {
  background-color: var(--color-light-muted);
  padding: var(--space-md);
  margin-bottom: var(--space-sm);
}

.EvtRegRegistrants div.EventFee {
  background: none;
  padding: var(--space-md) 0 var(--space-lg);
}

.EvtRegRegistrants div.EventFee:first-child {
  padding-top: 0;
}

.EvtRegContinue .EvtRegRegistrants div.EventFee.FeeHidden,
.EvtRegContinue .EvtRegRegistrants div.EventFee.FeeAdminOnly {
  padding: var(--space-md);
}

div.EventFee .EvtFeeBuyInfo {
  float: right;
}

div.EventFees div.EventFee {
  display: block;
  font-size: var(--font-size-sm);
}

div.EventFee::before,
div.EventFee::after {
  content: " ";
  display: table;
}

div.EventFee::after {
  clear: both;
}

div.EvtFeeDescr {
  font-size: var(--font-size-sm);
  font-style: italic;
  clear: both;
  padding: var(--space-sm) 0 0;
  color: #555;
  line-height: 1.5;
}

div.EvtReg form,
.popup form {
  padding-top: var(--space-md);
}

div.EvtRegMerchandise p.CatalogPath {
  display: none;
}

div.EvtRegMerchandise h2 {
  background: none;
  color: #006a71;
  width: 60%;
}

div.ProductPrice {
  font-weight: var(--font-weight-bold);
}

div.EvtReg .EvtRegProduct span.popup_p {
  display: inline;
}

.EvtRegProduct {
  padding-left: var(--space-lg);
}

span.EvtFeeRegdate {
  font-style: italic;
  padding-left: var(--space-sm);
  font-size: 80%;
}

div.EvtRegRegistrants div.EventFees {
  border: 1px solid var(--color-border);
  margin-bottom: 35px;
  padding: var(--space-lg);
}

div.EvtRegMerchandise {
  border: 1px solid var(--color-border);
  padding-bottom: var(--space-lg);
}

table.EvtRegComps caption {
  font-size: var(--space-lg);
  margin-bottom: var(--space-sm);
  text-align: left;
}

span.EvtFeeSoldOut {
  font-weight: var(--font-weight-bold);
  border: 1px solid #000;
  color: var(--color-light);
  font-weight: var(--font-weight-bold);
  margin-left: var(--space-lg);
  padding: 4px var(--space-lg);
  font-size: 95%;
  text-decoration: none;
  background: #f00;
  text-transform: uppercase;
}

@media screen and (max-width: 991px) {
  div.EventFee .EvtFeeBuyInfo,
  span.EvtFeeRegLink,
  span.EvtFeeCost,
  span.EvtFeeName,
  div.EvtFeeGroup div.EventFee div.EvtFeeActivityInfo {
    float: none;
    display: block;
  }
  span.EvtFeeBuyInfo {
    padding: var(--space-sm) 0;
  }
  div.EvtFeeDescr {
    padding-top: 0;
  }
  span.EvtFeeCost {
    margin: 0 0 var(--space-sm);
  }
  span.EvtFeeRegLink {
    margin: var(--space-sm) 0;
  }
  div.popup {
    left: 0;
  }
}

/* Blindbox
   ========================================================================== */
.boxhead span.boxtitle {
  font-size: var(--font-size-lg);
  padding-right: var(--space-md);
  background-position: center right;
  background-repeat: no-repeat;
  background-image: url(drop_up.png);
  cursor: pointer;
}

.paneClosed span.boxtitle {
  background-image: url(drop.png) !important;
}

.blindbox .boxpane h2 {
  display: none;
}

.blindbox .boxpane .location h2,
.blindbox .boxpane .location h3 {
  display: block;
  margin-top: var(--space-lg);
}

.EvtRegRegistrants .blindbox .boxhead,
.Event .blindbox .boxhead {
  margin: 0;
  border: 2px solid var(--color-primary);
  padding: var(--space-sm);
  cursor: pointer;
}

/* Zines
   ========================================================================== */
.ZineDebug {
  font-size: 8pt;
  font-family: sans-serif;
  color: green;
  border: 0px solid black;
  /* remove next line for debugging CSS */
  display: none;
}

/* Articles
   ========================================================================== */
.ZineArticle .ZineAbout {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-sm);
  font-style: italic;
}

.ZineArticle .ZineAbout .ZineSummary {
  padding-left: var(--space-xxl);
  margin: var(--space-lg) 0;
  background-color: var(--color-light-alt);
  color: var(--color-muted-on-light);
}

.ZineSummary {
  padding: var(--space-md);
  font-style: italic;
}

.ZineDate {
  font-style: italic;
  font-size: var(--font-size-sm);
  color: var(--color-muted-on-light);
  display: block;
}

.ZineAuthor {
  color: var(--color-text);
  display: inline;
}

.ZineBody pre {
  padding: var(--space-sm);
  border: 1px dashed #99c;
  background-color: #ddf;
}

.ZineArticle .ZineFooter {
  color: #999;
  font-style: italic;
  font-size: var(--font-size-xs);
}

.ZineArticle .ZineAttachment {
  padding: var(--space-sm);
  margin-top: var(--space-sm);
  font-size: var(--font-size-xs);
  background-color: var(--color-light);
}

.ZineFooter a {
  font-weight: normal;
  font-size: var(--font-size-xs);
}

/* Indexes
   ========================================================================== */
.ZineItem .ZineSummaryIndex {
  padding-top: var(--space-sm);
}

.ZineIndex .ZineItem {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-border);
}

.ZineIndex .ZineItem:last-child {
  padding: 0;
  border: none;
}

.ZineArchive .ZineItem {
  border: none;
}

.ZineArchive h2 {
  border-bottom: 1px solid var(--color-border);
}

/* creates a sequence of buttons for paged indexes */

.ZinePagedIndex a {
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 2px;
  padding-bottom: 2px;
  border: 1px solid #ccf;
  font-size: var(--font-size-xs);
  color: #99c;
  font-weight: normal;
  text-decoration: none;
}

.ZinePagedIndex a.ZinePagedIndexCurrent {
  background-color: #eef;
  border: 1px solid #99c;
}

.ZinePagedIndex a:hover {
  background-color: #eef;
  border: 1px solid #99c;
}

table.ZineIndex td.ZineThumb {
  /* typically used for photoblog galleries */
  background-color: var(--color-light);
  padding: var(--space-lg);
}

/* table indexes are used in semithreaded and table indexes */

table.ZineIndex {
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  margin-bottom: var(--space-sm);
  width: 100%;
}

table.ZineIndex td {
  border-left: 1px solid var(--color-border);
  padding: var(--space-xs);
}

table.ZineIndex th,
.ZineForumTable th {
  border: 1px solid var(--color-border);
  margin: 0px;
  padding: var(--space-xs);
  background-color: var(--color-muted);
  color: var(--color-light);
}

/* Job Search
   ========================================================================== */
.job_search {
  padding: var(--space-xl);
  margin-bottom: var(--space-xl);
  background-color: var(--color-light-alt);
}

span.submit_job_form {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-lg);
    margin-bottom: var(--space-lg);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

span.submit_job_form span {
    float: none !important;
}

.job_search .formButtons {
  clear: both;
}

/* Forum
   ========================================================================== */
.ZineComment {
  margin-bottom: var(--space-md);
}

.ZineComment .ZineHeader {
  padding: var(--space-xs) var(--space-md);
  background-color: var(--color-light-alt); 
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  display: block;
}


.ZineThread .ZineComment .ZineHeader {
  background-color: var(--color-light-alt);
}

.ZineComment .ZineAbout {
  padding: var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-muted);
}

.ZineComment .ZineAbout .ZineDate{
  font-size: var(--font-size-xs);
}

.ZineComment .ZineBody {
  padding: var(--space-md);
  margin-left: var(--space-xxl);
}

.ZineComment .ZineFooter {
  padding: var(--space-sm);
  border-top: 1px solid var(--color-border); 
  font-size: var(--font-size-sm);
  display: block;
  clear: both;
}

.ZineComment {
  border:1px solid var(--color-border);
}

.ZineComment .ZineAttachment {
  padding: var(--space-sm);
  margin-top: var(--space-sm);
  font-size: var(--font-size-sm);
  display: block;
  background-color: #eeeeff; 
}

.ZineComment .ZineTools {
  margin-bottom: 0;
}

.ZineQuote {
  font-size: var(--font-size-sm);
  font-style: italic;
  display: block;
  margin: var(--space-sm) var(--space-xxl) 0 var(--space-xs);
  color: var(--color-muted);
  border: 1px dashed var(--color-border);
  padding: var(--space-sm);
}

.ZineQuote a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Toolboxes
   ========================================================================== */
table.ZineTools td a {
  font-size: var(--font-size-sm);
  font-weight: normal;
  text-decoration: none;
}

table.ZineTools td a:hover {
  text-decoration: underline;
}

table.Report table.ZineTools td {
  border: 0px solid var(--color-light);
}

table.ZineIndex table.ZineTools td {
  border: 0px solid var(--color-light);
}

.Zine table.accordionbox table.accordionbox {
  margin: 0;
}

table.ZineTools tr:last-child {
  display: none;
}

/* Attachments
   ========================================================================== */
table.ZineAttachmentForm {
  /* put attachment upload fields in a box */
  background-color: var(--color-light-alt);
  border: 1px solid var(--color-muted);
  padding: var(--space-sm);
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.ZineAttachment table:last-child {
  margin: 0;
}

.ZineCaption {
  color: var(--color-muted);
  font-style: italic;
  font-size: var(--font-size-xs);
}

/* Status, Moderation
   ========================================================================== */
.ZineStatusIcon {
  float: right;
}

.ZineWarning {
  padding: var(--space-md);
  border: 1px dashed red;
  background-color: #faa;
  color: brown;
  font-weight: var(--font-weight-bold);
}

/* Catalogue
   ========================================================================== */
.CatalogUrl {
  color: #6f6f6f;
  font-size: var(--font-size-xs);
}

.CatalogDescription {
  font-size: var(--font-size-xs);
}

.CatalogNotifySelect {
  font-size: 8px;
  color: #6f6f6f;
}

.CatalogProduct {
  width: 100%;
  overflow: auto;
  padding: var(--space-xs);
}

.CatalogProductThumbnail {
  float: right;
}

.CatalogProductWrapper {
  width: 100%;
}

/* Search
   ========================================================================== */
#searchform {
  width: 360px;
  display: flex;
  background-color: var(--color-light-alt);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  padding: var(--space-xs);
}

#searchform input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  border-right: none;
}

#searchform button {
  padding: var(--space-sm);
  border-left: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  display: flex;
  align-items: center;
  transition: none;
}

#searchform button svg {
  display: block;
  fill: var(--color-light);
}

button.search,
button.search:hover,
button.search:active {
  border: none;
  border-radius: 0;
  background: none;
  padding: 0;
  line-height: 0;
  color: var(--color-primary-link);
}

button.search:hover,
button.search:active {
  color: var(--color-primary-link-hover);
}

button.search:focus-visible {
  box-shadow: none;
  outline: revert;
}

.search-wrap .dropdown-menu {
  border: none;
  padding: 0;
  background: none;
  left: auto !important;
  right: 0;
  top: 35px !important;
  transform: none !important;
  z-index: var(--z-dropdown);
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-normal);
}

.search-wrap .show > .dropdown-menu {
  opacity: 1;
  visibility: visible;
}

.search-wrap .dropdown-toggle::after {
  display: none;
}

::placeholder {
  color: #ababab;
  opacity: 1;
}

div.Search dt {
  font-weight: var(--font-weight-bold);
}

div.Search dd {
  color: var(--color-muted);
  font-style: italic;
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-border);
  font-size: var(--font-size-sm);
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Member Directory
   ========================================================================== */
div.MembershipDirectoryAlpha {
  margin-bottom: var(--space-lg);
}

span.MembershipNoMembers {
  background-color: #999999;
  color: var(--color-light);
}

div.MembershipDirectoryAlpha a,
span.MembershipNoMembers {
  border: 1px solid #999999;
  font-size: 85%;
  margin: 1px;
  padding: 1px 4px;
}

div.MembershipDirectoryAlpha {
  display: inline-block;
  margin-left: 0;
  margin-bottom: 0;
  border-radius: var(--radius-sm);
}

.MembershipDirectoryAlpha a {
  float: left;
  padding: 4px var(--space-xs);
  line-height: 20px;
  text-decoration: none;
  background-color: var(--color-light);
  border: 1px solid #dddddd;
  border-left-width: 0;
}

.MembershipDirectoryAlpha .selected_char,
.MembershipDirectoryAlpha a:hover,
.MembershipDirectoryAlpha a:focus {
  background-color: #3b7fbe;
  color: var(--color-light);
  border-color: #3b7fbe;
}

div.MembershipDirectoryAlpha a:first-child {
  border-left-width: 1px;
  border-top-left-radius: var(--radius-sm);
  border-bottom-left-radius: var(--radius-sm);
}

div.MembershipDirectoryAlpha a:last-child {
  border-top-right-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
}

.MembershipDirectoryMenu .active {
  font-weight: var(--font-weight-bold);
}

.MembershipMiniProfile {
  border: 1px solid #d1d1d1;
  border-radius: var(--radius-sm);
  padding: var(--space-lg);
  margin-top: var(--space-md);
  font-size: var(--font-size-md);
}

.MembershipMiniProfile:last-of-type {
  margin-bottom: var(--space-lg);
}

.MembershipMiniProfile::after {
  content: "";
  clear: both;
  display: block;
}

div.MembershipMiniProfile table.MemberMiniProfile td {
  vertical-align: top;
}

td.body_content div.MembershipMiniProfile table.MemberMiniProfile img {
  padding: 0px var(--space-md) 0px 0px;
}

td.body_content div.MembershipMiniProfile table.MemberMiniProfile a {
  font-weight: var(--font-weight-bold);
  margin-top: var(--space-sm);
  display: block;
}

a.dp-choose-date {
  background: url("date.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
  display: inline-block;
  height: 16px;
  margin: var(--space-xs) 3px 0;
  overflow: hidden;
  padding: 0;
  text-indent: -2000px;
  width: 16px;
}

/* Profile
   ========================================================================== */
.errors {
  margin-bottom: var(--space-lg);
}

.error,
.warn,
.warning,
.info,
.help,
.highlight {
  display: block;
  background-color: #fff3cd;
  color: #000;
  border-radius: var(--radius-sm);
  padding: var(--space-md) var(--space-lg);
  margin: 0 0 var(--space-lg);
}

.error {
  color: #5d161d;
  background-color: #f8d7da;
}

table .error:last-child {
  margin: 0;
}

.info,
.help {
  background-color: #d9edf7;
}

.error a,
.warn a,
.warning a,
.info a,
.help a,
.highlight a {
  font-weight: var(--font-weight-bold);
}

.error a {
  color: #5d161d;
}

.warn a,
.warning a,
.highlight a {
  color: #2f2f15;
}

.error a:hover,
.error a:active,
.error a:focus {
  color: #490f15;
}

.warn a:hover,
.warn a:active,
.warn a:focus,
.warning a:hover,
.warning a:active,
.warning a:focus,
.highlight a:hover,
.highlight a:active,
.highlight a:focus {
  color: #1f1f0f;
}

.info a,
.help a {
  color: #00334e;
}

.info a:hover,
.info a:active,
.info a:focus,
.help a:hover,
.help a:active,
.help a:focus {
  color: #005f73;
}

.warn p:last-child,
.warning p:last-child,
.info p:last-child,
.help p:last-child,
.highlight p:last-child {
  margin: 0;
}

.Document .error {
  padding: 0 var(--space-xs);
}

div.EvtFeeDescr .error {
  padding: var(--space-xs);
  display: inline-block;
  margin-top: var(--space-xs);
}

span.EvtFeeBuyInfo .error {
  float: right;
  font-size: var(--font-size-xs);
  padding: var(--space-xs);
  line-height: 100%;
}

#photos,
#photo {
  float: right;
  padding: 0;
  margin: 0 0 var(--space-sm) var(--space-lg);
}

#cropbox {
  margin-bottom: var(--space-sm);
}

span.input #photo {
  float: none;
  margin: 0;
  font-size: small;
}

#photos img,
#photo img {
  max-width: 150px;
  border-radius: var(--radius-sm);
}

.MembershipStatus {
  background: var(--color-light-alt);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-lg) 0;
  border: 1px solid #dee2e6;
  border-radius: var(--radius-sm);
  font-weight: var(--font-weight-bold);
}

.Membership .button {
  margin: 0 var(--space-xs);
  text-decoration: none;
  font-weight: normal;
}

a.renew.button {
  background: #d9534f;
  color: var(--color-light);
  border: none;
}

a.renew.button:hover,
a.renew.button:active,
a.renew.button:focus {
  background: #a5403d;
}

a.renew.button:focus-visible {
  box-shadow: 0 0 0 4px rgb(165 64 61 / 50%);
}

.MembershipStatus a.upgrade.button {
  margin: var(--space-sm) 0 var(--space-md);
}

ul.Membership_update_profile_menu {
  display: inline-block;
  width: 100%;
  padding: 0;
  margin: 0 0 var(--space-lg) 0;
  list-style: none;
}

ul.Membership_update_profile_menu li {
  padding: 0 var(--space-xs) var(--space-xs) 0;
  margin: 0;
  background: none;
  float: left;
}

ul.Membership_update_profile_menu li a {
  color: #505050;
  font-size: var(--font-size-xs);
  background-color: var(--color-light);
  background-repeat: no-repeat;
  background-position: var(--space-xs) center;
  text-decoration: none;
  padding: 0 var(--space-sm) 0 27px;
  display: block;
  line-height: 30px;
  height: 30px;
  /* shadow */
  -moz-box-shadow: 0px 2px 5px #999; /* Firefox */
  -webkit-box-shadow: 0px 2px 5px #999; /* Safari,Chrome */
  box-shadow: 0px 2px 5px #999; /* CSS3 */
}

ul.Membership_update_profile_menu li a:hover {
  background-color: #f4d1b0;
  text-decoration: none;
}

#Membership_view_profile_link {
  background-image: url(account.png);
}
#Membership_update_profile_link {
  background-image: url(user.png);
}
#Membership_update_contact_link {
  background-image: url(address.png);
}
#Membership_update_photo_link {
  background-image: url(Camera.png);
}
#Membership_change_password_link {
  background-image: url(login.png);
}
#Membership_account_link {
  background-image: url(clock.png);
}
#Membership_new_secondary_link {
  background-image: url(second.png);
}

h1.membername {
  text-transform: none;
}

ul.MembershipType {
  list-style: none;
  margin-left: 0px;
  padding-left: 0px;
}

ul.MembershipType li {
  padding-bottom: var(--space-md);
}

ul.MembershipType li a {
  font-weight: var(--font-weight-bold);
}

.profile_photo {
  float: right;
  border: 1px solid var(--color-border);
  padding: var(--space-xs);
  margin: 0 0 var(--space-sm) var(--space-lg);
  position: relative;
  top: -30px;
}

table.Report {
  font-size: var(--font-size-sm);
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-lg);
  width: 100%;
}

table.Report th,
table.Report td {
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  padding: var(--space-xs);
  text-align: left;
  vertical-align: top;
}

table.Report th {
  font-weight: var(--font-weight-bold);
}

table.Report thead th {
  vertical-align: bottom;
}

table.Report tbody + tbody {
  border-top: 2px solid var(--color-muted);
}

.table .table {
  background-color: var(--color-light);
}

.table-condensed th,
.table-condensed td {
  padding: 4px var(--space-xs);
}

.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: var(--color-light-alt);
}

table.Report tr.B {
  background-color: var(--color-light-alt);
}

table.Report caption {
  text-align: left;
  caption-side: top;
}

table.WhoIsComing caption {
  margin: var(--space-md) 0;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
}

/* Shopping Cart
   ========================================================================== */
table.Receivable {
  width: 100%;
  font-size: 85%;
  border-collapse: collapse;
  margin-bottom: var(--space-md);
  margin-top: var(--space-md);
}

table.Receivable th {
  color: var(--color-light);
  background-color: #213c73;
  padding: var(--space-xs);
  font-size: 90%;
  text-transform: uppercase;
  border: 1px solid #999;
}

table.Receivable tfoot {
  background-color: var(--color-light-alt);
  padding: var(--space-xs);
}

table.Receivable td {
  padding: var(--space-xs);
  border: 1px solid var(--color-border);
}

table.Receivable td div.total {
  font-weight: var(--font-weight-bold);
}

table.Receivable div.number {
  text-align: right;
}

.ReceivableBuyer {
  background: var(--color-light-alt);
  border: 1px solid var(--color-border);
  padding: var(--space-lg);
  margin: var(--space-lg) 0;
}

/* Cart Icon */
span.cart-items {
  position: relative;
}

span.item-in-cart {
  font-size: var(--font-size-xs);
  position: relative;
  top: -4px;
}

span.cart-items .shoppingCart {
  display: inline-block;
  vertical-align: bottom;
}

/* Bootstrap 4 Stripe Styles
   ========================================================================== */
.panel.panel-default.credit-card-box {
  background: #f8f8f8;
  border: 1px solid var(--color-border);
}
.panel.panel-default.credit-card-box .form-group {
  display: flex;
  width: 100%;
  align-items: center;
}
.panel.panel-default.credit-card-box .control-label {
  text-align: right;
  padding: 0;
  margin: 0;
}
.panel.panel-default.credit-card-box .panel-body .col-sm-4 {
  max-width: 244px;
}
.panel.panel-default.credit-card-box .panel-heading {
  margin-bottom: var(--space-lg);
  background: #efefef;
  padding: var(--space-lg);
}
.panel.panel-default.credit-card-box input.submit {
  margin-right: var(--space-sm);
}
.panel.panel-default.credit-card-box .form-row {
  padding: 0 var(--space-md) var(--space-lg);
}
.panel.panel-default.credit-card-box .pull-right {
  position: relative;
  bottom: 3px;
}

@media (max-width: 767px) {
  .panel.panel-default.credit-card-box .form-group {
    display: block;
  }
  .panel.panel-default.credit-card-box .panel-body .col-sm-4 {
    max-width: 100%;
  }
  .panel.panel-default.credit-card-box .panel-body .col-sm-4,
  .panel.panel-default.credit-card-box .panel-body .col-sm-9 {
    padding: 0;
  }
  .panel.panel-default.credit-card-box .control-label {
    text-align: left;
  }
  .panel.panel-default.credit-card-box .form-row {
    padding: var(--space-sm) 0 var(--space-lg);
  }
  .panel.panel-default.credit-card-box .pull-right {
    position: static;
    float: none;
    margin-top: var(--space-md);
  }
}

/* Form Submit
   ========================================================================== */
.formButtons,
.credit-card-box .form-row,
.CartCheckoutButtons,
table.cart_form tr td.input,
.Donation {
  position: relative;
}

.formSubmitted {
  position: absolute;
  top: -4px;
  left: -4px;
  padding-top: var(--space-sm);
  height: 62px;
  background-color: var(--color-light);
  width: 100%;
}

/* Required Fields
   ========================================================================== */
span.requiredPrompt {
  background-image: url(asterisk.png);
  background-position: top right;
  background-repeat: no-repeat;
  padding-right: var(--space-sm);
  font-weight: bold !important;
}

span.requiredPrompt label {
  font-weight: var(--font-weight-bold);
}

/* Web Forms
   ========================================================================== */
table.QA_confirmation {
  font-size: 90%;
  border-collapse: collapse;
  margin-bottom: var(--space-lg);
}

table.QA_confirmation caption {
  text-align: left;
  padding-left: 3px;
  padding-bottom: var(--space-md);
  font-weight: var(--font-weight-bold);
}

table.QA_confirmation td {
  font-weight: normal;
  border: 1px solid var(--color-border);
  padding: var(--space-xs) var(--space-md);
}

table.QA_confirmation tr.B {
  background-color: var(--color-muted);
}

table.QA_confirmation th {
  border: 1px solid var(--color-border);
  background-color: #2d3a5a;
  color: var(--color-light);
  padding: var(--space-xs) var(--space-md);
}

div.QA_question {
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
}

table.QA_question_group td,
table.QA_question_group th {
  padding: 3px var(--space-xs);
}
table.QA_question_group td.QA_input {
  text-align: center;
}

div.QA_question table {
  margin-bottom: 0;
}

/* Responsive Image List
   ========================================================================== */
ul.image_list {
  list-style: none;
  margin: 0px;
  padding: 0px;
  font-size: 85%;
}

ul.image_list img {
  display: block;
  margin-bottom: var(--space-xs);
}

ul.image_list li {
  float: left;
  width: 150px;
  padding-right: var(--space-md);
  min-height: 200px;
}

/* Address Cards
   ========================================================================== */
.ContactPreview {
  background-color: #f4f4f4;
  border: 1px dashed var(--color-light-alt);
  padding: var(--space-lg);
  margin-bottom: var(--space-lg);
  border-radius: var(--radius-sm);
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}

.ContactPreview:hover {
  border-color: var(--color-muted);
}

.ContactPreview h2 {
  font-size: var(--font-size-xl);
  margin: 0 0 var(--space-sm);
}

.ContactPreview .ContactEditTip {
  color: #999;
  font-style: italic;
  font-size: 90%;
}

#help1 {
  display: none;
}

.Membership .popup_close {
  float: right;
  margin: 0 0 var(--space-lg) var(--space-lg);
}

.Membership .popup_close:hover {
  background-color: transparent;
}

.help_hotspot {
  background-color: var(--color-light-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  cursor: pointer;
  display: inline-block;
  font-size: var(--font-size-md);
  margin: 0 0 var(--space-lg);
  padding: 0 var(--space-lg);
}

.help_popup ul {
  margin: 0;
}

.help_popup {
  padding: var(--space-xl);
  background-color: var(--color-light-alt);
  margin-bottom: var(--space-xl);
  border: 1px solid var(--color-border);
}

a.ContactDeleteLink {
  padding: var(--space-xs) var(--space-md);
  background: #cc0000;
  text-align: center;
  margin: 3px 0;
  text-decoration: none !important;
  color: var(--color-light);
  display: inline-block;
  border-radius: var(--radius-sm);
}

a.ContactDeleteLink:hover {
  color: var(--color-light);
  background: #666;
  text-decoration: none;
}

/* Bootstrap
   ========================================================================== */
textarea {
  max-width: 100%;
}

label {
  font-weight: normal;
}

/* Login
   ========================================================================== */
table.LoginForm td {
  padding: 0 var(--space-sm) var(--space-sm) 0;
}

.LoginRecoverForm {
  text-align: left;
}

.LoginRecoverForm tr td {
  padding: 0 10px 10px 0;
}

.error ul {
  margin: 0;
  padding: 0 0 0 20px;
}

.LoginUserLink {
  padding-left: 4px;
}

/* File Server
   ========================================================================== */
div.FileServerSearch {
  margin-bottom: var(--space-lg);
}

/* Documents
   ========================================================================== */
.Document dd {
  margin-bottom: var(--space-lg);
}

.Document span.DocumentInfo {
  font-size: 11px;
  font-style: italic;
}

/* Polls
   ========================================================================== */
.Poll {
  background: rgb(247, 247, 247);
  display: inline-block;
  padding: 0px var(--space-lg) var(--space-lg);
  border-radius: var(--space-sm);
  border: 1px solid rgb(226, 226, 226);
  margin: var(--space-md) 0;
}

.Poll .poll_question {
  font-weight: var(--font-weight-bold);
}

.Poll h1 {
  font-size: var(--font-size-xl);
}

.Poll input[type="radio"] {
  margin: var(--space-xs) 0;
}

/* Photo Galleries
   ========================================================================== */
.gallery {
  padding-left: 0;
}

ul.gallery li {
  display: inline-block !important;
  margin-right: var(--space-sm);
}

/* Accordions
   ========================================================================== */
.Zine table.accordionbox {
  margin-top: var(--space-sm);
  width: 100%;
}

.Zine th.accordioncontrol .accordioncontrol {
  cursor: pointer;
  background: #f1f1f1;
  padding: var(--space-sm) var(--space-lg);
  margin-bottom: var(--space-xs);
  border-radius: var(--radius-sm);
  display: block;
  border: 1px solid var(--color-light-alt);
}

.Zine th.accordioncontrol span.ZineDate {
  display: none;
}

.accordionbox .ZineBody {
  padding: var(--space-xs) var(--space-sm);
}

.Zine span.accordioncontrolicon img,
.Zine span.accordioncontrolicon img {
  padding-right: var(--space-xs);
}

/* Private Area
   ========================================================================== */
.private_area_body .MembershipReports form a,
.private_area_body .button {
  background: #a61b30;
  color: var(--color-light);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-sm);
  display: inline-block;
  font-weight: var(--font-weight-bold);
  margin: var(--space-sm) var(--space-xs) var(--space-sm) 0;
  float: left;
}

.private_area_body .button {
  float: none;
}

.private_area_body .MembershipReports form a:hover,
.private_area_body .MembershipReports form a:active,
.private_area_body .MembershipReports form a:focus,
.private_area_body .button:hover,
.private_area_body .button:active,
.private_area_body .button:focus {
  background: #2250a2;
}

/* Member log
   ========================================================================== */
table.MemberLog.Report {
  border: none;
  border-collapse: collapse;
}

table.MemberLog.Report th {
  background-color: #828282;
  color: var(--color-light);
}

table.MemberLog.Report td {
  padding: var(--space-xs);
  border: 1px solid #e4e4e6;
}

table.MemberLog.Report caption {
  font-size: var(--font-size-xl);
}

table.MemberLog.Report tfoot th {
  background: none;
}

/* File server
   ========================================================================== */
table.FileServer h4 {
  margin: 0;
}

.EventMGR form table td {
  padding: 0 var(--space-xs) 0 0;
}

.EventMGR form table td input {
  margin-bottom: var(--space-sm);
}

.EventMGR form table {
  margin-bottom: var(--space-sm);
}

.FileServer .FileServerRightPane form input[type="text"] {
  width: 100%;
}

.FileServer td.FileServerRightPane {
  padding: 0 var(--space-md);
}

.FileServer td.FileServerLeftPane span.folder a {
  display: block;
  line-height: normal;
}

.FileServer td.FileServerLeftPane .filetree li {
  padding: 0 0 var(--space-lg) var(--space-md);
}

.FileServer .FileServerPath {
  margin-bottom: var(--space-sm);
}

.FileServer .treeview a.selected {
  background-color: #500000;
  color: var(--color-light);
  padding: var(--space-xs);
  text-decoration: none;
}