.clearfix:after {
  content: " ";
  clear: both;
  display: table;
}
/* General */
.aligncenter {
  text-align: center;
}
img.aligncenter {
  display: block;
  margin: 0 auto;
}
.message {
  border-left: 2px solid #888;
  padding: 1em 2em;
  background: #fff;
  margin: 1em 0;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
}
.message.errors {
  border-color: #c90000;
  color: #c90000;
  background: lightYellow;
}
.message.updated,
.message.success {
  border-color: #090;
  color: #090;
  background: lightYellow;
}

/* Button updates */
.btn--micro {
  font-size: 12px;
  padding: 0.25em 0.5em;
  text-transform: uppercase;
}

.article--primary .article__image {
  background-color: #fff;
  min-width: 180px;
  min-height: 180px;
  vertical-align: middle;
  display: table-cell;
}
.article--primary .article__content h1 {
  font-size: 28px;
  margin-bottom: 4px;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.03em;
}

/* Product Grid */
.product h5 { margin-bottom: .25em; }
.product .product__content {
  padding-top: 1em;
}
.product .product__image {
  height: 208px;
  width: 208px;
  background: #fff;
  display: table-cell;
  vertical-align: middle;
}

/* Cart */
.cart-table {
  margin: 2em 0;
}
.cart .cart-table table {
  border-collapse: collapse;
}
.cart-table th,
.cart-table td {
  border: 0;
  padding: 0.25em;
}
.cart-table th {
  background: #eee;
}
.cart-table .thumb {
  max-width: 80px;
}
.cart-table .thumb img {
  max-width: 80px;
}
.cart-table .drive-summary h3 {
  margin-bottom: 0;
}
.cart-table .name {
  text-align: left;
}
.cart-table .qty,
.cart-table .price,
.cart-table .subtotal {
  text-align: right;
  font-weight: bold;
}
.cart-table tr.subtotal > td {
  border-top: 2px solid #888;
}
.cart-table input[name="qty"] {
  margin-bottom: 0.25em;
}
.cart-table tr td.qty input.general-donation-qty {
  width: 120px;
}
.cart-logo {
  float: left;
  height: 100px;
  width: 100px;
  display: table-cell;
  vertical-align: middle;
  margin: 0 1em 0 0;
}

@media screen and (max-width: 767px) {
  table.personal-info,
  .cart-table table {
    font-size: 12px;
  }
}

/* checkout */
#vfd-checkout .field {
  width: auto;
  text-align: left;
  padding: 4px;
}
#vfd-checkout {
  width: auto;
  text-align: left;
}
#vfd-checkout .cart-table th {
  text-align: right;
  width: 30%;
}
#vfd-checkout .cart-table .field-creditcard {
  width: 60%;
}
#vfd-checkout .cart-table img {
  max-width: 30%;
  vertical-align: middle;
}
#vfd-checkout table.personal-info {
  width: 100%;
}
#vfd-checkout table.personal-info th {
  width: 30%;
  text-align: right;
}
#vfd-checkout table.personal-info td {
  width: 70%;
}
#vfd-checkout table.on-behalf-fields td {
  width: auto;
}
#vfd-checkout table.personal-info td input {
  width: 100%;
}
#vfd-checkout table.personal-info td input.zip {
  width: 20%;
}
#vfd-checkout table.personal-info td input[name="donor_phone"] {
  width: 27.5%;
}

form .req {
  color: #c90000;
}

/* Receipt */
#vfd-receipt-embed .bin {
  font-family: "Courier New", Courier, monospace;
  max-width: 100%;
  width: 600px;
  border: 1px solid #ccc;
  background: #fff;
  padding: 1em;
}

/* Forms */
body.page .container.aligncenter {
  text-align: center;
}
form.vfd-login {
  margin: 1em 0;
  border: 1px solid #eee;
  background: #f9f9f9;
  padding: 1em;
  max-width: 450px;
}
body.page .container.aligncenter .vfd-login {
  margin: 1em auto;
  text-align: left;
}
body.page .container.aligncenter .vfd-login .message {
  text-align: left;
}
form.vfd-login label,
form.vfd-user-form label {
  font-weight: bold;
}
form.vfd-login textarea.field,
form.vfd-login input.field {
  max-width: 100%;
  width: 100%;
  text-align: left;
  margin-bottom: 0.5em;
}
form.vfd-user-form {
  margin: 1em 0;
  border: 1px solid #eee;
  background: #f9f9f9;
  padding: 1em;
  max-width: 800px;
}
form.vfd-user-form textarea.field,
form.vfd-user-form input.field {
  max-width: 100%;
  width: 100%;
  text-align: left;
  margin-bottom: 0.5em;
}
form.vfd-user-form textarea.field {
  min-height: 80px;
  padding: 10px;
}
form.vfd-user-form .field.small {
  max-width: 150px;
}

