/* V4 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%;
  padding: 5px;
}

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;
}

.btn,
button,
.JobBoardTool a,
input[type="submit"],
input.cancel,
input[type="button"],
.button,
input[type="reset"],
span.button a {
  background: #eee;
  border: 1px solid #ccc;
  text-decoration: none !important;
  color: #333;
  font-size: 16px;
  line-height: 1.42857143;
  padding: 6px 12px;
  border-radius: 4px;
}
.btn.focus,
.btn:focus,
.btn:hover,
button:hover,
button:focus,
button:active,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
.JobBoardTool a:hover,
.JobBoardTool a:focus,
.JobBoardTool a:active,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input.cancel:hover,
input.cancel:active,
input.cancel:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
.button:hover,
.button:active,
.button:focus {
  background: #ccc;
}
.formCancel,
.formReset,
input.cancel,
button#CartUpdateButton,
input[type="reset"],
.commentBox .commentCancelButton,
input[value=" Cancel "],
button#CartCancelButton {
  background: #eee !important;
  border: 1px solid #ccc !important;
  color: #333 !important;
}
.formCancel:hover,
.formCancel:focus,
.formCancel:active,
.formReset:hover,
.formReset:focus,
.formReset:active,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
input.cancel:hover,
input.cancel:active,
input.cancel:focus,
button#CartUpdateButton:hover,
button#CartUpdateButton:active,
button#CartUpdateButton:focus,
.commentBox .commentCancelButton:hover,
.commentBox .commentCancelButton:active,
.commentBox .commentCancelButton:focus,
button#CartCancelButton:hover,
button#CartCancelButton:active,
button#CartCancelButton:focus {
  background: #ccc !important;
}

.commentBox .commentCancelButton {
  margin-left: 4px;
}
form .formButton,
input.paynow,
input.paylater {
  margin-right: 4px;
}
.toolbar {
  margin-bottom: 20px;
}
.toolbar .btn-toolbar a.btn {
  color: #333;
  font-size: 14px;
  background: #fff;
  padding: 5px 10px;
  border: 1px solid #ccc;
  text-transform: none;
}
.toolbar .btn-toolbar a.btn:hover,
.toolbar .btn-toolbar a.btn:active,
.toolbar .btn-toolbar a.btn:focus {
  background: #f1f1f1;
}
.toolbar .btn-toolbar a.btn .toolicon {
  padding-right: 5px;
}

@media (max-width: 991px) {
  .btn-group {
    display: block;
  }
}

/* Job Board
   ========================================================================== */
.job_board .JobBoardTool {
  display: inline-block;
}
.job_board .JobBoardTool a {
  display: block;
}
.job_board .JobBoardTools .JobBoardTool:last-child {
  display: none; /* hide RSS */
}
.job_board .Index .jobSummary {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
  font-style: italic;
  font-size: 14px;
}
.job_board .Index .jobSummary:first-child {
  border-top: none;
}
.job_board .Index .jobSummary .jobAbout {
  color: #888;
  margin: 5px 0;
}
.job_board .Index .jobSummary .jobTitle {
  font-style: normal;
  font-size: 18px;
}

.formButtons {
  margin: 30px 0;
}

/* 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;
}
.mce-btn button:hover {
  background: none;
}

/* Image Align
   ========================================================================== */

.alignLeft {
  margin: 0 20px 10px 0;
}

.alignRight {
  margin: 0 0 10px 20px;
}

/* Calendar
   ========================================================================== */

dt {
  font-size: 16px;
  margin-top: 25px;
}

/* month view */

