/* V3 Base Styles */

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 {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  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: 5px;
  outline: 0;
  max-width: 100%;
}

select {
  max-width: 100%;
}

input[type="file"] {
  line-height: 20px;
  margin: 3px 0;
  font-size: medium;
}

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 {
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset,
    0 0 8px rgba(82, 168, 236, 0.6);
  outline: 0 none;
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  border-color: #ee5f5b;
  color: #b94a48;
}

input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus,
input.requiredInput[type="text"]:focus,
textarea.requiredInput:focus {
  border-color: #e9322d;
  box-shadow: 0 0 6px #f8b9b7;
}

/* Buttons
   ========================================================================== */
.btn,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.button,
span.button a,
span.EvtFeeRegLink a,
span.EvtFeeRegDone a {
  font-size: 100%;
  display: inline-block;
  zoom: 1;
  line-height: normal;
  white-space: nowrap;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0.5em 1em;
  color: rgba(0, 0, 0, 0.8);
  border: 0 rgba(0, 0, 0, 0);
  background-color: #e6e6e6;
  text-decoration: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  transition: all 0.3s;
}

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="Cancel Registration"],
input[value=" Annuler "],
input[value=" Annuler "][type="button"],
input[value="Annuler"][type="submit"],
input[value="Annuler"],
input#CartCancelButton {
  background: #e3e3e3;
  color: #818181;
  border: none;
}
span.button,
span.button:hover,
span.button:active,
span.button:focus {
  background: none;
  padding: 0;
  border: none;
  color: #333;
}
.btn:hover,
.btn:focus,
.btn:active,
button:hover:not(.btn-close),
button:focus:not(.btn-close),
button:active:not(.btn-close),
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
.button:hover,
.button:active,
.button:focus,
span.button a:hover,
span.button a:active,
span.button a:focus,
input[type="button"].cancel:hover,
input[type="button"].cancel:active,
input[type="button"].cancel:focus,
input.cancel:hover,
input.cancel:active,
input.cancel:focus,
input[value=" Cancel "]:hover,
input[value=" Cancel "]:active,
input[value=" Cancel "]:focus,
input[value="Cancel"]:hover,
input[value="Cancel"]:active,
input[value="Cancel"]:focus,
input[value="Cancel Registration"]:hover,
input[value="Cancel Registration"]:active,
input[value="Cancel Registration"]:focus,
.btn-primary:not(:disabled):not(.disabled):active,
input#CartCancelButton:hover,
input#CartCancelButton:active,
input#CartCancelButton:focus,
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: #ababab;
  color: #fff;
  text-decoration: none;
}
.btn:focus,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
.button:focus,
span.button a:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
span.EvtFeeRegLink a:focus,
span.EvtFeeRegDone a:focus {
  outline: 0;
  color: #fff;
  background-color: #ababab;
  box-shadow: 0 0 0 0.25rem rgb(171 171 171 / 50%);
}
button.mfp-close:hover,
button.mfp-close:active,
button.mfp-close:focus {
  color: #333;
}

.formButtons {
  margin: 30px 0;
}

.btn-xs {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
  border: none;
}
#secondary_m li {
  margin-bottom: 15px;
}

/* 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: #333;
}

/* Image align
   ========================================================================== */

img[align="left"],
img[style*="float: left;"],
img[style*="float:left;"] {
  margin: 0 30px 30px 0;
}

img[align="right"],
img[style*="float: right;"],
img[style*="float:right;"] {
  margin: 0 0 30px 30px;
}

@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 24px;
  }
}

/* Event Calendar
   ========================================================================== */

div.EvtDateSelector {
  border: 1px solid #999;
  background-color: #f7f7f7;
  padding-left: 20px;
  padding-right: 20px;
  margin-bottom: 10px;
}

.EvtCalHeader {
  font-size: large;
  font-weight: normal;
}

.EvtCalMonthMenuButton {
  cursor: pointer;
}

table.EvtCal {
  border-collapse: collapse;
  margin-bottom: 10pt;
}

table.EvtCal td {
  border: 1px #b2b9c3 solid;
  margin: 0px;
  padding: 5px;
  height: 80px;
  width: 14.2%;
  vertical-align: top;
  background-color: #fff;
  font-size: 90%;
}

