/********************************************************************************************************************************
 * Dashboard Styling & Layout.
********************************************************************************************************************************/

h3.account-header {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 22px;
}
.dashboard-section {
  margin: 1.5em 0;
  padding: 1.5em 3%;
  box-shadow: 1px 1px 3px rgb(0 0 0 / 30%);
  border-radius: 4px;
  background-color: #fff;
}
.dashboard-section a:link,
.dashboard-section a:visited {
  text-decoration: none;
}
.dashboard-section a:hover {
  text-decoration: underline;
}
.data-wrapper,
.dashboard-subsection,
.dashboard-section .membership-wrapper {
  margin-bottom: 1.3333rem;
  border-bottom: 1px dotted #aaa;
  padding-bottom: 1rem;
}
.dashboard-subsection:last-child,
.dashboard-section .membership-wrapper:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}
tr.canceled,
.inactive .item,
.dashboard-section .dashboard-subsection.inactive > div,
.dashboard-section .membership-wrapper.inactive > div {
  opacity: 0.3;
}
.dashboard-section .payment-details {
  margin-bottom: 1.5rem;
}
.dashboard-section .list-item.for-staff {
  border: 1px solid #c9e1bd;
  margin-bottom: 0.75rem;
  padding: 0.5rem 0.75rem;
}
.data-wrapper .list-item,
#edit-member-info .list-item,
.dashboard-section .list-item {
  margin-bottom: 0.5rem;
}

/**
 * Payment-method stuff.
 */
.page-section {
  margin: 3rem 0;
}
.page-section.indented {
  padding-left: 4%;
}
.page-section.less-margin {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.page-section.border-bottom {
  padding-bottom: 0.5rem;
}
.page-section.border-bottom:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.page-section > h2 {
  border-bottom: none;
  margin-left: -4%;
  padding-bottom: 0;
}
.page-section > h2::before {
  display: inline-block;
  content: "";
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  width: 3%;
  margin-right: 1%;
  transform: translateY(-0.5rem);
}
.page-section .subsection {
  margin: 1.5rem 0;
}
.page-section .subsection p {
  margin: 0 0 1rem;
}
.page-section .subsection h3 {
  font-weight: 500;
}

/**
 * Payment-method stuff.
 */
.payment-details span.payment-method {
  font-weight: 500;
}
.pm-img {
  width: 21px;
  margin: 0 5px 0 3px;
  vertical-align: top;
  border-radius: 2px;
}
.pm-img.defined-subtype {
  width: 21px;
}
.pm-img.generic-card {
  width: 30px;
}
.pm-img.paypal {
  width: 65px;
}

/********************************************************************************************************************************
 * Link styling
********************************************************************************************************************************/

/**
 * Action links.
 */
a.action {
  display: inline-block;
  padding: 0.2rem 0.4rem;
  text-decoration: none;
  transition-property: background;
  transition-duration: 0.25s;
}

a.action:hover {
  text-decoration: none;
}

.view-event-log a.action,
.dashboard-section a.action {
  font-size: 0.9em;
  padding: 0.1rem 0.3rem;
}

.view-event-log a.action,
.view-event-log a.external-link {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
