/* header */
@media only screen and (max-width: 991.98px) {
  #shopify-section-header-checkout .header-nav-frame {
    margin-bottom: 0;
  }
}


/* checkout wrapper elements */
.content div {
  -moz-box-sizing: border-box !important; 
  -webkit-box-sizing: border-box !important; 
   box-sizing: border-box !important; 
}
.content>.wrap {
  max-width: 1648px;
  width: 100%;
  padding: 0;
}
.content>.wrap>.main {
  flex: 0 0 50.485%;
  padding: 96px calc(.09223 * min(100vw, 1648px)) 0;
}
/* MOBILE wrapper elements */
@media only screen and (max-width: 991.98px) {
  .content>.wrap>.main {
    flex: 1 1 100%;
    padding: 40px 12px 56px;
  }
}



/* breadcrumbs */
.breadcrumb__item>a,.breadcrumb__item--current>span {
  color: #000;
}
.breadcrumb__item--current~.breadcrumb__item>a {
  color: #787E81;
}
.breadcrumb__item--current~.breadcrumb__item>a:hover {
  color: #000;
}
.breadcrumb__item>svg,.breadcrumb__item--blank>span {
  color: #787E81 !important;
}
/* MOBILE breadcrumbs */
@media only screen and (max-width: 991.98px) {
  .wrap .main .breadcrumb {
    padding: 0;
  }
}


/* order forms - alt payment */
.main>.main__header {
  padding: 0;
}
div>.dynamic-checkout {
  margin: 0;
  padding: 21px 0 0;
  border: 1px solid #DFDFDF;
  border-radius: 8px;
}
div>.dynamic-checkout h2 {
  color: #000;
}
.dynamic-checkout>.dynamic-checkout__title::before,
.dynamic-checkout>.dynamic-checkout__title::after {
  content: none;
}
.dynamic-checkout>.dynamic-checkout__content {
  padding: 16px 36px 27px;
  border: none;
}
.dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li {
  margin-right: 16px !important;
  height: 42px !important;
}
.dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li>div,
.dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li>iframe {
  max-height: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
}
div>.alternative-payment-separator {
  margin: 0;
  padding: 0;
}
div>.alternative-payment-separator::before,
div>.alternative-payment-separator::after {
  background: #787E81;
}
div>.alternative-payment-separator>span {
  margin: -50% 0;
  padding: 0 20px;
  color: #787E81;
  text-transform: none;
}
/* MOBILE alt payment */
@media only screen and (max-width: 991.98px) {
  div>.dynamic-checkout {
    padding: 32px 0 0;
  }
  .dynamic-checkout>.dynamic-checkout__content {
    padding: 32px 51px 56px;
  }
}
/* TRUE MOBILE alt payment */
@media only screen and (max-width: 640.98px) {
  .dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li:first-child {
    margin-top: 0 !important;
  }
  .dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li {
    margin-right: 0 !important;
    height: 56px !important;
  }
  .dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li>div,
  .dynamic-checkout__buttons>div>.shopify-cleanslate>div>ul>li>iframe {
    max-height: 56px !important;
    height: 56px !important;
  }
}


/* order forms - contact info */
.content>.wrap .field--error {
  display: flex;
  flex-direction: column;
}
.content>.wrap .field__message {
  margin: 8px 0 calc(calc(16px - 20px) * 1);
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
}
.content>.wrap .field:last-child .field__message {
  margin-bottom: calc(calc(16px - 20px) + 8px);
}
.step__sections .section:not(:first-child) {
  padding: 0;
}
.step__sections .section__header {
  margin: 0;
}
.section__header>.layout-flex {
  margin: 0;
}
.section__header .section__title {
  padding: 0;
}
.section__header p {
  display: none;
}

div .fieldset {
  margin: -8px;
}
div .fieldset .field {
  padding: 8px;
}
div .fieldset .field:last-child {
  padding-bottom: 0;
}
div .fieldset~div[class*="spacer"] {
  margin-top: 8px;
}
.step__sections .fieldset-description {
  margin-top: 0;
}