table.EvtCal th {
  border: 1px #b2b9c3 solid;
  margin: 0px;
  padding: 4px;
  background-color: #8e959f;
  font-weight: bold;
  font-size: 10px;
  color: white;
  text-align: center;
}

table.EvtCal caption {
  background-color: #204379;
  color: #ffffff;
  border: 1px #204379 solid;
  margin: 0px;
  margin-left: -1px;
  margin-right: -1px;
  padding: 4px;
  font-weight: bold;
  font-size: 10px;
}

table.EvtCal td.EvtDay {
  background-color: white;
}

table.EvtCal td.Today {
  background-color: #ffc;
}

table.EvtCal div.EvtDay {
  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: white;
  color: black;
  padding: 10px;
  display: none;
  z-index: 10;
  position: absolute;
  left: -80px;
  text-align: left;
  line-height: 140%;
  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 #bbb;
  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: bold;
}

div.vCalendarLink {
  padding-left: 50px;
  background-image: url(add_small.png);
  background-repeat: no-repeat;
  background-position: left center;
  margin-top: 25px;
  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: 10px 0;
  padding-left: 17px;
  font-size: 14px;
}

div.EvtCal .EvtCalRSS img {
  margin-right: 7px;
  vertical-align: top;
}

div.EvtCal .EvtCalRSS a:hover {
  text-decoration: none;
}

div.EvtCal .EvtCalRSS {
  margin-top: 15px;
}

div.EvtCal p.EventDate {
  font-size: 110%;
  font-weight: bold;
}

div.EvtCal .EvtCalList dt {
  font-weight: bold;
}

div.EvtCal .EvtCalList dd {
  margin-left: 0px;
  margin-bottom: 20px;
}

div.EvtCal .EvtCalList dd p {
  margin-top: 0px;
}

div.EvtCal table.EvtCalSm th {
  text-align: center;
  padding: 6px;
  color: white;
  background-color: #8e959f;
  width: 20px;
  border: 1px solid #b2b9c3;
}

div.EvtCal table.EvtCalSm th select {
  font-weight: normal;
  color: #333;
}

div.EvtCal table.EvtCalSm td {
  text-align: center;
  padding: 6px;
  border: 1px solid #b2b9c3;
}

div.EvtCal table.EvtCalSm td.EvtDay a {
  background-color: #333;
  color: #fff;
  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 {
  background-color: #aaa;
}

.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 5px 2px 22px;
  text-decoration: none;
  font-size: 11px;
  font-weight: normal;
  text-decoration: none;
}

.FeeAdminOnly,
.FeeHidden {
  background-color: #eee !important;
  color: #999;
}

.FeeHidden .EvtFeeRegLink a,
.FeeAdminOnly .EvtFeeRegLink a {
  background-color: #a3c59d !important;
  border: 1px #666 dashed;
}

.evt_hidden {
  color: #a2a2a2;
}

.evt_hidden::after,
.FeeHidden .EvtFeeName::after,
.FeeAdminOnly .EvtFeeName::after {
  content: url(hidden.png);
  margin-left: 7px;
}

span.EvtFeeRemaining {
  background-color: #337ab7;
  color: white;
  padding: 2px 10px;
  font-size: 12px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  margin-left: 5px;
}

/* Event Registration
   ========================================================================== */

div.EvtSessionRegistrant div.EventFee {
  border-bottom: 1px dashed #aaa;
}

span.EvtFeeName {
  text-transform: uppercase;
  margin-right: 10px;
  display: block;
  float: left;
}

div.EventFees div.EvtSessionRegistrant {
  margin-bottom: 24px;
}

span.EvtFeeAccess {
  color: red;
  display: block;
  font-size: x-small;
  font-style: italic;
  line-height: 120%;
}

span.EvtFeeCost {
  font-weight: bold;
  margin-right: 24px;
}

span.EvtFeeRegLink,
span.EvtFeeRegDoneLink {
  float: right;
}

span.EvtFeeRegLink a,
span.EvtFeeRegDone a {
  color: #fff;
  font-weight: bold;
  padding: 4px 8px;
  font-size: 95%;
  background: #1a700a;
  text-transform: uppercase;
}

span.EvtFeeRegDone a {
  font-size: 10px;
}

div.EventFees h3 {
  background-color: #ccc;
  color: #3c3c3c;
  font-size: 100%;
  top: 0;
  line-height: 10pt;
  margin-bottom: 3px;
}

