@font-face {
  font-family: "MinionPro-Regular";
  src: url("/static/fonts/MinionPro-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/MinionPro-Regular.otf") format("opentype"),
    url("/static/fonts/MinionPro-Regular.woff") format("woff"),
    url("/static/fonts/MinionPro-Regular.ttf") format("truetype"),
    url("/static/fonts/MinionPro-Regular.svg#MinionPro-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}

body,
#app,
html#ecwid_html body#ecwid_body.shopfront .ecwid .ecwid-btn,
html#ecwid_html body#ecwid_body.shopfront .ecwid-popup,
html#ecwid_html body#ecwid_body.show-store .ec-size .ec-store,
html#ecwid_html body#ecwid_body.show-store {
  font-family: "MinionPro-Regular", sans-serif;
}

a {
  text-decoration: none;
  color: #666666;
}

a:hover {
  text-decoration: underline;
}

html {
  font-size: 12px;
}

html.medium {
  font-size: 14px;
}

html.large {
  font-size: 16px;
}

body {
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
}

#app p,
#app nav ul.menu li,
#app ul,
#app li,
#app ol,
#app figure {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin: 0;
}

#app .body li {
  -webkit-margin-start: 1em;
}

section#ecwid-store-container,
header.top-header > .inner,
#app {
  position: relative;
  margin: 0 auto;
  max-width: 1920px;
}

#app {
  overflow: visible;
}

#app.show-detail {
  background-color: white;
}

#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  z-index: -1;
  background-color: rgb(228, 228, 228);
  transition: opacity 1s ease-in-out, z-index 0s linear 1s;
  animation: loader 2s 1;
  animation-iteration-count: 1;
}

#loading-overlay .element {
  position: absolute;
}

#loading-overlay .bg {
  left: 10%;
  right: 10%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

#loading-overlay .progress {
  width: 30%;
  height: 30%;
}

#loading-overlay .progress-left {
  top: 20%;
  left: 10%;
}

#loading-overlay .progress-right {
  top: 50%;
  right: 10%;
}

#loading-overlay .progress img {
  width: 100%;
  height: 100%;
}

#loading-overlay .lucia {
  top: 30%;
  bottom: 30%;
  background-image: url(/static/images/santa-lucia-di-siracusa.svg);
  animation: lucia 1.5s 1;
  animation-iteration-count: 1;
}

#loading-overlay .logo {
  animation: loading-logo 1.5s 1;
  animation-iteration-count: 1;
  z-index: 10;
}

@keyframes loader {
  0% {
    background-color: rgb(255, 255, 255);
  }
  100% {
    background-color: rgb(228, 228, 228);
  }
}

@keyframes lucia {
  0% {
    transform: scale(0.75);
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes loading-logo {
  0% {
    opacity: 0;
  }
  33.333% {
    opacity: 0.625;
  }
  100% {
    opacity: 0.75;
  }
}

body.show-loading #loading-overlay {
  z-index: 100;
  opacity: 1;
}

#app .top-header .bg-solid,
body {
  background-color: rgb(228, 228, 228);
}

#app .top-header .bg-element {
  position: absolute;
  right: 0;
  left: 0;
  transition: background-color 0.5s ease-in-out;
  pointer-events: none;
}

#app .top-header > .bg-menu {
  transition: opacity 0.125s ease-in-out;
}

.plain,
.plain > li,
.dot-nav > li,
.arrow-nav > li,
.flex-slides > li {
  list-style: none;
  outline: none;
}

.plain,
.plain > li {
  padding: 0;
  margin: 0;
}

.flex-slides li figure {
  position: relative;
}

.flex-slides li figcaption {
  position: absolute;
  bottom: 15%;
  left: 0;
  right: 0;
  padding: 0.75em 5%;
  z-index: 8;
}

#app .top-header .bg-solid {
  height: 92%;
  top: 0;
}

#app .top-header .bg-menu {
  height: 100%;
  top: 0;
  opacity: 0;
}

