/**
* All font sizes are in px
**/
h1,
h2,
h3,
h4,
.h4 {
  font-family: "Avenir-Roman";
  color: #000;
  font-weight: 400;
}

h5,
h6 {
  font-family: "Avenir-Roman";
  color: #454b4c;
  font-weight: 400;
}

h1 {
  line-height: normal;
  font-size: 2.25rem;
  font-weight: 800;
}
@media (min-width: 769px) {
  h1 {
    font-size: 3.625rem;
    font-weight: 700;
  }
}

h2 {
  line-height: normal;
  font-size: 1.25rem;
  font-weight: 800;
}
@media (min-width: 769px) {
  h2 {
    font-size: 1.25rem;
    font-weight: 800;
  }
}

h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 0.75rem;
}
@media (min-width: 769px) {
  h3 {
    font-size: 1.1875rem;
    font-weight: 600;
    line-height: 1.375rem;
  }
}

h4,
.h4 {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25rem;
}
@media (min-width: 992px) {
  h4,
  .h4 {
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.125rem;
  }
}

h5 {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1rem;
}

.account-template-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 769px) {
  .account-template-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 769px) {
  .account-template-container .account-banner-image-container .account-banner-image {
    width: 50vw;
  }
}

.branding-slot {
  background-color: #f5f5f5;
  height: 25.9375rem;
  margin-bottom: 2.75rem;
}
@media (min-width: 992px) {
  .branding-slot {
    height: 20.625rem;
    margin-bottom: 7.125rem;
  }
}
.branding-slot-logo {
  margin-top: 1rem;
  margin-bottom: 0.6875rem;
}
@media (min-width: 992px) {
  .branding-slot-logo {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
}
.branding-slot-callout {
  font-size: 0.875rem;
  line-height: 1.375rem;
  padding-bottom: 0.875rem;
}
@media (min-width: 992px) {
  .branding-slot-callout {
    font-size: 1rem;
    line-height: 1.625rem;
  }
}
.branding-slot .branding-slot-block-box {
  text-align: center;
  color: #000;
  margin-bottom: 0.875rem;
}
@media (min-width: 992px) {
  .branding-slot .branding-slot-block-box {
    min-width: 19.8125rem;
    margin: 0 3.125rem;
  }
}
.branding-slot .branding-slot-block-box-title {
  font-size: 0.875rem;
  color: #000;
  margin-bottom: 0.5rem;
}
@media (min-width: 992px) {
  .branding-slot .branding-slot-block-box-title {
    font-size: 1rem;
  }
}
.branding-slot .branding-slot-block-box-text {
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  .branding-slot .branding-slot-block-box-text {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media (min-width: 992px) {
  .branding-slot .branding-slot-block {
    width: 71.9375rem;
  }
  .branding-slot .branding-slot-block-box:first-child {
    margin: 0 3.125rem 0 0;
  }
  .branding-slot .branding-slot-block-box:last-child {
    margin: 0 0 0 3.125rem;
  }
}

.equal-height .card {
  width: 100%;
}

.track-order-header-text {
  padding-top: 0.9375rem;
}
@media (min-width: 992px) {
  .track-order-header-text {
    margin: 0;
    padding: 1.25rem 0;
  }
}

@media (min-width: 992px) {
  .trackorder h2 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 769px) {
  .trackorder h2 {
    font-size: 1.1875rem;
    font-weight: 600;
    line-height: 1.375rem;
  }
}

.reset-password {
  margin-bottom: 2.8125rem;
  padding: 0 1.875rem;
}
@media (min-width: 992px) {
  .reset-password {
    margin-bottom: 9.375rem;
  }
}
.reset-password .request-password-title {
  color: #000;
  font-family: "Courier-New-Bold";
  font-size: 1.25rem;
  margin-top: 1.625rem;
}
@media (min-width: 769px) {
  .reset-password .request-password-title {
    font-size: 1.125rem;
    margin-top: 0.625rem;
  }
}
.reset-password .small .password-reset-image {
  margin: 1rem 0;
}
.reset-password .small .password-reset-image svg {
  width: 8.75rem;
  height: 3.5rem;
}
.reset-password .password-reset-text {
  margin-bottom: 1rem;
}
@media (min-width: 769px) {
  .reset-password .password-reset-text {
    margin-bottom: 1.4375rem;
  }
}
@media (min-width: 769px) {
  .reset-password .split-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 6.25rem;
  }
}
.reset-password .image-container .password-reset-image {
  margin-right: 6.875rem;
}
.reset-password .password-reset-block {
  max-width: 30.25rem;
}
@media (min-width: 769px) {
  .reset-password .password-reset-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 769px) {
  .reset-password .password-reset-block .form-container .form-group {
    margin-bottom: 1.875rem;
  }
}
.reset-password .password-reset-block .form-container .send-email-btn {
  height: 3rem;
  margin: 0 auto;
}
@media (max-width: 374px) {
  .reset-password .password-reset-block .form-container .send-email-btn {
    width: 100%;
  }
}
@media (min-width: 375px) {
  .reset-password .password-reset-block .form-container .send-email-btn {
    width: 19.75rem;
  }
}
.reset-password .password-reset-block .form-container .send-email-btn #submitEmailButton {
  width: inherit;
  height: inherit;
}

.password-reset-confirmation-block .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.password-reset-confirmation-block .main-content .request-password-title {
  text-align: center;
  font-family: "Courier-New-Bold";
  font-size: 1.25rem;
}
.password-reset-confirmation-block .main-content .image-container {
  margin-bottom: 1.1875rem;
}
.password-reset-confirmation-block .main-content .main-text {
  text-align: center;
  margin-bottom: 0.75rem;
}
.password-reset-confirmation-block .main-content .main-text .secondary-title {
  display: inline-block;
  margin-bottom: 0.625rem;
  font-weight: 800;
}
.password-reset-confirmation-block .footer {
  min-width: 13.75rem;
}
.password-reset-confirmation-block .footer .login-btn {
  width: 100%;
  margin-top: 0.625rem;
}

.reset-pass-confirmation-dialog {
  max-width: 61.5rem;
}
.reset-pass-confirmation-dialog .modal-content {
  padding: 0 1.25rem;
}
.reset-pass-confirmation-dialog .modal-body {
  padding-bottom: 1.75rem;
  max-width: 41.3125rem;
  margin: 0 auto;
}
.reset-pass-confirmation-dialog .modal-body .content-asset .cart-promotion-msg {
  margin-bottom: 0;
}
.reset-pass-confirmation-dialog .modal-footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 1.25rem 1.5rem;
}
.reset-pass-confirmation-dialog .modal-footer .footer {
  padding: 0;
}
.reset-pass-confirmation-dialog .modal-footer .footer a {
  margin-top: 0;
}
.reset-pass-confirmation-dialog .modal-header,
.reset-pass-confirmation-dialog .modal-footer {
  border: none;
}

