
html,
body {
  font-weight: 400;
  font-family: 'Georgia',serif;
  color: #333340;
}
h1,h2,h3,h4,h5,h6 {
  font-weight: 400;
}

h1 {
  font-size: 16px;
  margin: 0;
  font-style: italic;
}

h2 {
  color: #333;
  font-size: 32px;
  margin: 2rem 0;
  font-style: italic;
}

h3 {
  font-size: 24px;
  color: #333;
  margin: 0;
}

h5 {
  margin: 0;
}

h6 {
  font-size: 18px
}

p {
  font-size: 16px;
}

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

strong {
  font-weight: 400;
  color: #000;
}

.subheading {
}

.g-p {
  font-size: 18px;
  line-height: 24px;
}

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

.Button {
  border: 2px solid rgba(0,0,0,0.1);
  border-style: inset;
  border-radius: 8px;
  background: #333;
  padding: 10px;
  display: block;
  color: #fff;
  cursor: pointer;
}
.Button--disabled {
  opacity: 0.6;
  cursor: auto;
}

.Button.complete {
  background-color: rgb(108, 172, 70)
}

.side-link {
  position: fixed;
  z-index: 9999;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}

.side-link a {
  padding: 0 20px;
}

.underline {
  position: relative;
  padding: 10px 0;

}
.underline::after {
  transition: 180ms cubic-bezier(0.785, 0.135, 0.15, 0.86) width;
  content: '';
  position: absolute;
  right: 0;
  bottom: 0px;
  height: 2px;
  width: 100%;
  background-color: #333;
}

.underline:hover::after {
  width: 0;
}

/* Header */
header {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20px;
  padding: 10px;
  justify-content: space-between;
}
.header-content--bottom {
  align-self: flex-end;
}
.header-content--top {
  align-self: flex-start;
}
.header-content--left {
  justify-self: flex-start;
}
.header-content--right {
  justify-self: end;
}
.header-content--left,
.header-content--right {
  width: 250px;
}

.Navigation a {
  padding: 5px;
  margin: 0 5px;
  text-decoration: underline;
}

/* MAIN */
main {
  margin-top: 80px;
}

.image {
  margin: 40px auto;
  max-width: 450px;
}

/* HOME */
.Home__title {
  text-align: center;
  font-style: italic;
}

/* ORDER */
.Order__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.Order__header h6 {
  margin-left: 8px;
}

/* Footer */
footer { 
  margin: 32px auto !important;
}

.container {
  margin: auto;
  max-width: 760px;
}

.container-sm {
  margin: auto;
  max-width: 640px;
}

.container-x-sm {
  margin: auto;
  max-width: 540px;
}

.container,
.container-sm,
.container-x-sm {
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .header-content--left,
  .header-content--right {
    width: auto;
  }
  .header-content--right {
    display: none;
  }
  .side-link {
    display: none;
  }
  .Order__header {
    flex-direction: column;
  }
  .Order__header h6 {
    margin-left: 0;
  }
}

.Description {
  text-align: center;

}/**
 * The CSS shown here will not be introduced in the Quickstart guide, but shows
 * how you can use CSS to style your Element's container.
 */
 .StripeElement {
  box-shadow: 0 1px 3px 0 #cfd7df;
  box-sizing: border-box;
  flex: 1;

  height: 40px;

  padding: 10px 12px;

  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;

  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}

.StripeElement--focus {
  box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

.CheckoutForm {
  padding: 32px 0;
}

.CheckoutForm__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 16px;
}

.CheckoutForm__field {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.CheckoutForm__field--full {
  grid-column: 1 / -1;
}

.CheckoutForm__label {
  font-size: 14px;
  font-style: italic;
  color: #6b6b76;
  margin-bottom: 6px;
}

.CheckoutForm input {
  height: 44px;
  font-size: 16px;
  margin: 0;
  padding: 0 12px;

  width: 100%;
  box-sizing: border-box;

  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 1px 3px 0 #cfd7df;
}

.CheckoutForm select {
  width: 100%;
  height: 44px;
  box-sizing: border-box;
  padding: 0 8px;
  border-radius: 4px;
}

.CheckoutForm textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 72px;
  border-radius: 4px;
}

.CheckoutForm .StripeElement {
  height: 44px;
  padding: 12px;
}

.CheckoutForm__submit {
  margin-left: 12px;
  font-size: 16px;
  padding: 12px 24px;
}

@media (max-width: 640px) {
  .CheckoutForm__grid {
    grid-template-columns: 1fr;
  }
  .CheckoutForm__footer {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .CheckoutForm__footer > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .CheckoutForm__submit {
    margin-left: 0;
    width: 100%;
  }
}

select {
  font-size: 18px;
  height: 40px;
  box-shadow: 0 1px 3px 0 #cfd7df;
  background-color: #fff;
  border: none;
}

textarea {
  font-size: 16px;
  padding: 12px;
  resize: none;
  border: none;
  box-shadow: 0 1px 3px 0 #cfd7df;
  width: Calc(100% - 24px);
}

.CheckoutForm__footer {
  margin-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}form {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
}
form input,
form textarea {
  width: 100%;
  height: 40px;
  font-size: 16px;
  margin: 8px 0;

  padding: 0 12px;

  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;
}

form textarea {
  height: 60px;
  padding: 12px;
}

form .Button {
  font-size: 16px;
  cursor: pointer;
}
/* Ported from gatsby-image fluid behavior */
.image img {
  display: block;
  width: 100%;
}