table.calendarMonth {
  border-collapse: collapse;
  margin-bottom: 25px;
}
table.calendarMonth caption {
  font-size: 24px;
  color: #333;
  text-align: center;
  margin: 0;
  font-weight: bold;
}
table.calendarMonth td {
  margin: 0px;
  padding: 5px;
  border: 1px #ddd solid;
  width: 100px;
  height: 80px;
  vertical-align: top;
  font-size: 80%;
  background-color: white;
}
table.calendarMonth th {
  font-size: 80%;
  text-align: center;
  text-transform: uppercase;
  padding: 5px;
  background: #f2f2f2;
  border: 1px solid #ddd;
}
.calendarNextMonth,
.calendarPrevMonth {
  font-size: small;
  position: relative;
  top: 13px;
}
.calendarNextMonth {
  float: right;
}
.calendarPrevMonth {
  float: left;
}
table.eventSchedule {
  margin-top: 10px;
  margin-bottom: 10px;
}
table.eventSchedule td {
  padding: 15px;
  border: 1px solid #ddd;
}
table.eventSchedule caption {
  text-align: left;
  font-weight: bold;
  font-size: 125%;
}
table.eventSchedule td {
  padding-right: 15px;
}

p.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;
}

p.vCalendarLink a {
  display: table-cell;
  vertical-align: middle;
}

/* Blog
   ========================================================================== */

a.blogPaginationNewer {
  float: left;
}
a.blogPaginationOlder {
  float: right;
}
.blogPagination:after {
  display: block;
  clear: both;
  content: "";
}

/* Event Registration
   ========================================================================== */

.feeIndex {
  margin-top: 10px;
  border-bottom: 1px dotted grey;
}

.FeeSummary {
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px dotted grey;
}

.CurrentRegistrant,
.NewRegistrant {
  border: 1px dotted grey;
  background-color: white;
  padding: 20px;
  margin-bottom: 10px;
}

a.feeLink {
  display: inline-block;
  text-align: center;
  padding: 3px 6px;
  margin-left: 10px;
  border-radius: 3px;
  background-color: green;
  color: white;
  text-decoration: none !important;
  font-size: 80%;
}
a.feeLink:hover,
a.feeLink:active,
a.feeLink:focus {
  background-color: #0a0;
  color: #fff;
}
.FeeSummary:after {
  display: block;
  clear: both;
  content: "";
}

.ticketStatus {
  display: block;
}
.ticketPurchase {
  display: block;
  font-size: 80%;
}

/* feeIndex */

.FeeIndex {
  border-top: 1px grey dotted;
  margin-top: 10px;
  margin-bottom: 10px;
  max-width: 750px;
}
.FeeIndex .FeeSummary {
  border-bottom: 1px grey dotted;
  padding-top: 10px;
  padding-bottom: 10px;
}
.feeAccess {
  color: red;
  display: block;
  font-size: small;
  font-style: italic;
}
.feeName,
.priceCost {
  font-size: 85%;
  text-transform: uppercase;
}
span.priceCost {
  font-weight: bold;
}
.feeBuyInfo {
  float: right;
}
.FeeAbout {
  margin-bottom: 1rem;
}
.feeDescr {
  clear: both;
}

@media (max-width: 1199px) {
  .feeBuyInfo {
    float: none;
    display: block;
  }
  a.feeLink {
    float: right;
  }
}
@media (max-width: 991px) {
  span.feeCost,
  a.feeLink {
    float: none;
  }
  span.feeCost {
    display: block;
  }
  a.feeLink {
    margin: 5px 0 0;
  }
  .FeeSummary {
    padding: 15px 0 20px;
  }
  .feeDescr {
    margin-top: 10px;
  }
}

/**** Event Reg ****/

.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;
}

.RegisterResume {
  padding: 10px 15px;
  border: 2px solid red;
  font-weight: bold;
  color: red;
  font-size: 22px;
  margin: 10px 0;
  background: #fffcd5;
  line-height: 1.5;
}

/* Job Postings ---------------------------------- */

.jobImage {
  float: right;
  padding-left: 10px;
}

/* 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: 10px 10px 0;
  margin-top: 15px;
}

/* Default Form styles
   ========================================================================== */

.requiredPrompt {
  background-image: url(asterisk.png);
  background-position: top right;
  background-repeat: no-repeat;
  padding-right: 10px;
  font-weight: bold !important;
}

.requiredPrompt label {
  font-weight: bold;
}

input[type="text"].requiredInput,
input[type="email"].requiredInput,
input[type="number"].requiredInput,
input[type="url"].requiredInput {
  background-color: #cfc;
}
.missingInput {
  background-color: #f99;
}
.missingPrompt {
  color: red;
}
.formErrors {
  border: 2px solid red;
  padding: 10px 20px;
  background-color: #f99;
}
.error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
  padding: 0.75rem 1.25rem;
}

