/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.button-link {
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  height: 3rem;
  border-radius: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.0625rem;
  padding: 0 2rem; }

.button-link-content {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }

.button-link-content-loader-and-placeholder {
  display: flex;
  flex-direction: column; }

.button-link-content-loader-and-placeholder .icon {
  margin-left: 1.25rem; }

.button-link__title:after {
  display: block;
  content: attr(data-title);
  font-weight: bold;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  padding: 0 0.1875rem; }

.button-link:hover .button-link__title, .button-link:active .button-link__title {
  font-weight: bold; }

.button-link.white {
  color: #000000;
  border: solid 0.0625rem #000000;
  background-color: #ffffff; }

.button-link.black {
  color: #ffffff;
  background-color: #000000; }

.button-link.red {
  color: #ffffff;
  background-color: #d70000; }

.button-link.transparent_black {
  color: #000000;
  background-color: transparent;
  border: 0.0625rem solid #000000; }

.button-link.transparent_white {
  background-color: transparent;
  color: #ffffff;
  border: 0.0625rem solid #ffffff; }

.button-link.disabled {
  opacity: 0.2;
  pointer-events: none;
  cursor: auto; }

.button-link.round {
  border-radius: 50%;
  border: 0;
  padding: 0;
  width: 3rem;
  height: 3rem; }

.button-link.round .icon {
  margin: 0; }

.button-link .icon {
  margin-right: 0.75rem; }

.button-link .icon svg {
  width: 1.25rem;
  height: 1.25rem; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.label-field {
  font-size: 0.9375rem;
  margin-bottom: 0.5rem; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.text-field {
  display: inline-flex;
  flex-direction: column;
  position: relative; }

.text-field .input {
  display: inline-flex;
  align-items: center;
  height: 3.0625rem;
  padding: 0.5rem 1.25rem;
  box-sizing: border-box;
  border: 0.0625rem solid #cecece;
  background-color: white;
  border-radius: 0.3125rem; }

.text-field .input .icon {
  margin-right: 0.5rem; }

.text-field .input .icon svg {
  width: 1.25rem;
  height: 1.25rem; }

.text-field .input .icon.text-field__validation-tick {
  position: absolute;
  top: 0.9375rem;
  right: 0.8125rem;
  z-index: 1; }

.text-field .input .icon.text-field__validation-tick svg {
  width: 0.8125rem;
  height: 0.5625rem; }

.text-field .input:focus-within {
  box-shadow: 0 0 0.0625rem 0.0625rem #757575 inset; }

.text-field .input textarea,
.text-field .input input {
  border: 0;
  font-size: 0.9375rem;
  width: 100%;
  box-sizing: border-box;
  background-color: transparent;
  outline: none; }

.text-field .input textarea {
  height: 90%;
  align-self: flex-end;
  overflow: auto;
  resize: none; }

.text-field.has-error .input {
  border: 0.0625rem solid #d70000; }

.text-field--black-bordered .input {
  border-color: #000000; }

.text-field.placeholder-with-label .input {
  padding: 1rem 1.25rem 0; }

.text-field.placeholder-with-label .input textarea::-webkit-input-placeholder, .text-field.placeholder-with-label .input input::-webkit-input-placeholder {
  opacity: 0; }

.text-field.placeholder-with-label .input textarea::-moz-placeholder, .text-field.placeholder-with-label .input input::-moz-placeholder {
  opacity: 0; }

.text-field.placeholder-with-label .input textarea:-ms-input-placeholder, .text-field.placeholder-with-label .input input:-ms-input-placeholder {
  opacity: 0; }

.text-field.placeholder-with-label .input textarea::-ms-input-placeholder, .text-field.placeholder-with-label .input input::-ms-input-placeholder {
  opacity: 0; }

.text-field.placeholder-with-label .input textarea::placeholder,
.text-field.placeholder-with-label .input input::placeholder {
  opacity: 0; }

.text-field.placeholder-with-label .input textarea::-webkit-input-placeholder, .text-field.placeholder-with-label .input input.focus-visible::-webkit-input-placeholder {
  opacity: 1;
  background-color: white;
  font-size: 0.8125rem; }

.text-field.placeholder-with-label .input textarea::-moz-placeholder, .text-field.placeholder-with-label .input input.focus-visible::-moz-placeholder {
  opacity: 1;
  background-color: white;
  font-size: 0.8125rem; }

.text-field.placeholder-with-label .input textarea:-ms-input-placeholder, .text-field.placeholder-with-label .input input.focus-visible:-ms-input-placeholder {
  opacity: 1;
  background-color: white;
  font-size: 0.8125rem; }

.text-field.placeholder-with-label .input textarea::-ms-input-placeholder, .text-field.placeholder-with-label .input input.focus-visible::-ms-input-placeholder {
  opacity: 1;
  background-color: white;
  font-size: 0.8125rem; }

.text-field.placeholder-with-label .input textarea::placeholder,
.text-field.placeholder-with-label .input input.focus-visible::placeholder {
  opacity: 1;
  background-color: white;
  font-size: 0.8125rem; }

.text-field .error-text {
  margin-top: 0.1875rem;
  text-align: right;
  font-size: 0.8125rem;
  line-height: 0.8125rem;
  min-height: 0.8125rem;
  color: #d70000; }

.text-field.floating-label label {
  position: absolute;
  left: 1.25rem;
  top: 1.125rem;
  transition: font-size 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, top 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  color: #757575;
  font-size: 0.8125rem;
  max-width: calc( 100% - 2.5rem);
  text-overflow: ellipsis;
  height: 0.9375rem;
  overflow: hidden;
  white-space: nowrap; }

.text-field.floating-label input {
  margin-left: -0.3125rem; }

.text-field.floating-label .input:focus-within {
  box-shadow: 0 0 0.0625rem 0.0625rem #757575 inset;
  padding: 1rem 1.25rem 0; }

.text-field.floating-label .input:focus-within ~ label {
  font-size: 0.6875rem;
  top: 0.625rem; }

.text-field.floating-label.has-value label, .text-field.floating-label.date-field label {
  font-size: 0.6875rem;
  top: 0.625rem; }

.text-field.floating-label.has-value .input, .text-field.floating-label.date-field .input {
  padding: 1rem 1.25rem 0; }

@supports (-ms-ime-align: auto) {
  .text-field.floating-label {
    /* EDGE CSS styles go here */ }
  .text-field.floating-label.placeholder-with-label input::-ms-input-placeholder {
    opacity: 1; }
  .text-field.floating-label.placeholder-with-label input.focus-visible::-ms-input-placeholder {
    opacity: 0; }
  .text-field.floating-label label {
    top: 0.625rem;
    font-size: 0.6875rem; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .text-field.floating-label {
    /* IE10+ CSS styles go here */ }
  .text-field.floating-label.placeholder-with-label input::-ms-input-placeholder {
    opacity: 1; }
  .text-field.floating-label.placeholder-with-label input.focus-visible::-ms-input-placeholder {
    opacity: 0; }
  .text-field.floating-label label {
    top: 0.625rem;
    font-size: 0.6875rem; } }

.text-field.floating-label.has-error label {
  color: #d70000; }

.text-field.disabled {
  color: #757575; }

.text-field.disabled .input {
  background-color: #f6f6f6; }

.text-field.disabled .input input {
  background-color: #f6f6f6;
  color: #757575; }

@-webkit-keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1); }
  50% {
    transform: rotate(180deg) scale(0.6); }
  100% {
    transform: rotate(360deg) scale(1); } }

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1); }
  50% {
    transform: rotate(180deg) scale(0.6); }
  100% {
    transform: rotate(360deg) scale(1); } }

.ball-clip-rotate > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 25px;
  width: 25px;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
          animation: rotate 0.75s 0s linear infinite; }

@-webkit-keyframes scale {
  0% {
    transform: scale(1);
    opacity: 1; }
  45% {
    transform: scale(0.1);
    opacity: 0.7; }
  80% {
    transform: scale(1);
    opacity: 1; } }

@keyframes scale {
  0% {
    transform: scale(1);
    opacity: 1; }
  45% {
    transform: scale(0.1);
    opacity: 0.7; }
  80% {
    transform: scale(1);
    opacity: 1; } }

.ball-pulse > div:nth-child(0) {
  -webkit-animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(1) {
  -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(2) {
  -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(3) {
  -webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.product-engraving {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  .product-engraving-preview {
    flex: 1;
    height: 5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #f6f6f6; }
    .product-engraving-preview__icon {
      width: 1.25rem;
      height: 1.25rem; }
    .product-engraving-preview__text {
      margin-top: 0.5625rem;
      font-size: 0.8125rem; }
  .product-engraving-legend {
    margin-left: 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center; }
    .product-engraving-legend-informations {
      display: flex;
      flex-direction: column; }
      .product-engraving-legend-informations__price {
        margin-top: 0.375rem;
        font-size: 0.9375rem;
        font-family: "Century Gothic Std Bold"; }
    .product-engraving-legend__actions {
      display: flex;
      justify-content: space-between;
      margin-top: 0.625rem;
      width: 100%;
      line-height: 1.25rem; }
      .product-engraving-legend__actions li + li {
        height: 100%;
        padding-left: 3.125rem;
        margin-left: 1.5625rem;
        border-left: 0.0625rem solid #e5e5e5; }
      .product-engraving-legend__actions button {
        font-size: 0.9375rem;
        text-decoration: underline; }
        .product-engraving-legend__actions button:hover {
          font-weight: bold; }
  .product-engraving-information-box {
    width: 100%;
    margin-top: 0.3125rem;
    line-height: 1.5rem; }
  @media screen and (max-width: 49.9375rem) {
    .product-engraving-preview {
      flex: 1;
      height: 6.0625rem; }
    .product-engraving-legend {
      margin-left: 0.625rem; }
      .product-engraving-legend-informations__price {
        margin-top: 0.5rem; }
      .product-engraving-legend__actions {
        margin-top: 0.5rem;
        display: block; }
        .product-engraving-legend__actions li + li {
          padding-left: 0;
          margin-left: 0;
          line-height: 1.5rem;
          border-left: none; }
    .product-engraving-information-box {
      margin: 0.3125rem 1.25rem; } }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.confirm-engraving {
  display: flex;
  flex-direction: column;
  width: 42.5rem;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2.1875rem; }
  .confirm-engraving__title {
    margin-bottom: 0.625rem; }
  .confirm-engraving__description {
    line-height: 1.5rem; }
  .confirm-engraving__button {
    margin: 1.25rem 0; }
  .confirm-engraving__back-to-shopping-link__text {
    text-decoration: underline; }
    .confirm-engraving__back-to-shopping-link__text:hover {
      font-weight: bold; }
  @media screen and (max-width: 49.9375rem) {
    .confirm-engraving {
      width: auto;
      padding: 0 1.3125rem; } }