div.popup {
  display: none;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  position: absolute;
  z-index: 100;
  padding: 20px;
  right: 0;
  font-size: 14px;
}

div.EvtRegRegistrants div.popup {
  min-width: 180px;
}

div.popup .formButtons {
  margin: 15px 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: bold;
  margin-bottom: 7px;
  margin-top: 30px;
  padding-bottom: 2px;
  display: block;
  color: #666;
}

div.EvtRegContinue {
  padding: 0;
  margin-bottom: 20px;
}

div.EvtRegContinue h2,
div.EvtRegFinish h2,
div.EvtRegRegistrants h3,
div.EvtRegMerchandise h3 {
  background-color: #e3e3e3;
  color: black;
  margin: 0px;
  padding: 10px 10px 10px 20px;
  font-size: 16px;
  text-transform: uppercase;
  border-radius: 0;
}

div.EvtRegMerchandise h3 {
  margin-bottom: 15px;
}

div.EvtRegRegistrants .EventFees h3 {
  color: black;
  margin: 0 0 15px;
  padding: 0px;
  font-size: 18px;
  background-color: white;
  border: 0px;
}

h2.EvtFeeThankYou,
.EvtFeeThankYou h2 {
  font-size: 18px;
  color: #212529;
}

.EvtFeeThankYou,
h2.EvtFeeThankYou {
  margin: 0 0 24px;
}

.EvtRegTicketMessages h2.EvtFeeThankYou {
    display: none;
}

.EvtRegTicketMessages h2.EvtFeeThankYou:first-child {
    display: block;
}

.EvtRegTicketMessages p {
    margin: 0;
}

.EvtRegTicketMessages p:last-child {
    margin-bottom: 24px;
}

.EvtRegHelp {
    font-weight: bold;
    color: #212529;
    font-size: 22px;
    margin: 0 0 24px;
}

.backToEvent {
  display: block;
  margin-top: 20px;
}

.EvtRegRegistrants .boxhead span:hover {
  text-decoration: underline;
}

.EvtRegRegistrants .boxhead {
  margin-bottom: 10px;
}

.EvtRegRegistrants .blindbox {
  margin: 40px 0 45px;
}

div.EvtRegContinue div.EvtRegContinue {
  border: 0px;
  padding: 0px;
  margin: 0px;
}

div.EvtRegFinish {
  border: 1px solid #ccc;
  padding: 0;
}

div.EvtRegFinish p,
div.EvtRegFinish div.Pay {
  padding: 10px;
}

div.EventFee {
  background-color: #eeeeee;
  padding: 15px;
  margin-bottom: 16px;
}

.EvtRegRegistrants div.EventFee {
  background: none;
  padding: 15px 0 24px;
}

.EvtRegRegistrants div.EventFee:first-child {
  padding-top: 0;
}

div.EventFee .EvtFeeBuyInfo {
  float: right;
}

div.EventFees div.EventFee {
  display: block;
  font-size: 14px;
}

div.EventFee::before,
div.EventFee::after {
  content: " ";
  display: table;
}

div.EventFee::after {
  clear: both;
}

div.EvtFeeDescr {
  font-size: 14px;
  font-style: italic;
  clear: both;
  padding: 15px 0 0;
  color: #555;
  line-height: 1.5;
}

div.EvtReg form,
.popup form {
  padding-top: 15px;
}

div.EvtRegMerchandise p.CatalogPath {
  display: none;
}

div.EvtRegMerchandise h2 {
  background: none;
  color: #006a71;
  width: 60%;
}

div.ProductPrice {
  font-weight: bold;
}

div.EvtReg .EvtRegProduct span.popup_p {
  display: inline;
}

.EvtRegProduct {
  padding-left: 20px;
}

span.EvtFeeRegdate {
  font-style: italic;
  padding-left: 10px;
  font-size: 80%;
}

div.EvtRegRegistrants div.EventFees {
  border: 1px solid #d9d9d9;
  margin-bottom: 35px;
  padding: 20px;
}

div.EvtRegMerchandise {
  border: 1px solid #d9d9d9;
  padding-bottom: 20px;
}

table.EvtRegComps caption {
  font-size: 20px;
  margin-bottom: 10px;
  text-align: left;
}