/* Form Submit */

.formButtons,
.CartCheckoutButtons,
table.cart_form tr td.input {
  position: relative;
}
.formSubmitted {
  position: absolute;
  top: 0px;
  padding-top: 10px;
  height: 50px;
  background-color: white;
  width: 100%;
}
.job_search .formButtons {
  clear: both;
}

/* datePicker */

a.dp-choose-date {
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 5px 3px 0;
  display: inline-block;
  text-indent: -2000px;
  overflow: hidden;
  background: url(date.png) no-repeat;
}
a.dp-choose-date.dp-disabled {
  background-position: 0 -20px;
  cursor: default;
}

/* Web Forms
   ========================================================================== */

a.ResponseButton {
  font-size: x-small;
  border: 1px outset #999;
  background-color: #ccc;
  text-decoration: none;
  padding: 1px 4px 1px 4px;
  font-weight: normal;
  color: black;
}
a.ResponseButton:hover {
  background-color: #eee;
  text-decoration: none;
}
.ResponseButtonBox {
  text-align: right;
  width: 150px;
  float: right;
  padding: 2px;
}
div.bar {
  color: #006;
  background-color: #006;
  overflow: hidden;
}
a.popup {
  color: grey;
  font-size: 80%;
}
.MagPopup-inline {
  display: inline;
}
.MagPopup-inline a {
  color: grey;
  font-size: 80%;
  text-decoration: none;
}
.MagPopup-inline a:hover {
  color: blue;
}
table.filterdates td {
  border: 0px white solid;
}

div.Forms_question {
  padding: 10px;
  margin-bottom: 5px;
}
form div.A {
  background-color: white;
}
form div.B {
  background-color: #eee;
}
table.Forms_question_group td {
  padding: 3px;
}
table.Forms_question_group th {
  padding-right: 10px;
}
a.liblink {
  color: grey;
  text-decoration: none;
}
a.liblink:hover {
  color: blue;
}
span.Forms_prompt {
  font-size: 120%;
}
span.select_question {
  color: blue;
  text-decoration: underline;
  cursor: pointer;
}
.selected {
  padding-left: 20px;
  background: url(check.png) no-repeat;
}
.delQuestion {
  padding-left: 20px;
  margin-left: 5px;
  background: url(cancel.png) no-repeat;
}
.success {
  border: 1px solid green;
  border-radius: 5px;
  color: green;
  font-weight: bold;
  padding: 5px 10px 5px 25px;
  background: url(check.png) no-repeat #cfc;
  background-position: 5px 5px;
}

/* new question form */

#new_question p {
  margin-right: 25px;
}

.format_help {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 5px;
  background: #9c9;
  color: #060;
}

#question_prompt {
  margin-bottom: 10px;
}

/* config forms */

table.Forms_question_config td {
  padding-bottom: 10px;
}

div#questionPopup {
  position: relative;
  background: #fff;
  padding: 20px;
  width: auto;
  max-width: 500px;
  margin: 20px auto;
  border: 1px #ccc solid;
}

.addQuestion:hover {
  text-decoration: underline;
}

h3.ui-accordion-header span.ui-icon {
  position: relative;
  top: 3px;
}

/* executive summary */
.QA_execsumm h1 {
  color: #349;
  font-size: 24pt;
}
.QA_execsumm h2 {
  color: #349;
  font-size: 16pt;
}
.QA_execsumm h3 {
  color: #349;
  font-size: 12pt;
}
.execsumm_question {
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 5px 15px 10px 25px;
  background-color: white;
  margin-bottom: 15px;
}
.answer_overview {
  border-bottom: 1px dotted #ddd;
}
.answer_summary {
  border-top: 1px dotted #ddd;
  padding: 5px;
  font-size: x-small;
  font-style: italic;
  color: grey;
  background-color: white;
}

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 {
  padding: 3px;
}

div.QA_question table {
  margin-bottom: 0;
}

tr.QA_question_group_odd {
  background: #eee;
}

