@font-face {
  font-family: Petit;
  src: url("petit.ad6c5626.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Uppercase;
  src: url("CormorantSC-Regular.a5cca878.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Usual;
  src: url("CormorantUpright-Regular.3f55cc24.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Marcellus;
  src: url("MarcellusSC-Regular.7ddbffd8.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: MarcellusMini;
  src: url("Marcellus-Regular.28aa7ee3.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

.image {
  user-select: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.image.round {
  border-radius: 100%;
}

.image.full {
  background-size: contain;
  width: 100%;
  height: 100%;
}

@media (width <= 768px) {
  .image-gallery > div .image-gallery-thumbnails-wrapper .image-gallery-thumbnail, .image-gallery > div .image-gallery-thumbnails .image-gallery-thumbnail {
    max-height: 100px;
  }
}

@media (width >= 500px) {
  .visible-md {
    display: flex;
  }

  .hidden-md {
    display: none;
  }
}

@media (width <= 500px) {
  .visible-md {
    display: none;
  }

  .hidden-md {
    display: flex;
  }

  .gallery-close-button {
    margin: 20px;
    font-size: 2rem;
  }

  .image-gallery-slide .image-gallery-image {
    height: calc(100vh - 200px) !important;
  }
}

@media (width >= 860px) {
  .visible-lg {
    display: flex;
  }

  .hidden-lg {
    display: none;
  }
}

@media (width <= 860px) {
  .visible-lg {
    display: none;
  }
}

@media (width <= 1280px) {
  .visible-xl {
    display: none;
  }
}

@media (width >= 1280px) {
  .lg-letter-spacing-1 {
    letter-spacing: 7px;
  }

  .visible-xl {
    display: flex;
  }

  .hidden-xl {
    display: none;
  }
}

.home0 {
  background-image: url("home0.c188304c.jpg");
}

.home1 {
  background-image: url("home1.24193806.jpg");
}

.home2 {
  background-image: url("home2.b558a7c9.jpg");
}

.home3 {
  background-image: url("home3.2eab9317.jpg");
}

.home4 {
  background-image: url("home4.941685ec.jpg");
}

.home5 {
  background-image: url("home5.cef1dc75.jpg");
  background-position-y: 73%;
}

.image.dolls {
  background-image: url("dolls.ad684a79.jpg");
}

.animals {
  background-image: url("animals.c8f87fce.jpg");
}

.animals2 {
  background-image: url("animals2.5dd6b232.jpg");
}

.lana {
  background-image: url("lana.bd515262.jpg");
}

.lana2 {
  background-image: url("lana2.b2c210c1.jpg");
}

.luisa {
  background-image: url("luisa1.1e823878.jpg");
}

.luisa2 {
  background-image: url("luisa2.79fad089.jpg");
}

.image.centrino {
  background-image: url("centrino.5e5351a4.jpg");
}

.image.s-centrino {
  background-image: url("sfondo centrino.4da2d577.jpg");
}

.image.legni-materiali {
  background-image: url("legni-materiali.ecb541d7.jpg");
}

.image.bambina-cornice {
  background-image: url("bambina-cornice.a6e3f078.jpg");
}

.image.quattro-mani {
  background-image: url("quattro-mani.6129350b.jpg");
  background-size: 140%;
}

.image.coniglio {
  background-image: url("coniglio.b572b1ec.jpg");
}

.image.ciondolo {
  background-image: url("home2.b558a7c9.jpg");
}

.image.ciondoli {
  background-image: url("sfondo.db3cffdd.jpg");
}

.image.bambolina {
  background-image: url("bambolina.e61bb603.jpg");
}

.image.bambolina_native {
  background-image: url("bambolina_native.a33b2e28.jpg");
}

.mani {
  background-image: url("prova azzurro mani.c43f0693.jpg");
}

.jewels .landing .image, .dolls .landing .image {
  background-image: url("intestazione2.bdfe27c5.jpg");
}

.pendants .landing .image {
  background-image: url("sfondo2.a9fc6270.jpg");
  background-position: 16% 28%;
}

.image.dolls-cure {
  background-image: url("cura.4553a9dc.jpg");
}

.image.topen-macchina {
  background-image: url("topen-macchina.b4e8e035.png");
  width: 200px;
  height: 134px;
}

.image.pirata-skate {
  width: 200px;
  height: 231px;
  scale: -1 1;
}

.image.poddy-bici-verticale {
  z-index: 2;
  width: 280px;
  height: 393px;
}

.image.poddy-ruota {
  background-size: contain;
  width: 50%;
  height: 33%;
  position: absolute;
  top: 64%;
  left: 7%;
}

.image.poddy-ruotina {
  z-index: 3;
  width: 29px;
  height: 30px;
  position: absolute;
  top: 91%;
  left: 74%;
}

.image.pirografo {
  background-image: url("pirografo.28ca730e.jpg");
}

.image.cesto-lana {
  background-image: url("cesto-lana.09a6743d.jpg");
}

.image.packaging {
  background-image: url("packaging.4011fa3e.jpg");
}

.image.biglietto-visita {
  background-image: url("biglietto-visita.6eadf2f1.jpg");
}

.image.contatti-lavoro {
  background-image: url("contatti-lavoro.ad09bc94.jpg");
}

.image.contatti-gioia {
  background-image: url("contatti-gioia.c05bab9b.jpg");
}

.image.contatti-natura {
  background-image: url("natura-contatti.1fa8214e.jpg");
}

.image.mappa {
  background-image: url("montemagno.9b14d79f.jpg");
}

.image-frame.foxes .image {
  background-position-y: 8%;
}

.image.bagno-parole {
  background-image: url("sfondo.7e2f6eb8.png");
}

.animation-container {
  width: 144vw;
  min-height: 31vw;
  transform: translateX(-34vw);
}

.topi-banda {
  width: 268px;
  height: 160px;
  min-height: 160px;
  transform: translateX(-100%);
}

.topi-banda .image-group {
  width: 100%;
}

.banda-ruota {
  background-size: contain;
  position: absolute;
}

.banda-ruota:first-child {
  background-size: contain;
  width: 17%;
  height: 25%;
  top: 68%;
  left: 15.5%;
}

.banda-ruota:nth-child(2) {
  background-size: contain;
  width: 17%;
  height: 25%;
  top: 67.5%;
  left: 72.57%;
}

.banda-strada {
  width: 20%;
  height: 30%;
  position: absolute;
  bottom: 1%;
  left: 43vw;
  transform: scaleX(-1);
  background-size: contain !important;
}

.banda-carrozza {
  z-index: 3;
  width: 100vw;
  height: 100%;
  background-size: contain !important;
}

.image-gallery-icon {
  color: #fff;
  appearance: none;
  cursor: pointer;
  z-index: 4;
  filter: drop-shadow(0 2px 2px #1a1a1a);
  background-color: #0000;
  border: 0;
  outline: none;
  transition: all .3s ease-out;
  position: absolute;
}

@media (hover: hover) and (pointer: fine) {
  .image-gallery-icon:hover {
    color: #337ab7;
  }

  .image-gallery-icon:hover .image-gallery-svg {
    transform: scale(1.1);
  }
}

.image-gallery-icon:focus {
  outline: 2px solid #337ab7;
}

.image-gallery-using-mouse .image-gallery-icon:focus {
  outline: none;
}

.image-gallery-fullscreen-button, .image-gallery-play-button {
  padding: 20px;
  bottom: 0;
}

.image-gallery-fullscreen-button .image-gallery-svg, .image-gallery-play-button .image-gallery-svg {
  width: 28px;
  height: 28px;
}

@media (width <= 768px) {
  .image-gallery-fullscreen-button, .image-gallery-play-button {
    padding: 15px;
  }

  .image-gallery-fullscreen-button .image-gallery-svg, .image-gallery-play-button .image-gallery-svg {
    width: 24px;
    height: 24px;
  }
}

@media (width <= 480px) {
  .image-gallery-fullscreen-button, .image-gallery-play-button {
    padding: 10px;
  }

  .image-gallery-fullscreen-button .image-gallery-svg, .image-gallery-play-button .image-gallery-svg {
    width: 16px;
    height: 16px;
  }
}

.image-gallery-fullscreen-button {
  right: 0;
}

.image-gallery-play-button {
  left: 0;
}

.image-gallery-top-nav, .image-gallery-bottom-nav {
  padding: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.image-gallery-top-nav .image-gallery-svg, .image-gallery-bottom-nav .image-gallery-svg {
  width: 90px;
  height: 120px;
}

@media (width <= 768px) {
  .image-gallery-top-nav .image-gallery-svg, .image-gallery-bottom-nav .image-gallery-svg {
    width: 48px;
    height: 72px;
  }
}

@media (width <= 480px) {
  .image-gallery-top-nav .image-gallery-svg, .image-gallery-bottom-nav .image-gallery-svg {
    width: 36px;
    height: 48px;
  }
}

.image-gallery-top-nav[disabled], .image-gallery-bottom-nav[disabled] {
  cursor: disabled;
  opacity: .6;
  pointer-events: none;
}

.image-gallery-top-nav {
  top: 0;
}

.image-gallery-bottom-nav {
  bottom: 0;
}

.image-gallery-left-nav, .image-gallery-right-nav {
  padding: 50px 10px;
  top: 50%;
  transform: translateY(-50%);
}

.image-gallery-left-nav .image-gallery-svg, .image-gallery-right-nav .image-gallery-svg {
  width: 60px;
  height: 120px;
}

@media (width <= 768px) {
  .image-gallery-left-nav .image-gallery-svg, .image-gallery-right-nav .image-gallery-svg {
    width: 36px;
    height: 72px;
  }
}

@media (width <= 480px) {
  .image-gallery-left-nav .image-gallery-svg, .image-gallery-right-nav .image-gallery-svg {
    width: 24px;
    height: 48px;
  }
}

.image-gallery-left-nav[disabled], .image-gallery-right-nav[disabled] {
  cursor: disabled;
  opacity: .6;
  pointer-events: none;
}

.image-gallery-left-nav {
  left: 0;
}

.image-gallery-right-nav {
  right: 0;
}

.image-gallery {
  user-select: none;
  -o-user-select: none;
  -webkit-tap-highlight-color: #0000;
  position: relative;
}

.image-gallery.fullscreen-modal {
  z-index: 5;
  background: #000;
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
}

.image-gallery.fullscreen-modal .image-gallery-content {
  top: 50%;
  transform: translateY(-50%);
}

.image-gallery-content {
  line-height: 0;
  position: relative;
  top: 0;
}

.image-gallery-content.fullscreen {
  background: #000;
}

.image-gallery-content .image-gallery-slide .image-gallery-image {
  max-height: calc(100vh - 80px);
}

.image-gallery-content.image-gallery-thumbnails-left .image-gallery-slide .image-gallery-image, .image-gallery-content.image-gallery-thumbnails-right .image-gallery-slide .image-gallery-image {
  max-height: 100vh;
}

.image-gallery-slide-wrapper {
  position: relative;
}

.image-gallery-slide-wrapper.image-gallery-thumbnails-left, .image-gallery-slide-wrapper.image-gallery-thumbnails-right {
  width: calc(100% - 110px);
  display: inline-block;
}

@media (width <= 768px) {
  .image-gallery-slide-wrapper.image-gallery-thumbnails-left, .image-gallery-slide-wrapper.image-gallery-thumbnails-right {
    width: calc(100% - 87px);
  }
}

.image-gallery-slide-wrapper.image-gallery-rtl {
  direction: rtl;
}

.image-gallery-slides {
  white-space: nowrap;
  text-align: center;
  touch-action: none;
  line-height: 0;
  position: relative;
  overflow: hidden;
}

.image-gallery-slide {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.image-gallery-slide.image-gallery-center {
  position: relative;
}

.image-gallery-slide .image-gallery-image {
  object-fit: contain;
  width: 100%;
}

.image-gallery-slide .image-gallery-description {
  color: #fff;
  white-space: normal;
  background: #0006;
  padding: 10px 20px;
  line-height: 1;
  position: absolute;
  bottom: 70px;
  left: 0;
}

@media (width <= 768px) {
  .image-gallery-slide .image-gallery-description {
    padding: 8px 15px;
    font-size: .8em;
    bottom: 45px;
  }
}

.image-gallery-bullets {
  z-index: 4;
  width: 80%;
  margin: 0 auto;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
}

.image-gallery-bullets .image-gallery-bullets-container {
  text-align: center;
  margin: 0;
  padding: 0;
}

.image-gallery-bullets .image-gallery-bullet {
  appearance: none;
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #fff;
  border-radius: 50%;
  outline: none;
  margin: 0 5px;
  padding: 5px;
  transition: all .2s ease-out;
  display: inline-block;
  box-shadow: 0 2px 2px #1a1a1a;
}

@media (width <= 768px) {
  .image-gallery-bullets .image-gallery-bullet {
    margin: 0 3px;
    padding: 3px;
  }
}

@media (width <= 480px) {
  .image-gallery-bullets .image-gallery-bullet {
    padding: 2.7px;
  }
}

.image-gallery-bullets .image-gallery-bullet:focus {
  background: #337ab7;
  border: 1px solid #337ab7;
  transform: scale(1.2);
}

.image-gallery-bullets .image-gallery-bullet.active {
  background: #fff;
  border: 1px solid #fff;
  transform: scale(1.2);
}

@media (hover: hover) and (pointer: fine) {
  .image-gallery-bullets .image-gallery-bullet:hover {
    background: #337ab7;
    border: 1px solid #337ab7;
  }

  .image-gallery-bullets .image-gallery-bullet.active:hover {
    background: #337ab7;
  }
}

.image-gallery-bullets.image-gallery-bullets-vertical {
  width: auto;
  inset: 50% auto auto 20px;
  transform: translateY(-50%);
}

.image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet {
  margin: 12px 0;
  display: block;
}

@media (width <= 768px) {
  .image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet {
    margin: 6px 0;
    padding: 3px;
  }
}

@media (width <= 480px) {
  .image-gallery-bullets.image-gallery-bullets-vertical .image-gallery-bullet {
    padding: 2.7px;
  }
}

.image-gallery-thumbnails-wrapper {
  position: relative;
}

.image-gallery-thumbnails-wrapper.thumbnails-swipe-horizontal {
  touch-action: pan-y;
}

.image-gallery-thumbnails-wrapper.thumbnails-swipe-vertical {
  touch-action: pan-x;
}

.image-gallery-thumbnails-wrapper.thumbnails-wrapper-rtl {
  direction: rtl;
}

.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right {
  vertical-align: top;
  width: 100px;
  display: inline-block;
}

@media (width <= 768px) {
  .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right {
    width: 81px;
  }
}

.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails {
  width: 100%;
  height: 100%;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail {
  margin-right: 0;
  padding: 0;
  display: block;
}

.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left .image-gallery-thumbnails .image-gallery-thumbnail + .image-gallery-thumbnail, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right .image-gallery-thumbnails .image-gallery-thumbnail + .image-gallery-thumbnail {
  margin-top: 2px;
  margin-left: 0;
}

.image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right {
  margin: 0 5px;
}

@media (width <= 768px) {
  .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-left, .image-gallery-thumbnails-wrapper.image-gallery-thumbnails-right {
    margin: 0 3px;
  }
}

.image-gallery-thumbnails {
  padding: 5px 0;
  overflow: hidden;
}

@media (width <= 768px) {
  .image-gallery-thumbnails {
    padding: 3px 0;
  }
}

.image-gallery-thumbnails .image-gallery-thumbnails-container {
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
}

.image-gallery-thumbnail {
  background: none;
  border: 4px solid #0000;
  width: 100px;
  padding: 0;
  transition: border .3s ease-out;
  display: inline-block;
}

@media (width <= 768px) {
  .image-gallery-thumbnail {
    border: 3px solid #0000;
    width: 81px;
  }
}

.image-gallery-thumbnail + .image-gallery-thumbnail {
  margin-left: 2px;
}

.image-gallery-thumbnail .image-gallery-thumbnail-inner {
  display: block;
  position: relative;
}

.image-gallery-thumbnail .image-gallery-thumbnail-image {
  vertical-align: middle;
  width: 100%;
  line-height: 0;
}

.image-gallery-thumbnail.active, .image-gallery-thumbnail:focus {
  border: 4px solid #337ab7;
  outline: none;
}

@media (width <= 768px) {
  .image-gallery-thumbnail.active, .image-gallery-thumbnail:focus {
    border: 3px solid #337ab7;
  }
}

@media (hover: hover) and (pointer: fine) {
  .image-gallery-thumbnail:hover {
    border: 4px solid #337ab7;
    outline: none;
  }
}

@media (hover: hover) and (pointer: fine) and (width <= 768px) {
  .image-gallery-thumbnail:hover {
    border: 3px solid #337ab7;
  }
}

.image-gallery-thumbnail-label {
  box-sizing: border-box;
  color: #fff;
  text-shadow: 0 2px 2px #1a1a1a;
  white-space: normal;
  width: 100%;
  padding: 5%;
  font-size: 1em;
  line-height: 1em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  .image-gallery-thumbnail-label {
    font-size: .8em;
    line-height: .8em;
  }
}

.image-gallery-index {
  color: #fff;
  z-index: 4;
  background: #0006;
  padding: 10px 20px;
  line-height: 1;
  position: absolute;
  top: 0;
  right: 0;
}

@media (width <= 768px) {
  .image-gallery-index {
    padding: 5px 10px;
    font-size: .8em;
  }
}

.image-frame .image-container {
  border: 0;
  border-radius: 50px !important;
}

.creations .image-frame span, .creations .image-frame a {
  color: #596d7b !important;
  background-color: #0000 !important;
  border-radius: 50px !important;
  width: 100% !important;
}

.navbar {
  z-index: 10;
  flex-direction: column;
  flex: 1;
  width: 100vw;
  height: 80px;
  position: fixed;
  top: 0;
}

.navbar div, .navbar p, .navbar span, .navbar a {
  color: #fff !important;
}

.logo-compound {
  user-select: none;
  flex-direction: column;
  align-items: center;
  margin: 0 20px;
}

.navbar .color-bar {
  background-color: #a5bfcd;
  height: 30px;
  display: none;
}

.real-navbar {
  background-color: #a5bfcd;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 7px 10px;
  position: relative;
}

.brand-text {
  margin-right: 5px;
  font-size: 1.7rem;
}

.real-navbar > .logo {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
}

.links {
  flex: 0 0 266px;
  justify-content: space-between;
}

.links * {
  text-transform: uppercase;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  font-family: Uppercase;
  text-decoration: none !important;
}

.links a[aria-current] {
  text-decoration: underline;
}

.menu {
  opacity: 0;
  z-index: -1;
  background-color: #d0baa8;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100vw;
  height: 0;
  transition: opacity .5s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
}

.menu .title {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 120px;
}

.menu .brand-text {
  text-transform: none;
  align-items: center;
  height: 50px;
  margin: 0;
  font-size: 2.5rem;
  display: flex;
}

.menu .close {
  align-items: center;
  width: 50px;
  height: 120px;
  position: fixed;
  top: 0;
  right: 0;
}

.menu .links {
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin: 0;
  overflow-y: auto;
}

.menu .links > * {
  z-index: 999;
  margin-left: 0 !important;
}

.menu .links > :not(:first-child) {
  margin-top: 30px !important;
}

.menu .links > :last-child {
  margin-bottom: 30px !important;
}

.menu .links > a, .menu .links .MuiAccordion-heading span {
  font-size: 1.5rem;
}

.menu .links .MuiAccordion-root {
  box-shadow: none;
  background-color: #0000;
  border: none;
  flex-direction: column;
  align-items: center;
}

.menu .links .MuiAccordion-root button {
  min-height: unset;
  font-size: 1.2rem;
}

.menu .links .MuiAccordion-root a {
  font-size: 1rem;
  text-decoration: none !important;
}

.menu .links .MuiAccordion-root div {
  display: block;
}

.MuiAccordion-root.Mui-expanded {
  margin-bottom: 0 !important;
}

.menu .MuiAccordionSummary-content {
  margin: 0;
}

.MuiAccordionSummary-content.Mui-expanded {
  margin: 0 !important;
}

.menu .MuiAccordionDetails-root .col {
  display: flex !important;
}

.menu .MuiAccordionDetails-root .col a {
  margin: 10px 0;
}

.menu .links .MuiAccordion-root:before {
  display: none;
}

.menu .MuiCollapse-root {
  transition-timing-function: ease-in-out !important;
}

body.menu-open .menu {
  z-index: 3;
  opacity: .95;
  height: 100vh;
}

body.menu-open .real-navbar > :not(.menu) {
  display: none;
}

.MuiPopover-root li {
  text-transform: capitalize;
  font-family: Usual !important;
}

.MuiMenu-list {
  min-width: 120px;
}

@media (width <= 500px) {
  .real-navbar {
    justify-content: space-between;
  }

  .logo-compound {
    flex-direction: row-reverse;
    margin: 0;
  }

  .brand-text {
    margin-right: 5px;
    font-size: 1.3rem;
  }
}

@media (width >= 500px) and (width <= 860px) {
  .links {
    flex: 0 0 232px;
  }

  .links > :not(:first-child) {
    margin-left: 8px;
  }

  .navbar .logo {
    position: initial;
    transform: translate(0);
  }
}

.page .jewels .image.header {
  background-image: url("prova-bimbo-cina.63fd94f8.png");
  background-size: contain;
  width: 200px;
  min-height: 200px;
}

.page .jewels .jewels-cure {
  background-position: 92% 8%;
  background-size: 226%;
}

.page .jewels section.alternate > * {
  justify-content: center;
  align-items: center;
  margin: 40px;
  position: relative;
}

.page .jewels section.alternate > * span {
  margin: 20px;
  font-size: 2rem;
}

.page .jewels .creations-gallery .bg1 {
  background-image: url("gioielli-sfondo.b19f935f.png");
}

.page .jewels section.alternate > :nth-child(2n+2):not(.col) {
  flex-direction: row-reverse;
}

.page .jewels .image1 {
  background-position-x: -11px;
}

.page .jewels .procedure {
  background-image: url("sfondo.8d89dce2.jpg");
}

.page .jewels .landing .image {
  background-image: url("landing-gioielli.137a1335.jpg");
  background-position: 94% 99%;
  align-items: baseline;
  padding-left: 23%;
}

@media (width <= 500px) {
  .page .jewels .landing .image {
    background-position-x: 65%;
  }

  .page .jewels .jewels-cure {
    background-size: 316%;
  }
}

@media (width >= 860px) {
  .page .jewels .landing .image .subtitle {
    text-align: left;
    max-width: 54%;
    margin-top: 9px;
    padding-left: 0;
  }
}

@media (width >= 500px) and (width <= 860px) {
  .page .jewels .landing .image {
    background-position-x: 55%;
  }
}

@media (width >= 860px) and (width <= 1280px) {
  .page .jewels .landing .image {
    background-position-x: 74%;
  }
}

@font-face {
  font-family: Petit;
  src: url("petit.ad6c5626.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Uppercase;
  src: url("CormorantSC-Regular.a5cca878.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Usual;
  src: url("CormorantUpright-Regular.3f55cc24.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: Marcellus;
  src: url("MarcellusSC-Regular.7ddbffd8.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

@font-face {
  font-family: MarcellusMini;
  src: url("Marcellus-Regular.28aa7ee3.ttf") format("truetype");
  font-weight: 100 200 300 400;
  font-style: normal;
}

.marcellus {
  font-family: Marcellus !important;
}

html {
  background-color: #a5bfcd;
  min-height: 100vh;
}

html:has(.page.imagePreviewVisible) {
  background-color: #452916bf;
}

html:has(.subcat-ciondoli) section {
  background-color: #d8e3eb;
}

a {
  text-decoration: none;
}

body {
  margin: 0;
  display: flex;
}

.text-center {
  text-align: center;
}

.uppercase {
  text-transform: uppercase;
}

.background-white {
  background-color: #fff !important;
}

.color-white {
  color: #fff;
}

#root {
  position: relative;
}

#root, .page {
  flex: 1;
}

.page {
  width: 100vw;
  height: calc(100vh - 80px);
  padding-top: 80px;
  position: fixed;
  overflow: hidden auto;
}

.page .page-content {
  opacity: 0;
}

.page .page-content, .page .page-content > div {
  flex-direction: column;
  flex: 0 0 100%;
  width: 100%;
}

div, section {
  display: flex;
}

section {
  background-color: #ede3da;
  flex-direction: column;
  padding: 30px 20px;
}

section.never:nth-of-type(2n) {
  background-color: #ede3da;
}

html:has(.subcat-ciondoli) section:nth-of-type(2n) {
  background-color: #eaf1f6;
}

section > * {
  flex: 1;
}

span, a, p, div, i, li {
  font-family: Usual;
  color: #596d7b !important;
}

.col {
  flex-direction: column;
}

.row {
  flex-direction: row;
}

.center {
  justify-content: center;
}

.col.center {
  align-items: center;
}

.col.center > h1, .col.center > h3 {
  text-align: center;
}

.brand-text {
  text-transform: uppercase;
  user-select: none;
  font-family: Marcellus !important;
}

.image, .image-frame-deco .frame {
  user-select: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.image.round, .image-frame-deco .round.frame {
  border-radius: 100%;
}

.image.full, .image-frame-deco .full.frame {
  background-size: contain;
  width: 100%;
  height: 100%;
}

.text-dissolve {
  opacity: 0;
  transition: opacity .6s ease-in-out;
}

.text-dissolve.show {
  opacity: 1;
}

footer {
  background-color: #a5bfcd;
  flex: 0 0 70px;
  justify-content: center;
  padding: 10px;
  display: flex;
}

footer .logo {
  margin: 10px;
}

footer a {
  font-size: .7rem;
}

footer > div {
  justify-content: center;
  align-items: center;
}

footer > div .social {
  margin: 10px;
}

footer > div .social > * {
  fill: #fff;
  width: 15px;
  margin: 5px;
}

footer > div .social > * svg {
  width: 100%;
  height: 100%;
}

footer > div * {
  color: #fff !important;
}

.PhotoView-Slider__Backdrop {
  background-color: #452916bf !important;
}

.image-gallery {
  display: none;
}

.image-gallery.fullscreen-modal, .image-gallery:has( > .image-gallery-content.fullscreen) {
  display: block;
  z-index: 10 !important;
  background: #452916bf !important;
}

.image-gallery-content.fullscreen {
  flex-direction: column;
  justify-content: space-between;
  height: 100vh;
  display: flex;
  top: unset !important;
  transform: unset !important;
  background-color: #0000 !important;
}

.image-gallery > div {
  display: block;
}

.image-gallery > div .image-gallery-slide-wrapper {
  flex: 0 0 79vh;
  justify-content: center;
  align-items: center;
}

.image-gallery > div .image-gallery-thumbnails-wrapper {
  padding-bottom: 10px;
}

.image-gallery > div .image-gallery-thumbnails-wrapper .image-gallery-thumbnails {
  padding: 0 !important;
}

.image-gallery > div .image-gallery-thumbnails-wrapper, .image-gallery > div .image-gallery-thumbnails {
  display: block;
}

.image-gallery > div .image-gallery-thumbnails-wrapper .image-gallery-thumbnails-container, .image-gallery > div .image-gallery-thumbnails .image-gallery-thumbnails-container {
  justify-content: center;
  display: flex;
}

.image-gallery > div .image-gallery-thumbnails-wrapper .image-gallery-thumbnail, .image-gallery > div .image-gallery-thumbnails .image-gallery-thumbnail {
  border-radius: 7px;
  max-height: 128px;
  overflow: hidden;
}

@media (width <= 768px) {
  .image-gallery > div .image-gallery-thumbnails-wrapper .image-gallery-thumbnail, .image-gallery > div .image-gallery-thumbnails .image-gallery-thumbnail {
    max-height: 100px;
  }
}

.image-gallery-slide .image-gallery-image {
  height: calc(100vh - 135px) !important;
}

.image-gallery-thumbnail.active {
  border-radius: 7px;
}

.image-gallery-thumbnail-image {
  border-radius: 4px;
}

.gallery-close-button {
  z-index: 10;
  background-color: #fff;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 35px;
  font-size: 2rem;
  display: flex;
  position: absolute;
  top: 10px;
  right: 0;
  color: #000 !important;
}

img.logo {
  width: 50px;
  height: 50px;
}

.letter-spacing-1, .text-xl {
  letter-spacing: 7px;
}

.letter-spacing-2 {
  letter-spacing: 4px;
}

.row-reverse {
  flex-direction: row-reverse;
}

.text-lg {
  font-size: 1.9rem;
}

.text-xl {
  font-size: 2.5rem !important;
}

.text-normal {
  text-transform: none !important;
}

.hidden {
  display: none;
}

.mt-0 {
  margin-top: 0;
}

.mb-1 {
  margin-bottom: 20px;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.py-1 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.px-1 {
  padding: 0 20px !important;
}

section.spaced > * {
  margin-top: 20px;
  margin-bottom: 20px;
}

hr, hr.small {
  border-bottom: 1px solid #d08d61;
  align-self: center;
  width: 140px;
  margin: 0;
}

hr.medium {
  border-bottom-width: 3px;
  width: 39%;
}

.page:not(:has(.dighedo-loader.show)) .page-content {
  opacity: 1;
  transition: opacity 1s .5s;
}

.dighedo-loader {
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: #a5bfcd;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity 1s ease-in-out, z-index 1s;
}

.dighedo-loader .logo {
  width: 150px;
  height: 150px;
  position: fixed;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%, -50%);
}

.dighedo-loader.show {
  opacity: 1;
  z-index: 11;
}

@media (width >= 500px) {
  .visible-md {
    display: flex;
  }

  .hidden-md {
    display: none;
  }
}

@media (width <= 500px) {
  .visible-md {
    display: none;
  }

  .hidden-md {
    display: flex;
  }

  .gallery-close-button {
    margin: 20px;
    font-size: 2rem;
  }

  .image-gallery-slide .image-gallery-image {
    height: calc(100vh - 200px) !important;
  }
}

@media (width >= 860px) {
  .visible-lg {
    display: flex;
  }

  .hidden-lg {
    display: none;
  }
}

@media (width <= 860px) {
  .visible-lg {
    display: none;
  }
}

@media (width <= 1280px) {
  .visible-xl {
    display: none;
  }
}

@media (width >= 1280px) {
  .lg-letter-spacing-1 {
    letter-spacing: 7px;
  }

  .visible-xl {
    display: flex;
  }

  .hidden-xl {
    display: none;
  }
}

.force-visible * {
  display: flex;
}

.login-form {
  margin: 50vh auto auto;
  transform: translateY(-50%);
}

.presenter {
  justify-content: center;
  align-items: center;
  margin: 50px 0;
}

.presenter .text h3 {
  padding: 0 !important;
}

.presenter .collage .second {
  margin-top: 47px;
}

.presenter .collage .first h3 {
  text-align: right;
  width: 400px;
  padding: 0 20px 0 0;
}

.presenter .collage .first > div:not(.image-frame) {
  flex: 1;
  align-items: center;
}

.presenter .collage .second {
  white-space: nowrap;
  width: 300px;
}

.presenter .collage .second .second-header {
  letter-spacing: 10px;
  align-items: center;
  height: 100px;
  margin: 0;
  padding-left: 10px;
  font-size: 2.5rem;
  display: flex;
}

.presenter .md-screen-text {
  display: none;
}

.presenter.unreverse .collage {
  flex-direction: row-reverse;
}

.presenter.unreverse .collage .first {
  align-items: flex-start;
}

.presenter.unreverse .collage .first .inner-text, .presenter.unreverse .collage .first h3 {
  text-align: justify;
  padding-left: 20px;
}

.presenter.unreverse .collage .second-header {
  direction: rtl;
  padding: 0 5px 0 0;
}

.presenter.reverse {
  flex-direction: row-reverse;
}

.presenter.reverse .text * {
  text-align: right;
}

.presenter:has(.second-header) .second {
  margin-top: 0;
}

.presenter:has(.second-header) .second .header {
  flex: 0 0 100px;
}

.presenter:has(.second-header) .text {
  margin-top: 100px;
}

.presenter > div {
  flex: 1;
  margin: 5px;
}

.presenter > .image-frame {
  flex: 1;
  min-height: 300px;
  padding-right: 15px;
}

.presenter.vertical.simple > .image-frame {
  justify-content: flex-end;
  min-height: 500px;
}

.presenter.vertical.simple > .image-frame .image, .presenter.vertical.simple > .image-frame .image-frame-deco .frame, .image-frame-deco .presenter.vertical.simple > .image-frame .frame {
  flex-grow: 0;
  flex-basis: 70%;
}

.presenter .image-frame.luisa2 {
  background-position-x: 70%;
}

.presenter.vertical {
  flex-direction: column;
  align-items: center;
}

.presenter.horizontal .collage {
  flex-direction: column;
}

.presenter.horizontal .first {
  flex-direction: row;
}

.presenter.horizontal .image-frame:has(.image-1) {
  height: 180px;
}

.presenter.horizontal .image-frame:has(.image-2) {
  height: 114px;
}

.presenter .collage {
  flex-grow: 0;
  justify-content: space-between;
}

.presenter .collage .image, .presenter .collage .image-frame-deco .frame, .image-frame-deco .presenter .collage .frame {
  border-radius: 20px;
}

.presenter .collage .first {
  align-items: flex-end;
  margin-right: 5px;
}

.presenter .collage .first .image, .presenter .collage .first .image-frame-deco .frame, .image-frame-deco .presenter .collage .first .frame {
  margin-bottom: 5px;
}

.presenter .collage .second {
  flex-direction: column;
  flex: 1;
  justify-content: center;
}

.presenter .collage .image-frame:has(.image-1) {
  width: 160px;
  height: 180px;
}

.presenter .collage .image-frame:has(.image-2) {
  width: 120px;
  height: 160px;
}

.presenter .collage .image-frame:has(.image-3) {
  min-height: 390px;
}

@media (width >= 500px) {
  .presenter .collage .image, .presenter .collage .image-frame-deco .frame, .image-frame-deco .presenter .collage .frame {
    margin: 3px;
  }
}

@media (width <= 500px) {
  .presenter .collage .image-frame:has(.image-3) {
    min-height: 330px;
  }

  .presenter.vertical:not(.mini) .luisa2 {
    background-position-x: -47px;
  }

  .presenter.vertical:not(.mini) .collage .image-frame:has(.image-1) {
    width: 130px;
    height: 140px;
  }

  .presenter.vertical:not(.mini) .collage .image-frame:has(.image-2) {
    width: 110px;
    height: 140px;
  }

  .presenter.vertical:not(.mini) .collage .second {
    width: 200px;
    margin-top: 30px;
  }
}

@media (width <= 860px) {
  .presenter.mini > div {
    margin: 0;
  }

  .presenter.mini.vertical {
    align-items: center;
  }

  .presenter.mini {
    flex-direction: column;
    margin: 20px 0;
  }

  .presenter.mini .text {
    margin-top: 20px !important;
  }

  .presenter.mini .image-frame {
    flex-basis: 200px;
    width: 100%;
    min-height: 300px;
    padding-right: 0;
  }

  .presenter.mini .image-frame .image, .presenter.mini .image-frame .image-frame-deco .frame, .image-frame-deco .presenter.mini .image-frame .frame {
    flex: 1;
  }

  .presenter.mini .collage {
    min-width: 70%;
    max-width: 70%;
    flex-direction: column-reverse !important;
  }

  .presenter.mini .collage .first {
    margin-right: 0;
    align-items: center !important;
  }

  .presenter.mini .collage .first h3 {
    width: auto;
    text-align: center !important;
    padding: 0 !important;
  }

  .presenter.mini .collage .second {
    width: unset;
  }

  .presenter.mini .collage .second .second-header {
    white-space: normal;
    text-align: center;
    justify-content: center;
    height: auto;
    padding: 2rem 0;
  }

  .presenter.mini .collage .image-frame {
    margin: 0;
  }

  .presenter.mini .collage .image, .presenter.mini .collage .image-frame-deco .frame, .image-frame-deco .presenter.mini .collage .frame {
    border-radius: 7px;
    background-position: center !important;
    transform: none !important;
  }

  .presenter.mini .collage .image-frame:not(:has(.image-3)) {
    display: none;
  }

  .presenter.mini .collage .image-frame:has(.image-3) {
    width: 100% !important;
  }

  .presenter.mini .collage .image.home5, .presenter.mini .collage .image-frame-deco .home5.frame, .image-frame-deco .presenter.mini .collage .home5.frame {
    background-position-y: 74% !important;
  }

  .presenter.mini .collage .image.pirografo, .presenter.mini .collage .image-frame-deco .pirografo.frame, .image-frame-deco .presenter.mini .collage .pirografo.frame {
    background-position-y: 66% !important;
  }
}

@media (width >= 1280px) {
  .presenter {
    padding: 0 15%;
  }

  .presenter.unreverse {
    transform: translateX(11%);
  }
}

@media (width <= 1280px) {
  .presenter.vertical:not(.mini) .collage .image, .presenter.vertical:not(.mini) .collage .image-frame-deco .frame, .image-frame-deco .presenter.vertical:not(.mini) .collage .frame {
    margin: 4px;
  }

  .presenter.vertical:not(.mini) .collage .text, .presenter.vertical:not(.mini) .collage p, .presenter.vertical:not(.mini) .collage h3, .presenter.vertical:not(.mini) .collage h1 {
    display: none;
  }

  .presenter.vertical:not(.mini) .collage .second {
    margin-top: 50px;
  }

  .presenter:not(.mini) .md-screen-text {
    flex-direction: column;
    width: 100%;
    display: flex;
  }

  .presenter:not(.mini) .md-screen-text h3 {
    text-align: center;
    padding: 0 15%;
  }
}

.creation-detail {
  background-position: 6% 76%;
  background-size: 150%;
  flex-direction: column;
  width: 100vw;
  position: relative;
  margin-top: 0 !important;
}

.creation-detail .instructions {
  position: absolute;
}

.creation-detail .item-preview {
  border-bottom: 5px solid #596d7b;
  justify-content: flex-end;
  position: relative;
}

.creation-detail .item-background {
  flex: 0 0 28vw;
}

.creation-detail .item-background div:nth-child(2) {
  background-position-y: 97%;
}

.creation-detail .item-background div {
  flex: 1;
}

.creation-detail .title-container {
  flex-direction: column;
  flex: 0 0 43%;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

.creation-detail .title-container h1 {
  letter-spacing: 8px;
  text-align: center;
  margin-top: 7vw;
  margin-bottom: 2rem;
  font-size: 5rem;
}

.creation-detail.flipX .item-preview {
  justify-content: flex-start;
}

@media (width >= 860px) {
  .instructions.fullscreen {
    min-width: 354px;
    min-height: 456px;
    font-size: 1.5rem;
  }
}

.instructions {
  z-index: 2;
  background-color: #fff;
  border-radius: 80px 10px 10px;
  flex: 0 0 271px;
  align-self: center;
  width: 270px;
  padding: 0 10px;
  box-shadow: 2px 2px 22px #4e3f12c4;
  padding: 10px 1px 5px 0 !important;
}

.instructions .frame {
  flex: 1;
  padding: 33px;
  position: relative;
}

.instructions .frame-border {
  border: 3px solid #a5bfcd;
  border-radius: 48px 6px 6px;
  flex-direction: column;
  justify-content: space-around;
  width: 100%;
  padding: 20px 20px 0;
  position: relative;
}

.instructions .frame-border .first-col, .instructions .frame-border .second-col {
  flex: 1;
}

.instructions .frame-border .contents > div > div {
  word-break: break-word;
  text-align: left;
  white-space: normal;
  flex: 0 0 50%;
  margin-bottom: 13px;
}

.instructions .frame-border .second-col h3 {
  text-align: center;
}

.instructions .frame-border .second-col p {
  text-align: justify;
}

.instructions .frame-corner {
  background-image: url("cornice-istruzioni.d85e1f89.png");
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  top: -23px;
  left: -11px;
  transform: rotate(-90deg);
}

.instructions .frame-corner:nth-of-type(2) {
  left: unset;
  top: -25px;
  right: -31px;
  transform: none;
}

.instructions .frame-corner:nth-of-type(3) {
  top: unset;
  bottom: -25px;
  left: -27px;
  transform: rotate(180deg);
}

.instructions .frame-corner:nth-of-type(4) {
  left: unset;
  top: unset;
  bottom: -28px;
  right: -25px;
  transform: rotate(90deg);
}

.instructions * {
  box-sizing: border-box;
  line-height: normal !important;
}

.instructions.right {
  border-radius: 10px 80px 10px 10px;
}

.instructions.right .frame-border {
  border-radius: 6px 40px 6px 6px;
}

.instructions.right .frame-corner:nth-of-type(5) {
  top: -29px;
  left: -23px;
}

.instructions.right .frame-corner:nth-of-type(2) {
  top: -17px;
  right: -21px;
}

.creation-gallery section:has(.subtitle-animation) {
  overflow: hidden;
}

.creation-gallery section:has(.subtitle-animation) :not(.subtitle-animation) {
  z-index: 2;
}

.creation-gallery:has(.subtitle-animation) .animation-section {
  display: none;
}

@media (width <= 500px) {
  .creation-gallery .creation-detail .item-preview {
    background-position: -5vw -4vw !important;
    background-size: 306vw !important;
    flex: 0 0 118vw !important;
  }

  .creation-gallery .creation-detail .item-background {
    flex: 0 0 118vw;
  }

  .creation-gallery .creation-detail .item-background > div:first-child, .creation-gallery .creation-detail .item-background > div:nth-child(3) {
    display: none;
  }

  .creation-gallery .creation-detail .item-background > div:nth-child(2) {
    background-position-y: 56%;
  }

  .creation-gallery .creation-detail .instructions {
    width: 233px;
    min-height: 320px;
    top: 107vw;
    right: 50%;
    transform: translateX(50%);
  }

  .creation-gallery .creation-detail .instructions .frame {
    padding: 26px;
  }

  .creation-gallery .creation-detail .instructions .frame .frame-border {
    padding-bottom: 0;
  }

  .creation-gallery .creation-detail .instructions .frame .frame-corner:nth-of-type(5) {
    top: -17px;
  }

  .creation-gallery .creation-detail .instructions .contents > div > div:first-child {
    flex: 0 0 41%;
  }

  .creation-gallery .creation-detail .instructions .contents > div > div:nth-child(2) {
    flex: 1;
  }

  .creation-gallery .creation-detail .instructions.right .frame-corner:nth-of-type(5) {
    top: -29px;
  }

  .creation-gallery .creation-detail .instructions.right .frame-corner:nth-of-type(2) {
    right: -14px;
  }
}

@media (width >= 860px) {
  .creation-detail .instructions .frame-border {
    padding: 20px 11px;
  }
}

@media (width >= 500px) and (width <= 860px) {
  .creation-detail .item-background {
    flex: 0 0 350px;
  }

  .creation-detail .item-background > div:nth-child(3) {
    display: none;
  }

  .creation-detail .instructions {
    min-height: 350px;
    padding: 0;
    top: 72vw;
    right: 3vw;
  }

  .creation-detail.flipX .instructions {
    right: unset;
    left: 3vw;
  }
}

@media (width <= 860px) {
  section:has(.creation-detail) {
    background-color: #fff !important;
    padding-bottom: 0 !important;
  }

  .creation-detail {
    margin-bottom: 0 !important;
  }

  .creation-detail .item-preview {
    background-position: -27vw -1vw;
    background-size: 297vw;
    flex: 0 0 104vw;
  }

  .creation-detail .title-container {
    display: none;
  }
}

@media (width >= 860px) and (width <= 1280px) {
  .creation-detail .item-background {
    flex: 0 0 25vw;
  }

  .creation-detail .item-preview {
    background-position: 2% 0;
    background-size: 180vw;
    min-height: 68vw;
  }

  .creation-detail .title-container h1 {
    margin-top: 11%;
    font-size: 3.5rem;
  }

  .creation-detail .instructions {
    min-height: 350px;
    right: 40px;
    left: unset;
    bottom: -70px;
    transform: none;
  }

  .creation-detail.flipX .instructions {
    right: unset;
    left: 40px;
  }
}

@media (width >= 1280px) {
  .creation-detail .item-preview {
    background-position: -2vw 0;
    background-size: 147vw;
    min-height: 51vw;
  }

  .creation-detail .item-background {
    flex: 0 0 22vw;
  }

  .creation-detail .title-container h1 {
    margin-top: 5vw;
  }

  .creation-detail .instructions {
    top: 34vw;
    right: 10vw;
    left: unset;
    width: 294px;
    min-height: 390px;
    padding: 15px 1px 9px 0 !important;
  }

  .creation-detail .instructions .frame-border {
    padding: 29px 11px;
  }

  .creation-detail.flipX .instructions {
    right: unset;
    left: 10vw;
  }
}

section:has(.creation-detail) {
  padding-top: 0 !important;
}

section:first-of-type .creations {
  margin-top: 3rem;
}

.page.menu-open .page-content {
  opacity: .3;
}

.landing .image, .landing .image-frame-deco .frame, .image-frame-deco .landing .frame {
  user-select: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: baseline;
  width: 100vw;
  height: 650px;
  padding-left: 23%;
}

.landing .image .hr, .landing .image-frame-deco .frame .hr, .image-frame-deco .landing .frame .hr {
  border-bottom: 1px solid #fff;
  width: 36%;
  height: 9px;
  display: flex;
}

.landing .image span, .landing .image-frame-deco .frame span, .image-frame-deco .landing .frame span {
  color: #fff !important;
}

.landing .image .title, .landing .image-frame-deco .frame .title, .image-frame-deco .landing .frame .title {
  text-transform: lowercase;
  text-align: center;
  letter-spacing: 1rem;
  flex: 0 0 49%;
  align-items: flex-end;
  font-family: Usual;
  font-size: 3.5rem;
  display: flex;
}

.landing .image .subtitle, .landing .image-frame-deco .frame .subtitle, .image-frame-deco .landing .frame .subtitle {
  text-align: center;
  padding: 25px;
  font-family: Marcellus;
  font-size: 1.3rem;
  line-height: 40px;
}

.image-frame .image-container {
  border: 3px solid #fff;
  border-radius: 7px;
  overflow: hidden;
}

.image-frame .image, .image-frame .image-frame-deco .frame, .image-frame-deco .image-frame .frame {
  flex: 1;
}

.image-frame.large-border .image-container {
  border-radius: 20px;
}

.image-frame.large-border-single .image-container {
  border-top-right-radius: 50px;
}

.image-frame.large-border-first .image-container {
  border-bottom-left-radius: 50px;
}

.image-frame.no-border .image-container {
  border: none;
}

.general-button, .creations .image-frame span, .creations .image-frame a {
  text-align: center;
  text-transform: capitalize;
  white-space: nowrap;
  color: #fff;
  user-select: none;
  background-color: #a5bfcd;
  border-radius: 30px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 10px 30px;
  font-size: 1.6rem;
  text-decoration: none;
  display: flex;
}

.general-button.transparent, .creations .image-frame span.transparent, .creations .image-frame a.transparent {
  background-color: #0000;
  border: 2px solid #fff;
}

.general-button.small, .creations .image-frame span.small, .creations .image-frame a.small {
  font-size: 1.3rem;
}

.creations {
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
}

.creations .creation {
  flex: 1;
  justify-content: space-around;
  align-items: flex-start;
  margin-bottom: 3rem;
}

.creations .creation .subtitle {
  padding-top: 10px !important;
}

.creations .creation > .space {
  width: 300px;
}

.creations .creation.style1:nth-child(2n) {
  flex-direction: row-reverse;
  margin-top: -30%;
}

.creations .creation.style1:nth-child(2n) .image-frame-footer {
  align-items: flex-end;
  margin-right: 15px;
}

.creations .creation.style1:nth-child(2n) .image-frame-footer * {
  width: auto !important;
}

.creations .creation.style1:nth-child(2n).row-reverse {
  flex-direction: row;
}

.creations .creation.style1:nth-child(odd) .image-frame-footer {
  align-items: flex-start;
  margin-left: 15px;
}

.creations .creation.style1:nth-child(odd) .image-frame-footer * {
  width: auto !important;
}

.creations .image-frame {
  flex-direction: column;
  flex: 0 0 300px;
  width: 300px;
  min-height: auto;
  margin-bottom: 20px;
  margin-left: 10px;
  margin-right: 10px;
}

.creations .image-frame .image-container {
  flex: 0 0 300px;
  position: relative;
  overflow: hidden;
}

.creations .image-frame .image-container .more-button {
  cursor: pointer;
  text-align: center;
  z-index: 1;
  background-color: #fff;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  margin: 30px;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 22px;
  position: absolute;
  top: 0;
  right: 0;
}

.creations .image-frame .image, .creations .image-frame .image-frame-deco .frame, .image-frame-deco .creations .image-frame .frame {
  justify-content: center;
  align-items: flex-end;
  transition: scale .4s;
  scale: 1;
}

.creations .image-frame .image-frame-footer {
  flex-direction: column;
  flex: 1 0 40px;
  justify-content: center;
  margin-top: 20px;
}

.creations .image-frame .image-frame-footer * {
  white-space: normal;
}

.creations .image-frame .image-frame-footer > :first-child, .creations .image-frame .image-frame-footer a {
  letter-spacing: 4px;
}

.creations .image-frame span, .creations .image-frame a {
  padding: 0;
}

.creations .image-frame a:hover {
  text-decoration: underline;
}

.creations .image-frame .subtitle {
  text-transform: uppercase;
  margin-top: .3rem;
  padding: 30px 0;
  font-size: 1rem !important;
}

.creations .image-frame.has-link .image:hover, .creations .image-frame.has-link .image-frame-deco .frame:hover, .image-frame-deco .creations .image-frame.has-link .frame:hover, .creations .image-frame:has(a:hover) .image, .creations .image-frame:has(a:hover) .image-frame-deco .frame, .image-frame-deco .creations .image-frame:has(a:hover) .frame {
  scale: 1.1;
}

.creations.vertical {
  flex-direction: row;
  align-self: end;
}

.creations.vertical .creation1:nth-child(2) {
  margin-left: 200px;
}

.creations.vertical .creation1:nth-child(3) {
  margin-left: 300px;
}

.creations.vertical .creation > .image-frame > .image-frame {
  flex-direction: column;
}

.creations.vertical .creation .image-frame-footer {
  align-items: flex-start;
  margin-left: 15px;
}

.creations.vertical .creation .image-frame-footer * {
  width: auto !important;
}

.creations.alternate .creation {
  margin-right: auto;
}

@media (width <= 700px) {
  .creations.alternate .creation {
    flex: 0 0 100%;
  }
}

@media (width >= 700px) {
  .creations.alternate .creation {
    flex: 0 0 50%;
  }

  .creations.alternate .creation:nth-child(odd):not(:first-child) {
    margin-top: -100px;
  }

  .creations.alternate .creation:nth-child(2n) {
    margin-top: 249px;
  }

  .creations.alternate .creation:nth-child(2) {
    margin-top: 349px !important;
  }
}

.full .image-frame-deco2 {
  width: 100%;
}

.image-frame-deco {
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 242px;
  position: relative;
}

.image-frame-deco .frame {
  background-image: url("frame.a91e80dc.png");
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.frame2, .frame3 {
  width: 240px;
}

.frame2 .image:not(.frame), .frame2 .image-frame-deco .frame:not(.frame), .image-frame-deco .frame2 .frame:not(.frame), .frame3 .image:not(.frame), .frame3 .image-frame-deco .frame:not(.frame), .image-frame-deco .frame3 .frame:not(.frame) {
  background-image: url("home1.24193806.jpg");
}

.frame3 .image:not(.frame), .frame3 .image-frame-deco .frame:not(.frame), .image-frame-deco .frame3 .frame:not(.frame) {
  background-image: url("home3.2eab9317.jpg");
}

.image-frame-deco.frame2 .frame, .image-frame-deco.frame3 .frame {
  background-image: url("frame2.9eadc64b.png");
}

.image-frame-deco2 {
  width: 150px;
  height: 200px;
  position: relative;
}

.image-frame-deco2 .image, .image-frame-deco2 .image-frame-deco .frame, .image-frame-deco .image-frame-deco2 .frame {
  border: 4px solid #fff;
  border-radius: 10px;
  position: relative !important;
}

.image-frame-deco2 .image:not(.frame), .image-frame-deco2 .image-frame-deco .frame:not(.frame), .image-frame-deco .image-frame-deco2 .frame:not(.frame) {
  background-image: url("home2.b558a7c9.jpg");
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

span.overimpress {
  white-space: nowrap;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px 34px;
  position: absolute;
  bottom: -29px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 !important;
}

section.quality * {
  color: #fff !important;
}

section.small-padding {
  padding: 25px !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

section.centrino .image.luisa22, section.centrino .image-frame-deco .luisa22.frame, .image-frame-deco section.centrino .luisa22.frame {
  flex-grow: 0;
  flex-basis: 300px;
  align-self: center;
  width: 388px;
  height: 300px;
}

.animation-container {
  width: 100vw;
  min-height: 134px;
  position: relative;
  overflow: hidden;
  transform: translateX(-25px);
}

.animation-container .street {
  background-image: url("topen-macchina-street2.f158e5c1.png");
  background-repeat: repeat;
  background-size: contain;
  width: 100%;
  height: 20px;
  display: none;
  position: absolute;
  bottom: 10px;
}

@keyframes tilt-n-move-shaking {
  0% {
    transform: translate(0)rotate(0);
  }

  6% {
    transform: translate(.5px, .5px)rotate(.5deg);
  }

  12% {
    transform: translate(0)rotate(0);
  }

  18% {
    transform: translate(-.5px, .5px)rotate(-.5deg);
  }

  21% {
    transform: translate(0)rotate(0);
  }

  24% {
    transform: translate(0)rotate(0);
  }

  30% {
    transform: translate(.5px, .5px)rotate(.5deg);
  }

  36% {
    transform: translate(0)rotate(0);
  }

  42% {
    transform: translate(-.5px, .5px)rotate(-.5deg);
  }

  48% {
    transform: translate(0)rotate(0);
  }

  54% {
    transform: translate(0)rotate(0);
  }

  60% {
    transform: translate(.5px, .5px)rotate(.5deg);
  }

  66% {
    transform: translate(0)rotate(0);
  }

  72% {
    transform: translate(-.5px, .5px)rotate(-.5deg);
  }

  78% {
    transform: translate(0)rotate(0);
  }

  74% {
    transform: translate(0)rotate(0);
  }

  80% {
    transform: translate(.5px, .5px)rotate(.5deg);
  }

  86% {
    transform: translate(0)rotate(0);
  }

  92% {
    transform: translate(-.5px, .5px)rotate(-.5deg);
  }

  100% {
    transform: translate(0)rotate(0);
  }
}

.slide-in-box {
  animation: 33s ease-in-out infinite slide-in;
  position: absolute;
  left: -200px;
}

@keyframes delay-animation {
  100% {
    transform: none;
  }
}

@keyframes doppler {
  0% {
    left: -200px;
  }

  40% {
    left: 60%;
  }

  80% {
    left: 100%;
  }

  100% {
    left: calc(100% + 500px);
  }
}

@keyframes rotate {
  40% {
    transform: rotate(720deg);
  }

  80% {
    transform: rotate(1440deg);
  }

  100% {
    transform: rotate(1800deg);
  }
}

@keyframes rotate-2x {
  40% {
    transform: rotate(2880deg);
  }

  100% {
    transform: rotate(7200deg);
  }
}

.slide-in-box.run {
  animation: 9s ease-in-out infinite doppler;
}

.image.wheel, .image-frame-deco .wheel.frame {
  animation: 9s ease-in-out infinite rotate;
}

.image.poddy-ruotina, .image-frame-deco .poddy-ruotina.frame {
  animation: 9s ease-in-out infinite rotate-2x;
}

.animation-container:has(.poddy-bici-verticale) {
  width: calc(100vw + 300px);
  min-height: 393px;
  translate: -280px;
}

@media (width <= 500px) {
  .slide-in-box:has(.run) {
    animation-duration: 7s;
  }
}

.shake {
  animation: 1s infinite tilt-n-move-shaking, 4s linear .5s infinite delay-animation;
}

@keyframes slide-in {
  10% {
    left: 10%;
  }

  20% {
    left: 20%;
  }

  30% {
    left: 30%;
  }

  40% {
    left: 40%;
  }

  50% {
    left: 50%;
  }

  60% {
    left: 60%;
  }

  70% {
    left: 70%;
  }

  80% {
    left: 80%;
  }

  90% {
    left: 90%;
  }

  100% {
    left: 100%;
  }
}

@keyframes slide-in2 {
  5% {
    transform: translateX(5vw);
  }

  25% {
    transform: translateX(25vw);
  }

  40% {
    transform: translateX(40vw);
  }

  50% {
    transform: translateX(50vw);
  }

  60% {
    transform: translateX(60vw);
  }

  80% {
    transform: translateX(80vw);
  }

  100% {
    animation-duration: 10s;
    transform: translateX(100vw);
  }
}

.creations-gallery {
  position: relative;
  overflow: hidden;
}

.creations-gallery .bg1 {
  width: 350px;
  height: 600px;
}

.creations-gallery .bg2 {
  left: unset;
  width: 350px;
  height: 600px;
  display: none;
}

.creations-gallery .section-background {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}

@media (width <= 500px) {
  .creations-gallery .creations.vertical {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .creations-gallery .creations.vertical .creation .image-frame {
    flex: 0 0 241px;
    max-width: 241px;
  }

  .creations-gallery .creations.vertical .creation .image-frame .image-container {
    flex: 0 0 241px;
  }

  .creations-gallery .creations.vertical .creation:first-child, .creations-gallery .creations.vertical .creation:nth-child(6) {
    padding: 0% 6%;
  }

  .creations-gallery .creations.vertical .creation:nth-child(2), .creations-gallery .creations.vertical .creation:nth-child(3) {
    justify-content: flex-end;
    padding-left: 12% !important;
    padding-right: 0 !important;
  }

  .creations-gallery .creations.vertical .creation:nth-child(2) .image-frame, .creations-gallery .creations.vertical .creation:nth-child(3) .image-frame {
    margin-right: 0;
  }

  .creations-gallery .section-background.bg1 {
    top: 556px;
    left: -155px;
  }

  .creations-gallery .section-background.bg2 {
    top: 1566px;
    right: -205px;
    display: flex !important;
  }
}

@media (width <= 860px) {
  .creations-gallery .creations.vertical {
    padding: 0 15%;
    align-self: center !important;
  }
}

@media (width >= 500px) and (width <= 860px) {
  .creations-gallery .bg1 {
    top: 421px;
    left: -118px;
  }

  .creations-gallery .bg2 {
    top: 50%;
    left: unset;
    display: flex;
    right: -119px;
  }
}

@media (width >= 860px) and (width <= 1280px) {
  .creations-gallery .bg1 {
    top: 34%;
    left: -118px;
  }
}

@media (width >= 1280px) {
  .creations-gallery .bg1 {
    top: 25%;
    left: 0;
  }
}

.procedure {
  background-repeat: no-repeat;
  background-size: cover;
  align-items: center;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.procedure h1 {
  margin-bottom: 70px;
}

.procedure .embla {
  width: 100%;
}

.procedure .embla .creations {
  flex-wrap: nowrap;
  flex: 1;
  overflow: hidden;
}

.procedure .embla .creations .embla__container {
  max-width: 100vw;
}

section:has(.subtitle-animation.horizontal) {
  flex-direction: row;
  align-items: center;
}

section:has(.subtitle-animation.horizontal) h3 {
  text-align: left;
  flex: 0 0 70%;
  padding: 0 1rem 0 0;
}

@media (width <= 600px) {
  .luisa2 {
    width: 100vw !important;
  }
}

@media (width <= 500px) {
  section:has(.subtitle-animation.horizontal) {
    flex-direction: column;
  }

  section:has(.subtitle-animation.horizontal) h3 {
    text-align: center;
    flex: 1;
  }

  .page .landing .image .title, .page .landing .image-frame-deco .frame .title, .image-frame-deco .page .landing .frame .title {
    justify-content: center;
    width: 100%;
    margin-right: -1rem;
  }

  .landing .subtitle {
    font-size: 1rem !important;
    line-height: 30px !important;
  }

  .jewels section.alternate > * {
    margin: 40px 10px;
  }

  .jewels section.alternate > * span {
    margin: 10px;
    font-size: 1.5rem;
  }

  .jewels section.alternate > * .frame2 {
    width: 200px;
    height: 200px;
  }
}

@media (width >= 500px) {
  section.quality {
    min-height: 350px;
  }

  .home section, section.spaced {
    padding: 20px;
  }

  .home section h1, .home section h3, section.spaced h1, section.spaced h3 {
    padding: 0 25%;
  }

  section.spaced h1, section.spaced h3 {
    padding: 0 15%;
  }
}

@media (width >= 860px) {
  .landing .subtitle {
    padding-left: 30%;
    padding-right: 30%;
  }

  .home section, section.spaced {
    padding: 70px;
  }

  section.spaced {
    padding-left: 10%;
    padding-right: 10%;
  }

  .landing .image .title, .landing .image-frame-deco .frame .title, .image-frame-deco .landing .frame .title {
    font-size: 5rem !important;
  }

  .landing .image .subtitle, .landing .image-frame-deco .frame .subtitle, .image-frame-deco .landing .frame .subtitle {
    text-align: left;
    max-width: 47%;
    padding-left: 0;
  }

  .jewels .landing .image, .jewels .landing .image-frame-deco .frame, .image-frame-deco .jewels .landing .frame {
    background-position: 58% 70%;
    background-size: 125%;
  }
}

@media (width <= 860px) {
  .landing .image, .landing .image-frame-deco .frame, .image-frame-deco .landing .frame {
    justify-content: center !important;
    align-items: center !important;
    padding-left: 0 !important;
  }

  .home section h1, .home section h3 {
    padding: 0 14%;
  }
}

@media (width >= 860px) and (width <= 1280px) {
  .page .landing .image, .page .landing .image-frame-deco .frame, .image-frame-deco .page .landing .frame {
    justify-content: center;
  }
}

@media (width <= 1280px) {
  .page .landing .image .title, .page .landing .image-frame-deco .frame .title, .image-frame-deco .page .landing .frame .title {
    flex: 0;
  }

  .creations.vertical .image-frame-footer {
    align-items: center !important;
  }
}

@media (width >= 1280px) {
  section.spaced {
    padding-left: 15%;
    padding-right: 15%;
  }

  .creations.vertical {
    padding-left: 13vw;
  }
}

@media (width >= 600px) and (width <= 1280px) {
  .jewels .landing .image, .jewels .landing .image-frame-deco .frame, .image-frame-deco .jewels .landing .frame {
    background-position: 54% 75%;
    background-size: 151%;
  }

  .landing .image, .landing .image-frame-deco .frame, .image-frame-deco .landing .frame {
    height: 530px;
  }

  .landing .image .title, .landing .image-frame-deco .frame .title, .image-frame-deco .landing .frame .title {
    font-size: 5rem;
  }
}

.presenter .luisa2 {
  background-position-x: -67px;
}

@keyframes pendulum {
  0%, 100% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(-5deg);
  }
}
/*# sourceMappingURL=dighedo.aa436662.css.map */