span.EvtFeeSoldOut {
  font-weight: bold;
  border: 1px solid #000;
  color: #fff;
  font-weight: bold;
  margin-left: 25px;
  padding: 4px 22px;
  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: 15px 0;
  }
  div.EvtFeeDescr {
    padding-top: 0;
  }
  span.EvtFeeCost {
    margin: 0 0 15px;
  }
  span.EvtFeeRegLink {
    margin-top: 10px;
  }
  div.popup {
    left: 0;
  }
}

/* Blindbox
   ========================================================================== */

.boxhead span.boxtitle {
  font-size: 17px;
  padding-right: 18px;
  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: 20px;
}

/* 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: 5px;
  padding-bottom: 10px;
  font-style: italic;
  text-align: right;
}

.ZineArticle .ZineAbout .ZineSummary {
  padding-left: 50px;
  text-align: left;
}

.ZineSummary {
  padding: 15px;
  font-style: italic;
}

.ZineDate {
  font-style: italic;
  font-size: 14px;
  color: #888;
}

.ZineAuthor {
  color: #333;
  display: inline;
}

.ZineBody pre {
  padding: 10px;
  border: 1px dashed #99c;
  background-color: #ddf;
}

.ZineArticle .ZineFooter {
  color: #999;
  font-style: italic;
  font-size: 9pt;
}

.ZineArticle .ZineFooter table.ZineTools {
  margin-top: 5px;
}

.ZineArticle .ZineAttachment {
  padding: 10px;
  margin-top: 10px;
  font-size: 9pt;
  background-color: #ffffff;
}

table.ZineImage {
  margin-bottom: 10pt;
}

div.ZineImage table.ZineImage {
  margin-bottom: 0pt;
}

.ZineFooter a {
  font-weight: normal;
  font-size: 9pt;
}

.ZineQuote {
  margin-left: 5px;
  margin-right: 50px;
  margin-top: 5px;
  margin-bottom: 5px;
  padding-left: 45pt;
  font-size: 10pt;
  font-style: italic;
  display: block;
  background-repeat: no-repeat;
}

/* Indexes
   ========================================================================== */

.ZineIndex {
  margin-top: 15px;
}
.ZineItem {
  margin-bottom: 10px;
}

.ZineItem .ZineAbstract {
  font-size: 11pt;
  font-style: italic;
}
a.ZineLink {
  text-decoration: underline;
}
.ZineItem .ZineSummaryIndex {
    padding-top: 10px;
}
.ZineArchive .ZineItem {
  padding: 0px;
  margin-bottom: 5px;
}

/* 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: 9pt;
  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: #ffffff;
  padding: 20px;
}

/* table indexes are used in semithreaded and table indexes */

table.ZineIndex {
  border: 2px #666677 solid;
  border-collapse: collapse;
  margin-bottom: 10pt;
  width: 100%;
}
table.ZineIndex td {
  border-top: 1px #666677 dotted;
  border-bottom: 1px #666677 dotted;
  border-left: 1px #666677 solid;
  border-right: 1px #666677 solid;
  margin: 0px;
  padding: 5px;
}
table.ZineIndex th {
  border: 1px #666677 solid;
  margin: 0px;
  padding: 5px;
  background-color: #ccccdd;
}

/* Forum
   ========================================================================== */

.ZineComments table.ZineIndex {
  border: none;
}

.ZineComments table.ZineIndex th,
.ZineComments table.ZineIndex td {
  padding: 8px;
  font-size: 16px;
  border: 1px solid #ddd;
}

.ZineIndex .ZineComments span.Author {
  display: none;
}

.ZineIndex .ZineComments .ZineThread span.Author {
    display: inline-block;
}

