@font-face {
  font-family: 'Fira Code';
  src: url('/fonts/Fira_Code/FiraCode-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-stretch: 75% 125%; 
  font-display: swap;
}

:root {

  /* margins & paddings */
  --body-padding: 0;
  --body-margin: 0;
  --wrapperSidePadding: 1.5rem;
  --sectionSidePadding: 0;
  --layoutMaxWidth: auto;

  --promo-gradient-stop-1: #4747db; /*darkblue;*/
  --promo-gradient-stop-2: #bd52f0; /*darkorchid;*/
  --promo-gradient: linear-gradient(to right, var(--promo-gradient-stop-1), var(--promo-gradient-stop-2));
  --promo-gradient-90deg: linear-gradient(90deg, var(--promo-gradient-stop-1), var(--promo-gradient-stop-2));

  --base: #ffffff;
  --offset: #edf1f7;
  --offset2: #c2c8d1;
  --logo: #138046;
  --logo-offset: #74dba4;
  --heading: #1c1c1e;
  --text: #292b2d;
  --message-neutral: #ffefc0;
  --link: #4747db;

  /* elements */
  --header-Bg: var(--offset);
  --logoIcon: var(--logo);
  --logoIconText: var(--base);
  --logoText: var(--heading);

  --bodyFont: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --codeFont: 'Fira Code', monospace;

}

/* RESETS */

body {
  margin: 0;
  padding: 0;
  font-family: var(--bodyFont);
  font-size: 16px;
  color: var(--text);
}

p {
  line-height: 1.6;
}

a {
  color: var(--link);
}

/* RECYCLABLES */

.wrapper {
  padding: 0 var(--wrapperSidePadding);
  margin: 0 auto;
  max-width: var(--layoutMaxWidth);
}

.wrapper-wide {
  padding: 0 var(--wrapperSidePadding);
  margin: 0 auto;
  max-width: var(--layoutMaxWidth);
  max-width: 1024px; /* 1400?*/
}

.wrapper-narrow {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 var(--wrapperSidePadding);
  box-sizing: border-box;
  position: relative;
}

.wrapper-checkout {
  padding: 0 var(--wrapperSidePadding);
  margin: 0 auto;
  max-width: var(--layoutMaxWidth);
  max-width: 1400px;
}

/* HOMEPAGE */

h1.bigH1 {
  font-size: 2.5rem;
  margin: 0;
}

.subtext {
  font-size: 1.2rem;
  padding: 0;
  line-height: 1.6;
}

.section-hero {
  padding: 4rem var(--sectionSidePadding);
}

.section-main-features,
.section-screenshots,
.section-pricing-table {
  padding: 2rem var(--sectionSidePadding);
}

/* PROMO BAR */

#promo-bar {
  background: var(--promo-gradient);
  color: var(--base);
  height: 2.5rem;
  gap: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

#promo-bar a.rounded-link {
  background: var(--base);
  padding: .2rem .4rem .2rem .5rem;
  text-decoration: none;
  border-radius: 1rem;
  color: var(--text);
}

/* HEADER */

header {
  background: var(--header-Bg);
  z-index: 30;
  position: relative;
}

header > .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* LOGO */

.logo-wrapper {
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
  display: inline-flex;
  position: relative;
}

.logo-wrapper a {
  display: inline-flex;
  position: relative;
  cursor: pointer;
}

svg#logo {
  height: 2rem;
  width: auto;
}

svg#logo path.logo-text {
  fill: var(--logoText);
}

svg#logo path.logo-icon {
  fill: var(--logoIcon);
}

svg#logo path.logo-icon-text {
  fill: var(--logoIconText);
}

/* FORMS */

.form-outer {
  background: var(--offset);
  padding: 3rem 1rem;
  border-radius: .25rem;
}

.form-inner-wrapper {
  background: var(--promo-gradient-radial);
  padding: 2px;
  border-radius: 10px;
  width: 50%;
  margin: 0 auto;
}

.form-inner {
  background: var(--base);
  border-radius: 8px;
}

.form-main {
  padding: 2rem 1rem;
}

.form-bottom {
  padding: 1rem;
  border-top: 2px solid var(--offset);
}

form.user-form .form-group {
  margin-bottom: 1rem;
}

form.user-form label {
  display: block;
  font-weight: bold;
  margin-bottom: .25rem;
}

form.user-form input {
  width: 100%;
  padding: .5rem;
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  box-sizing: border-box;
  font-size: 1rem;
}

form.user-form button {
  border: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--logo);
  color: var(--base);
  border-radius: .375rem;
  padding: 1rem;
  font-size: 1.25rem;
  cursor: pointer;
}

/* FEATURES TABLE */

table.features-table td svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--logo);
  display: block;
  margin: 0 auto;
}

/* SUB NAV */

.sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar a {
  border-left: 1px solid var(--logo);
  padding: .5rem 1rem;
  text-decoration: none;
  color: var(--text);
  display: block;
}

.sidebar li.is-active a {
  border-left-width: 4px;
  font-weight: bold;
  color: var(--logo);
}

/* CODE BLOCKS */

.code-language {
  font-size: .8rem;
  margin-bottom: .5rem;
  font-weight: bold;
  color: var(--heading);
}

pre.shiki {
  padding: 1rem;
  border-radius: .25rem;
  border: 1px solid rgba(0,0,0,.1);
  margin: 0;
}

pre code {
  tab-size: 2;
  -moz-tab-size: 2;
  display: block;
  overflow-x: auto;
}

/* PRICING TOGGLE */

