html, body, main, section, article, figure, img, fieldset {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}

body {
  display: flex;
  justify-content: center;
  padding-bottom: 55px;
  width: 100%;
  background: white;
}

h1, h2, h3, h4, h5, h6, p, ul, li, label, fieldset, input, select {
  margin: 0;
  padding: 0;
  color: #009FE3;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "circe-slab-b";
  font-size: 19pt;
  font-weight: normal;
}

p, ul, li, a, input, label, button, select {
  font-family: "zeitung";
  font-weight: lighter;
}

select {
  background: none;
}

button {
  cursor: pointer;
  margin-top: 25px;
  padding: 10px;
  background: white;
  border: solid 1px #009FE3;
  color: #009FE3;
  text-transform: uppercase;
}
button:not(.out-of-stock):hover {
  background: #009FE3;
  border: solid 1px white;
  color: white;
}
button.out-of-stock {
  cursor: default;
}

main {
  width: 100%;
  max-width: 600px;
}
main h1 {
  margin: 65px 0;
  width: 100%;
  text-align: center;
}
main p {
  margin: 25px 0;
  font-size: 16pt;
  text-align: center;
}
main section {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
  margin: 55px 0;
}
main section.center {
  justify-content: center;
}
main section article {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: calc(50% - 50px);
  margin-bottom: 55px;
}
main section article.out-of-stock {
  opacity: 0.35;
}
main section article figure {
  margin-bottom: 20px;
}
main section article h2 {
  margin-bottom: 10px;
}
main section article p {
  margin: 0;
  min-height: 160px;
  line-height: 20pt;
  font-size: 1em;
  text-align: left;
}
main section article p.bundle {
  min-height: 60px;
}
main section article p.price {
  min-height: auto;
  font-family: "circle-slab-b";
  font-size: 1.25em;
  font-weight: lighter;
}

section.modal {
  position: fixed;
  top: 0;
  left: 0;
  overflow: scroll;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
}
section.modal.hidden {
  display: none;
}
section.modal article.dialog {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 35px;
  background: white;
  border: solid 1px #009FE3;
}
section.modal article.dialog h3 {
  margin-bottom: 35px;
  font-size: 2em;
  font-weight: bold;
}
section.modal article.dialog p {
  min-height: auto;
  margin-top: 15px;
  font-size: 16pt;
}
section.modal article.dialog p.disclaimer {
  color: #bbb;
  font-size: 1em;
}
section.modal article.dialog section.fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 35px;
}
section.modal article.dialog section.fields .fields-line {
  display: flex;
  gap: 20px;
}
section.modal article.dialog section.fields .fields-line fieldset {
  display: flex;
  flex-direction: column;
  width: calc(50% - 10px);
}
section.modal article.dialog section.fields .fields-line fieldset label {
  margin-bottom: 10px;
  font-weight: bold;
}
section.modal article.dialog section.fields .fields-line fieldset input, section.modal article.dialog section.fields .fields-line fieldset select {
  padding: 0.25em;
  border: solid 1px #009FE3;
  font-size: 1em;
}
section.modal article.dialog section.error {
  margin-top: 20px;
  padding: 0.25em 0.5em;
  border: solid 1px red;
}
section.modal article.dialog section.error p {
  margin-top: 0;
  color: red;
}
section.modal article.dialog section.buttons {
  display: flex;
  justify-content: flex-end;
  gap: 35px;
}
section.modal article.dialog section.buttons button {
  align-self: center;
  width: 200px;
  text-transform: uppercase;
}
section.modal article.dialog section.buttons button.faded {
  border-color: #BBB;
  color: #BBB;
}
section.modal article.dialog section.buttons button.faded:hover {
  background: #BBB;
  color: white;
}
section.modal article.dialog section.spinner {
  display: flex;
  justify-content: center;
  margin-top: 35px;
  width: 100%;
}
@keyframes spinning {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
section.modal article.dialog section.spinner i {
  animation: spinning 4s linear infinite;
  color: #009FE3;
}

@media (max-width: 600px) {
  main p {
    padding: 0 50px;
  }
  main section {
    flex-wrap: wrap;
  }
  main section article {
    width: 100%;
    margin-bottom: 55px;
    align-items: center;
  }
  main section article figure {
    text-align: center;
  }
  main section article p {
    margin: 0 50px;
    min-height: auto;
    text-align: center;
  }
  main section article p.price {
    margin-top: 35px;
  }
  section.modal article.dialog {
    width: 75%;
  }
  section.modal article.dialog section.fields {
    flex-direction: column;
  }
  section.modal article.dialog section.fields .fields-line {
    flex-direction: column;
  }
  section.modal article.dialog section.fields .fields-line fieldset {
    width: 100%;
  }
}/*# sourceMappingURL=sanhaco-editorial.css.map */