.section .checkbox__input,
.section .radio__input {
  display: flex;
  align-items: center;
  padding-right: 8px;
}
.section .checkbox__input>.input-checkbox {
  width: 16px;
  height: 16px;
  border-radius: 3px;
  border-color: #DFDFDF;
}
.section .checkbox__input>.input-checkbox:checked {
  border-width: 8px;
  border-color: #000;
}
.section .radio__input>.input-radio {
  width: 16px;
  height: 16px;
  border-color: #DFDFDF;
}
.section .radio__input>.input-radio:checked {
  border-width: 6px;
  border-color: #000;
}
.section .checkbox__label,
.section .content-box .radio__label {
  display: flex;
  align-items: center;
  color: #787E81;
}
.section .checkbox__label {
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
}
.section .checkbox__label__primary,
.section .content-box .radio__label__primary {
  color: #787E81;
}
.section .checkbox__label__primary>span {
  font-size: 14px;
}
.section .checkbox__label__accessory>span,
.section .content-box .radio__label__accessory>span {
  color: #000;
}
.fieldset .field__input-wrapper .field__input {
  border: 1px solid #DFDFDF;
  border-radius: 8px;
}
.fieldset .field__input-wrapper input {
  height: 48px;
  padding: 0 0 0 16px;
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #000;
}
.fieldset .field__input-wrapper--icon-left input {
  padding-left: calc(1.5rem + 16px);
}
.step__sections .field__input-wrapper select {
  height: 56px;
  padding: 28px 0 0 16px;
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #000;
}
.fieldset .field__input-wrapper .field__input::placeholder {
  margin: auto 0;
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px;
  color: #787E81;
}
.fieldset .field__input-wrapper .field__label {
  padding-left: 16px;
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #787E81;
}
.fieldset .field__input-wrapper--icon-left .field__label {
  padding-left: calc(1.5rem + 16px);
}
.step__sections .field__input-wrapper .field__caret {
  width: 20px;
  height: 20px;
  margin-right: 16px;
  border: none;
}
.step__sections .field__input-wrapper .flag-selector {
  padding: 0 16px;
}
.step__sections .field__input-wrapper .flag-selector::after {
  border: none;
}
.step__sections .field__input-wrapper .flag-selector>div {
  margin-right: 5px;
}
.step__sections .field__input-wrapper .field__caret>svg,
.step__sections .field__input-wrapper .flag-selector>svg {
  width: 10px;
  height: 6px;
  margin: 0;
}

/* order forms - step footer */
.step .step__footer {
  margin-top: 0px;
}
.step .step__footer>div[class*="-if-js"] {
  flex: 1;
}
.step .step__footer button,
.step .step__footer a.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48.485%;
  height: 48px;
  padding: 0;
  border-radius: 48px;
}
.step .content-box button.ui-button,
.step .content-box .field__input-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  margin-left: 16px;
  border-radius: 48px;
}
.step div[data-track-shop-wrapper="true"] button.ui-button {
  margin-left: 0;
  border-color: #DFDFDF;
}
.step__footer .previous-link__icon {
  margin-right: 8px;
}
.step__footer a:not(.btn)>span,
.step__footer p,
.step__footer p>a {
  color: #000;
}