.toggle {
  position: relative;
  display: inline-flex;
  background-color: var(--offset);
  border-radius: 25px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
}

.toggle-option {
  flex: 1;
  text-align: center;
  line-height: 50px;
  padding: 0 20px;
  color: var(--text);
  font-weight: bold;
  z-index: 1;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.toggle-switch {
  position: absolute;
  height: 100%;
  background-color: var(--logo);
  border-radius: 25px;
  z-index: 0;
  transition: transform 0.3s ease, width 0.3s ease;
}

.toggle-option.is-active {
  color: #fff;
}

/* PRICING PLANS */

.payment-methods img {
  height: 2rem;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: .25rem;
  overflow: hidden;
}

.pricing .plan {
  background-color: #fff;
  border: 1px solid var(--offset2);
  margin: 12px;
  border-radius: 5px;
  text-align: center;
  transition: 0.3s;
  position: relative;
}

.pricing .plan h2 {
  font-size: 1.25rem;
  margin: 0;
}

.pricing .plan .price {
  font-size: 2.5rem;
}

.plan .contact-sales-block a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  background-color: #4CAF50;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
}

.plan .contact-sales-block a svg {
  width: 2rem;
  height: 2rem;
}

span.plan-product-title {
  text-transform: uppercase;
  color: var(--logo);
  font-size: 1.5rem;
}

.toggle-container {
  text-align: center;
  margin: 2rem 0;
}

.pricing .plan {
  padding: 2.5rem;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: stretch;
}

.pricing .plan.popular {
  border: 2px solid var(--promo-gradient-stop-1);
  position: relative;
  transform: scale(1.08);
}

.pricing .plan-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.plan .price-block {
  padding: 1rem 0;
}

.pricing .plan ul.features li {
  display: flex;
  align-items: center;
  padding: .5rem 0;
  position: relative;
}

.pricing .plan ul.features li:first-child:before {
  position: absolute;
  content: '';
  height: 2px;
  left: 0;
  right: 0;
  bottom: 100%;
  background: var(--base);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(237, 241, 247, 1) 30%, rgba(237, 241, 247, 1) 70%, rgba(255, 255, 255, 0) 100%);

}

.pricing .plan ul.features li:after {
  position: absolute;
  content: '';
  height: 2px;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--base);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(237, 241, 247, 1) 30%, rgba(237, 241, 247, 1) 70%, rgba(255, 255, 255, 0) 100%);

}

span.price-container svg {
  width: 2rem;
  height: 2rem;
}

.pricing .plan ul.features {
  list-style-type: none;
  text-align: left;
  margin: 0;
  padding: 1rem 0;
}

.pricing .plan ul.features li svg {
  margin-right: .25rem;
  flex-shrink: 0;
}

.pricing ul.features svg {
  width: 1rem;
  height: 1rem;
}

svg.feature-true {
  fill: var(--logo);
}

.pricing .plan a.buy-button {
  border: none;
  padding: 12px 35px;
  margin-top: 1rem;
  background-color: var(--logo);
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  display: inline-block;
}

/* CHECKOUT-TABLE */

.checkout-flex {
  display: flex;
  padding: 0;
  gap: 4rem;
}

.checkout-col-1 {
  width: 60%;
  flex-grow: 0;
}

.checkout-col-2 {
  width: 40%;
}

table.checkout-table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem;
}

table.checkout-table td,
table.checkout-table th {
  border-bottom: 1px solid var(--offset2);
  padding: .5rem;
  text-align: right;
}

table.checkout-table th:first-child {
  text-align: left;
}

table.checkout-table td {
  font-weight: bold;
}

body.page_checkout select {
  width: 100%;
  font-size: 1.2rem;
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  background: var(--base);
}

.keyInput {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.keyInput input {
  flex-grow: 1;
}

body.page_checkout input[type="text"] {
  padding: .5rem 0;
  font-size: 1.2rem;
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  background: var(--base);
}




/* CHECKOUT FOOTER */

#checkout-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 1px solid var(--offset2);
  background: var(--base);
}

#checkout-footer .wrapper-checkout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 6rem;
}

#checkout-info {
  width: 200px;
  font-size: .8rem;
}

body.page_checkout a.email-button {
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  background: var(--offset);
  border-radius: .25rem;
  text-decoration: none;
  color: var(--text);
}

a.email-button svg {
  width: 1.5rem;
  height: 1.5rem;
}

.checkout-order {
  margin-right: 1rem;
}

#checkout-footer .checkout-flexz {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

a.checkout-next {
  align-items: center;
  background: var(--logo);
  padding: .5rem;
  font-size: 1.4REM;
  color: var(--base);
  border-radius: 0.375rem;
  text-decoration: none;
}

/* WIZARD */

.wizard-step {
  display: none;
  padding: 1rem 0 6rem 0;
}

.visible-wizard-step {
  display: block;
}

/* FLASH */

@keyframes bckanim {
  0% {background-color:rgb(255, 214, 138);}
  100% { background-color:transparent;}
}

*[data-flash] {
  background-color:rgb(255, 214, 138);
  animation-name:bckanim;
  animation-fill-mode:forwards;
  animation-duration:1s;
  animation-delay:0s;
  border-radius: .25rem;
  box-decoration-break: clone;
}

/* EULA */

.agreement-box {
  height: 400px;
  overflow: scroll;
  border: 1px solid var(--offset);
  padding: 2rem;
  text-wrap: wrap;
  line-height: 1.6;
  border-radius: .25rem;
}

/* INPUT ERROR (WIZARD) */

.form-error-text {
  color: red !important;
}