#app.show-home.page-up .top-header .bg-transition {
  bottom: 0;
  height: 8%;
  background-image: linear-gradient(
    to bottom,
    rgba(228, 228, 228, 1),
    rgba(228, 228, 228, 0)
  );
  transition: background-color 0.125s ease-in-out;
}

#app footer {
  padding: 2em 0;
}

#loading-overlay > header.top-header,
#app > header.top-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2.5em;
  z-index: 40;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  overflow: hidden;
  transition: height 0.5s ease-in-out;
}

#loading-overlay > .top-header > .inner,
#app > .top-header > .inner {
  display: flex;
  flex-flow: nowrap row;
  align-items: center;
  justify-content: center;
}

.main-logo {
  position: relative;
  margin-top: -0.125em;
  background-image: url("/static/images/logo-font-black.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  height: 2.4em;
  width: 50%;
  opacity: 0.6667;
  /*transform: scale(1, .8);*/
  transform: scale(0.8, 0.8);
  transition: all 0.5s ease-in-out;
  cursor: pointer;
  z-index: 100;
}

.front #loading-overlay .logo,
.show-home.scrolled-up .main-logo {
  transform: scale(1, 1);
  margin-top: 0;
}

.show-store #app.show-menu {
  z-index: 30;
}

.main-logo:hover {
  /*transform: scale(1.25, 0.8);*/
}

.show-menu .main-logo:hover {
  /*transform: scale(1.25, 1);*/
}

.top-icon {
  position: absolute;
  top: 0.25em;
  opacity: 0.5;
  transition: all 0.5s ease-in-out;
  z-index: 30;
  cursor: pointer;
}

.top-icon:before {
  font-size: 1.667rem;
}

.menu-toggle {
  left: 2.5%;
}

.main-nav .menu-toggle {
  left: 2.5vw;
  transform: scale(0.8);
}

.top-header .menu-toggle {
  margin-top: 0;
}

.show-cart {
  right: 2.5%;
}

.show-menu .top-header .menu-toggle {
  opacity: 0;
}

.main-nav .menu-toggle.icon-menu:before {
  content: "\e903";
}

.menu-toggle:hover {
  opacity: 0.75;
}

#app nav ul.menu,
#app nav ul.menu li {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

#app nav ul.menu {
  position: relative;
  top: 2em;
  padding: 0.5em 0 2em 0;
  left: 0;
  overflow: hidden;
}

/*#app.show-menu .top-header .bg-menu {
  background-color: white;
  opacity: 1;
}*/

/*#app.show-menu .top-header .bg-solid,
#app.show-menu .top-header .bg-transition {
  opacity: 0;
}*/

nav ul.menu > li {
  line-height: 1em;
}

body.show-store .back-to {
  opacity: 0.6667;
  pointer-events: all;
  cursor: pointer;
  z-index: 100;
}

body.show-store #app .show-cart {
  opacity: 0;
  z-index: -1;
  pointer-events: none;
}

#app .main {
  transition: opacity 0.5s ease-in-out, margin-top 0.5s ease-in-out;
  margin-top: 2.4em;
}
body.show-store #app .main {
  position: fixed;
  z-index: -1;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

#app .home-pane,
#app .detail-pane {
  transition: opacity 0.5s ease-in-out;
}

#app .detail-pane {
  padding: 0.5em 2.5%;
  background-color: white;
}

#app.show-home .home-pane,
#app.show-detail .detail-pane {
  position: relative;
  pointer-events: all;
  z-index: 2;
  opacity: 1;
}

#app.show-home .home-pane {
  margin-top: 1em;
}

#app.show-home .detail-pane,
#app.show-detail .home-pane {
  position: absolute;
  top: 0;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  height: 0;
  max-height: 0;
  overflow: hidden;
}

nav.main-nav {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 100%;
  left: -100%;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  transition: left 1s ease-in-out;
}

.show-menu nav.main-nav {
  left: 0;
  opacity: 1;
  pointer-events: all;
  z-index: 50;
}

.show-detail.show-menu nav.main-nav {
  border-right: solid 1px rgba(0, 0, 0, 0.25);
}