/* MOBILE order forms */
@media only screen and (max-width: 991.98px) {
  div .fieldset .field:last-child {
    padding-bottom: 8px;
  }
  div .fieldset~div[class*="spacer"] {
    margin-top: 0;
  }
  .section .checkbox__input,
  .section .radio__input {
    padding-right: 12px;
  }
  .section .checkbox__input>.input-checkbox {
    width: 24px;
    height: 24px;
    border-radius: 4px;
  }
  .section .checkbox__input>.input-checkbox:checked {
    border-width: 12px;
  }
  .section .radio__input>.input-radio {
    width: 24px;
    height: 24px;
  }
  .section .radio__input>.input-radio:checked {
    border-width: 9px;
  }
  .step:not([data-step="contact_information"]) .step__sections+.mod-spacer,
  .step:not([data-step="contact_information"]) .section--remember-me+.mod-spacer {
    margin-top: 8px;
  }
}
/* TRUE MOBILE order forms */
@media only screen and (max-width: 640.98px) {
  .wrap .step__footer .step__footer__previous-link {
    padding-top: 40px;
  }
  .step .step__footer button,
  .step .step__footer a.btn {
    width: 100%;
  }
/*   .section .checkbox__label, */
  .section .content-box .radio__label.payment-method-wrapper {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}


/* sidebar/order summary */
.content>.wrap>.sidebar {
  padding: 96px calc(.09223 * min(100vw, 1648px)) 0 64px;
  color: #000;
}
.content>.wrap>.sidebar::after {
  box-shadow: none;
  -webkit-box-shadow: none;
  background: #F4F3F3;
}
.content>.wrap>.sidebar .order-summary__emphasis:not(.font-body-sm),
.content>.wrap .total-line-table__footer span,
.content>.wrap .tag .reduction-code__text {
  color: #000;
}
.content>.wrap>.sidebar .order-summary__small-text {
  color: #787E81;
}
.order-summary .order-summary__section {
  padding: 0;
}
.order-summary .product-table {
  margin: 0;
}

tbody .product .product__image {
  border-color: transparent;
}
tbody .product:not(:first-child) .product__image {
  padding-top: 8px;
}
tbody .product .product-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 104px;
}
tbody .product .product-thumbnail::after {
  border: none;
}
tbody .product .product-thumbnail__wrapper {
  width: calc(100% - 12px);
  height: calc(100% - 12px);
}
tbody .product .product-thumbnail__quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  right: 5px;
  top: 5px;
  min-width: 22px;
  height: 22px;
  padding: 0;
  font-family: "Neue Haas Grotesk Display Pro - 55 Roman", "Zen Kaku Gothic New - Regular", sans-serif;
  font-size: 14px;
  line-height: 14px;
  background-color: #000;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 24px;
}