.form-error-input {
  border-color: red !important;
}

/* STEPPER */

.c-stepper {
  display: flex;
  counter-reset: section;
  margin: 0;
  padding: 0;
}
.c-stepper__item {
  display: flex;
  gap: clamp(0.25rem, 2vw, 0.5rem);
  align-items: center;
}

.c-stepper__item h3 {
  color: var(--fadeText);
  font-weight: normal;
  cursor: pointer;
}

.c-stepper__item:before {
  counter-increment: section;
  content: attr(data-step);
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: var(--offset2);
  text-align: center;
  align-items: center;
  justify-content: center;
}
.c-stepper__item:not(:last-child) {
  flex: 1;
}
.c-stepper__item:not(:last-child):after {
  content: "";
  position: relative;
  height: 0;
  border-bottom: 1px solid var(--offset2);
  flex: 1;
  margin-right: 0.5rem;
}
.c-stepper__title {
  font-weight: bold;
  font-size: 1rem;
  margin: 0;
}

li.stepper-completed:before {
  background-color: var(--logo-offset);
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' fill='var(--dgxlgreen)' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9 21.035l-9-8.638 2.791-2.87 6.156 5.874 12.21-12.436 2.843 2.817z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 50%;
  content: '';
}

li.stepper-visible:before {
  background: var(--logo);
  color: white;
}

li.stepper-completed h3,
li.stepper-visible h3 {
  color: var(--text);
}

li.stepper-visible h3 {
  font-weight: bold;
}

/* PAGE HEADINGS */

h1.headPageTitle {

}

h2#page-topic {
  font-size: 1rem;
}



/* BOX */


.box-wrapper {
  
  background: var(--offset);
  height: 180px;
  border-radius: .25rem;
  position: relative;
  margin: 2rem 0 4rem 0;

}

.box {
  position: relative;
  width: 140px;
  height: 200px;
  margin: 0 auto ;
  background: #fff;
  box-shadow: -10px 5px 30px rgba(0,0,0,.5);
  transition: .5s;
  transform: skewY(-10deg);
  box-sizing: border-box;
}
.box::before {
  content: '';
  position: absolute;
  top: 0;
  left: -25px;
  width: 25px;
  height: 100%;
  background: lightgrey;
  transform-origin: right bottom;
  transform: skewY(45deg);
}
.box::after {
  content: '';
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 25.7px;
  background: #efefef;
  transform-origin: bottom left;
  transform: skewX(45deg);
}
.box h3 {
  position: relative;
  background: var(--dgxlgreen);
  color: #fff;
  text-align: center;
  margin: 40px 0 0;
  padding: 8px 0;
  font-size: 36px;
  text-transform: uppercase;
  text-shadow: -2px 2px 10px rgba(0,0,0,.5);
}
.box h3:before{
  content:'';
  position:absolute;
  top: 0;
  left: -25px;
  width: 25px;
  height:100%;
  background: #085a93; 
  transform-origin: top right;
  transform: skewY(45deg);
}
.box p {
  padding: 0 20px;
  color: #262222;
  text-align: center;
  font-size: 18px;
}

.box-logo {
  align-items: center;
  height: 60px;
}

.box-logo,
.box-license {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.box-qty {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

/* HOMEPAGE */

.divider {
  height: 2px;
  background: var(--base);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(237, 241, 247, 1) 30%, rgba(237, 241, 247, 1) 70%, rgba(255, 255, 255, 0) 100%);
  margin: 3rem 0;
}

.compare-grid-3 img {
  width: 100%;
  box-sizing: border-box;
}

@media(min-width: 1024px) {

  .splitsection {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  header #hamburger,
  button#floating-subnav-button {
    display: none;
  }

  .pricing {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: center;
    padding-top: 2rem;
  }

  /* MAIN NAV */

  header nav {
    display: flex;
    align-items: center;
    gap: .75rem;
  }

  header nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
  }

  header nav li a {
    color: var(--text);
    text-decoration: none;
    height: 3.5rem;
    line-height: 3.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: block;
  }

  header nav li:has(+ li.nav-button) a {
    padding-right: 1.5rem;
  }

  header nav li.nav-button a {
    display: flex;
    width: 100%;
    padding: 0;
  }

  header nav li.nav-button a span {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--logo);
    color: var(--base);
    border-radius: .375rem;
    margin: .5rem 0;
    padding: 0 1rem;
  }

  header nav li.is-active a {
    position: relative;
  }

  header nav li.is-active a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: .25rem;
    border-radius: .25rem .25rem 0 0;
    background: var(--offset2);
  }

  /* GRIDS */
    
  .grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .grid-3,
  .compare-grid-3 {
    display: grid;
    gap: 1rem 3rem;
    grid-template-columns: 1fr 1fr 1fr;
  }

  /* TWO-COLUMN-LAYOUT */

  .two-column-layout {
    display: grid;
    position: fixed;
    top: 6rem;
    left: 0;
    right: 0;
    /* height: calc(100vh - 3.5rem); */
    bottom: 0;
    grid-template-columns: 300px 1fr;
    gap: 0;
  }

  .two-column-layout > *:first-child {
    border-right: 1px solid var(--offset);
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
    overflow-y: scroll;
  }

  .two-column-layout > *:last-child {
    padding: 3rem;
    overflow-y: scroll;
    position: relative; /* for popover */
  }

  /* EXAMPLES (HOMEPAGE) */

  .example {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 2rem;
    margin: 2rem 0;
    align-items: center;
  }

  .example-reverse {
    grid-template-columns: 2fr 3fr;
  }

  .example-reverse > :first-child {
    order: -1;
  }

  .example-reverse > :last-child {
    order: -2;
  }

  .screenshot {
    display: block;
    padding: 0;
    
    background: linear-gradient(145deg, var(--base-light), var(--base-dark));
    border-radius: 0.75rem;
    box-shadow: 
      0 4px 10px rgba(0, 0, 0, 0.15),
      0 0 12px var(--glow-color);
    
    transition: transform 0.2s ease, box-shadow 0.3s ease;
  }

  .screenshot img {
    display: block;
    width: 100%;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  .story h3 {
    margin-top: 0;
  }

}