/* Dashboard */
.vfd-dashboard-wrap {
  text-align: left;
  padding-top: 2em;
}
.vfd-dashboard-wrap .user-avatar {
  float: left;
  margin: 0 1em 1em 0;
}
.vfd-dashboard-wrap .mini-nav {
  list-style: none;
  padding: 0;
  margin: 1em 0;
  text-align: center;
}
.vfd-dashboard-wrap .mini-nav li {
  display: inline-block;
}
.vfd-dashboard-wrap .mini-nav li a.btn--default.btn {
  background-color: #7f7f7f;
}

/* Pagination */
.vfd-pagination {
  clear: both;
  padding-top: 1em;
}
.vfd-pagination .page-numbers {
  display: inline-block;
  padding: 0.25em 0.5em;
  background: #f7f7f7;
  text-decoration: none;
}
.vfd-pagination .page-numbers:hover {
  background: #eee;
  cursor: pointer;
}
.vfd-pagination .page-numbers.current {
  background: #666;
  color: #fff;
  font-weight: bold;
}

/* Duplicated top pagination for drives page*/
.vfd-pagination-top {
  clear: both;
  padding-bottom: 2em;
}
.vfd-pagination-top .page-numbers {
  display: inline-block;
  padding: 0.25em 0.5em;
  background: #f7f7f7;
  text-decoration: none;
}
.vfd-pagination-top .page-numbers:hover {
  background: #eee;
  cursor: pointer;
}
.vfd-pagination-top .page-numbers.current {
  background: #666;
  color: #fff;
  font-weight: bold;
}


/* Teams */
.vfd-group-meta {
  font-size: 0.75em;
  padding: 10px 0;
}

.article .article__image {
  height: 180px;
  width: 180px;
  margin: 0 auto;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  background-color: #fff;
}
.article--primary .article__image {
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .article--primary .article__image {
    margin-right: auto;
  }
}
.widget .article .article__image img {
  margin: auto;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  display: block;
}

/* Search */
.field-large {
  width: 70%;
  text-align: left;
}

/* CSS Edits */
.section__body-content .article--main ol,
.section__body-content .article--main ul {
  margin: 1em 0;
  padding: 0 2em;
}

footer .powered {
  padding: 2em 1em 1em;
}

footer .powered p {
  max-width: none;
  width: auto;
}

.header .profile img {
  max-width: 25px;
  max-height: 25px;
}

.header .header__content-inner {
  max-width: 310px;
}

.vfd-dashboard-wrap .user-avatar {
  max-width: 150px;
}

.footer {
  padding-bottom: 0px;
}

.admin-bar .header {
  top: 30px;
}
.notice {
  margin: 1em 0;
  border-left: 3px solid;
  padding: 1em;
  background: lightyellow;
}
.notice.error {
  color: #c90000;
  border-color: #c90000;
}
.notice.success {
  color: #00c900;
  border-color: #00c900;
}
.notice.warn {
  color: orangered;
  border-color: orangered;
}
.form input[type="color"] {
  height: 100px;
  width: 100px;
  margin: 0 0 1em;
}

.widgets .article__image { margin-bottom: 1em; }

.section--dashboard { padding: 29px 0 39px; }

.section--dashboard .shell { border-bottom: 3px solid #e7e7e7; padding-bottom: 78px; }

/* Header Updates */
.wrapper { transition: margin-top .1s; }
@media (min-width: 1024px) {
  .header .header__content-inner .nav-utilities { position: absolute; top: 20px; right: 0; }
	.header .header__content-inner .search { min-width: 300px; padding-top: 40px; }
}
@media (max-width: 767px) {
  .product .product__image {
    display: block; 
    margin: 0 auto;
  }
}

.product .product__image-real { 
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.page-cart h1,
.vfd-cart-checkout { text-align: center; }

article ul { margin: 1em 2em; line-height: 1.5; }