.ZineComment .ZineHeader {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.ZineComment .ZineAbout {
  color: #888;
  font-size: 14px;
}

.ZineComment .ZineBody {
    padding: 16px 0;
    font-size: 16px;
}

.ZineComments .ZineItem {
  border: 1px solid #ddd;
  padding: 24px;
  border-radius: 10px;
}

.ZineComment span.ZineAuthor {
  font-size: 14px;
  font-weight: bold;
  background: #cc2b0e;
  color: #fff;
  border-radius: 100px;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  display: inline-block;
  text-align: center;
  line-height: 30px;
}

.ZineItem .ZineComment table.ZineTools {
  margin: 0;
}

.ZinePath {
  font-size: 14px;
  padding: 0 0 24px 0;
  margin: 0;
}

/* Toolboxes
   ========================================================================== */

/* show tools in a small, grey font so they don't steal too much attention */
table.ZineTools td {
  padding-right: 7px;
}
table.ZineTools td a {
  font-size: 9pt;
  font-weight: normal;
  text-decoration: none;
}
table.ZineTools td a:hover {
  text-decoration: underline;
}
.ZineArticle table.ZineTools {
  padding: 4px;
}

/* kludge because table.ZineIndex td adds cell borders */
table.Report table.ZineTools td {
  border: 0px solid white;
}
table.ZineIndex table.ZineTools td {
  border: 0px solid white;
}

/* Attachments
   ========================================================================== */

table.ZineAttachmentForm {
  /* put attachment upload fields in a box */
  background-color: #eee;
  border: 1px solid #999;
  padding: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
}

div.ZineAttachment {
  height: 125px;
}
.ZineAttachment table {
  /* lines up attachments left-to-right */
  float: left;
  padding-right: 10px;
}
.ZineCaption {
  color: #666;
  font-style: italic;
  padding-bottom: 10px;
  font-size: 12px;
}

/* Status, Moderation
   ========================================================================== */

.ZineStatusIcon {
  float: right;
}
.ZineWarning {
  padding: 15pt;
  border: 1px dashed red;
  background-color: #faa;
  color: brown;
  font-weight: bold;
}

/* Catalogue
   ========================================================================== */

.CatalogUrl {
  color: #6f6f6f;
  font-size: 12px;
}
.CatalogDescription {
  font-size: 12px;
}
.CatalogNotifySelect {
  font-size: 8px;
  color: #6f6f6f;
}
.CatalogProduct {
  width: 100%;
  overflow: auto;
  padding: 5px;
}
.CatalogProductThumbnail {
  float: right;
}
.CatalogProductWrapper {
  width: 100%;
}

/* Search
   ========================================================================== */

div.Search dt {
  font-weight: bold;
}
div.Search dd {
  color: #888;
  font-style: italic;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
  font-size: 14px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/* Member Directory
   ========================================================================== */

div.MembershipDirectoryAlpha {
  margin-bottom: 20px;
}

span.MembershipNoMembers {
  background-color: #999999;
  color: white;
}

div.MembershipDirectoryAlpha a,
span.MembershipNoMembers {
  border: 1px solid #999999;
  font-size: 85%;
  margin: 1px;
  padding: 1px 4px;
}

div.MembershipDirectoryAlpha {
  display: inline-block;
  *display: inline; /* IE7 inline-block hack */
  *zoom: 1;
  margin-left: 0;
  margin-bottom: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.MembershipDirectoryAlpha a {
  float: left;
  padding: 4px 8px;
  line-height: 20px;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-left-width: 0;
}

.MembershipDirectoryAlpha .selected_char,
.MembershipDirectoryAlpha a:hover,
.MembershipDirectoryAlpha a:focus {
  background-color: #3b7fbe;
  color: #fff;
  border-color: #3b7fbe;
}

div.MembershipDirectoryAlpha a:first-child {
  border-left-width: 1px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}

div.MembershipDirectoryAlpha a:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}

.MembershipDirectoryMenu .active {
  font-weight: bold;
}

.MembershipMiniProfile {
  border: 1px solid #d1d1d1;
  border-radius: 20px;
  padding: 20px;
  margin-top: 15px;
  font-size: 16px;
}

.MembershipMiniProfile:last-of-type {
  margin-bottom: 24px;
}

.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 15px 0px 0px;
}

td.body_content div.MembershipMiniProfile table.MemberMiniProfile a {
  font-weight: bold;
  margin-top: 10px;
  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: 5px 3px 0;
  overflow: hidden;
  padding: 0;
  text-indent: -2000px;
  width: 16px;
}

/* Profile
   ========================================================================== */

table.Report .error {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
  border: 0 none;
}

.errors {
  margin-bottom: 24px;
}

.error {
  background-color: #f2dede;
  border: 1px solid #ebccd1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #a94442;
  padding: 10px 15px;
}

.error a {
  color: #a94442;
  font-weight: bold;
  text-decoration: underline;
}

.warn,
.warning,
.info,
.help,
.highlight {
  display: block;
  background-color: #fff3cd;
  color: #856404;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 15px 20px;
  margin: 0 0 24px;
}

.info,
.help {
  background-color: #d9edf7;
  border: none;
  color: #31708f;
}

.warn a,
.warning a,
.info a,
.help a,
.highlight a {
  font-weight: bold;
  text-decoration: underline;
}

.warn a,
.warning a,
.highlight a {
  color: #5d5e3c;
}

.info a,
.help a {
  color: #31708f;
}

.error a:hover,
.info a:hover,
.warn a:hover {
  text-decoration: none;
}

.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 5px;
}

