:root {
  --octo-main: #0e2356;
  --octo-secondary: #00d2dd;
  --octo-red: #e60000;
}

html {
  background-color: #fff;
  color: var(--octo-main);
  font-family: Outfit,Arial,Helvetica,sans-serif;
}

body {
  max-width: 900px;
  margin: auto;
  margin-top: 60px;
  text-align: center;
}

.hide {
  display: none !important;
}

.show {
  display: block;
}

header img {
  width: 250px;
}

header h1 {
  font-size: 3.5rem;
  margin-top: -36px;
}

#form-block .warning {
  color: var(--octo-red);
}

#form-block .warning p {
  margin-top: 4px;
  margin-bottom: 4px;
}

#phone-form {
  margin-top: 24px;
}

#phone-form label {
  font-weight: 600;
}

#phone-form label span {
  font-weight: 400;
  font-style: italic;
  display: block;
}

#phone-form input {
  margin-top: 8px;
  font-size: 14px;
  line-height: 24px;
  height: 40px;
  border: 1px solid var(--octo-main);
  border-radius: 8px;
  box-sizing: border-box;
  color: inherit;
  font-family: Outfit, Arial, Helvetica, sans-serif;
  padding-left: 15px;
  padding-right: 15px;
}

#phone-form input.has-error {
  border-color: var(--octo-red);
}

.form-error {
  color: var(--octo-red);
  margin-top: 4px;
}

#phone-form .cf-turnstile {
  margin-top: 24px;
}

button, .cta {
  margin-top: 24px;
  background-color: var(--octo-secondary);
  color: var(--octo-main);
  border-radius: 99px;
  display: inline-block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2.5px;
  line-height: 18px;
  padding: 16px 26px;
  border: none;
  font-family: Outfit, Arial, Helvetica, sans-serif;
  text-decoration: none;
}

button:focus, button:hover, .cta:focus, .cta:hover {
  cursor: pointer;
  background-color: var(--octo-main);
  color: #FFF;
}

.success-message {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.success-message img {
  height: 52px;
}

.success-message > div > :first-child {
  font-weight: 600;
}

.success-message > div p {
  margin-top: 4px;
  margin-bottom: 4px;
}

.opening-hours p {
  margin-bottom: 4px;
}

.opening-hours ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.opening-hours ul li {
  width: fit-content;
  margin: auto;
}

.error-message {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.error-message img {
  height: 52px;
}

.error-message p {
  color: var(--octo-red);
  font-weight: 600;
}



.lds-dual-ring,
.lds-dual-ring:after {
  box-sizing: border-box;
}

.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
  margin-top: 24px;
}

.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6.4px solid currentColor;
  border-color: currentColor transparent currentColor transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