.reset-password-page {
  max-width: 30.3125rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .reset-password-page {
    margin-bottom: 11.25rem;
  }
}
.reset-password-page__title {
  font-family: "Courier-New-Regular";
  font-weight: 700;
  margin: 1.6875rem 0 1rem;
  text-align: center;
}
.reset-password-page__text {
  font-size: 0.875rem;
  text-align: center;
}
.reset-password-page .card {
  margin: 1.6875rem 0 0.5rem;
}
@media (min-width: 769px) {
  .reset-password-page .card {
    margin: 2.375rem 0 0.5rem;
  }
}
.reset-password-page .card .custom-password {
  margin-bottom: 1.5rem;
}
@media (min-width: 769px) {
  .reset-password-page .card .custom-password {
    margin-bottom: 1.875rem;
  }
}
.reset-password-page .card .btn-container {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.reset-password-page .card .btn-container .btn-save {
  max-width: 18.75rem;
}
@media (min-width: 769px) {
  .reset-password-page .card .btn-container .btn-save {
    max-width: 19.75rem;
  }
}
.reset-password-page .terms-and-conditions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.reset-password-page .terms-and-conditions-msg {
  max-width: 19.75rem;
  text-align: center;
  font-size: 0.75rem;
  color: #4d4d4d;
}
.reset-password-page .terms-and-conditions-msg .terms-and-policy {
  font-family: "Avenir-Heavy";
  font-weight: 400;
  text-decoration: underline;
}

/**
* All font sizes are in px
**/
body {
  font-family: "Avenir-Roman";
  font-size: 1rem;
  color: #000;
  font-weight: 400;
  line-height: normal;
}
@media (min-width: 769px) {
  body {
    font-size: 1rem;
    font-weight: 400;
  }
}

.text-strong {
  font-family: "Avenir-Heavy";
  font-weight: 400;
  line-height: normal;
}
@media (min-width: 769px) {
  .text-strong {
    font-family: "Avenir-Heavy";
    font-weight: 400;
  }
}
.text-strike-through {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: calc(normal / 16)rem;
}
@media (min-width: 769px) {
  .text-strike-through {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: calc(normal / 16)rem;
  }
}

.small-text {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.125rem;
}
@media (min-width: 769px) {
  .small-text {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1rem;
  }
}
.small-text-strong {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.125rem;
  font-weight: 700;
}
@media (min-width: 769px) {
  .small-text-strong {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1rem;
  }
}
.small-text-strike-through {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.125rem;
}
@media (min-width: 769px) {
  .small-text-strike-through {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1rem;
  }
}

.cta {
  background: transparent;
  border-color: transparent;
  font-weight: 600;
  line-height: 1rem;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .cta {
    font-weight: 600;
    line-height: 1.0625rem;
  }
}

.login-page {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  .login-page {
    margin-top: 3.125rem;
  }
}
.login-page .login-title {
  text-align: center;
  font-family: "Courier-New-Regular";
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.875rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .login-page .login-title {
    margin-bottom: 1.25rem;
  }
}
.login-page p.login-text {
  font-size: 0.875rem;
  line-height: 1.42275rem;
  margin-bottom: 1.4375rem;
}
@media (min-width: 992px) {
  .login-page p.login-text {
    font-size: 1rem;
    line-height: 1.8rem;
    margin-bottom: 0.9375rem;
  }
}
.login-page .login-btn {
  max-width: 19.75rem;
  height: 3rem;
}
.login-page .login-btn .login-custom-btn {
  padding: 0.875rem 1.25rem;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.25rem;
  letter-spacing: 0.08625rem;
}
.login-page .account-creation-title {
  text-align: center;
  font-family: "Courier-New-Regular";
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6875rem;
  margin-bottom: 1.21875rem;
}
.login-page .login-oauth {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.4375rem;
}
@media (min-width: 992px) {
  .login-page .login-oauth {
    margin-top: 2.125rem;
  }
}
.login-page .login-oauth .icon-margin-left {
  margin-left: 0.75rem;
}
.login-page .login-oauth .icon-margin-right {
  margin-right: 0.75rem;
}
.login-page .title-oauth {
  color: #3d4246;
  font-size: 0.875rem;
  font-weight: 800;
  margin-top: 1.6875rem;
}
.login-page .title-oauth .line {
  width: 100%;
  border-top: 0.05rem solid #e0e0e0;
  text-align: center;
  position: relative;
  margin-top: 1.25rem;
  margin-bottom: 1.5rem;
  max-width: 19.75rem;
}
@media (min-width: 992px) {
  .login-page .title-oauth .line {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.login-page .title-oauth .line span {
  display: inline-block;
  background: #fff;
  padding: 0 0.625rem;
  position: absolute;
  top: -0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.login-page .title-oauth-mobile {
  color: #000;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4375rem;
}
.login-page .title-oauth-mobile-link {
  color: #495057;
  font-weight: 800;
  line-height: normal;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.login-page .reset-password-section {
  margin-bottom: 1.1875rem;
}
@media (min-width: 992px) {
  .login-page .reset-password-section {
    margin-bottom: 2.25rem;
  }
}
.login-page .reset-password-section .reset-password {
  color: #000;
  line-height: 1.5rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.03rem;
}
@media (min-width: 992px) {
  .login-page .reset-password-section .reset-password {
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.035rem;
  }
}
.login-page form.login {
  max-width: 30.25rem;
  margin: 0 auto;
}
.login-page .form-group {
  margin-bottom: 1.5rem;
}
.login-page .login {
  margin-bottom: 0.938em;
}
.login-page .login .error-message-form {
  padding: 0.625em;
  background-color: #c1121f;
  color: #fff;
  border-radius: 0.188em;
}

.reset-password-link {
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .reset-password-link {
    margin-bottom: 1.875rem;
  }
}

.registration-page .privacy-policy {
  margin-top: 1rem;
}

.privacy-policy {
  margin-top: 0.9375rem;
}

.radio-items {
  display: inline-block;
  accent-color: #222;
}

.card-registration {
  max-width: 30.3125rem;
  margin: 0 auto;
}

form.registration .form-group {
  margin-bottom: 1.25rem;
}
form.registration .form-check-label {
  font-size: 0.75rem;
  letter-spacing: 0.02625rem;
  margin: 0;
}

.section-opt-in .error-message-opt-in {
  color: #c1121f;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35rem;
}
.section-opt-in .was-validated .custom-control-input:invalid ~ .custom-control-label,
.section-opt-in .custom-control-input.is-invalid ~ .custom-control-label {
  color: #4d4d4d;
}

.promo-code-submit {
  padding-left: 0.8125rem;
}

.applied-promotion-discount {
  color: #5c9315;
  float: right;
}

.promotion-information {
  margin-bottom: 0.625rem;
  margin-top: 0.625rem;
}

.cart-promotion-msg {
  background: #f5f5f5;
  padding: 0.75rem;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.wishlist-page .cart-promotion-msg {
  font-size: 0.875rem;
}
.wishlist-page .cart-promotion-msg .cart-promotion-msg__content a {
  font-family: "Avenir-Heavy";
}
@media (min-width: 544px) {
  .receipt .cart-promotion-msg {
    padding: 0.75rem 3.75rem;
  }
}
.cart-promotion-msg i {
  margin-right: 0.6875rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.oney-payment-tag i {
  position: relative;
  top: 4px;
}

.active-promos-line-item {
  color: #5c9315;
}