div.EvtFeeDescr .error {
  padding: 5px;
  display: inline-block;
  margin-top: 5px;
}

span.EvtFeeBuyInfo .error {
  float: right;
  font-size: 13px;
  padding: 5px;
  line-height: 100%;
}

#photos,
#photo {
  float: right;
  padding: 0;
  margin: 0 0 10px 20px;
}

#cropbox {
  margin-bottom: 10px;
}

span.input #photo {
  float: none;
  margin: 0;
  font-size: small;
}

#photos img,
#photo img {
  padding: 5px;
  margin: 0;
}

.MembershipStatus {
  background: #eee;
  padding: 15px 20px;
  margin-bottom: 24px;
  border-radius: 4px;
  font-weight: bold;
}

.Membership .button {
  margin: 0 5px;
  text-decoration: none;
  font-weight: normal;
}

a.renew.button {
  background: #d9534f;
  color: #fff;
  border: none;
}

a.renew.button:hover,
a.renew.button:active,
a.renew.button:focus {
  background: #a5403d;
}

a.renew.button:focus {
  box-shadow: 0 0 0 4px rgb(165 64 61 / 50%);
}

.MembershipStatus a.upgrade.button {
  margin: 10px 0 15px;
}

ul.Membership_update_profile_menu {
  display: inline-block;
  width: 100%;
  padding: 0;
  margin: 0 0 20px 0;
  list-style: none;
}

ul.Membership_update_profile_menu li {
  padding: 0 5px 5px 0;
  margin: 0;
  background: none;
  float: left;
}

ul.Membership_update_profile_menu li a {
  color: #505050;
  font-size: 12px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 7px center;
  text-decoration: none;
  padding: 0 10px 0 24px;
  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: 15px;
}

ul.MembershipType li a {
  font-weight: bold;
}

.profile_photo {
  float: right;
  border: 1px solid #ccc;
  padding: 5px;
  margin: 0 0 10px 20px;
  position: relative;
  top: -30px;
}

table.Report {
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
}
table.Report {
  margin-bottom: 20px;
  width: 100%;
}
table.Report th,
table.Report td {
  border-top: 1px solid #dddddd;
  line-height: 20px;
  padding: 8px;
  text-align: left;
  vertical-align: top;
}
table.Report th {
  font-weight: bold;
}
table.Report thead th {
  vertical-align: bottom;
}
table.Report caption + thead tr:first-child th,
table.Report caption + thead tr:first-child td,
table.Report colgroup + thead tr:first-child th,
table.Report colgroup + thead tr:first-child td,
table.Report thead:first-child tr:first-child th,
table.Report thead:first-child tr:first-child td {
  border-top: 0 none;
}
table.Report tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed th,
.table-condensed td {
  padding: 4px 5px;
}
table.Report,
.Report {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-collapse: separate;
  border-color: #dddddd #dddddd #dddddd #dddddd;
  border-image: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border-style: solid solid solid solid;
  border-width: 1px 1px 1px 1px;
}

