/* COLORS */
/* SIZES */
/* FONTS */
/* ANIMATIONS */
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotation-inverse {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes scale-out-center {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
}
@keyframes slide-next {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0;
  }
}
@keyframes slide-from-next {
  0% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
    opacity: 1;
  }
}
@keyframes slide-prev {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0;
  }
}
@keyframes slide-from-prev {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes shift-from-bottom {
  0% {
    top: -15px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes swapIn {
  0% {
    transform: scale(1);
  }
  80% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(0.5);
  }
}
@keyframes fadeOut {
  0% {
    transform: scale(0.9);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/* MIXINS */
body,
html {
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility;
  background-color: #fff;
  font-size: 14px;
  line-height: 16px;
  font-family: "Mulish";
  box-sizing: border-box;
  min-height: 100vh;
  height: auto;
}
body * {
  box-sizing: border-box;
  font-family: "Mulish";
}
body *:after {
  box-sizing: border-box;
}
body *:before {
  box-sizing: border-box;
}
@media print {
  body * {
    color: #000 !important;
  }
}
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
textarea {
  overflow: auto;
}
@media print {
  @page {
    margin-top: 0;
    margin-left: 1cm;
    margin-right: 1cm;
    margin-bottom: 0;
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotation-inverse {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}
loader.loader {
  position: fixed;
  top: 0;
  bottom: auto;
  left: 0;
  right: auto;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.6);
  z-index: calc(10000 + 10);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
loader.loader.inline {
  position: relative;
  width: auto;
  height: auto;
  z-index: auto;
}
loader.loader.inline .loader-gears {
  width: 30px;
  height: 30px;
}
loader.loader.inline .loader-gears svg.big-gear {
  width: 30px;
  height: 30px;
  top: 0;
}
loader.loader.inline .loader-gears svg.small-gear {
  display: none;
}
loader.loader .loader-gears {
  position: relative;
  width: 110px;
  height: 70px;
}
loader.loader .loader-gears svg {
  fill: #000000;
}
loader.loader .loader-gears svg.big-gear {
  position: absolute;
  top: 15px;
  bottom: auto;
  left: 0;
  right: auto;
  width: 55px;
  height: 55px;
  animation: rotation 1s linear infinite both;
}
.inlineloader.loader .loader-gears svg.big-gear {
  width: 30px;
  height: 30px;
  top: 0;
}
loader.loader .loader-gears svg.small-gear {
  position: absolute;
  top: 0;
  bottom: auto;
  left: 55px;
  right: auto;
  width: 35px;
  height: 35px;
  animation: rotation-inverse 0.9s linear infinite both;
}
loader.loader .loader-message {
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  font-family: "Mulish";
  color: #000000;
  margin: 10px 0 0;
  user-select: none;
}

@keyframes circle-percent {
  0% {
    content: '1%';
  }
  1% {
    content: '1%';
  }
  2% {
    content: '2%';
  }
  3% {
    content: '3%';
  }
  4% {
    content: '4%';
  }
  5% {
    content: '5%';
  }
  6% {
    content: '6%';
  }
  7% {
    content: '7%';
  }
  8% {
    content: '8%';
  }
  9% {
    content: '9%';
  }
  10% {
    content: '10%';
  }
  11% {
    content: '11%';
  }
  12% {
    content: '12%';
  }
  13% {
    content: '13%';
  }
  14% {
    content: '14%';
  }
  15% {
    content: '15%';
  }
  16% {
    content: '16%';
  }
  17% {
    content: '17%';
  }
  18% {
    content: '18%';
  }
  19% {
    content: '19%';
  }
  20% {
    content: '20%';
  }
  21% {
    content: '21%';
  }
  22% {
    content: '22%';
  }
  23% {
    content: '23%';
  }
  24% {
    content: '24%';
  }
  25% {
    content: '25%';
  }
  26% {
    content: '26%';
  }
  27% {
    content: '27%';
  }
  28% {
    content: '28%';
  }
  29% {
    content: '29%';
  }
  30% {
    content: '30%';
  }
  31% {
    content: '31%';
  }
  32% {
    content: '32%';
  }
  33% {
    content: '33%';
  }
  34% {
    content: '34%';
  }
  35% {
    content: '35%';
  }
  36% {
    content: '36%';
  }
  37% {
    content: '37%';
  }
  38% {
    content: '38%';
  }
  39% {
    content: '39%';
  }
  40% {
    content: '40%';
  }
  41% {
    content: '41%';
  }
  42% {
    content: '42%';
  }
  43% {
    content: '43%';
  }
  44% {
    content: '44%';
  }
  45% {
    content: '45%';
  }
  46% {
    content: '46%';
  }
  47% {
    content: '47%';
  }
  48% {
    content: '48%';
  }
  49% {
    content: '49%';
  }
  50% {
    content: '50%';
  }
  51% {
    content: '51%';
  }
  52% {
    content: '52%';
  }
  53% {
    content: '53%';
  }
  54% {
    content: '54%';
  }
  55% {
    content: '55%';
  }
  56% {
    content: '56%';
  }
  57% {
    content: '57%';
  }
  58% {
    content: '58%';
  }
  59% {
    content: '59%';
  }
  60% {
    content: '60%';
  }
  61% {
    content: '61%';
  }
  62% {
    content: '62%';
  }
  63% {
    content: '63%';
  }
  64% {
    content: '64%';
  }
  65% {
    content: '65%';
  }
  66% {
    content: '66%';
  }
  67% {
    content: '67%';
  }
  68% {
    content: '68%';
  }
  69% {
    content: '69%';
  }
  70% {
    content: '70%';
  }
  71% {
    content: '71%';
  }
  72% {
    content: '72%';
  }
  73% {
    content: '73%';
  }
  74% {
    content: '74%';
  }
  75% {
    content: '75%';
  }
  76% {
    content: '76%';
  }
  77% {
    content: '77%';
  }
  78% {
    content: '78%';
  }
  79% {
    content: '79%';
  }
  80% {
    content: '80%';
  }
  81% {
    content: '81%';
  }
  82% {
    content: '82%';
  }
  83% {
    content: '83%';
  }
  84% {
    content: '84%';
  }
  85% {
    content: '85%';
  }
  86% {
    content: '86%';
  }
  87% {
    content: '87%';
  }
  88% {
    content: '88%';
  }
  89% {
    content: '89%';
  }
  90% {
    content: '90%';
  }
  91% {
    content: '91%';
  }
  92% {
    content: '92%';
  }
  93% {
    content: '93%';
  }
  94% {
    content: '94%';
  }
  95% {
    content: '95%';
  }
  96% {
    content: '96%';
  }
  97% {
    content: '97%';
  }
  98% {
    content: '98%';
  }
  99% {
    content: '98%';
  }
  100% {
    content: '98%';
  }
}
@keyframes spinning-circle {
  0% {
    clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
  }
  20% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
  }
  40% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
  }
  60% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
  }
  80% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 7%);
  }
  100% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 7%);
  }
}
.anim-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Mulish", sans-serif;
}
.anim-circle div {
  box-sizing: content-box;
}
.anim-circle__text {
  font-size: 14px;
  text-align: center;
  white-space: nowrap;
  margin: 0 0 20px;
}
.anim-circle__box {
  width: 100px;
  height: 100px;
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}
.anim-circle__spinner {
  width: 86px;
  aspect-ratio: 1;
  border: 6px solid #000;
  border-radius: 50%;
  position: relative;
  transform: rotate(45deg);
  animation: spinning-circle 6s infinite linear, spinning-circle 1s infinite linear;
  animation-delay: 0s, 5.2s;
}
.anim-circle__box:before {
  position: absolute;
  z-index: 4;
  content: '';
  top: 0;
  left: calc(50% - 3px);
  display: block;
  width: 3px;
  height: 6px;
  background-color: transparent;
}
.anim-circle__box:after {
  position: absolute;
  z-index: 4;
  top: 32px;
  left: 50%;
  content: '1%';
  font-size: 25px;
  font-weight: 500;
  line-height: normal;
  transform: translateX(-50%);
  display: block;
  animation-name: circle-percent;
  animation-duration: 5s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
.m-small .anim-circle__text {
  font-size: 10px;
  margin: 0 0 5px;
}
.m-small .anim-circle__box {
  width: 50px;
  height: 50px;
}
.m-small .anim-circle__box:before {
  left: calc(50% - 2px);
  width: 2px;
  height: 3px;
}
.m-small .anim-circle__box:after {
  top: 13px;
  font-size: 14px;
  line-height: 20px;
}
.m-small .anim-circle__spinner {
  width: 43px;
  border: 2px solid #000;
}
.m-tiny .anim-circle__text {
  margin: 0 0 3px;
  font-size: 6px;
}
.m-tiny .anim-circle__box {
  width: 30px;
  height: 30px;
}
.m-tiny .anim-circle__box:before {
  left: calc(50% - 1px);
  width: 1px;
  height: 2px;
}
.m-tiny .anim-circle__box:after {
  top: 6px;
  font-size: 10px;
  line-height: 16px;
}
.m-tiny .anim-circle__spinner {
  width: 25px;
  border: 1px solid #000;
}

book-flipper {
  position: relative;
  background: #fff;
  box-shadow: 0px 3px 10px 3px rgba(0, 0, 0, 0.1);
  z-index: 1;
}
book-flipper:before {
  content: "";
  position: absolute;
  background-image: url(/app/dist/assets/apps/core/components/book-flipper/images/note-34f90eb9.svg);
  background-size: contain;
  pointer-events: none;
  width: calc(50% - 50px);
  height: calc(100% - 50px);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  top: 25px;
  left: 25px;
}
@media only screen and (max-width: 800px) {
  book-flipper:before {
    background-image: url(/app/dist/assets/apps/core/components/book-flipper/images/note-mobile-7184af91.svg);
    top: 10px;
    left: 10px;
    width: calc(50% - 20px);
    height: calc(100% - 20px);
  }
}
book-flipper:after {
  content: "";
  position: absolute;
  background: #fff;
  pointer-events: none;
  width: 100%;
  height: calc(100% - 2px);
  top: 1px;
  left: 0;
  z-index: -1;
}
book-flipper .page {
  background: #fff;
  height: 100%;
}
book-flipper .page.cover div {
  background-size: cover;
}
book-flipper .page.left div {
  background-position-x: left;
}
book-flipper .page.right div {
  background-position-x: right;
}
book-flipper .page div {
  background-repeat: no-repeat;
  background-position-y: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}
book-flipper .page.cover div {
  background-size: cover;
}
book-flipper .stf__block:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: #D2D2D2;
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
}

.product-embed {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-embed-wrapper {
  margin: auto;
  position: relative;
}
.product-embed-wrapper .book-flipper {
  /**/
}
.product-embed-wrapper .logo {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100px;
  height: auto;
  z-index: 10;
}
.product-embed-wrapper .logo img {
  width: 100%;
}

