@font-face {
  font-family: "halcom-book";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Halcom-Book.otf") format("opentype"); }

.main-button, .feature-designer a {
  font-size: 15px;
  line-height: 36px;
  font-family: "halcom-bold", sans-serif;
  letter-spacing: -0.7px;
  color: #000;
  background: #fff;
  text-align: center;
  border-radius: 4px;
  padding-left: 20px;
  padding-right: 20px;
  border: 2px solid #682f71;
  transition: all 0.3s ease-in-out; }
  @media screen and (min-width: 900px) {
    .main-button, .feature-designer a {
      font-size: 17px;
      letter-spacing: -0.9px;
      background: #fff;
      color: #000; }
      .main-button:hover, .feature-designer a:hover {
        background: #682f71; } }

.default-plp {
  margin-top: 17.47px; }

.default-plp .share-section {
  display: none; }
  @media screen and (min-width: 900px) {
    .default-plp .share-section {
      display: block;
      text-align: end;
      margin-top: 8px;
      position: relative; }
      .default-plp .share-section a[data-dropdown="share-drp"] {
        text-decoration: underline;
        font-size: 14px;
        line-height: 17px;
        color: #74747E; }
        .default-plp .share-section a[data-dropdown="share-drp"] .icon {
          float: none;
          width: 32px;
          height: 32px;
          margin-right: 10px; }
      .default-plp .share-section .socialLinks.dropdown-menu.is-open {
        background: #fff;
        border: 1px solid #ccc;
        padding: 10px;
        border-radius: 3px;
        top: 40px !important; } }

@media screen and (min-width: 900px) {
  .productView {
    margin-top: 32px; } }

.productView-thumbnails .slick-arrow.slick-next::before, .productView-thumbnails .slick-arrow.slick-prev::before {
  height: 16px;
  background: url("../img/prd/arrow-FreeSpirit.svg") no-repeat; }

.productView-thumbnails .slick-next::before {
  transform: rotate(90deg); }

.productView-thumbnails .slick-prev::before {
  transform: rotate(270deg); }

.skuUPC {
  margin-top: 19.56px;
  gap: 24px; }
  @media screen and (min-width: 900px) {
    .skuUPC {
      margin-top: 25.56px;
      gap: 32px; } }
  .skuUPC div, .skuUPC span {
    font-size: 13px;
    line-height: 15px;
    color: #74747e;
    font-family: halcom-book, "san-serif"; }
    @media screen and (min-width: 900px) {
      .skuUPC div, .skuUPC span {
        font-size: 15px;
        line-height: 18px; } }

.productView-title {
  font-family: halcom-bold, "san-serif"; }

.priceRating .price[data-product-price-without-tax] {
  font-family: halcom-bold, "san-serif"; }

.productView-info .productView-info-name {
  font-family: halcom-medium, "san-serif"; }

.catCollction {
  display: block;
  margin-top: 20px;
  font-size: 15px;
  line-height: 19px;
  color: #682f71;
  font-family: halcom-bold, "san-serif";
  position: relative; }
  .catCollction:after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #682f71; }
  @media screen and (min-width: 900px) {
    .catCollction {
      font-size: 16px;
      line-height: 24px;
      letter-spacing: -0.08px; } }

.productView-options .form .add-to-cart-wrapper .form-field.form-field--increments label[for="qty[]"] {
  font-family: halcom, "san-serif"; }

.add-cart-btn {
  font-family: halcom-bold, "san-serif"; }

[data-product-option-change] .form-field .form-label {
  font-family: halcom-bold, "san-serif"; }

[data-product-option-change] .form-select {
  height: 36px;
  background-position: right 0.5rem center; }

.related-products, .Coordinating-products {
  margin-top: 48.48px; }
  @media screen and (min-width: 900px) {
    .related-products, .Coordinating-products {
      margin-top: 77.68px; } }
  .related-products .productCarousel, .Coordinating-products .productCarousel {
    margin: 0; }
  @media screen and (max-width: 900px) {
    .related-products .slick-arrow, .Coordinating-products .slick-arrow {
      display: none !important; } }
  @media screen and (min-width: 900px) {
    .related-products .slick-arrow, .Coordinating-products .slick-arrow {
      top: -60px;
      transform: none;
      margin-top: 0;
      width: 32px;
      height: 32px;
      background: #682f71;
      border-radius: 2px;
      border: none; }
      .related-products .slick-arrow::before, .Coordinating-products .slick-arrow::before {
        background-image: none;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        width: auto;
        height: auto; }
      .related-products .slick-arrow.slick-next, .Coordinating-products .slick-arrow.slick-next {
        right: 7px;
        transition: all .35s ease; }
        .related-products .slick-arrow.slick-next::before, .Coordinating-products .slick-arrow.slick-next::before {
          border-left: 11px solid #fff; }
      .related-products .slick-arrow.slick-prev, .Coordinating-products .slick-arrow.slick-prev {
        right: 49px;
        left: auto;
        transition: all .35s ease; }
        .related-products .slick-arrow.slick-prev::before, .Coordinating-products .slick-arrow.slick-prev::before {
          border-right: 11px solid #fff; } }
  .related-products .slick-next:focus,
  .related-products .slick-next:hover,
  .related-products .slick-prev:focus,
  .related-products .slick-prev:hover, .Coordinating-products .slick-next:focus,
  .Coordinating-products .slick-next:hover,
  .Coordinating-products .slick-prev:focus,
  .Coordinating-products .slick-prev:hover {
    outline: none !important;
    background-color: #EAD9DE !important; }
  .related-products .slick-dots, .Coordinating-products .slick-dots {
    display: none !important; }
  .related-products .productCarousel-slide, .Coordinating-products .productCarousel-slide {
    width: 318px !important;
    padding: 0;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 4px 10px #00000014;
    border-radius: 4px;
    margin-bottom: 10px; }
    .related-products .productCarousel-slide:not(:first-child), .Coordinating-products .productCarousel-slide:not(:first-child) {
      margin-left: 16px; }
  .related-products .card-img-container img, .Coordinating-products .card-img-container img {
    border-radius: 4px 4px 0 0; }
  .related-products .card-body [data-product-sku], .Coordinating-products .card-body [data-product-sku] {
    font-size: 14px; }
  .related-products .card-body .card-title, .Coordinating-products .card-body .card-title {
    font-size: 18px;
    line-height: 22px; }
  .related-products .card-body .list-btn, .Coordinating-products .card-body .list-btn {
    font-size: 15px; }
  .related-products .card-body .form-field.form-field--increments, .Coordinating-products .card-body .form-field.form-field--increments {
    max-width: 130px; }

.feature-designer {
  margin-top: 46.89px; }
  @media screen and (min-width: 900px) {
    .feature-designer {
      margin-top: 98px; } }
  .feature-designer .flex {
    flex-wrap: wrap; }
    @media screen and (max-width: 900px) {
      .feature-designer .flex {
        justify-content: start; } }
    @media screen and (min-width: 900px) {
      .feature-designer .flex {
        gap: 20px; } }
    @media screen and (min-width: 1100px) {
      .feature-designer .flex {
        gap: 93px; } }
  .feature-designer .content {
    width: 100%;
    text-align: center;
    padding-bottom: 66px; }
    @media screen and (min-width: 900px) {
      .feature-designer .content {
        width: calc(100% - 378px);
        text-align: left;
        padding-bottom: 0; } }
    @media screen and (min-width: 1100px) {
      .feature-designer .content {
        width: calc(100% - 558px); } }
  .feature-designer .image {
    width: 290px;
    position: relative; }
    @media screen and (min-width: 500px) {
      .feature-designer .image {
        margin: auto; } }
    @media screen and (min-width: 900px) {
      .feature-designer .image {
        margin: 0; } }
    @media screen and (min-width: 1100px) {
      .feature-designer .image {
        width: 365px; } }
    .feature-designer .image::after {
      content: '';
      position: absolute;
      width: 310px;
      height: 310px;
      left: 48px;
      top: 0px;
      background: #682f71;
      opacity: 0.1;
      z-index: -1; }
      @media screen and (min-width: 1100px) {
        .feature-designer .image::after {
          width: 389px;
          height: 389px; } }
    .feature-designer .image img {
      max-width: 100%;
      margin-top: -34px;
      max-height: 398px; }
  .feature-designer h4 {
    font-size: 14px;
    line-height: 28px;
    font-family: "halcom-medium", sans-serif;
    letter-spacing: -0.34px;
    color: #313131;
    margin-top: 0;
    margin-bottom: 8px;
    text-transform: uppercase; }
    @media screen and (min-width: 900px) {
      .feature-designer h4 {
        font-size: 17px;
        line-height: 28px;
        margin-bottom: 19px; } }
  .feature-designer p {
    font-size: 15px;
    line-height: 28px;
    color: #0f0f0f;
    margin-bottom: 26px; }
    @media screen and (min-width: 900px) {
      .feature-designer p {
        font-size: 18px;
        line-height: 28px; } }
  .feature-designer a {
    display: inline-block;
    background: #682f71;
    color: #fff; }

.modal .modal-close span {
  color: #682f71; }

.modal .modal-content .modal-header-title {
  font-family: "halcom-bold", sans-serif;
  letter-spacing: -0.34px;
  color: #313131; }

@media screen and (max-width: 899px) {
  .modal .modal-content .productView-details {
    width: 100% !important; } }

@media screen and (max-width: 800px) {
  .modal .modal-content .productView-details .productView-title {
    margin-top: 16px; } }

.modal .modal-content .productView-details .productView-price {
  margin-top: 20px; }

.modal .modal-content .productView-details .productView-info .productView-info-name {
  font-weight: 500;
  color: #313131; }

.modal .modal-content .previewCartCheckout .button--primary {
  font-size: 15px;
  line-height: 26px;
  font-family: "halcom-bold", sans-serif;
  letter-spacing: -0.7px;
  color: #fff;
  background: #682f71;
  border-radius: 4px;
  padding: 5px 14px;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: auto; }
  @media screen and (min-width: 900px) {
    .modal .modal-content .previewCartCheckout .button--primary {
      font-size: 17px;
      line-height: 28px;
      letter-spacing: -0.1px; } }
  .modal .modal-content .previewCartCheckout .button--primary:hover {
    border: 1px solid #682f71;
    color: #000;
    background: #fff; }

.modal .modal-content .previewCartCheckout .previewCartCheckout-price {
  font-family: "halcom-bold", sans-serif;
  color: #060606; }

.modal .modal-content .previewCartCheckout p {
  font-size: 14px;
  line-height: 22px; }
  @media screen and (min-width: 900px) {
    .modal .modal-content .previewCartCheckout p {
      font-size: 16px;
      line-height: 24px; } }

.modal .modal-content .previewCartCheckout .button:not(.button--primary) {
  font-size: 15px;
  line-height: 16px;
  font-family: "halcom-bold", sans-serif;
  letter-spacing: 0.16px;
  color: #0F0F0F;
  text-transform: capitalize;
  float: none;
  background-color: #fff;
  border-color: #0F0F0F;
  padding: 10px 14px; }
  @media screen and (min-width: 900px) {
    .modal .modal-content .previewCartCheckout .button:not(.button--primary) {
      font-size: 16px; } }
  .modal .modal-content .previewCartCheckout .button:not(.button--primary):hover {
    color: #682f71; }

.modal .writeReview-productDetails .product-brand {
  font-size: 16px;
  color: #74747e;
  font-family: 'halcom-bold';
  text-transform: capitalize; }

.modal .writeReview-productDetails .product-title {
  font-size: 18px;
  color: #000;
  font-family: 'halcom-bold';
  text-transform: capitalize; }

.modal .writeReview-form .form-field {
  margin: 0 0 1.5rem; }
  @media screen and (min-width: 900px) {
    .modal .writeReview-form .form-field {
      margin: 0 0 2rem; } }
  .modal .writeReview-form .form-field .form-label {
    font-family: "halcom-medium", sans-serif;
    color: #000; }
    .modal .writeReview-form .form-field .form-label small {
      color: #cc4749;
      font-size: 14px;
      float: none; }
  .modal .writeReview-form .form-field .form-input, .modal .writeReview-form .form-field .form-select {
    font-family: "halcom", sans-serif;
    color: #313131; }

.modal .writeReview-form .button {
  font-size: 15px;
  line-height: 40.73px;
  font-family: "halcom-bold", sans-serif;
  letter-spacing: -0.7px;
  color: #fff;
  background: #682f71;
  border-radius: 4px;
  padding: 0 14px;
  border: 1px solid transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: auto;
  margin-top: 0;
  margin-bottom: 0; }
  @media screen and (min-width: 900px) {
    .modal .writeReview-form .button {
      font-size: 17px;
      line-height: 38px;
      letter-spacing: -0.1px; } }
  .modal .writeReview-form .button:hover {
    border: 1px solid #682f71;
    color: #000;
    background: #fff; }
