:root {
  --lenses-color-active: #3FB877;
  --lenses-color-gray: #929292;
  --lenses-color-line: #e3e3e3;
  --lenses-color-option-hover: #f4f3ec; }

@keyframes rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.animation-rotate {
  animation: rotate 1s infinite linear; }

.mb-15 {
  margin-bottom: 15px; }

.font-weight-bold {
  font-weight: bold; }

.btn-link {
  border: none;
  padding: 0;
  margin: 0; }

.flex-between {
  display: flex;
  justify-content: space-between; }

.icon {
  width: 1em;
  height: 1em;
  margin-bottom: -.125em; }

select {
  width: 100%;
  padding: .5rem;
  padding-right: 30px;
  border: solid 1px var(--lenses-color-line);
  appearance: none;
  background: url(//cdn.shopify.com/s/files/1/0468/1026/7803/t/79/assets/down.svg?v=10519779098688401527) no-repeat;
  background-size: 12px 12px;
  background-position-y: 16px;
  background-position-x: calc(100% - 8px);
  background-color: #fff;
  cursor: pointer; }

label[for] {
  cursor: pointer; }

[type=checkbox] + .checkbox-icon > svg {
  opacity: 0;
  transition: all .1s; }

[type=checkbox]:checked + .checkbox-icon > svg {
  opacity: 1; }

.d-flex {
  display: flex;
  flex-wrap: wrap; }

.row {
  display: flex;
  flex-wrap: wrap; }

.mt-2 {
  margin-top: .5rem; }

.col-4 {
  flex: 33.3333% 0; }

.col-12 {
  flex: 100% 0; }

.row-cols-1 > .col {
  flex: 100% 0; }

@media (min-width: 768px) {
  .col-md-12 {
    flex: 100%; }
  .row-cols-md-5 > .col {
    flex: 20% 0; } }

html.isFixed {
  width: 100%;
  height: 100%;
  overflow: hidden; }

.dialog {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-top: solid 1px #eee;
  z-index: 1000; }
  .dialog li {
    list-style: none; }
  .dialog-body {
    width: 100%;
    height: 100%;
    position: relative; }
    .dialog-body > .icon-loading {
      position: absolute;
      top: 40%;
      left: 50%;
      margin-left: -20px;
      margin-top: -20px;
      width: 40px;
      height: 40px; }

.shopify-section-lenses {
  width: 100%;
  height: 100%;
  display: none;
  overflow: auto; }

.lenses {
  width: 100%;
  max-width: 1200px;
  display: flex;
  margin: 0 auto; }
  .lenses-frame-wrap {
    width: 40%;
    padding: 40px 15px; }
    .lenses-frame-wrap .lenses-images {
      position: relative;
      padding-top: 100%;
      width: 100%; }
    .lenses-frame-wrap .lenses-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .lenses-frame-wrap .lenses-image > img {
        width: 100%;
        height: 100%;
        object-fit: contain; }
  .lenses-select-wrap {
    width: 60%;
    padding: 40px 15px; }
  @media (max-width: 767.98px) {
    .lenses-frame-wrap {
      display: none; }
    .lenses-select-wrap {
      width: 100%; } }
  .lenses-select-head {
    position: relative; }
  .lenses-select-title {
    text-align: center;
    margin-bottom: 15px; }
  .lenses-select-steps {
    display: flex;
    justify-content: center;
    align-items: center; }
    .lenses-select-steps > li {
      transition: all .1s; }
    .lenses-select-steps .step-node {
      border: solid 2px var(--lenses-color-gray);
      border-radius: 50%;
      background-color: #fff;
      width: 24px;
      height: 24px;
      position: relative; }
      .lenses-select-steps .step-node::before {
        content: "";
        width: 10px;
        height: 10px;
        position: absolute;
        top: 5px;
        left: 5px;
        background-color: transparent;
        border-radius: 50%; }
      .lenses-select-steps .step-node.active {
        border-color: var(--lenses-color-active); }
        .lenses-select-steps .step-node.active::before {
          background-color: var(--lenses-color-active); }
    .lenses-select-steps .step-line {
      width: 40px;
      height: 2px;
      background-color: var(--lenses-color-gray); }
      .lenses-select-steps .step-line.active {
        background-color: var(--lenses-color-active); }
  .lenses-select-close, .lenses-select-prev {
    position: absolute;
    top: 0;
    width: 2rem;
    height: 2rem;
    padding: 0.5rem;
    z-index: 1; }
    .lenses-select-close > svg, .lenses-select-prev > svg {
      display: block;
      width: 100%;
      height: 100%; }
  .lenses-select-prev {
    left: 0; }
  .lenses-select-close {
    right: 0; }
  .lenses-select-content {
    margin-top: 20px;
    padding: 0 20px;
    border-top: solid 1px var(--lenses-color-line); }
  .lenses-select-option {
    display: flex;
    padding: 15px;
    border-bottom: solid 1px var(--lenses-color-line);
    cursor: pointer; }
    .lenses-select-option .icon-wrap {
      width: 80px;
      height: 80px;
      margin-right: 20px; }
      .lenses-select-option .icon-wrap > img {
        width: 100%;
        height: 100%;
        object-fit: contain; }
    .lenses-select-option .info-wrap {
      align-self: center;
      width: calc(100% - 100px); }
    .lenses-select-option .info-head {
      display: flex;
      justify-content: space-between; }
    .lenses-select-option .info-name {
      text-align: left;
      margin: 0;
      font-weight: bold; }
    .lenses-select-option .info-desc {
      margin-top: .5rem; }
    .lenses-select-option:hover {
      background-color: #f4f3ec; }
  .lenses-details-body {
    margin: 1.25rem 0; }
  .lenses-details-item {
    margin-bottom: 1rem; }
    .lenses-details-item-name {
      margin-bottom: 0.25rem;
      font-weight: bold; }
    .lenses-details-item-vp {
      display: flex;
      justify-content: space-between; }
    .lenses-details-item-price {
      font-weight: bold;
      margin-left: 1rem; }
  .lenses-details-footer {
    padding: 1.25rem 1.25rem 0;
    margin: 0 -1.25rem 1.25rem;
    border-top: solid 1px var(--lenses-color-line); }
    .lenses-details-footer-subtotal {
      display: flex;
      justify-content: space-between;
      font-weight: bold;
      margin-bottom: 1rem; }
    .lenses-details-footer-add-to-cart {
      display: flex;
      justify-content: flex-end;
      padding-top: 1rem; }
  .lenses-btn--add-to-cart {
    width: 300px;
    max-width: 100%;
    margin: 0; }
    .lenses-btn--add-to-cart .icon-loading {
      display: none; }
    .lenses-btn--add-to-cart:disabled .icon-loading {
      display: inline-block;
      margin-top: -3px;
      width: 1rem;
      height: 1rem;
      margin-right: 4px; }

.lenses-prescription-file .file-name {
  margin-top: .5rem;
  width: 100%; }
  @media (min-width: 767.98px) {
    .lenses-prescription-file .file-name {
      margin-top: 0px;
      margin-left: 10px;
      width: auto; } }

.Cart.Drawer__Content .Drawer__Container {
  margin: 40px 0; }

.Cart.Drawer__Content .cart-item-image {
  width: 100%; }

.Cart.Drawer__Content .cart-item-body {
  width: 100%; }

.cart-item {
  display: flex;
  flex-wrap: wrap;
  padding: 1.5rem 1rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  margin-bottom: 2rem;
  position: relative;
  background-color: #fff; }
  .cart-item[data-type=lens] {
    display: none !important; }
  .cart-item-image {
    width: 50%;
    padding-right: 1.25rem; }
    .cart-item-image img {
      width: 100%; }
  .cart-item-body {
    position: relative;
    width: 50%;
    padding-bottom: 2rem; }
  @media (max-width: 767.98px) {
    .cart-item-image {
      width: 100%; }
    .cart-item-body {
      width: 100%; } }
  .cart-item-info {
    margin-bottom: 0.5rem; }
    .cart-item-info--subtital {
      position: absolute;
      bottom: 0;
      font-weight: bold;
      left: 0;
      width: 100%;
      margin: 0; }
  .cart-item-close-btn {
    position: absolute;
    top: -10px;
    right: -10px;
    border-radius: 50%;
    padding: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 30px;
    height: 30px;
    border: none;
    z-index: 1;
    background-color: #fff; }
    .cart-item-close-btn > svg {
      width: 100%;
      height: 100%;
      display: block;
      box-sizing: border-box; }

.lenses-prescription-content {
  margin: 0 -20px; }
  .lenses-prescription-content > .row {
    padding: 20px 0; }
    @media (min-width: 768px) {
      .lenses-prescription-content > .row {
        padding: 20px 15px; } }
    .lenses-prescription-content > .row:not(:first-child) {
      border-top: solid 1px var(--lenses-color-line); }
  .lenses-prescription-content .lenses-prescription-table > .col,
  .lenses-prescription-content .lenses-prescription-table .col-pd {
    text-align: center; }
    .lenses-prescription-content .lenses-prescription-table > .col > .row > div,
    .lenses-prescription-content .lenses-prescription-table .col-pd > .row > div {
      height: 2.6rem;
      padding: 0 7.5px;
      line-height: 2.6rem;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
      .lenses-prescription-content .lenses-prescription-table > .col > .row > div > span,
      .lenses-prescription-content .lenses-prescription-table .col-pd > .row > div > span {
        width: 100%;
        line-height: 1;
        display: block; }
        .lenses-prescription-content .lenses-prescription-table > .col > .row > div > span:last-child,
        .lenses-prescription-content .lenses-prescription-table .col-pd > .row > div > span:last-child {
          font-size: .8rem; }
  .lenses-prescription-content .zq-select {
    height: 2.6rem;
    line-height: 1.6rem;
    border-color: transparent;
    border-bottom-color: var(--lenses-color-line); }
  .lenses-prescription-content .zq-btn {
    line-height: 2;
    color: #fff;
    font-weight: bold;
    font-size: .8rem;
    cursor: pointer;
    transition: all .3s;
    margin: 0;
    background-color: #000;
    padding: 8px 20px;
    min-width: 200px;
    text-align: center; }
  .lenses-prescription-content .checkbox-icon {
    border: solid 1px #000;
    border-radius: 3px;
    width: 1.2rem;
    height: 1.2rem;
    display: inline-block;
    vertical-align: top;
    margin-top: 2px; }
    .lenses-prescription-content .checkbox-icon > svg {
      width: 100%;
      height: 100%;
      display: block; }

.lenses-prescription-table-info {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  line-height: 30px;
  width: 100%; }
  .lenses-prescription-table-info > div {
    display: flex;
    width: 100%;
    flex-wrap: wrap; }
    .lenses-prescription-table-info > div:last-child > div {
      border-bottom: solid 1px var(--lenses-color-line); }
      .lenses-prescription-table-info > div:last-child > div:last-child {
        flex: calc(66.6666% + 1px) 0; }
    .lenses-prescription-table-info > div > div {
      flex: 1 1;
      height: 30px;
      border-top: solid 1px var(--lenses-color-line);
      border-left: solid 1px var(--lenses-color-line); }
      .lenses-prescription-table-info > div > div:last-child {
        border-right: solid 1px var(--lenses-color-line); }
  @media (min-width: 768px) {
    .lenses-prescription-table-info > div {
      flex: 1 1; }
      .lenses-prescription-table-info > div:last-child > div {
        border-right: solid 1px var(--lenses-color-line); }
        .lenses-prescription-table-info > div:last-child > div:first-child {
          border-bottom: none; }
        .lenses-prescription-table-info > div:last-child > div:last-child {
          height: 60px;
          line-height: 60px;
          flex: 100% 0;
          border-right: solid 1px var(--lenses-color-line); }
      .lenses-prescription-table-info > div > div {
        flex: 100% 0; }
        .lenses-prescription-table-info > div > div:last-child {
          border-right: none;
          border-bottom: solid 1px var(--lenses-color-line); } }

@media (min-width: 768px) {
  .Cart.Drawer__Content .lenses-prescription-table-info > div {
    flex: 100% 0; }
    .Cart.Drawer__Content .lenses-prescription-table-info > div:last-child > div {
      border-right: solid 1px var(--lenses-color-line);
      border-bottom: none; }
      .Cart.Drawer__Content .lenses-prescription-table-info > div:last-child > div:first-child {
        border-right: none;
        border-bottom: solid 1px var(--lenses-color-line); }
      .Cart.Drawer__Content .lenses-prescription-table-info > div:last-child > div:last-child {
        height: 30px;
        line-height: 30px;
        flex: calc(66.6666%) 0;
        border-right: solid 1px var(--lenses-color-line);
        border-bottom: solid 1px var(--lenses-color-line); }
    .Cart.Drawer__Content .lenses-prescription-table-info > div > div {
      flex: 1 1; }
      .Cart.Drawer__Content .lenses-prescription-table-info > div > div:last-child {
        border-right: solid 1px var(--lenses-color-line);
        border-bottom: none; } }

.Cart__NoteButton {
  text-decoration: underline; }

.text-color-active {
  color: var(--lenses-color-active); }

.font-weight-bold {
  font-weight: bold; }

.lenses-prescription-row {
  display: flex;
  padding: 30px 15px;
  border-bottom: solid 1px var(--lenses-color-line);
  align-items: center;
  line-height: 1.25;
  justify-content: space-between; }
  .lenses-prescription-row-body {
    display: flex; }
  .lenses-prescription-row-icon {
    padding-right: 20px; }
    .lenses-prescription-row-icon svg {
      width: 50px;
      height: 50px;
      display: block; }
  .lenses-prescription-row-button-wrap {
    flex: 0 0;
    padding-left: 20px; }
  .lenses-prescription-row-button {
    width: 140px;
    background: #000;
    color: #fff;
    padding: 6px 0;
    font-size: 0.9rem;
    font-weight: bold; }
  @media (max-width: 767.98px) {
    .lenses-prescription-row {
      flex-wrap: wrap;
      justify-content: flex-start; }
      .lenses-prescription-row-body {
        width: 100%; }
      .lenses-prescription-row-icon {
        display: none; }
      .lenses-prescription-row-button-wrap {
        padding-left: 0;
        margin-top: 15px; } }

.lenses-prescription-row-content {
  padding: 15px;
  margin: 20px 0;
  justify-content: space-between;
  display: none; }
  .lenses-prescription-row-content-text {
    max-width: 400px;
    padding: 0 15px;
    margin: 0 auto 15px; }
  .lenses-prescription-row-content-footer {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 767.98px) {
      .lenses-prescription-row-content-footer {
        flex-wrap: wrap; }
        .lenses-prescription-row-content-footer > div {
          width: 100%;
          margin-top: 15px;
          text-align: center; } }

.lenses-prescription-confirm-button {
  width: 140px;
  background: #000;
  color: #fff;
  padding: 10px 0;
  font-size: 0.9rem;
  font-weight: bold;
  line-height: 1.25; }

.lenses-prescription-file-label {
  width: 280px;
  height: 280px;
  display: block;
  border: solid 1px #333;
  margin: 20px auto;
  text-align: center;
  line-height: 280px;
  cursor: pointer;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }

.lenses-prescription-file-text {
  position: relative;
  z-index: -1; }

.lenses-prescription-link svg {
  width: 1.25rem;
  height: 1.25rem;
  vertical-align: text-bottom;
  margin-right: .5rem; }

/*# sourceMappingURL=custom.min.css.map */