/* SCREENSHOTS */

.story a {
  display: inline-flex;
  align-items: center;
}

.story a svg {
  fill: var(--offset2);
  width: 1.2rem;
  height: 1.2rem;
  margin-left: .125rem;
}

/* NEWSLETTER SIGN-UP */

.section-newsletter {
  background: var(--offset);
  padding: 2rem 0;
}

#mc_embed_signup_scroll {
  display: flex;
  justify-content: center;
}

input[name="EMAIL"] {
  border-radius: 5rem 0 0 5rem;
  border: none;
  border: 2px solid var(--offset2);
  border-right: 0;
  padding: 0 1rem;
  font-size: 1rem;
}

input[name="subscribe"] {
  font-weight: bold;
  border: none;
  background: var(--logo);
  border-bottom: .125rem solid rgba(0, 0, 0, .2);
  padding: .5rem 1rem;
  font-size: 1.2rem;
  border-radius: 0 5rem 5rem 0;
  z-index: 1;
  color: var(--logo);
  color: var(--base);
  text-decoration: none;
  box-shadow: 0 0 .25rem rgba(0, 0, 0, .25);
  display: block;
  text-align: center;
  cursor: pointer;
}

/* BIG "CTA" */

a.big-cta {
  background: var(--logo);
  border-bottom: .25rem solid rgba(0, 0, 0, .2);
  padding: 1.125rem 1.5rem;
  font-size: 1.8rem;
  border-radius: 10rem;
  z-index: 1;
  color: var(--base);
  text-decoration: none;
  box-shadow: 0 0 .25rem rgba(0, 0, 0, .25);
  display: block;
  text-align: center;
  font-weight: bold;
  text-shadow: -1px -1px 1px rgba(255, 255, 255, .1), 1px 1px 1px rgba(0, 0, 0, .5);
}

/* QUOTES */


.quote {
  background: var(--base);
  border: 2px solid var(--offset2);
  border-radius: 1rem;
  padding: 1rem;
  font-size: 1.1rem;
  position: relative;
  margin-bottom: .5rem;
  line-height: 1.5;
}

.quote-arrow-border {
  width: 0;
  height: 0;
  line-height: 0;
  border-bottom: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-left: 1rem solid var(--offset2);
  position: absolute;
  bottom: -1rem;
  left: 3rem;
}

.quote-arrow-inner {
  width: 0;
  height: 0;
  line-height: 0;
  border-bottom: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-left: 1rem solid var(--base);
  position: absolute;
  bottom: calc(-1rem + 5px);
  left: calc(3rem + 2px);
}

.author {
  display: flex;
  gap: .75rem;
  padding: .5rem;
}

.avatar {
  width: 4rem;
  height: 4rem;
  background: yellow;
  border-radius: 4rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.avatar img {
  width: 6rem;
}

.avatar + div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
}

.company-logo,
.company-logo-smaller {
  margin-top: .5rem;
}

.company-logo img {
  height: 2rem;
}

.company-logo-smaller img {
  height: 1rem;
}

/* VIDEO HOLDER */

.videoholder {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 9 / 16 = 0.5625 (dus 56.25% van de breedte) */
  background: var(--offset);
  overflow: hidden;
}

.videoholder > iframe,
.videoholder > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: none;
}

a.video-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: none;
}

/* RIBBON */

.hero-graphic {
  position: relative;
}

.ribbon-top-right {
  top: -10px;
  right: -10px;
}

.ribbon {
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
  z-index: 2;
}

.ribbon:before, .ribbon::after {
  position: absolute;
  /* z-index: -1; */
  content: '';
  display: block;
  border: 5px solid #817ed0;
}

.ribbon-top-right::before, .ribbon-top-right::after {
  border-top-color: transparent;
  border-right-color: transparent;
}

.ribbon-top-right::before {
  top: 0;
  left: 0;
}

.ribbon-top-right span {
  left: -25px;
  top: 30px;
  transform: rotate(45deg);
  padding-left: .75rem;
}
.ribbon span {
  position: absolute;
  display: block;
  width: 225px;
  padding: 15px 0;
  background-color: #3498db;
  box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  color: #fff;
  font: 700 18px / 1 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
  /* text-transform: uppercase; */
  text-align: center;
  background: var(--promo-gradient-90deg);
  /* background: linear-gradient(to right, #725fbf, #5340a1); */
}

/* COMPANIES */

.section-companies {
  background: var(--logo-banner-Bg);
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  gap: 1.5rem;
}

.section-companies .logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  overflow-x: auto;
  overflow-y: hidden;
  font-size: 1rem;
}

.section-companies .logos > div {
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .1s ease-in;
}

.logo-runops img {
  height: 3.25em;
}

.logo-amcharts img {
  height: 7em;
}

.logo-piktochart img {
  height: 1.8em;
}

.logo-resource img {
  height: 2em;
}

.logo-optiwise img {
  height: 1.75em;
}

