.dsdf001-root {
  margin-top: var(--dsdf-layout-footer-margin-top, 0);
  margin-bottom: var(--dsdf-layout-footer-margin-bottom, 0);
}

.dsdf001-root .dsdf001-logo {
  align-self: var(--dsdf-logo-self, flex-start);
  justify-content: var(--dsdf-logo-justify, flex-start);
  margin-top: var(--dsdf-layout-logo-margin-top, 0);
  margin-right: var(--dsdf-layout-logo-margin-right, 0);
  margin-bottom: var(--dsdf-layout-logo-margin-bottom, 0);
  margin-left: var(--dsdf-layout-logo-margin-left, 0);
}

.dsdf001-root .dsdf001-logo img {
  object-position: var(--dsdf-logo-object, left center);
}

.dsdf001-root .dsdf001-copyright {
  width: auto;
  align-self: stretch;
  margin-top: var(--dsdf-layout-copyright-margin-top, 40px);
  margin-right: var(--dsdf-layout-copyright-margin-right, 0);
  margin-bottom: var(--dsdf-layout-copyright-margin-bottom, 0);
  margin-left: var(--dsdf-layout-copyright-margin-left, 0);
  text-align: var(--dsdf-copyright-align, left);
}

.dsdf001-root .dsdf001-accordions {
  width: auto;
  margin-top: var(--dsdf-layout-accordions-margin-top, 0);
  margin-right: var(--dsdf-layout-accordions-margin-right, 0);
  margin-bottom: var(--dsdf-layout-accordions-margin-bottom, 0);
  margin-left: var(--dsdf-layout-accordions-margin-left, 0);
}

.dsdf001-root .dsdf001-accordion + .dsdf001-accordion {
  margin-top: var(--dsdf-layout-accordion-section-gap, 0);
}

.dsdf001-root .dsdf001-accordion-toggle > span:first-child {
  min-width: 0;
  flex: 1 1 auto;
  text-align: var(--dsdf-title-align, left);
  transform: translate(var(--dsdf-layout-accordion-title-offset-x, 0), var(--dsdf-layout-accordion-title-offset-y, 0));
}

.dsdf001-root .dsdf001-links {
  width: auto;
  margin-top: var(--dsdf-layout-menu-links-margin-top, 0);
  margin-right: var(--dsdf-layout-menu-links-margin-right, 0);
  margin-bottom: var(--dsdf-layout-menu-links-margin-bottom, 0);
  margin-left: var(--dsdf-layout-menu-links-margin-left, 0);
}

.dsdf001-root .dsdf001-link-column {
  align-items: var(--dsdf-link-items, flex-start);
  gap: max(0px, var(--dsdf-layout-panel-row-gap, 24px));
}

.dsdf001-root .dsdf001-link-column li + li {
  margin-top: min(0px, var(--dsdf-layout-panel-row-gap, 24px));
}

.dsdf001-root .dsdf001-links a {
  text-align: var(--dsdf-link-align, left);
}

.dsdf001-root .dsdf001-navigation-bottom {
  width: auto;
  justify-content: var(--dsdf-social-justify, flex-start);
  gap: max(0px, var(--dsdf-layout-controls-gap, 40px));
  margin-top: var(--dsdf-layout-controls-margin-top, 64px);
  margin-right: var(--dsdf-layout-controls-margin-right, 0);
  margin-bottom: var(--dsdf-layout-controls-margin-bottom, 0);
  margin-left: var(--dsdf-layout-controls-margin-left, 0);
  padding-right: var(--dsdf-social-end-clearance, 0);
}

.dsdf001-root .dsdf001-socials {
  align-self: var(--dsdf-social-self, flex-start);
  gap: max(0px, var(--dsdf-layout-social-gap, 40px));
  margin-top: var(--dsdf-layout-social-margin-top, 0);
  margin-right: var(--dsdf-layout-social-margin-right, 0);
  margin-bottom: var(--dsdf-layout-social-margin-bottom, 0);
  margin-left: var(--dsdf-layout-social-margin-left, 0);
}

.dsdf001-root .dsdf001-socials a + a {
  margin-left: min(0px, var(--dsdf-layout-social-gap, 40px));
}