table.Report caption + thead tr:first-child th,
table.Report caption + tbody tr:first-child th,
table.Report caption + tbody tr:first-child td,
table.Report colgroup + thead tr:first-child th,
table.Report colgroup + tbody tr:first-child th,
table.Report colgroup + tbody tr:first-child td,
table.Report thead:first-child tr:first-child th,
table.Report tbody:first-child tr:first-child th,
table.Report tbody:first-child tr:first-child td {
  border-top: 0 none;
}
table.Report thead:first-child tr:first-child > th:first-child,
table.Report tbody:first-child tr:first-child > td:first-child,
table.Report tbody:first-child tr:first-child > th:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
table.Report thead:first-child tr:first-child > th:last-child,
table.Report tbody:first-child tr:first-child > td:last-child,
table.Report tbody:first-child tr:first-child > th:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}
table.Report thead:last-child tr:last-child > th:first-child,
table.Report tbody:last-child tr:last-child > td:first-child,
table.Report tbody:last-child tr:last-child > th:first-child,
table.Report tfoot:last-child tr:last-child > td:first-child,
table.Report tfoot:last-child tr:last-child > th:first-child {
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
table.Report thead:last-child tr:last-child > th:last-child,
table.Report tbody:last-child tr:last-child > td:last-child,
table.Report tbody:last-child tr:last-child > th:last-child,
table.Report tfoot:last-child tr:last-child > td:last-child,
table.Report tfoot:last-child tr:last-child > th:last-child {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
table.Report tfoot + tbody:last-child tr:last-child td:first-child {
  border-bottom-left-radius: 0;
}
table.Report tfoot + tbody:last-child tr:last-child td:last-child {
  border-bottom-right-radius: 0;
}
table.Report caption + thead tr:first-child th:first-child,
table.Report caption + tbody tr:first-child td:first-child,
table.Report colgroup + thead tr:first-child th:first-child,
table.Report colgroup + tbody tr:first-child td:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
table.Report caption + thead tr:first-child th:last-child,
table.Report caption + tbody tr:first-child td:last-child,
table.Report colgroup + thead tr:first-child th:last-child,
table.Report colgroup + tbody tr:first-child td:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}

.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: #f5f5f5;
}

table.Report tr.B {
  background-color: #eee;
}

table.Report caption {
  text-align: left;
  caption-side: top;
}

table.WhoIsComing caption {
  margin: 15px 0;
  font-size: 15px;
  font-weight: bold;
}

/* Shopping Cart
   ========================================================================== */

table.Receivable {
  width: 100%;
  font-size: 85%;
  border-collapse: collapse;
  margin-bottom: 15px;
  margin-top: 15px;
}

table.Receivable th {
  color: white;
  background-color: #213c73;
  padding: 5px;
  font-size: 90%;
  text-transform: uppercase;
  border: 1px solid #999;
}

table.Receivable tfoot {
  background-color: #eee;
  padding: 5px;
}

table.Receivable td {
  padding: 5px;
  border: 1px solid #ddd;
}

table.Receivable td div.total {
  font-weight: bold;
}

table.Receivable div.number {
  text-align: right;
}

.ReceivableBuyer {
  background: #eee;
  border: 1px solid #ccc;
  padding: 20px;
  margin: 1.5rem 0;
}

/* Bootstrap 4 Stripe Styles
   ========================================================================== */

.panel.panel-default.credit-card-box {
  background: #f8f8f8;
  border: 1px solid #ddd;
}
.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: 30px;
  background: #efefef;
  padding: 20px;
}
.panel.panel-default.credit-card-box input.submit {
  margin-right: 10px;
}
.panel.panel-default.credit-card-box .form-row {
  padding: 0 15px 20px;
}
.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: 10px 0 20px;
  }
  .panel.panel-default.credit-card-box .pull-right {
    position: static;
    float: none;
    margin-top: 15px;
  }
}

/* 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: 10px;
  height: 62px;
  background-color: white;
  width: 100%;
}

/* Required Fields
   ========================================================================== */

span.requiredPrompt {
  background-image: url(asterisk.png);
  background-position: top right;
  background-repeat: no-repeat;
  padding-right: 10px;
  font-weight: bold !important;
}

span.requiredPrompt label {
  font-weight: bold;
}

/* Web Forms
   ========================================================================== */

table.QA_confirmation {
  font-size: 90%;
  border-collapse: collapse;
  margin-bottom: 30px;
}

table.QA_confirmation caption {
  text-align: left;
  padding-left: 3px;
  padding-bottom: 15px;
  font-weight: bold;
}

table.QA_confirmation td {
  font-weight: normal;
  border: 1px solid #ccc;
  padding: 5px 15px;
}

table.QA_confirmation tr.B {
  background-color: #ddd;
}

table.QA_confirmation th {
  border: 1px solid #ccc;
  background-color: #2d3a5a;
  color: white;
  padding: 5px 15px;
}

div.QA_question {
  padding-bottom: 15px;
  margin-bottom: 15px;
}