/* BULLET POINTS */

.bulletpoints ul {
  list-style: none;
  margin: 0;
  font-size: .8rem;
}

.bulletpoints li {
  display: flex;
  align-items: center;
}

.bulletpoints svg {
  height: 1.5rem;
  width: 1.5rem;
  fill: var(--offset2);
  margin-right: .5rem;
}

/* FRAMEWORKS */

.framework-relief {
  margin: 2rem 0 2rem;
}

.framework-line {
    font-style: italic;
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}

.framework-line svg {
    height: 1.5rem;
    width: 1.5rem;
    fill: var(--logo);
}

.framework-list {
    line-height: 2rem;
}

.framework-list > div {
    display: inline-block;
    white-space: nowrap;
    margin-right: .5rem;
}

.framework-list > div:last-child {
    margin-right: 0;
}

.framework-list img.graphic {
    height: 2rem;
    display: inline-block;
    margin: 0 auto;
    vertical-align: bottom;
    margin-right: .25rem;
}

/* FOOTER */

footer {
  padding: 2rem 0 4rem 0;
}

footer a {
  text-decoration: none;
  color: var(--text);
}

footer a:hover {
  text-decoration: underline;
}

footer a svg {
  width: 1.2rem;
  height: 1.2rem;
  vertical-align: middle;
  margin-right: .5rem;
  fill: var(--offset2);
}

footer .wrapper > div > div {
  margin: .5rem 0;
}

footer address {
  margin-top: .5rem;
}

footer img {
  height: 1.5rem;
}

.mail-desc {
  font-size: .8rem;
}

.madebyhumans {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin: 1.5rem 0 !important;
}

/* LABEL */

span.label {
  background: var(--logo);
  color: var(--base);
  border-radius: .25rem;
  padding: 0 .25rem;
}

/* FEATURE TABLE */


.section-demo table.features-table th {
  width: 100%;
}

table.features-table {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
  font-size: 1rem;
}
  
table.features-table td,
table.features-table th {
  padding: .25rem .5rem;
  border: 1px dotted var(--offset2);
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
  border-right-color: var(--offset2);
  border-left-color: var(--offset2);
}

table.features-table tr:first-child th {
  border-top-color: var(--offset2);
}

table.features-table tr:last-child th,
table.features-table tr:last-child td {
  border-bottom-color: var(--offset2);
}

table.features-table td svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--logo);
  display: block;
  margin: 0 auto;
}

/* table.features-table th {
  white-space: pre;
} */

table.features-table thead th {
  font-size: 1rem;
  text-align: center;
  
}

table.features-table img {
  vertical-align: -10%;
  margin-right: .4rem;
  opacity: 1;
  width: 1rem;
  height: 1rem;
}

table.features-table tr.stickyrow {
  position: sticky;
  top: 0;
}

.tag-product-family {
  margin-bottom: .5rem;
}

.tag-product {
  font-size: 1.2rem;
  font-weight: bold;
}

.tag-edition {
  font-size: 1rem;
}

/* table.features-table tr.category-row {
  position: sticky;
  top: 0;
} */

table.features-table thead th {
  height: 3rem;
  padding: 1rem 0;
  /* background: lightblue; */
  background: rgba(255,255,255,.75)
}

table.features-table img.productlogo {
  height: 1.5rem;
  width: auto;
}

table.features-table td.feature_true .circle {
  background: radial-gradient( circle at 30% 30%, #00ff4e, #459224 );

}

table.features-table td.feature_false .circle {
  background: radial-gradient( circle at 30% 30%, #00ff4e, #459224 );
  background: var(--offset);
  display: none;
}

table.features-table td.feature_false,
table.features-table td.feature_true {
  text-align: center;
}

table.features-table td.feature_false {
  color: var(--offset2);
}

table.features-table td.soon svg {
  fill: var(--logo);
}

table.features-table td .circle {
  width: .8rem;
  height: .8rem;
  border-radius: 1rem;
  display: block;
  margin: 0 auto;
}

table.features-table tr.category-row th {
  color: var(--heading);
  font-size: 1rem;
  padding: .75rem .5rem .5rem;

}

table.features-table tr.category-row th,
table.features-table tr.category-row td {
  background: var(--offset);
  border-color: var(--offset2);
}

table.features-table tr:has(+ .category-row) th,
table.features-table tr:has(+ .category-row) td {
  border-bottom-color: var(--offset);
}

table.features-table td.yes {
  text-align: center;
}

table.features-table .round-badge {
  padding: 0.125rem 0.5rem;
  border-radius: 3rem;
  text-transform: uppercase;
  color: white;
  background: var(--logo);

  font-weight: bold;
}

/* FEATURE SCREENSHOTS */


figure.screenshot-container {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--offset);
  border-radius: .25rem;
  margin: 0;
}

figcaption.screenshot-description {
  padding: 0 1rem 1rem;
  font-style: italic;
  text-align: center;
}

figure.screenshot-container img {
  max-width: 600px;
  margin: 1.5rem auto;
  border: 1px solid var(--offset2);
  width: 100%;
  box-sizing: border-box;
}

/* SUBNAV HEADER */

.subnavheader {
  font-weight: bold;
  font-size: 1.2rem;
}

.subnavheader button {
  display: none;
}

/* HAMBURGER */

.header #hamburger {
  display: inline-flex;
  z-index: 3000;
}

/* hamburgers */