#app nav ul.menu > li a {
  width: 95%;
  display: block;
  padding: 0.125em 2.5%;
}

#app .show-cart {
  right: 2.5%;
  width: 4em;
}

#app .show-cart:before {
  position: absolute;
  top: 0;
  right: 0;
  transform: scale(0.8);
}

#app .show-cart.has-items:hover {
  transform: skew(-10deg);
}

#app .show-cart .num {
  opacity: 0;
}

#app .micro-cart {
  opacity: 0;
  position: fixed;
  top: 1em;
  right: 2%;
  pointer-events: none;
  background-color: rgb(228, 228, 228);
  font-size: 0.75em;
  margin: 2em 0 1em 0;
  padding: 0.75em 0.5em 0.25em 0.5em;
  transition: opacity 0.5s ease-in-out;
  text-align: left;
  pointer-events: none;
}

#app.show-menu .micro-cart {
  background-color: white;
}

#app.show-microcart .micro-cart {
  pointer-events: all;
  opacity: 1;
  z-index: 101;
}

#app .micro-cart .subtotal {
  margin: 0.25em 0;
  padding: 0.25em 0.5em;
  border-top: dashed 1px black;
  text-align: right;
}

#app .micro-cart {
  width: 20em;
  max-width: 90%;
}

#app .micro-cart .ordered-items {
  width: 100%;
}

#app .micro-cart .ordered-items li {
  white-space: nowrap;
}

#app .show-cart .num {
  position: absolute;
  right: 2.75em;
  top: 0.25em;
  display: block;
  font-size: 0.8em;
  padding: 0.125em;
}

#app footer .info {
  margin: 0.75em auto;
}

#app footer .admin {
  position: absolute;
  bottom: 2em;
  padding: 1em 2.5vw;
  right: 0;
}

#app footer .admin span.clear {
  display: inline-block;
  margin-right: 2em;
  width: 1em;
  height: 1em;
  opacity: 0;
  transform: rotate(-45deg);
  cursor: pointer;
}

#app footer .developed-by,
#app footer .admin a {
  opacity: 0;
  display: block;
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out 0.5s;
}

#app footer .admin a {
  transform: rotate(90deg);
}

#app footer .developed-by {
  transform: scale(-1, 1);
  margin-bottom: -0.5em;
}

#app footer .admin:hover a {
  opacity: 1;
  transform: rotate(0deg);
}

#app footer:hover .admin .clear,
#app footer:hover .developed-by {
  opacity: 1;
}

#app footer:hover .developed-by {
  transform: scale(1, 1);
}

#app .show-cart.has-items {
  cursor: pointer;
  opacity: 1;
  z-index: 90;
}

#app .show-cart.has-items .num {
  opacity: 1;
}

#app .product-overlay .close {
  transition: top 0.5s ease-in-out;
}

@media screen and (min-height: 20em) {
  #app nav ul.menu > li a {
    padding: 0.25em 2.5%;
  }
}

@media screen and (min-height: 30em) {
  #app nav ul.menu > li a {
    padding: 0.375em 2.5%;
  }
}

@media screen and (min-height: 40em) {
  #app nav ul.menu > li a {
    padding: 0.5em 2.5%;
  }
}

@media screen and (min-width: 20em) {
  nav.main-nav {
    width: 12em;
    max-width: 100%;
    left: -12em;
  }

  #app nav.main-nav ul.menu {
    padding-left: 2.5vw;
    width: 95%;
  }

  #app nav.main-nav li {
    text-align: left;
  }
}

@media screen and (min-width: 30em) {
  .main-logo {
    height: 2.8em;
  }

  #app .main {
    margin-top: 3em;
  }
}

@media screen and (min-width: 40em) {
  #app .top-header .bg-solid {
    height: 88%;
  }

  #app.show-home.page-up .top-header .bg-transition {
    height: 12%;
  }

  #loading-overlay > header.top-header,
  #app > header.top-header {
    height: 3em;
  }

  #app .main {
    margin-top: 3.3333em;
  }

  #app nav.main-nav {
    font-size: 1.2em;
  }

  section#ecwid-store-container {
    top: 6.5em;
  }

  .main-logo {
    height: 3.2em;
    margin-top: -0.25em;
  }

  #app .show-cart {
    height: 1.667em;
  }
  #app .top-icon:before {
    font-size: 2rem;
  }

  #app .micro-cart {
    top: 1.25em;
  }
}