.dsdf001-root .dsdf001-utility {
  width: auto;
  column-gap: max(0px, var(--dsdf-layout-utility-gap, 40px));
  row-gap: max(0px, var(--dsdf-layout-utility-row-gap, var(--dsdf-layout-utility-gap, 40px)));
  margin-top: var(--dsdf-layout-utility-margin-top, 0);
  margin-bottom: var(--dsdf-layout-utility-margin-bottom, 0);
  /* Stay centred under the menus above. Fixed left/right margins here used to
     override the centring and pin the strip to the left edge. The configured
     left/right offsets are applied as a shift instead. */
  margin-right: auto;
  margin-left: auto;
  position: relative;
  left: calc(var(--dsdf-layout-utility-margin-left, 0px) - var(--dsdf-layout-utility-margin-right, 0px));
}

.dsdf001-root .dsdf001-utility-card {
  margin-top: var(--dsdf-layout-utility-card-margin-top, 0);
  margin-right: calc(min(0px, var(--dsdf-layout-utility-gap, 40px)) + var(--dsdf-layout-utility-card-margin-right, 0px));
  margin-bottom: calc(min(0px, var(--dsdf-layout-utility-row-gap, 40px)) + var(--dsdf-layout-utility-card-margin-bottom, 0px));
  margin-left: var(--dsdf-layout-utility-card-margin-left, 0);
  padding-top: var(--dsdf-layout-utility-card-padding-top, 0);
  padding-bottom: var(--dsdf-layout-utility-card-padding-bottom, 0);
  text-align: var(--dsdf-utility-align, left);
}

.dsdf001-root .dsdf001-utility-card h3 {
  margin-bottom: var(--dsdf-layout-utility-title-gap, 16px);
}

.dsdf001-root .dsdf001-card-body {
  justify-content: var(--dsdf-utility-justify, flex-start);
  gap: max(0px, var(--dsdf-layout-utility-content-gap, 16px));
}

.dsdf001-root .dsdf001-card-copy {
  margin-left: min(0px, var(--dsdf-layout-utility-content-gap, 16px));
  text-align: var(--dsdf-utility-align, left);
}

@media (min-width: 768px) {
  .dsdf001-root .dsdf001-back-top {
    position: absolute;
    top: 50%;
    right: var(--dsdf-back-right, 0);
    left: var(--dsdf-back-left, auto);
    align-self: var(--dsdf-back-self, flex-end);
    transform: translateY(calc(-50% + var(--dsdf-layout-back-top-offset-y, 0px))) var(--dsdf-back-transform, translateX(var(--dsdf-layout-back-top-right-offset, 0px)));
  }
}

@media (min-width: 1200px) {
  .dsdf001-root .dsdf001-copyright {
    margin-top: auto;
    transform: translateY(calc(var(--dsdf-layout-copyright-margin-top, 0px) - var(--dsdf-layout-copyright-margin-bottom, 0px)));
  }
}

@media (max-width: 767px) {
  .dsdf001-root .dsdf001-logo {
    margin: calc(var(--dsdf-brand-pt, 64px) + var(--dsdf-layout-logo-margin-top, 0px)) calc(var(--dsdf-brand-pr, 16px) + var(--dsdf-layout-logo-margin-right, 0px)) calc(var(--dsdf-brand-pb, 40px) + var(--dsdf-layout-logo-margin-bottom, 0px)) calc(var(--dsdf-brand-pl, 16px) + var(--dsdf-layout-logo-margin-left, 0px));
  }

  .dsdf001-root .dsdf001-navigation-bottom {
    align-items: stretch;
    gap: max(0px, var(--dsdf-layout-controls-gap, 40px));
    margin-top: var(--dsdf-layout-controls-margin-top, 0);
    margin-right: var(--dsdf-layout-controls-margin-right, 0);
    margin-bottom: var(--dsdf-layout-controls-margin-bottom, 0);
    margin-left: var(--dsdf-layout-controls-margin-left, 0);
    padding-right: 16px;
  }

  .dsdf001-root .dsdf001-socials {
    align-self: var(--dsdf-social-self, center);
  }

  .dsdf001-root .dsdf001-back-top {
    position: relative;
    right: auto;
    left: auto;
    align-self: var(--dsdf-back-self, center);
    margin-top: min(0px, var(--dsdf-layout-controls-gap, 40px));
    transform: translate(var(--dsdf-layout-back-top-right-offset, 0px), var(--dsdf-layout-back-top-offset-y, 0px));
  }

  .dsdf001-root .dsdf001-copyright {
    margin: var(--dsdf-layout-copyright-margin-top, 120px) var(--dsdf-layout-copyright-margin-right, 0) var(--dsdf-layout-copyright-margin-bottom, 0) var(--dsdf-layout-copyright-margin-left, 0);
  }
}