/*!
* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers
*/
.hamburger {
  /* padding: 15px 15px; */
  display: inline-flex; /* was inline-block */
  align-items: center;
  /* height: 3.5rem;
  width: 3.5rem; */
  justify-content: center;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:hover {
  opacity: 1;
}
.hamburger.is-active:hover {
  opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: var(--base);
}

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 40px;
    height: 4px;
    background: darkorchid;
    background: var(--text);
    /* background: darkblue; */
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -10px;
}
.hamburger-inner::after {
  bottom: -10px;
}

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 2px; }
  .hamburger--slider .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 20px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 2px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 20px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(90deg); }

/* mobile only */
@media(max-width: 1023px){

  #promo-bar {
    justify-content: flex-start;
    padding: 0 var(--wrapperSidePadding);
  }

  .bulletpoints {
    margin-top: 1rem;
  }

  .bulletpoints ul {
    margin:0;
    padding:0;
  }

  .bulletpoints li {
    justify-content: center;
  }

  aside:has(nav){
    position: fixed;
    height: 100vh;
    bottom: 0;
    overflow-y: hidden;
    z-index: 29; /* below header */
    box-shadow: 0 0 3px rgba(0, 0, 0, .2);
    background: var(--base);
    transition: transform 0.16s ease-out;
    transform: translateY(100%);
    width: 100%;
    height: 50vh;
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0px -9px 50px -30px black;
  }

  #hamburger.is-active + nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    align-items: center;
    justify-content: center;
    background: var(--promo-gradient);
    top: 0;
    left: 0;
    z-index: 3002;
    height: 100%;
    width: 100vw;
  }

  .subnavheader {
    display: flex;
    height: 3rem;
    justify-content: space-between;
    line-height: 3rem;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    background: var(--promo-gradient);
    padding: 0 1rem;
    color: var(--base);
  }

  .subnavheader button {
    height: 2rem;
    width: 2rem;
    border-radius: 2rem;
    border: none;
    display: flex;
  }

  .subnavheader button svg {
    fill: var(--text);
    width: 2rem;
    height: 2rem;
  }

  .sidebar nav > ul {
    position: absolute;
    top: 3rem;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: scroll;
    overscroll-behavior: contain;
    padding: 1rem;
  }

  button#floating-subnav-button {
    cursor: pointer;
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--promo-gradient);
    color: var(--base);
    height: 3rem;
    padding: 0 1rem;
    z-index: 2; /* in front of things, but behind header (mobile nav) */
    display: flex;
    align-items: center;
    border-radius: 8rem;
    border: none;
    font-family: var(--textFont);
    font-size: 1rem;
  }
  
  button#floating-subnav-button svg {
    width: 2rem;
    height: 2rem;
    fill: var(--base);
  }

  body.subnavOpen aside {
    transform: translateY(0%);
  }

  .screenshot img {
    width: 100%;
  }
  
  html.menuOpen, html.menuOpen body {
    overflow: hidden;
  }

  header nav {
    display: none;
  }

  header nav ul {
    list-style: none;
  }

  .hero-information {
    margin-bottom: 3rem;
  }

  section {
    /* sub page content */
    padding: 1.5rem 1.5rem 8rem 1.5rem;
  }

  /* menu */

  #hamburger.is-active + nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, darkblue, darkorchid);
    top: 0;
    left: 0;
    z-index: 3002;
    height: 100%;
    width: 100vw;
  }

  #hamburger.is-active + nav li a {
    color: var(--base);
    text-decoration: none;
    height: 3.5rem;
    line-height: 3.5rem;
  }

  #hamburger.is-active + nav ul {
    margin: 0;
    padding: 0;
    flex-direction: column;
    text-align: center;
    font-size: 1.6rem;
  }

  header #hamburger {
    display: inline-flex;
    z-index: 3003;
  }

}


/* WARNING: LICENSE */

.warning-license, .warning-neutral {
  background: var(--message-neutral);
  padding: 1.5rem;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: .25rem;
  margin-bottom: 1.5rem;
  display: flex;
  gap: .5rem;
  align-items: center;
}

.warning-license svg, .warning-neutral svg {
  width: 3rem;
  height: 3rem;
  opacity: 0.25;
  display: block;
}

.warning-license a {
  color: var(--link);
}

/* SIDEBAR */

aside nav .category {
  font-size: 1.1rem;
  padding: 1rem 0 .5rem 0;
}

/* FUN FACT */

.funfact {
  line-height: 1.4em;
  font-size: 1rem;
  color: var(--text);
  font-weight: bolder;
  padding: 0.25rem 1rem;
  /* margin-left: -.5rem; */
  box-decoration-break: clone;
  /* margin: 0; */
  border-radius: .5rem;
  /* text-shadow: -12px 12px 9.8px rgba(130, 255, 173, 0.7), 21px -18.1px 7.3px rgba(255, 255, 255, 1), -18.1px -27.3px 30px rgba(255, 255, 255, 1); */
  font-weight: normal;
  display: flex;
  align-items: center;
  background: linear-gradient(104deg, rgba(130, 255, 173, 0) 0.9%, rgba(130, 255, 173, 1.25) 2.4%, rgba(130, 255, 173, 0.5) 5.8%, rgba(130, 255, 173, 0.1) 93%, rgba(130, 255, 173, 0.7) 96%, rgba(130, 255, 1732, 0) 98%), linear-gradient(183deg, rgba(130, 255, 173, 0) 0%, rgba(130, 255, 173, 0.3) 7.9%, rgba(130, 255, 173, 0) 15%);
}

.funfact svg {
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 1rem;
  flex-shrink: 0;
}

/* SHOW EXAMPLE BUTTON */