@media screen and (min-width: 50em) {
  #app nav.main-nav {
    font-size: 1.25em;
  }
  section#ecwid-store-container {
    top: 7em;
  }

  #app .show-cart {
    height: 1.8667em;
  }
  #app .top-icon:before {
    font-size: 2.25rem;
  }
  .main-logo {
    height: 3.6em;
  }
}

@media screen and (min-width: 60em) {
  #app .top-header .bg-solid {
    height: 80%;
  }

  #app.show-home.page-up .top-header .bg-transition {
    height: 20%;
  }

  #app nav.main-nav {
    font-size: 1.333em;
  }

  section#ecwid-store-container {
    top: 8em;
  }

  #app .show-cart {
    height: 2em;
  }
  #app .top-icon:before {
    font-size: 2.5rem;
  }

  #loading-overlay > header.top-header,
  #app > header.top-header {
    height: 3.5em;
  }

  #app .main {
    margin-top: 3.75em;
  }

  #app nav ul.menu {
    top: 2.5em;
  }
  .main-logo {
    height: 4em;
  }

  #app .micro-cart {
    top: 1.5em;
  }

  #app .show-cart .num {
    right: 3.25em;
  }
}

@media screen and (min-width: 70em) {
  #app .top-header .bg-solid {
    height: 77.5%;
  }

  #app.show-home.page-up .top-header .bg-transition {
    height: 22.5%;
  }
}

@media screen and (min-width: 80em) {
  #app .top-header .bg-solid {
    height: 75%;
  }

  #app.show-home.page-up .top-header .bg-transition {
    height: 25%;
  }

  #app nav.main-nav {
    font-size: 1.41em;
  }

  section#ecwid-store-container {
    top: 9em;
  }

  #app .show-cart {
    height: 2.25em;
  }

  #app .top-icon:before {
    font-size: 2.667rem;
  }
  #loading-overlay > header.top-header,
  #app > header.top-header {
    height: 4em;
  }

  #app .main {
    margin-top: 4em;
  }

  #app nav ul.menu {
    top: 3em;
  }
  .main-logo {
    height: 4.5em;
  }
  #app .show-cart .num {
    right: 3.75em;
  }

  .text-section article.body {
    font-size: 1.0625em;
  }
}

@media screen and (min-width: 90em) {
  #app .show-cart {
    height: 3.333em;
  }
  #app .top-icon:before {
    font-size: 3rem;
  }
  #loading-overlay > header.top-header,
  #app > header.top-header {
    height: 4.5em;
  }
  #app nav ul.menu {
    top: 3.5em;
  }
  .main-logo {
    height: 5em;
  }

  #app nav.main-nav {
    font-size: 1.5em;
  }

  .text-section article.body {
    font-size: 1.125em;
  }
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .product-details__product-title,
html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .product-details__product-price {
  font-size: 2em;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .ec-footer
  a,
html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .form-control--large
  .form-control__button,
html#ecwid_html
  body#ecwid_body.show-store
  .ec-size
  .ec-store
  .product-details-module__title {
  font-size: 1em;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .form-control--large
  .form-control__button {
  border: solid 1px black;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .form-control--large
  .form-control__button:hover {
  background-color: black;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .form-control--large
  .form-control__button
  * {
  color: black;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--xl
  .ec-store
  .form-control--large
  .form-control__button:hover
  * {
  color: white;
}

html#ecwid_html
  body#ecwid_body.show-store
  .ec-size.ec-size--s
  .ec-store
  .details-product-purchase__controls {
  max-width: 100%;
}

section#ecwid-store-container {
  top: 6em;
}

section#ecwid-store-container,
#app .bg-white {
  background-color: white;
}