.QA th {
  padding: 0 5px;
}
.QA input[type="radio"] {
  margin: 0 5px;
}

/* 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
   ========================================================================== */

div.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;
}

.Contact {
  border: 1px solid #ccc;
  padding: 10px;
  margin-bottom: 10px;
  background: #eee;
  border-radius: 4px;
}

.Contact .ContactInfo {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid #ddd;
  display: block;
}
.Contact p:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
.ContactPhone,
.ContactNet,
.ContactVcard {
  font-size: 14px;
  margin: 0;
  color: #777;
}
.ContactVcard {
  margin-bottom: 15px;
}
.ContactAddress {
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid #ddd;
}
a.contactEditBtn {
  margin: 0 0 30px;
  display: inline-block;
}
.Contact a.contactEditBtn {
  margin-bottom: 0;
}

/* Bootstrap
   ========================================================================== */

a:focus {
  outline: 0;
}

textarea {
  max-width: 100%;
}

label {
  font-weight: normal;
}

.bg-danger {
  color: #fff;
  padding: 10px 15px;
  background-color: rgb(220, 53, 69);
}

/* Renew Now Button
   ========================================================================== */

a.renew {
  border: 0px solid #e93e3a;
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  font-weight: normal;
  padding: 5px 6px;
  text-decoration: none;
  display: inline-block;
  margin-left: 10px;
  cursor: pointer;
}

a.renew:hover {
  border: 0px solid #e93e3a;
  background-color: #c9302c;
  border-color: #ac2925;
}

/* Login
   ========================================================================== */

table.LoginForm td {
  padding: 0 5px 5px 0;
}

form table {
  margin-bottom: 5px;
}

/* Search
   ========================================================================== */