button.show-example-button {
  padding: 1rem 1.5rem;
  background: var(--promo-gradient);
  color: white;
  border: none;
  border-radius: .25rem;
  cursor: pointer;
  font-size: 1rem;
}

button.show-example-button:hover {
  background: var(--promo-gradient-stop-1);
}

/* API */

.api-article-type {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: .25rem;
}

.api-article-type svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: var(--textFaded);
}

.tab-navigation ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid var(--offset2);
}

.tab-navigation li {
  margin-right: 20px;
}

.tab-navigation a {
  text-decoration: none;
  padding: 10px 15px;
  border-bottom: 2px solid transparent;
  font-size: 16px;
}

.tab-navigation a:hover, .tab-navigation a:focus, .tab-navigation a.is-active {
  border-bottom: 2px solid #007bff;
  color: #007bff;
}

/* API LAYOUT */

.api-section {
  margin-bottom: 5rem;
}

h3.api-category {
  text-transform: uppercase;
  color: var(--logo);
  margin-top: 2.5rem;
}

h3.api-category a {
  color: var(--logo);
}

.api-section .item {
  margin-bottom: 3rem;
}

.api-section .item .name,
.api-contents .name {
  font-family: var(--codeFont);
  font-size: 1.4rem;
}

.api-section .item .value {
  margin-top: .125rem;
}

.api-section .options-item .desc {
  margin-top: .5rem;
}

.api-section .value-type {
  display: inline-block;
}

.api-section .value-type:not(:empty){
  margin-right: .75rem;
}

.api-section .value-default {
  background-color: var(--offset);
  color: var(--logo);
  font-family: var(--codeFont);
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.95em;
  border: 1px solid rgba(0, 0, 0, .1);
  display: inline-block;
}

.api-section .value-allowed {
  margin-top: .5rem;
}

.value-allowed span {
  font-family: var(--codeFont);
  background: var(--offset);
  border: 1px solid rgba(0, 0, 0, .1);
  display: inline-block;
  padding: 0 .25rem;
  border-radius: .25rem;
  color: var(--logo);
}

button.accordion {
  background-color: var(--offset);
  cursor: pointer;
  padding: .5rem 1rem;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  border-radius: .25rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
  border: 1px solid transparent;
}

button.accordion:hover {
  /* background-color: var(--offset2); */
  border-color: var(--base);
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05),
  0 0 8px 3px var(--promo-gradient-stop-1),
  0 0 10px 4px var(--promo-gradient-stop-2);
}

button.accordion svg {
  width: 2rem;
  height: 2rem;
}

button.accordion + .panel {
  padding: 0;
  /* background-color: var(--base); */
  display: none;
  overflow: hidden;
}

button.accordion.is-active + .panel {
  display: block;
}

.api-section .args {
  margin-left: .125rem;
}

.api-section span.arg {
  font-size: 1.2rem;
  display: inline-block;
  background: var(--offset);
  padding: 0 0.25rem;
  border-radius: .25rem;
  user-select: none;
  position: relative;
  font-family: var(--codeFont);
  color: var(--text);
  cursor: pointer;
}

.api-section span.arg.popoverSource {
  background: var(--logo-offset);
}

.api-section .methods-item .name > div {
  display: inline;
}

.api-contents .type-jstype {
  background-color: var(--offset);
  color: var(--logo);
  font-family: var(--codeFont);
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.95em;
  border: 1px solid rgba(0, 0, 0, .1);
  display: inline-block;
}

.api-contents .props {
  font-size: 1rem;
}

.api-contents .item {
  margin-bottom: 3rem;
}

/* POPOVER */

#popover {
  left: 2.5rem;
  right: 2.5rem;
  background: white;
  position: absolute;
  box-shadow: 0 0 4px rgba(0,0,0,.25);
  display: none;
  background: rgba(255,255,255,1);
  border-radius: 0.25rem;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 .125rem .125rem rgba(0,0,0,.25);
  /* backdrop-filter: blur(1rem); */
  z-index: 3;
  outline: 10px solid rgba(0,0,0,.1);
}

#popover_pointer {
  position: absolute;
  width: 0;
  height: 0;
  bottom: 100%;
  border: .5rem solid transparent;
  border-top: none;
  pointer-events: none;
  z-index: 200;
  border-bottom-color: #fff;
  filter: drop-shadow(0 -0.0625rem 0.0625rem rgba(0, 0, 0, .1));
}

#popover_content {
  padding: 1rem;
}

#popover button.type-close {
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  border: none;
  height: 3rem;
  width: 3rem;
  font-size: 1.4rem;
  color: black;
  z-index: 1;
  cursor: pointer;
}

#popover .param-header {
  display: flex;
  align-items: baseline;
  gap: .4rem;
}

.param-desc {
  margin-top: .5rem;
}

.param-type-block {
  margin: .75rem 0 0 0;
  border-top: 1px dotted var(--offset2);
}

#popover .paramName {
  font-size: 1.2rem;
  font-family: var(--propFont);
  font-weight: normal;
}

.param-header .label {
  border-radius: .25rem;
  text-transform: uppercase;
  font-size: .7rem;
  padding: .075rem .25rem;
}

.param-header .label-optional, .param-header .label-required {
  background-color: var(--logo-offset);
}

#popover .type {
  margin: .75rem 0 .25rem 0;
}

#popover .type a {
  color: var(--link);
}

/* BENCHMARK */


table.benchmark {
  width: 50%;
  margin: 0;
  border-collapse: collapse;
  font-size: 1rem;
  table-layout: fixed;
}
  