table.QA_question_group td,
table.QA_question_group th {
  padding: 3px 6px;
}
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: 7px;
}

ul.image_list li {
  float: left;
  width: 150px;
  padding-right: 15px;
  min-height: 200px;
}

/* Address Cards
   ========================================================================== */

.ContactPreview {
  background-color: #f4f4f4;
  border: 1px dashed #eee;
  padding: 20px;
  margin-bottom: 20px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}

.ContactPreview:hover {
  border-color: #ccc;
}

.ContactPreview h2 {
  font-size: 22px;
  margin: 0 0 10px;
}

.ContactPreview .ContactEditTip {
  color: #999;
  font-style: italic;
  font-size: 90%;
}

#help1 {
  display: none;
}

.Membership .popup_close {
  float: right;
}

.Membership .popup_close:hover {
  background-color: transparent;
}

.Membership .help_hotspot {
  background: none repeat scroll 0 0 #f5f5f5;
  border: 1px solid #eee;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #333;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  margin: 0 0 20px;
  padding: 0 10px;
}

.Membership .help_popup ul {
  margin-bottom: 30px;
  padding-left: 20px;
}

a.ContactDeleteLink {
  padding: 8px 15px;
  background: #cc0000;
  text-align: center;
  margin: 3px 0;
  text-decoration: none !important;
  color: #fff;
  display: inline-block;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

a.ContactDeleteLink:hover {
  color: #fff;
  background: #666;
  text-decoration: none;
}

/* Bootstrap
   ========================================================================== */

a:focus {
  outline: 0;
}

textarea {
  max-width: 100%;
}

label {
  font-weight: normal;
}

/* Login
   ========================================================================== */

table.LoginForm td {
  padding: 0 10px 10px 0;
}

/* File Server
   ========================================================================== */

div.FileServerSearch {
  margin-bottom: 20px;
}

/* Documents
   ========================================================================== */

.Document dd {
  margin-bottom: 20px;
}

.Document span.DocumentInfo {
  font-size: 11px;
  font-style: italic;
}

/* Polls
   ========================================================================== */

.Poll {
  background: rgb(247, 247, 247);
  display: inline-block;
  padding: 0px 25px 20px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  border: 1px solid rgb(226, 226, 226);
  margin: 15px 0;
}

.Poll .poll_question {
  font-weight: 600;
}

.Poll h1 {
  font-size: 24px;
}

.Poll input[type="radio"] {
  margin: 8px 0;
}

/* Photo Galleries
   ========================================================================== */

.gallery {
  padding-left: 0;
}

ul.gallery li {
  display: inline-block !important;
  margin-right: 10px;
}

/* Accordions
   ========================================================================== */

.Zine table.accordionbox {
  margin-top: 10px;
  width: 100%;
}

.Zine th.accordioncontrol {
  cursor: pointer;
  background: #f1f1f1;
  padding: 10px 20px;
  margin-bottom: 5px;
  border-radius: 5px;
  display: block;
  border: 1px solid #eee;
}

.Zine th.accordioncontrol span.ZineDate {
  display: none;
}

.accordionbox .ZineBody {
  padding: 5px 10px;
}

.Zine span.accordioncontrolicon img,
.Zine span.accordioncontrolicon img {
  padding-right: 5px;
}

/* Private Area
   ========================================================================== */

.private_area_body .MembershipReports form a,
.private_area_body .button {
  background: #a61b30;
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
  margin: 10px 5px 10px 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: #fff;
}

table.MemberLog.Report td {
  padding: 8px;
  border: 1px solid #e4e4e6;
}

table.MemberLog.Report caption {
  font-size: 24px;
}

table.MemberLog.Report tfoot th {
  background: none;
}

/* File server
   ========================================================================== */

table.FileServer h4 {
  margin: 0;
}

.FileServer .FileServerRightPane form input[type="text"] {
  width: 100%;
}

.FileServer td.FileServerRightPane {
  padding: 0 15px;
}

.FileServer td.FileServerLeftPane span.folder a {
  display: block;
  line-height: normal;
}

.FileServer td.FileServerLeftPane .filetree li {
  padding: 0 0 24px 16px;
}

.FileServer .FileServerPath {
  margin-bottom: 10px;
}

.FileServer .treeview a.selected {
  background-color: #500000;
  color: #fff;
  padding: 5px;
  text-decoration: none;
}