:root {
  --pretix-border-radius-base: 15px;
  --pretix-border-radius-large: 30px;
  --pretix-body-bg: #fff;
  --color-purple: #9B49DB;
  --color-green: #059C78;
  --color-input: #cecece;
}

footer:before {
  content: "";
  display: block;
  height: 15px;
  width: 100%;
  background: linear-gradient(90deg, #FC752B 14.3%, #9B49DB 14.3%, #9B49DB 28.6%, #FA9CBD 28.6%, #FA9CBD 42.9%, #059C78 42.9%, #059C78 57.2%, #FFC203 57.2%, #FFC203 71.5%, #5C2EEB 71.5%, #5C2EEB 85.8%, #FF4F4F 85.8%);
}

.product-row.headline::before,
.product-row.simple::before {
  border-width: 2px;
}

article.item-with-variations:last-child::after,
.product-row:last-child::after {
  border-width: 2px;
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
  font-weight: 600;
}

.alert {
  border-width: 2px;
}

.alert:before {
  border-radius: calc(var(--pretix-border-radius-base) - 3px) 0 0 calc(var(--pretix-border-radius-base) - 3px);
}

.btn:not(.input-item-count-dec, .input-item-count-inc) {
  border-radius: 100px;
}

.input-item-count-dec {
  border-radius: 100px 0 0 100px;
}

.input-item-count-inc {
  border-radius: 0 100px 100px 0;
}

.panel {
  border-width: 2px;
}

.panel-heading {
  border-radius: calc(var(--pretix-border-radius-base) - 4px);
}

.panel.details-open .panel-heading {
  border-radius: calc(var(--pretix-border-radius-base) - 4px) calc(var(--pretix-border-radius-base) - 4px) 0 0;
}

.checkout-flow .checkout-step .checkout-step-icon {
  border-width: 2px;
  border-color: #cecece;
  line-height: 27px;
}

.btn {
  border-width: 2px;
  font-weight: 600;
}

.btn-default {
  box-shadow: none;
  border-color: var(--color-input);
}

.btn-primary:hover {
  background-color: transparent;
  border-color: var(--pretix-brand-primary);
  color: var(--pretix-brand-primary);
}

.btn:hover,
.btn:focus {
  box-shadow: none;
}

.btn-default:hover {
  background-color: var(--color-input);
  border-color: var(--color-input);
}

.form-control {
  box-shadow: none;
  border-width: 2px;
  border-color: var(--color-input);
  height: initial;
}

.input-group-addon {
  border-width: 2px;
  border-color: var(--color-input);
}

@media (min-width: 768px) {
  .page-header.logo-large {
    margin: 0px;
  }

  .page-header.logo-large img {
    border-radius: calc(var(--pretix-border-radius-large) * var(--pretix-body-bg-white-0));
  }
}