/* (special attention to prescription lens product) */
tbody .product .product__description {
  padding-left: 16px;
}
tbody .product .product__description__name {
  padding-bottom: 2px;
  color: #000;
}
tbody .product .product__description>span:not(.product__description__name) {
  color: #787E81;
}
tbody .product[data-product-id="7693929054425"] .product__description__variant,
tbody .product[data-product-id="7761325916377"] .product__description__variant,
tbody .product[data-product-id="7761338400985"] .product__description__variant,
tbody .product:not([data-product-id="7761338400985"]):not([data-product-id="7693929054425"]) .product__description__property,
tbody .product[data-product-id="7761338400985"] .product__description__property:not(:nth-last-child(-n + 3)),
tbody .product[data-product-id="7761338400985"] .product__description>span:not([class*="product__description"]) {
  display: none;
}
.order-summary .order-summary__section--product-list::after {
  background: #DFDFDF !important;
}
.order-summary .order-summary__section~.order-summary__section {
  border-color: #DFDFDF !important;
}
.order-summary .order-summary__section--discount {
  border: none !important;
}
.total-line-table__tbody+.total-line-table__footer .total-line:first-child td::before,
.wrap .total-line-table__tbody+.total-line-table__footer .total-line:first-child th::before {
  content: none;
}
.wrap .total-line-table__footer {
  border-top: 1px solid #DFDFDF;
}
.wrap .total-line-table td[class*="total-line__"],
.wrap .total-line-table th[class*="total-line__"] {
  padding: 0;
  padding-top: 0 !important;
}
.order-summary .order-summary__section input {
  background: transparent;
}
.order-summary .order-summary__section button:not(.tag__button):not(.notice__controls),
div[data-reduction-form] button:not(.tag__button):not(.notice__controls) {
  height: 48px;
  margin-left: 16px;
  padding: 0 40px;
  background: #000;
  border-radius: 48px;
}
.order-summary .order-summary__section button.btn--disabled,
div[data-reduction-form] button.btn--disabled {
  background: #DFDFDF !important;
}
.wrap .reduction-code .reduction-code__text {
  color: #787E81;
}
.wrap .product__description .reduction-code {
  margin: 8px 0 0;
  display: flex;
  align-items: center;
}
.wrap .product__description .reduction-code>svg {
  margin-right: 6px;
}
.wrap .product__description .reduction-code>span {
  font-size: 14px;
}
tbody .product .product__price>del,
tbody .product .product__price>br {
  display: none !important;
}
.wrap .total-line .payment-due-label__total {
  font-size: 15px;
}
.wrap .total-line .payment-due-label__taxes {
  margin-left: 24px !important;
  font-size: 13px !important;
}
.total-line-table tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.total-line-table th {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.total-line-table td {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* extras */
.wrap .tags-list>.tag {
  margin-top: 16px;
  margin-right: 16px;
  background: #DFDFDF;
  border-radius: 8px;
}
.wrap .tags-list>.tag:last-child {
  margin-right: 0;
}
.wrap .notice__controls .icon-svg,
.wrap .tag__button .icon-svg {
  stroke: #787E81;
}
.wrap .notice__controls:hover .icon-svg,
.wrap .tag__button:hover .icon-svg {
  stroke: #000;
}
.wrap .blank-slate__title {
  margin-bottom: 16px;
}

/* MOBILE order summary */
@media only screen and (max-width: 991.98px) {
  aside .order-summary-toggle {
    display: flex;
    height: 59px;
    padding: 0;
    background: #F4F3F3;
    border: none;
  }
  aside .order-summary-toggle .wrap {
    display: flex;
    max-width: 100%;
    height: 100%;
    margin: 0 12px;
    padding: 0;
  }
  .order-summary-toggle .wrap .order-summary-toggle__inner {
    border-bottom: 1px solid #DFDFDF;
  }
  .order-summary-toggle .wrap .order-summary-toggle__icon-wrapper {
    display: none;
  }
  .order-summary-toggle .wrap .order-summary-toggle__text,
  .order-summary-toggle .wrap .total-recap>dd>span {
    color: #000;
  }
  .order-summary-toggle .wrap .total-recap__original-price {
    color: #787E81;
    line-height: 11px;
  }
  .order-summary-toggle .wrap .order-summary-toggle__dropdown {
    margin-top: -4px;
    margin-left: 5px;
    fill: #000;
  }
  .content>.wrap>.sidebar {
    padding: 0 12px;
  }
  .wrap .sidebar .order-summary>.order-summary__sections {
    padding: 24px 0 80px;
  }
  tbody .product .product-thumbnail {
    width: 96px;
    height: 96px;
  }
}
/* TRUE MOBILE order summary */
@media only screen and (max-width: 640.98px) {
  .order-summary .order-summary__section button:not(.tag__button):not(.notice__controls),
  div[data-reduction-form] button:not(.tag__button):not(.notice__controls) {
    width: 48px;
    padding: 0;
  }
}


/* shipping */
.step .section .content-box {
  margin-top: 16px;
  color: #787E81;
  border-color: #DFDFDF;
  border-radius: 8px;
}
.step .section .content-box:first-of-type {
  margin-top: 0;
}
.step .section .content-box-spacing {
  margin-top: 16px;
}
.section [data-payment-subform] .content-box.blank-slate {
  padding: 0;
}
.section [data-payment-subform] .content-box.blank-slate .icon {
  margin-bottom: 16px;
}
.section .content-box .content-box__row,
.wrap .notice {
  padding: 24px 36px;
}
.section .content-box .content-box__row--secondary {
  background: #F4F3F3;
}
.section .content-box .content-box__row~.content-box__row,
.section .content-box .review-block~.review-block {
  border-color: #DFDFDF;
}
.section .content-box .review-block~.review-block {
  margin-top: 24px;
  padding-top: 24px;
}
.section .content-box .review-block__content {
  color: #000;
}
.section .content-box .review-block__label {
  color: #787E81;
}
.section .content-box a:not(.link--muted) {
  font-size: 14px;
  color: #000;
}
.section .checkbox-wrapper,
.section .content-box .radio-wrapper {
  display: flex;
}
/* .section .checkbox__input,
.section .content-box .radio__input {
  padding-right: 8px;
}
.section .checkbox__input>input,
.section .content-box .radio__input>input {
  border-color: #DFDFDF;
}
.section .checkbox__input>input:checked,
.section .content-box .radio__input>input:checked {
  border-color: #000;
} */


/* payment */
#section--remember-me__phone .fieldset .field {
  width: 100%;
}
.section .content-box .fieldset-description,
.content-box-spacing p.content-box-spacing {
  font-size: 14px;
}
.step .section p.small-text {
  margin-top: 16px;
}
.step .section p.small-text,
.section .content-box small {
  color: #787E81;
  font-size: 12px;
}
.fieldset .field__input>iframe {
  height: 48px;
  padding-left: 5px;
}
.content-box .card-fields-container [data-credit-card-summary] {
  padding: 0;
}
.content-box .card-fields-container [data-credit-card-summary]>p>span>span {
  margin: 0;
}
.content-box .card-fields-container [data-credit-card-summary]>a.edit-link {
  margin-top: 16px;
}
.content-box .blank-slate>p {
  color: #787E81;
}


/* review order */
.content-box div>*:not(.mod-spacer)+address:not(.address--tight) {
  margin-top: 16px;
}


/* thank you page */
.content-box div[data-sp-optin-checkbox-wrapper] {
  display: flex;
}
.step .section .os-header__heading {
  display: flex;
  flex-direction: column;
}
.os-header__hanging-icon {
  margin-right: 12px;
  stroke: #000;
}
.wrap .notice {
  margin-bottom: 16px;
}
.wrap .notice>svg {
  color: #000;
  margin-right: 8px;
}
.wrap .notice__content {
  padding-right: 16px;
  vertical-align: middle;
}
.notice .notice__content>div {
  margin-top: 16px;
}
.notice .notice__content>div>table {
  margin-top: 0;
}
.step .content-box button#track_arrive_with_attribution {
  margin-left: 0 !important;
}
.sidebar .spacer-40+.spacer-40 {
  margin: -40.5px 0;
}
.wrap .text-container>*+div:not([class*="-shorten-top"]) {
  margin-top: 0px;
}
.step .step__footer p {
  color: #787E81;
  font-size: 14px;
}
.step .step__footer p>a {
  color: #000;
  font-size: 14px;
}
.step .section h2,
.step .section h3,
.step .section h3~ul span.emphasis {
  color: #000;
}
.step svg+div>span,
.step .section h2~p,
.step .section h2~div p,
.step .section h3~div td,
.step .section h3~ul span:not(.emphasis),
.step .section h3~address,
.step .section h3~p {
  color: #787E81;
}
.text-container .mod-spacer+.payment-method-list {
  margin-top: 0;
}
.notice .product-table tr {
  display: grid;
  grid-template-columns: 104px auto;
  grid-template-rows: auto;
}
.notice .product-table td.product__image {
  grid-column: span 1;
  grid-row: span 2;
}
.notice .product-table td.product__description,
.notice .product-table td.product__status {
  grid-column: 2;
  grid-row: span 1;
  text-align: left;
}
/* MOBILE thank you page */
@media only screen and (max-width: 991.98px) {
  .sidebar .spacer-40+.spacer-40 {
    margin: -9px 0;
  }
  .wrap header .mspacer-80:first-child:last-child {
    display: none;
  }
  .step .section[data-order-update-options='["arrive"]']+.mod-spacer {
    height: 56px;
    max-height: 56px;
  }
  .notice .product-table tr {
    grid-template-columns: 96px auto;
  }
  .wrap .text-container *+.heading-3 {
    margin-top: 32px;
  }
  .step .section .section__content__column:not(:first-of-type) {
    margin-top: 32px;
  }
  #section--opt-in .field__input-wrapper button {
    margin-left: 8px;
    padding: 0;
    flex: 0 0 48px;
  }
  .main .step .step__footer__info {
    padding-top: 16px;
  }
}