div.Search dl {
  margin: 30px 0 40px;
}
div.Search dt {
  font-weight: bold;
}
div.Search dd {
  border-bottom: 1px solid #efefef;
  padding-bottom: 15px;
  margin-bottom: 15px;
  font-size: 15px;
}
div.Search dd:last-child {
  border: none;
  padding: 0;
}
div.Search dd {
  font-style: normal;
}
span.searchdetails {
  font-size: 12px;
  display: block;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

.termWeight {
  color: grey;
  font-size: 80%;
}
.searchdetails {
  font-style: italic;
  color: grey;
}
.searchRelevanceBar {
  display: inline-block;
  height: 8px;
  width: 100px;
  background-color: #ddd;
  margin-left: 5px;
}
.searchRelevance {
  display: inline-block;
  float: left;
  height: 8px;
  background-color: green;
}

/* File Server
   ========================================================================== */

div.FileServerSearch {
  margin-bottom: 20px;
}

/* Photo Galleries
   ========================================================================== */

.gallery {
  padding-left: 0;
  list-style-type: none;
}

ul.gallery li {
  display: inline-block !important;
  margin: 0 10px 10px 0;
  background: none;
  padding: 0;
}

/* Board Member Pages
   ========================================================================== */

.Book {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.Book .officers_article {
  width: 33.333%;
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  margin-right: -4px; /* inline-block fix */
  padding: 10px;
}
.Book .officers_article h3 {
  font-size: 20px;
}
@media (max-width: 991px) {
  .Book .officers_article {
    width: 50%;
  }
}
@media (max-width: 480px) {
  .Book {
    display: block;
  }
  .Book .officers_article {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    padding: 0;
  }
}

/* Files
   ========================================================================== */

.MyFiles .File {
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 15px;
}
.MyFiles .File:first-of-type {
  border-top: 1px solid #ddd;
}
.MyFiles .File a {
  color: #007bff;
  cursor: pointer;
}
.MyFiles .File a:hover {
  color: #0056b3;
  text-decoration: underline;
}
.MyFiles .File .fileDescription {
  float: right;
  color: grey;
  font-size: 14px;
  font-style: italic;
  padding-top: 2px;
}
.MyFiles .File:after {
  content: " ";
  display: block;
  clear: both;
}
.MyFiles h3 {
  display: none;
}

/* Document
   ========================================================================== */

.Document h1 {
  font-size: 30px;
}
.Document .contentSummary {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.Document .contentSummary:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.Document .contentSummary .contentDescription {
  font-size: 14px;
  color: #888;
  font-style: italic;
}

/* Receivable
   ========================================================================== */

p.PaymentStatusPass {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
h2.ReceivableSeller {
  margin-top: 0;
}
.ReceivableBuyer {
  padding: 15px;
  background: #f7f7f7;
  border: 1px solid #eee;
  margin-bottom: 20px;
  font-size: 14px;
}
.ReceivableBuyer .account_address {
  font-size: 16px;
  font-weight: 500;
}
.ReceivableNotes {
  font-weight: 500;
}
.ReceivableDate {
  color: grey;
  font-size: 14px;
}
.ReceivableDate,
.ReceivablePaymentInfo {
  margin-bottom: 10px;
}
.ReceivablePaymentInfo {
  font-style: italic;
}

/* Security
   ========================================================================== */

table.profile_security th,
table.profile_security td {
  border: 1px solid #ccc;
  padding: 6px 12px;
}
table.profile_security td a {
  text-decoration: none;
  font-size: 14px;
  background: #888;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  padding: 5px 10px;
  line-height: 19px;
  border-radius: 5px;
  margin: 3px 0;
}
table.profile_security th {
  background: #f5f5f5;
}
table.profile_security td a:hover,
table.profile_security td a:active,
table.profile_security td a:focus {
  background: #555;
}

/* Table Caption
   ========================================================================== */

table {
  caption-side: top;
}

/* Member Directory
   ========================================================================== */

.membershipDirectoryAlphaMenu a {
  border: 1px solid #999;
  font-size: 85%;
  padding: 1px 7px;
  text-decoration: none !important;
  margin-bottom: 2px;
  color: #333;
  float: left;
}
.membershipDirectoryAlphaMenu 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;
}
.membershipDirectoryAlphaMenu 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;
}

a.membershipDirectoryAlphaSelected,
a.membershipDirectoryAlphaSelected:hover,
a.membershipDirectoryAlphaSelected:active,
a.membershipDirectoryAlphaSelected:focus,
.membershipDirectoryAlphaMenu a:hover,
.membershipDirectoryAlphaMenu a:active,
.membershipDirectoryAlphaMenu a:focus {
  background: #333;
  color: #fff;
  border: 1px solid #333;
}

.membershipDirectoryAlphaMenu:after {
  display: block;
  clear: both;
  content: "";
}

/* Membership Status
   ========================================================================== */

.MembershipStatus {
  background: #eee;
  border: 1px solid #ccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  margin: 10px 0px;
  padding: 15px 20px;
}
.profileStatusSummary {
  padding: 20px;
  background: #eee;
  margin-bottom: 15px;
}
.gotoProfileLink {
  display: inline-block;
  margin-top: 15px;
}
.profileStatusSummary .profileSummary h4 {
  margin-top: 0;
}
.Profile .profilePhoto {
  max-width: 150px;
  margin: 20px 0;
  border: 1px solid #ddd;
  padding: 5px;
}
.profileSummary .profileThumb img {
  margin: 0 0 15px 15px;
  float: right;
}
.Profile h3 {
  margin-top: 0;
}

.MembershipApply {
  margin: 20px 0;
}
.MembershipApply a {
  display: inline-block;
}
.navpath,
.navpath a {
  text-decoration: none;
  font-size: 12px;
}
.navpath a {
  padding: 0 5px;
}
.navpath a:first-child {
  padding-left: 0;
}
.profileTitle {
  margin-bottom: 5px;
}
.profilePhoto {
  max-width: 150px;
  margin: 20px 0;
  border: 1px solid #ddd;
  padding: 5px;
}
.profileDescription {
  font-size: 14px;
  font-style: italic;
  color: #777;
}
.profileContacts {
  margin: 25px 0;
}

.warn,
.warning,
p.noMembership {
  background-color: #f8faab;
  border: 1px solid #e6e88a;
  color: #5d5e3c;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 10px 15px;
}
.warn a,
.warning a,
p.noMembership a {
  color: #5d5e3c;
  font-weight: bold;
  text-decoration: underline;
}
p.noMembership a:hover,
.warning a:hover,
.warn a:hover {
  text-decoration: none;
}

/* Update profile
   ========================================================================== */
.msg.bg-primary {
  padding: 10px;
  background-color: #337ab7;
}
.msg.bg-primary a {
  color: #fff;
  font-weight: bold;
}

a.dp-choose-date {
  margin-left: 4px;
}

/* Member Directory
   ========================================================================== */

.profileSummary {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}
.profileSummary .profileThumb {
  float: right;
  margin-left: 20px;
}
.profileSummary .profileDescription {
  margin-top: 8px;
}
.profileSummary h4 {
  margin: 0;
}
.profileSummary:after {
  display: block;
  clear: both;
  content: "";
}
.memberDirectoryTools {
  margin-top: 20px;
  padding-top: 20px;
}

/* Table Report
   ========================================================================== */

table.Report {
  margin-bottom: 10px;
}

table.Report tr:nth-child(even) {
  background-color: #eeeeee;
}
table.Report th,
table.Report tr td {
  border: 1px solid #cccccc;
  text-align: left;
  padding: 8px;
}
table.Report th {
  background: #777;
  color: #fff;
}

/* Forum
   ========================================================================== */

table.Forum {
  border-collapse: collapse;
  width: 100%;
}
table.Forum th {
  background: #f2f2f2;
}
table.Forum th,
table.Forum td {
  border: 1px solid #ddd;
  padding: 8px;
}
table.Forum tr:nth-child(odd) {
  background-color: #f8f8f8;
}
.ForumTools {
  margin: 10px 0;
}

.ContactForm table td {
  padding: 0 5px 15px 0;
}
.ContactForm table:last-child tr:last-child td {
  padding-bottom: 0;
}
.ChangePassword table {
  margin-bottom: 15px;
}
.ChangePassword table td {
  padding: 0 10px 5px 0;
}
@media screen and (max-width: 600px) {
  .ContactForm td,
  textarea {
    display: block;
    width: 100%;
  }
}

/*************** SPM styles ******************/

.program .list-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  margin: 20px 0;
}
.program .list-group a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
}
.program .list-group a {
  text-decoration: none;
}
.program .programSchedule .programSchedTime,
.program .programSchedule .programItemTitle,
.program .programSchedule .programItemDetails,
.program .programSchedule .programItemLocation {
  display: block;
}
.program .programItem.programPresentation,
.program .Index .EventSummary,
.programItem.programEvent {
  border-bottom: 1px solid #bbb;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.programItem.programPresentation:last-child {
  border: none;
  padding: 0;
  margin: 0;
}
.program .programSchedule h3 {
  margin: 25px 0px 10px;
}
.program .Index .eventDate {
  color: #010101;
  font-size: 15px;
  font-weight: bold;
}
.program .programSchedule {
  margin-top: 20px;
}
.program .programSchedTime {
  font-size: 12px;
  color: #777;
}
.sponsorGroupList .sponsorSummary {
  margin: 20px;
  display: inline-block;
  max-width: 150px;
}

.sponsorGroupList {
  text-align: center;
}

.program .list-group-item {
  padding: 10px 5px;
}

.Presentation .presentationIndex .profileSummary .profileThumb img,
.program .Index .profileSummary .profileThumb img,
.profileStatusSummary .profileSummary .profileThumb,
.profileStatusSummary .profileSummary .profileThumb img {
  float: none;
  margin: 0;
}

.program .list-group a .fa {
  display: block;
  margin: 0 auto 3px;
}

@media (max-width: 600px) {
  .program .list-group {
    display: block;
  }
  .program .list-group a {
    display: block;
    flex: none;
    text-align: left;
  }
  .program .list-group a .fa {
    display: inline-block;
    margin: 0;
  }
}

@media print {
  a:after {
    content: "";
  }
  a[href]:after {
    content: none !important;
  }
  body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  }
}

.info,
.bInfo_44 {
  background-color: #d9edf7;
  border: 1px solid #bce8f1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  color: #31708f;
  padding: 10px 15px;
}