table.benchmark td,
table.benchmark th {
  padding: .25rem .5rem;
  border: 1px dotted var(--offset2);
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
  border-right-color: var(--offset2);
  border-left-color: var(--offset2);
}

table.benchmark tr:first-child th {
  border-top-color: var(--offset2);
}

table.benchmark tr:last-child th,
table.benchmark tr:last-child td {
  border-bottom-color: var(--offset2);
}

table.benchmark td svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--logo);
  display: block;
  margin: 0 auto;
}

/* table.features-table th {
  white-space: pre;
} */

table.benchmark thead th {
  font-size: 1rem;
  text-align: center;
  
}

table.benchmark img {
  vertical-align: -10%;
  margin-right: .4rem;
  opacity: 1;
  width: 1rem;
  height: 1rem;
}

/* CHART */

.chart {
  margin: 1rem 0;
  position: relative;
  overflow: hidden;
  padding: .5rem;
  width: 100%;
  border-right: 1px solid rgba(0,0,0,.1);
  border-bottom: 1px solid rgba(0,0,0,.1);
  box-sizing: border-box;
}

.chart-bar {
  height: 12px;
  border-radius: 0 6px 6px 0;
}

.chart-bar-ghost {
  height: 12px;
  border-radius: 0 6px 6px 0;
    background: #bdc9fa;
    position: absolute;
    bottom: .5rem;
    z-index: -1;
}

.chart > div:not(:last-child) {
  margin-bottom: 1rem;
}

div[data-product="ag-grid"] .chart-bar {
  background: #FF8B00;
}

div[data-product="jspreadsheet"] .chart-bar {
  background: #c70000;
}

div[data-product="handsontable"] .chart-bar {
  background: #1a42e8;
}

div[data-product="datagridxl"] .chart-bar {
  background: var(--logo);
}

.chart-background {
  width: 100%;
  height: 100vh; /* Volledige hoogte */
  background: repeating-linear-gradient(
      to right,
      rgba(0, 0, 0, 0.1) 0px, /* Lijnkleur */
      rgba(0, 0, 0, 0.1) 1px, /* 1px brede lijn */
      transparent 1px, /* Transparant na de lijn */
      transparent 10% /* Herhaal elke 50px */
  );
  background-size: 100% 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* DOCS */

a svg.icon {
  width: 1rem;
  height: 1rem;
  fill: currentColor;
  vertical-align: middle;
}

p code, .timeline code {
  background-color: var(--offset);
  color: var(--text);
  font-family: var(--codeFont);
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.95em;
  border: 1px solid rgba(0,0,0,.1);
}

code {
  font-family: var(--codeFont);
}

.codeblock {
  margin: 1rem 0 2rem;
}

.codeblock pre {}

/* PAGINATION CARDS */

.pagination-cards {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  gap: 1rem;
}

a.pagination-card {
  flex: 1;
  /* margin: 0 10px; */
  padding: 20px;
  text-decoration: none;
  background: var(--base);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--offset);
  border-radius: 12px;
  transition: transform 0.2sease, box-shadow 0.2sease;
}

.card-content {
  display: flex;
  flex-direction: column;
}

.card-content h2 {
  color: var(--text);
  font-size: 1.2rem;
}

.next h2, .next .nav-label {
  text-align: right;
}

.nav-label {
  font-size: 14px;
  color: var(--text);
  margin-bottom: 10px;
}

/* CHECKOUT PAGE */

body.page__checkout select {
  width: 100%;
  padding: .5rem 0;
  font-size: 1.2rem;
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  background: white;
}

select#select-product {
  margin: 1rem 0 3rem;
}

table.checkout-table th {
  font-weight: normal;
}

table.checkout-table th {
  border-top: 1px solid var(--offset2);
}

table.checkout-table td, table.checkout-table th {
  border-bottom: 1px solid var(--offset2);
  padding: .5rem;
  text-align: right;
}

body.page__checkout input[type="text"] {
  padding: .5rem 0;
  font-size: 1.2rem;
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  background: var(--base);
}

body.page__checkout a.email-button {
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  background: var(--offset);
  border-radius: .25rem;
  text-decoration: none;
  color: var(--text);
  margin-left: .5rem;
}

a.email-button svg {
  width: 1.5rem;
  height: 1.5rem;
}

.stepper-wrapper {
  margin-top: 3rem;
  margin-bottom: 2rem;
}

ul.license-sumup {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

ul.license-sumup li {
  margin: .5rem 0;
}

.box-logo svg {
  width: 60% !important;
  height: 2rem;
  width: auto;
}

.box-license {
  text-align: center;
  white-space: pre;
}

.box-qty {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.checkout-smallprint {
  font-size: .8rem;
}

span#checkout-footer-subtotal {
  font-size: 2rem;
  margin: 0 1rem;
}

span.req {
  color: red;
  font-size: 1.4rem;
}

.checkout-order {
  margin-right: 1rem;
}

.checkout-order span {
  margin-right: .5rem;
}

.eula-accept {
  text-align: right;
}

.eula-accept label {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: flex-end;
  padding: 1rem 0 .25rem;
}

.eula-accept input {
  transform: scale(2);
}

.checkout-flex {
  display: flex;
  padding: 0;
  gap: 4rem;
}

div[data-step="3"] .checkout-col-1 {
  width: 30%;
}

div[data-step="3"] .checkout-col-2 {
  width: 70%;
}

.checkout-container {
  /* margin: -10px 0 0 -10px; */
  border: 1px solid var(--offset2);
  border-radius: .25rem;
  padding: 1rem;
}