@charset "UTF-8";
/**
 * Components - objects
 */
/**
 * This file is read by the styleguide to automatically produce the list of colours names and variables
 * in the General/Colours page.
 *
 * It will assume any line beginning with an "$" is a colour definition line, and will ignore all others.
 */
/**
 * Site colours
 */
/**
 * Theme colours
 */
/**
 * General success / error type colours
 */
/**
 * Overrides for defaults set in include-media.scss
 */
/**
 * Icon font
 *
 * To be used as follows:
 * @include icon(string ligature, fontSize);
 * default font size 24px as this is preferred for material icons
 *
 */
/**
 * AvatarImage
 * Styles the standard avatar image (round icon)
 *
 * To be used as follows:
 * @include avatarImage($size);
 * where $size provides the height and width of the image
 *
 */
/**
 * Line clamp
 *
 * To be used as follows:
 * @include line-clamp(int number-of-lines);
 *
 */
/**
 * Loading shimmer
 * A loading animation in which a gradient sweeps through the background
 *
 * To be used as follows:
 * @include loadingShimmer;
 *
 */
/**
 * Card percentage width
 *
 * To be used as follows:
 * @include cardPercentageWidth(int number-per-row, horizontal-margin-between);
 *
 */
/**
 * Fade
 *
 * To be used as follows:
 * @include fade(int transition-time, bool reverse-animation, string transition-type);
 * reverse-animation defaults to false (fadeOut), true will make this a fadeIn transition.
 * transition-type defaults to ease
 * Requires '.fade' class to be applied to the element.
 *
 */
/**
 * Fields
 *
 * To be used as follows:
 * @include fields;
 * Applies default styling to basic form field elements such as input, textarea, select etc.
 *
 */
/**
 * Waffles
 */
.o-avatar {
  background: #a8a8a8;
  border: 3px solid #a8a8a8;
  display: inline-flex;
  width: 38px;
  height: 38px;
  border-radius: 9999px;
}
.o-avatar.t-explorer {
  background: #00cdbe;
  border-color: #00cdbe;
}
.o-avatar.t-creator {
  background: #c8a0ff;
  border-color: #c8a0ff;
}
.o-avatar.t-engineer {
  background: #ffcd00;
  border-color: #ffcd00;
}

.o-avatar--initial {
  align-items: center;
  justify-content: center;
  background: #4a1d1d;
  border-color: #4a1d1d;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.o-avatar--initial.o-avatar--small {
  font-size: 12px;
}
.o-avatar--initial.o-avatar--large {
  font-size: 28px;
}
.o-avatar--initial.o-avatar--xlarge {
  font-size: 40px;
}

.o-avatar--xlarge {
  width: 104px;
  height: 104px;
  border-width: 5px;
}

.o-avatar--large {
  width: 72px;
  height: 72px;
  border-width: 5px;
}

.o-avatar--small {
  width: 24px;
  height: 24px;
  border-width: 2px;
}

.o-badge {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  max-width: 100%;
  border-radius: 4px;
  padding: 4px 16px;
  margin-bottom: 4px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: #ffffff;
  background-color: #1d1d1b;
}

.o-badge--tutorial {
  background-color: #bcbcbc;
  color: #1d1d1b;
}

.o-badge--product {
  background-color: #d9121f;
}

.o-badge--success {
  background-color: #00691e;
}

.o-badge--info {
  background-color: #005f69;
}

.o-badge--warning {
  background-color: #d76405;
}

.o-badge--error {
  background-color: #ef0000;
}

.w-table {
  overflow: auto;
}

.o-table {
  width: 100%;
  border-collapse: separate;
  border: 1px solid #cdcdcd;
  border-radius: 4px;
}
.o-table.is-hidden {
  display: none;
}
.o-table th {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #1d1d1b;
  background: #ebebeb;
}
.o-table td {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
}
.o-table td,
.o-table th {
  text-align: left;
  padding: 16px;
  vertical-align: top;
}
.o-table {
  /* stylelint-disable selector-max-compound-selectors */
}
.o-table thead:not(:last-child) > tr td,
.o-table thead:not(:last-child) > tr th,
.o-table tbody:not(:last-child) > tr td,
.o-table tbody:not(:last-child) > tr th,
.o-table tfoot:not(:last-child) > tr td,
.o-table tfoot:not(:last-child) > tr th,
.o-table thead:last-child > tr:not(:last-child) td,
.o-table thead:last-child > tr:not(:last-child) th,
.o-table tbody:last-child > tr:not(:last-child) td,
.o-table tbody:last-child > tr:not(:last-child) th,
.o-table tfoot:last-child > tr:not(:last-child) td,
.o-table tfoot:last-child > tr:not(:last-child) th,
.o-table > tr:not(:last-child) td,
.o-table > tr:not(:last-child) th {
  border-bottom: 1px solid #cdcdcd;
}
.o-table {
  /* stylelint-enable selector-max-compound-selectors */
}

@media (min-width: 768px) {
  .o-table--with-actions td:last-child:not([data-label]) {
    text-align: right;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 1%;
    white-space: nowrap;
  }
}
.o-table--with-actions td:last-child:not([data-label]) {
  padding-top: 8px;
  padding-bottom: 0;
}
.o-table--with-actions td:last-child:not([data-label]) > * {
  margin-bottom: 8px;
}

@media (max-width: 767px) {
  .o-table--row-collapse {
    border: none;
  }
  .o-table--row-collapse thead {
    display: none;
  }
  .o-table--row-collapse tbody tr {
    display: block;
  }
  .o-table--row-collapse tbody tr:not(:last-child) {
    margin-bottom: 16px;
  }
  .o-table--row-collapse tbody td {
    position: relative;
    display: block;
    border-left: 1px solid #cdcdcd;
    border-right: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
    padding-left: calc(35% + 16px);
  }
  .o-table--row-collapse tbody td:first-child {
    border-top: 1px solid #cdcdcd;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .o-table--row-collapse tbody td:last-child {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .o-table--row-collapse tbody td::before {
    font-family: var(--body-font);
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 35%;
    padding: 16px;
    color: #1d1d1b;
    background: #ebebeb;
    border-right: 1px solid #cdcdcd;
    content: attr(data-label);
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.o-table__cell--break-word {
  word-break: break-word;
}

.o-table--left-aligned td:first-child {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  background: #ebebeb;
  text-align: left;
  white-space: normal;
  width: 10%;
}
@media (min-width: 768px) {
  .o-table--left-aligned td:first-child {
    white-space: nowrap;
  }
}
.o-table--left-aligned td:not(:first-child) {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  background: #ffffff;
  text-align: left;
}

/**
 * Components - blocks
 */
@media (max-width: 767px) {
  .account-form-panel.collapsible-panel {
    padding: 24px 16px;
  }
}

.account-form-panel .collapsible-panel__body {
  margin-top: 32px;
  padding-top: 0;
  border-top: 0;
}

.account-form-panel .collapsible-panel__description {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #1d1d1b;
}

.account-form {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.account-form form {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.account-form .form__field {
  margin-bottom: 0;
}
.account-form .o-label {
  color: #1f1f1f;
}
.account-form .o-label__required-flag,
.account-form .o-form-msg--help {
  color: #454545;
}
.account-form .o-input,
.account-form .o-select {
  border-color: #767676;
}
.account-form .o-input::-moz-placeholder, .account-form .o-select::-moz-placeholder {
  color: #454545;
}
.account-form .o-input::placeholder,
.account-form .o-select::placeholder {
  color: #454545;
}
.account-form .o-input:focus,
.account-form .o-select:focus {
  border-color: #1d1d1b;
}
.account-form .o-input.has-error,
.account-form .o-select.has-error {
  border-color: #d9121f;
}
.account-form .o-input__password-toggle::after {
  content: "visibility_off";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}
.account-form .o-input--password[type=text] ~ .o-input__password-toggle::after {
  content: "visibility";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.account-form-panel-group {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 992px) {
  .account-form-panel-group {
    flex-direction: row;
    gap: 24px;
  }
}
.account-form-panel-group > .account-form-panel {
  flex: 1 1 0;
  min-width: 0;
}

.account-form__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
@media (min-width: 768px) {
  .account-form__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.account-form__column {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.account-form__label--regular.o-label {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: normal;
  color: #454545;
}

.account-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.account-form__actions .o-button {
  line-height: 24px;
}

.account-page-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 992px) {
  .account-page-header {
    gap: 24px;
  }
}

.account-page-header__title {
  color: #454545;
}

.account-page-header__description {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
  color: #454545;
}

@media (min-width: 768px) {
  .account-side-nav {
    border-right: 1px solid #edeff1;
  }
}

.account-side-nav__toggle {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 24px;
  border: 1px solid #cdcdcd;
  background-color: #ffffff;
  color: #1d1d1b;
  cursor: pointer;
  list-style: none;
}
@media (min-width: 992px) {
  .account-side-nav__toggle {
    display: none;
  }
}
.account-side-nav__toggle::-webkit-details-marker {
  display: none;
}

.account-side-nav__toggle-icon::before {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  display: block;
  transition: transform 0.2s;
}
.account-side-nav__disclosure[open] .account-side-nav__toggle-icon::before {
  transform: rotate(-180deg);
}

@media (min-width: 768px) {
  .account-side-nav__group:not(:last-child) {
    margin-bottom: 16px;
  }
}
@media (max-width: 767px) {
  .account-side-nav__group + .account-side-nav__group > .account-side-nav__list {
    border-top: 1px solid #edeff1;
  }
}

.account-side-nav__group-title {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: none;
  margin: 0;
  padding: 8px 24px;
  color: #69141e;
}
@media (min-width: 768px) {
  .account-side-nav__group-title {
    display: block;
  }
}

.account-side-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-side-nav__item {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  padding: 8px 24px;
  padding-left: 20px;
  border-left: 4px solid transparent;
  color: #1d1d1b;
}
li:not(:first-child) > .account-side-nav__item {
  border-top: 1px solid #edeff1;
}
.account-side-nav__item:hover, .account-side-nav__item:focus {
  border-left-color: #4a4e57;
  color: inherit;
}
.account-side-nav__item--active {
  border-left-color: #d9121f;
  background-color: rgba(217, 18, 31, 0.06);
}

.account-side-nav__logout {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  margin-top: 16px;
  padding: 0 24px;
  color: #3244ff;
}
.account-side-nav__logout:hover, .account-side-nav__logout:focus {
  color: #d9121f;
}

.activity-log-panel__log {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.activity-log-panel__see-more {
  margin-top: 16px;
}

@media (min-width: 768px) {
  .activity-log-panel .notification-item {
    flex-wrap: nowrap;
    gap: 24px;
  }
  .activity-log-panel .notification-item__avatar {
    flex: 0 0 80px;
  }
  .activity-log-panel .notification-item__avatar .avatar__image,
  .activity-log-panel .notification-item__avatar .o-avatar {
    width: 80px;
    height: 80px;
  }
  .activity-log-panel .notification-item .notification-item__content {
    flex: 1 1 0;
    min-width: 0;
  }
  .activity-log-panel .notification-item__badges {
    position: static;
    order: 1;
    flex: none;
  }
}
.activity-log-panel .expandable-item {
  border: 2px solid #ebebeb;
}
.activity-log-panel .s-card-deck {
  gap: 24px;
}
.activity-log-panel .s-card-deck > .d-card-deck {
  margin-bottom: 0;
}
.activity-log-panel .notification-item {
  padding: 16px;
  border-color: #ebebeb;
}
.activity-log-panel .notification-item__badges {
  top: 16px;
  right: 16px;
}
.activity-log-panel .notification-item__badges .o-badge {
  display: block;
  margin-bottom: 0;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 16px;
}

.activity-panel {
  display: flex;
  flex-direction: column;
  gap: 32px;
  height: 100%;
  padding: 24px;
  border: 1px solid #cdcdcd;
  background: #ffffff;
}
.activity-panel .expandable-item {
  border: 1px solid #cdcdcd;
}
.activity-panel .notification-item {
  flex-wrap: wrap;
  gap: 8px;
}
.activity-panel .notification-item__avatar {
  order: 1;
  flex-grow: 0;
}
.activity-panel .notification-item__badges {
  position: static;
  order: 2;
  margin-left: auto;
}
.activity-panel .notification-item__content,
.activity-panel .notification-item__xp .notification-item__content {
  order: 3;
  flex: 1 1 100%;
  margin-top: 0;
}

.activity-panel__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
@media (min-width: 768px) {
  .activity-panel__header {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
}

.activity-panel__title {
  margin: 0;
  position: relative;
}

.activity-panel__unread-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-radius: 9999px;
  background: #ef0000;
  vertical-align: middle;
}

.activity-panel__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.badge-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  text-align: center;
}

.badge-tile__image {
  width: 40px;
  height: 40px;
}

.badge-tile__title {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #1d1d1b;
  font-weight: 700;
  overflow-wrap: break-word;
}

.badge-tile__status {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #767676;
}

.badge-tile__status--earned {
  color: #228e46;
  font-weight: 700;
}

.badge-tile--locked .badge-tile__title {
  color: #454545;
}

/**
 * Badges and XP panel
 *
 * Carries the same chrome as its sibling profile-overview panels: 24px padding, a 1px
 * grey border, a white ground and the full height of its grid cell.
 *
 * The heading reflows on the panel's own width rather than the viewport's, so the
 * panel is queried as a container. The panel is a grid cell in a content column beside
 * the account side nav, so its width and the viewport's are only loosely related -
 * keying off the viewport would stack the heading in a wide cell on a tablet and keep
 * it on one line in a narrow cell on a wide screen.
 */
.badges-xp-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 24px 16px;
  box-shadow: inset 0 0 0 1px #cdcdcd;
  background: #ffffff;
  container-type: inline-size;
  container-name: badges-xp-panel;
}
@media (min-width: 480px) {
  .badges-xp-panel {
    gap: 32px;
    padding: 24px;
  }
}

.badges-xp-panel__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
@container badges-xp-panel (width >= 284px) {
  .badges-xp-panel__header {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
}

.badges-xp-panel__title {
  margin: 0;
}

.badges-xp-panel__details {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 480px) {
  .badges-xp-panel__details {
    gap: 40px;
  }
}

.badges-xp-panel__badges-group {
  display: flex;
  flex-direction: column;
}

.badges-xp-panel__carousel {
  position: relative;
}

.badges-xp-panel__badges {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 16px;
  overflow-x: auto;
  list-style: none;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scroll-padding-inline: 48px;
  overscroll-behavior-x: contain;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.badges-xp-panel__badges::-webkit-scrollbar {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .badges-xp-panel__badges {
    scroll-behavior: auto;
  }
}

/**
 * Column width, solved so that the badge after the last visible one begins exactly at
 * the row's edge.
 *
 * The row scrolls, so its scrollport is the carousel's full width while a percentage
 * basis resolves against the track's content box - the two differ by the track's
 * padding. Adding that padding back and taking off one gap per column is what puts the
 * next badge's leading edge on the boundary instead of a few pixels inside it.
 *
 * A count needs `n` columns at the minimum width, their gaps, and the track's padding:
 * n * (80 + 8) + 2 * 16 - 8.
 */
.badges-xp-panel__badge {
  flex: 0 0 calc((100% + 16px - 16px) / 2);
  min-width: 0;
  scroll-snap-align: start;
}
@container badges-xp-panel (width >= 200px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 16px) / 2);
  }
}
@container badges-xp-panel (width >= 288px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 24px) / 3);
  }
}
@container badges-xp-panel (width >= 376px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 32px) / 4);
  }
}
@container badges-xp-panel (width >= 464px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 40px) / 5);
  }
}
@container badges-xp-panel (width >= 552px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 48px) / 6);
  }
}
@container badges-xp-panel (width >= 640px) {
  .badges-xp-panel__badge {
    flex-basis: calc((100% + 16px - 56px) / 7);
  }
}

/**
 * The arrows sit inside the row's two ends, over the badges, and are centred on the
 * full height of the tile - icon, name and status line together - rather than on the
 * icon alone, which sat them visibly high against the badge names (QC on DS-5544).
 *
 * They stay hidden until the panel's JS confirms the row actually overflows: an
 * always-on control that overlaps content is worse than none when it cannot do
 * anything, and without JS the row is scrollable on its own anyway.
 *
 * At each end the arrow is faded rather than removed. It keeps aria-disabled instead
 * of the native disabled attribute so a keyboard user who presses "next" to the end
 * does not have their focus dumped to the body.
 */
.badges-xp-panel__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #cdcdcd;
  border-radius: 50%;
  background-color: #ffffff;
  color: #d9121f;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.2s ease;
}
.badges-xp-panel__arrow[hidden] {
  display: none;
}
.badges-xp-panel__arrow.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .badges-xp-panel__arrow {
    transition: none;
  }
}

.badges-xp-panel__arrow--previous {
  left: 8px;
}
.badges-xp-panel__arrow--previous::before {
  content: "chevron_left";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.badges-xp-panel__arrow--next {
  right: 8px;
}
.badges-xp-panel__arrow--next::before {
  content: "chevron_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.badges-xp-panel__redeem {
  align-self: flex-start;
}

.badges-xp-panel__divider {
  height: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid #cdcdcd;
}

.badges-xp-panel__summary {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.badges-xp-panel__level {
  display: contents;
}
@container badges-xp-panel (width >= 284px) {
  .badges-xp-panel__level {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
}

.badges-xp-panel__level-label {
  font-family: var(--body-font);
  font-size: 28px;
  line-height: 36px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #69141e;
}

.badges-xp-panel__level-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  fill: #d9121f;
}

.badges-xp-panel__level-pill {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  order: 1;
  align-self: flex-start;
  padding: 4px 16px;
  border-radius: 4px;
  color: #1d1d1b;
  white-space: nowrap;
}
@container badges-xp-panel (width >= 284px) {
  .badges-xp-panel__level-pill {
    order: 0;
    align-self: center;
  }
}

.badges-xp-panel__progress {
  order: 2;
}
@container badges-xp-panel (width >= 284px) {
  .badges-xp-panel__progress {
    order: 0;
  }
}

.badges-xp-panel__member-since {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  line-height: 16px;
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: #767676;
}

.badges-xp-panel__member-since-icon {
  flex-shrink: 0;
}

.badges-xp-panel__progress-labels {
  font-family: var(--body-font);
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

.badges-xp-panel__progress-obtained,
.badges-xp-panel__progress-target {
  color: #69141e;
}

.badges-xp-panel__progress-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 30px;
  background-color: #ebebeb;
}

.badges-xp-panel__progress-fill {
  height: 100%;
  border-radius: 30px;
}

.badges-xp-panel__level-pill--explorer {
  background-color: #00cdbe;
}

.badges-xp-panel__progress-fill--explorer {
  background-color: #00cdbe;
}

.badges-xp-panel__level-pill--creator {
  background-color: #c8a0ff;
}

.badges-xp-panel__progress-fill--creator {
  background-color: #c8a0ff;
}

.badges-xp-panel__level-pill--engineer {
  background-color: #ffcd00;
}

.badges-xp-panel__progress-fill--engineer {
  background-color: #ffcd00;
}

.subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle {
  --theme-waffle-image: url(/7d751ad7/28.7.0/images/css/waffle-red-mirror.1f57c3d9..svg);
  --text-colour: #ffffff;
  background-color: #69141e;
  background-repeat: no-repeat;
  background-size: 200px;
}
@media (min-width: 768px) {
  .subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle {
    background-size: 240px;
  }
}
@media (min-width: 992px) {
  .subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle {
    background-size: 300px;
  }
}
.subscription-features-card.subscription-features-card--waffle.t-explorer, .t-explorer .subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle.t-explorer, .t-explorer .subscription-features-card.subscription-features-card--double-waffle {
  --theme-waffle-image: url(/7d751ad7/28.7.0/images/css/waffle-explorer-mirror.be655235..svg);
}
.subscription-features-card.subscription-features-card--waffle.t-creator, .t-creator .subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle.t-creator, .t-creator .subscription-features-card.subscription-features-card--double-waffle {
  --theme-waffle-image: url(/7d751ad7/28.7.0/images/css/waffle-creator-mirror.3dcaf902..svg);
}
.subscription-features-card.subscription-features-card--waffle.t-engineer, .t-engineer .subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle.t-engineer, .t-engineer .subscription-features-card.subscription-features-card--double-waffle {
  --theme-waffle-image: url(/7d751ad7/28.7.0/images/css/waffle-engineer-mirror.5a4254ae..svg);
}
.subscription-features-card.subscription-features-card--waffle {
  background-image: var(--theme-waffle-image);
  background-position: bottom right;
}
.subscription-features-card.subscription-features-card--double-waffle {
  background-image: var(--theme-waffle-image), url(/7d751ad7/28.7.0/images/css/waffle-red.4dc3dc6d..svg);
  background-position: bottom right, top left;
}
.subscription-features-card {
  color: var(--text-colour);
  display: flex;
  flex-direction: column;
  position: relative;
}
@media (min-width: 768px) and (max-width: 991px) {
  .subscription-features-card {
    flex-direction: row;
  }
}
.subscription-features-card.subscription-features-card--waffle, .subscription-features-card.subscription-features-card--double-waffle {
  background-size: 200px;
}
@media (min-width: 768px) {
  .subscription-features-card.subscription-features-card--full-width {
    flex-direction: row;
  }
}

.subscription-features-card__image {
  flex: 1;
}
.subscription-features-card__image > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.subscription-features-card__body {
  display: flex;
  flex: 2;
  flex-direction: column;
  gap: 32px;
  padding: 72px 24px 24px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .subscription-features-card__body {
    position: relative;
  }
}
@media (min-width: 768px) {
  .subscription-features-card--full-width .subscription-features-card__body {
    position: relative;
  }
}

.subscription-features-card__label {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .subscription-features-card__label {
    font-size: 28px;
    line-height: 36px;
  }
}
.subscription-features-card__label {
  align-items: center;
  background-color: var(--theme-primary-colour);
  color: #1d1d1b;
  display: flex;
  height: 48px;
  justify-content: center;
  left: 24px;
  padding: 8px;
  position: absolute;
  top: 0;
}

.subscription-features-card__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .subscription-features-card__title {
    font-size: 32px;
    line-height: 40px;
  }
}

.subscription-features-card__features-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.subscription-features-card__features-list-item {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  position: relative;
  padding-left: 32px;
}
.subscription-features-card__features-list-item::after {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 24px;
}

.subscription-features-card__features-list-item--disabled {
  color: #a8a8a8;
}
.subscription-features-card__features-list-item--disabled::after {
  content: "close";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.subscription-features-card__cta {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: auto;
}

.subscription-features-card__button {
  border: 2px solid var(--theme-primary-colour);
}
@media (min-width: 768px) and (max-width: 991px) {
  .subscription-features-card__button {
    width: 355px;
  }
}
@media (min-width: 768px) {
  .subscription-features-card--full-width .subscription-features-card__button {
    width: 355px;
  }
}

.subscription-features-card--with-image .subscription-features-card__body {
  padding-top: 24px;
}
@media (min-width: 768px) and (max-width: 991px) {
  .subscription-features-card--with-image .subscription-features-card__body {
    padding-top: 72px;
  }
}
@media (min-width: 768px) {
  .subscription-features-card--with-image.subscription-features-card--full-width .subscription-features-card__body {
    padding-top: 72px;
  }
}

.collapsible-panel {
  padding: 24px;
  border: 1px solid #cdcdcd;
  background: #ffffff;
}

.collapsible-panel__header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}
.collapsible-panel__header::-webkit-details-marker {
  display: none;
}
.collapsible-panel__header::after {
  content: "expand_more";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 40px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  grid-column: 2;
  grid-row: 1;
  width: 40px;
  height: 40px;
  color: #d9121f;
}
.collapsible-panel[open] > .collapsible-panel__header::after {
  content: "expand_less";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 40px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.collapsible-panel__title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.collapsible-panel__description {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  grid-column: 1/-1;
}

.collapsible-panel__body {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #cdcdcd;
}

@media (min-width: 768px) {
  .content-item {
    flex-wrap: wrap;
  }
}

.content-item__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}
@media (min-width: 768px) {
  .content-item__buttons {
    flex: 1 1 100%;
  }
}

@media (min-width: 768px) {
  .content-item__status-message {
    margin-top: 24px;
  }
}

.email-verification-notice {
  padding: 16px;
  background-color: #fff9e8;
  border: 2px solid #ff8b2d;
  border-radius: 8px;
}

.email-verification-notice__message {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
  color: #454545;
}

.email-verification-notice__link {
  font-weight: 700;
  color: inherit;
  text-decoration: underline;
}

.w-expandable-item {
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.expandable-item {
  color: #1d1d1b;
  border: 2px solid #69141e;
  padding: 0;
}

.expandable-item__handle {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  position: relative;
  padding: 16px 40px 16px 16px;
  cursor: pointer;
}
.expandable-item__handle::after {
  content: "add";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  speak: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
  color: #1d1d1b;
}
.expandable-item[open] .expandable-item__handle::after {
  content: "remove";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.expandable-item--alternate .expandable-item__handle {
  background-color: #cdcdcd;
}

.expandable-item__drawer {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  padding: 8px 16px 16px;
}
.js-details-not-supported .expandable-item__drawer {
  display: none;
}
.js-details-not-supported[open] .expandable-item__drawer {
  display: block;
}

.expandable-item--large .expandable-item__handle {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .expandable-item--large .expandable-item__handle {
    font-size: 28px;
    line-height: 36px;
  }
}
.expandable-item--large .expandable-item__handle::after {
  font-size: 26px;
}
@media (min-width: 768px) {
  .expandable-item--large .expandable-item__handle::after {
    font-size: 28px;
  }
}
.expandable-item[open] .expandable-item--large .expandable-item__handle::after {
  font-size: 26px;
}
@media (min-width: 768px) {
  .expandable-item[open] .expandable-item--large .expandable-item__handle::after {
    font-size: 28px;
  }
}

.expandable-item--standalone {
  margin-bottom: 24px;
}

.highlight-block {
  align-items: flex-start;
  background-color: #69141e;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 16px;
}

.highlight-block__label {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  background-color: #ef0000;
  color: #ffffff;
  font-weight: 700;
  margin: 0;
  padding: 0 8px;
}

.highlight-block__text {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

.highlight-block__button::after {
  content: "chevron_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.log-in {
  padding: 24px;
}
@media (min-width: 768px) {
  .log-in {
    padding: 48px;
  }
}
.ff-new-registration .log-in {
  background: #ffffff;
}
@media (min-width: 992px) {
  .ff-new-registration .log-in {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.log-in__form {
  display: flex;
  flex-direction: column;
}

.log-in__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .log-in__title {
    font-size: 32px;
    line-height: 40px;
  }
}
.log-in__title {
  margin-bottom: 32px;
}

.log-in__recaptcha {
  margin-bottom: 32px;
}

.log-in__submit {
  margin-bottom: 0;
  width: 100%;
}

.log-in__options {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .log-in__options {
    flex-direction: row;
  }
}
.ff-new-registration .log-in__options div {
  width: 100%;
}

.ff-new-registration .log-in__submit {
  width: 100%;
}

.log-in__image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.nav-list {
  border-top: 1px solid #edeff1;
  list-style: none;
  padding: 0;
}

.nav-list__item {
  border-bottom: 1px solid #edeff1;
  border-left: 4px solid transparent;
  color: #1d1d1b;
  display: block;
  font-weight: bold;
  padding: 8px 24px;
  padding-left: 20px;
}
.nav-list__item:hover, .nav-list__item:focus {
  border-left-color: #4a4e57;
  color: inherit;
}
.nav-list__item--active:not(:hover), .nav-list__item--active:not(:focus) {
  border-left-color: #d9121f;
}

.nav-list__item--button {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  width: 100%;
  text-align: justify;
}

[data-toggle-choice-target]:not(.is-chosen) {
  display: none;
}

.notification-item {
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
}
.notification-item:hover {
  transform: scale(1.02);
}
.notification-item {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 24px;
}

.notification-item__avatar {
  flex: 0 0 64px;
}
@media (min-width: 768px) {
  .notification-item__avatar {
    flex: 0 0 92px;
  }
}

.notification-item__thumbnail,
.notification-item__broadcast {
  width: 48px;
}
@media (min-width: 768px) {
  .notification-item__thumbnail,
  .notification-item__broadcast {
    width: 68px;
  }
}

.notification-item__broadcast {
  fill: #4a4e57;
}

.notification-item__badges {
  position: absolute;
  top: 24px;
  right: 24px;
}

.notification-item__title {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  margin-bottom: 8px;
}
.notification-item__title a {
  color: #3244ff;
}

.notification-item__subtext {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 16px;
}

.notification-item__date {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
}

.notification-item__content {
  flex: 1 1 calc(100% - 92px);
}

.notification-item__actions {
  margin-top: 4px;
}

.notification-item--unread {
  border-left: 6px solid #d9121f;
  padding-left: 18px;
  background: #f8d7da;
}

.notification-item__xp .notification-item__content {
  flex: 1 1 100%;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .notification-item__xp .notification-item__content {
    margin-top: 0;
    flex: 1 1 calc(100% - 192px);
  }
}

.panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  margin-bottom: 24px;
  width: 100%;
  border: 2px solid #bcbcbc;
  border-radius: 4px;
}
@media (min-width: 992px) {
  .panel {
    margin-bottom: 0;
  }
}
.panel :last-child {
  margin-bottom: 0;
}

.panel--information {
  border-color: #2431b9;
}
.panel--information .panel__body::before {
  content: "info";
  color: #2431b9;
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 48px;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.panel--warning {
  border-color: #fea861;
}
.panel--warning .panel__body::before {
  content: "warning";
  color: #fea861;
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 48px;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.panel__body {
  position: relative;
  padding-left: 64px;
}
.panel__body::before {
  position: absolute;
  left: 0;
  top: 0;
}

.ff-new-registration .password-reset {
  padding: 24px;
  background: #ffffff;
  width: 100%;
  max-width: 504px;
}
@media (min-width: 768px) {
  .ff-new-registration .password-reset {
    padding: 48px;
  }
}

.password-reset__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .password-reset__title {
    font-size: 32px;
    line-height: 40px;
  }
}
.password-reset__title {
  margin-bottom: 32px;
}
.password-reset__title strong {
  color: #d9121f;
}

.password-reset__body {
  margin-bottom: 32px;
}

.password-reset__instruction {
  margin-bottom: 24px;
  max-width: 462px;
}

.password-reset__cta-button {
  width: 100%;
  margin-bottom: 24px;
}

.password-reset__submit {
  width: 100%;
}

.w-profile-banner {
  --text-colour: #ffffff;
  background-color: #69141e;
  display: flex;
  justify-content: center;
}
.w-profile-banner.s-section--waffle {
  background-position: top left;
  background-size: 200px;
}

.profile-banner {
  width: 100%;
  max-width: 1244px;
  justify-content: space-between;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: center;
}
@media (min-width: 768px) {
  .profile-banner {
    padding: 32px 0;
    grid-template-columns: auto 255px;
  }
}

.profile-banner__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
}
@media (min-width: 768px) {
  .profile-banner__title {
    font-size: 40px;
    line-height: 48px;
  }
}
.profile-banner__title {
  text-transform: uppercase;
  color: #ffffff;
}

.profile-banner__level {
  width: 100%;
  min-height: 100px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
}
@media (min-width: 480px) {
  .profile-banner__level {
    width: 255px;
  }
}

.profile-banner__level-title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .profile-banner__level-title {
    font-size: 32px;
    line-height: 40px;
  }
}
.profile-banner__level-title {
  font-family: var(--body-font);
  color: #69141e;
  margin-bottom: 8px;
}

.profile-banner__member-since {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #1f1f1f;
  display: flex;
  align-items: center;
}
.profile-banner__member-since > svg {
  margin-right: 4px;
}

.profile-mini-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}

.profile-mini-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  width: 100%;
}
@media (min-width: 768px) {
  .profile-mini-card__header {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 8px;
  }
}

.profile-mini-card__avatar {
  position: relative;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .profile-mini-card__avatar {
    width: 72px;
    height: 72px;
  }
}

.profile-mini-card__edit {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid #ffffff;
  border-radius: 9999px;
  background: #1d1d1b;
}

.profile-mini-card__info {
  min-width: 0;
}
@media (min-width: 768px) {
  .profile-mini-card__info {
    margin-top: 8px;
  }
}

.profile-mini-card__name {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  margin: 0;
  color: #1d1d1b;
}

.profile-mini-card__role {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
  color: #4a4e57;
}

.profile-mini-card__level {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #4a4e57;
}
@media (min-width: 768px) {
  .profile-mini-card__level {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 8px;
  }
}

@media (min-width: 768px) {
  .profile-mini-card__level-label {
    font-family: var(--body-font);
    font-size: 16px;
    line-height: 24px;
    color: #1d1d1b;
  }
}

@media (min-width: 768px) {
  .profile-mini-card__level-badge {
    font-family: var(--body-font);
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    display: inline-block;
    color: #1d1d1b;
    white-space: nowrap;
    padding: 4px 16px;
    border-radius: 4px;
  }
  .profile-mini-card__level-badge::before {
    content: none;
  }
  .profile-mini-card__level-badge--explorer {
    background-color: #00cdbe;
  }
  .profile-mini-card__level-badge--creator {
    background-color: #c8a0ff;
  }
  .profile-mini-card__level-badge--engineer {
    background-color: #ffcd00;
  }
}
.profile-mini-card__level-badge::before {
  content: "- ";
}

.profile-mini-card__progress {
  width: 100%;
}

.profile-mini-card__progress-labels {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  display: none;
  justify-content: space-between;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .profile-mini-card__progress-labels {
    display: flex;
  }
}

.profile-mini-card__progress-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 30px;
  background-color: #ebebeb;
}

.profile-mini-card__progress-fill {
  height: 100%;
  border-radius: 30px;
}
.profile-mini-card__progress-fill--explorer {
  background-color: #00cdbe;
}
.profile-mini-card__progress-fill--creator {
  background-color: #c8a0ff;
}
.profile-mini-card__progress-fill--engineer {
  background-color: #ffcd00;
}

.profile-mini-card__preview {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  margin-top: 16px;
  color: #3244ff;
}
@media (min-width: 768px) {
  .profile-mini-card__preview {
    display: none;
  }
}
.profile-mini-card__preview:hover, .profile-mini-card__preview:focus {
  color: #d9121f;
}

.profile-mini-card--compact {
  padding: 16px;
}
.profile-mini-card--compact .profile-mini-card__header {
  flex-direction: row;
  align-items: center;
  margin-bottom: 16px;
}
.profile-mini-card--compact .profile-mini-card__avatar,
.profile-mini-card--compact .profile-mini-card__avatar-image {
  width: 56px;
  height: 56px;
}
.profile-mini-card--compact .profile-mini-card__info {
  margin-top: 0;
}
.profile-mini-card--compact .profile-mini-card__level {
  display: block;
  width: auto;
  margin-top: 0;
}
.profile-mini-card--compact .profile-mini-card__level-label,
.profile-mini-card--compact .profile-mini-card__level-badge {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  padding: 0;
  background-color: transparent;
  color: #4a4e57;
  font-weight: 400;
}
.profile-mini-card--compact .profile-mini-card__level-badge::before {
  content: "- ";
}
.profile-mini-card--compact .profile-mini-card__progress {
  padding-left: calc(56px + 16px);
}
.profile-mini-card--compact .profile-mini-card__progress-labels {
  display: none;
}
.profile-mini-card--compact .profile-mini-card__preview {
  display: block;
}

.profile-nav-dropdown {
  position: absolute;
  left: 0;
  width: 100%;
  background: #ffffff;
  margin-top: 20px;
  display: none;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  z-index: 1;
  border-top: 1px solid rgba(74, 78, 87, 0.1);
}
@media (min-width: 768px) {
  .profile-nav-dropdown {
    width: auto;
    margin-top: 24px;
    border-radius: 4px;
    box-shadow: 2px 2px 1px rgba(225, 225, 225, 0.5);
    left: 50%;
    transform: translateX(-50%);
    border-top: none;
    border: 1px solid #cdcdcd;
  }
  .profile-nav-dropdown::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #ffffff;
    left: 50%;
    transform: translateX(-50%);
    top: -5px;
  }
  .profile-nav-dropdown::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #cdcdcd;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    top: -6px;
    position: absolute;
  }
}
.is-dropdown-open .profile-nav-dropdown {
  display: block;
  animation: dropDown 0.2s ease-in both;
}
@keyframes dropDown {
  from {
    opacity: 0;
    margin-top: calc(var(--dropdown-top-margin) - 10px);
  }
  to {
    opacity: 1;
    margin-top: var(--dropdown-top-margin);
  }
}

.wysiwyg h1 {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
}
@media (min-width: 768px) {
  .wysiwyg h1 {
    font-size: 40px;
    line-height: 48px;
  }
}
.wysiwyg h2 {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .wysiwyg h2 {
    font-size: 32px;
    line-height: 40px;
  }
}
.wysiwyg h3 {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .wysiwyg h3 {
    font-size: 28px;
    line-height: 36px;
  }
}
.wysiwyg h4 {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .wysiwyg h4 {
    font-size: 28px;
    line-height: 36px;
  }
}
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg p,
.wysiwyg ul,
.wysiwyg ol,
.wysiwyg table {
  margin-bottom: 24px;
}
.wysiwyg b,
.wysiwyg strong {
  font-weight: 700;
}
.wysiwyg em {
  font-style: italic;
}
.wysiwyg a:not(.o-button) {
  font-weight: 700;
  color: #3244ff;
}
.wysiwyg a:not(.o-button):hover {
  color: #d9121f;
}
.wysiwyg button a {
  color: #ffffff;
}
.wysiwyg ul {
  list-style: disc;
}
.wysiwyg ol {
  list-style: decimal;
}
.wysiwyg li {
  margin-left: 40px;
  margin-bottom: 8px;
}
.wysiwyg li:last-child {
  margin-bottom: 0;
}
.wysiwyg sup,
.wysiwyg sub {
  font-size: 75%;
  position: relative;
}
.wysiwyg sup {
  top: -0.5em;
}
.wysiwyg sub {
  bottom: -0.25em;
}
.wysiwyg table[border="1"] th,
.wysiwyg table[border="1"] td {
  border: 1px solid #1d1d1b;
}
.wysiwyg blockquote {
  padding: 8px 0 8px 24px;
  background-color: #ebebeb;
  border-left: 3px solid rgba(74, 78, 87, 0.2);
}
.wysiwyg blockquote p {
  margin-bottom: 0;
}
.wysiwyg > *:last-child {
  margin-bottom: 0;
}

.profile-nav-dropdown {
  text-align: left;
}
@media (min-width: 768px) {
  .profile-nav-dropdown {
    width: 294px;
  }
}
.profile-nav-dropdown::before, .profile-nav-dropdown::after {
  content: none;
}

.profile-nav-dropdown__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.profile-nav-dropdown__item {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 24px;
  padding-left: 20px;
  border-top: 1px solid #edeff1;
  border-left: 4px solid transparent;
  color: #1d1d1b;
}
.profile-nav-dropdown__item:hover, .profile-nav-dropdown__item:focus {
  border-left-color: #4a4e57;
  color: inherit;
}
.profile-nav-dropdown__item--active {
  border-left-color: #d9121f;
  background-color: rgba(217, 18, 31, 0.06);
}

.profile-nav-dropdown__unread {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  background-color: #ef0000;
}

.profile-nav-dropdown__logout {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  padding: 16px 24px;
  border-top: 1px solid #edeff1;
  color: #3244ff;
  text-decoration: none;
}
.profile-nav-dropdown__logout:hover, .profile-nav-dropdown__logout:focus {
  color: #d9121f;
}

.profile-overview-header {
  display: grid;
  grid-template-areas: "title" "greeting" "actions";
  gap: 24px;
}
@media (min-width: 768px) {
  .profile-overview-header {
    grid-template-columns: 1fr auto;
    align-items: center;
    grid-template-areas: "title actions" "greeting greeting";
  }
}

.profile-overview-header__title {
  grid-area: title;
}

.profile-overview-header__greeting {
  grid-area: greeting;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.profile-overview-header__role {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  color: #1d1d1b;
}

.profile-overview-header__greeting .o-text-link:hover, .profile-overview-header__greeting .o-text-link:focus {
  color: #3244ff;
}

.profile-overview-header__actions {
  grid-area: actions;
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
}
@media (min-width: 768px) {
  .profile-overview-header__actions {
    flex-direction: row;
  }
}

.published-content-card {
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 16px;
  border: 1px solid #cdcdcd;
  background: #ffffff;
}
@media (max-width: 767px) {
  .published-content-card {
    flex-direction: column;
  }
}

.published-content-card__image-container {
  position: relative;
  flex: 0 0 96px;
  align-self: stretch;
}
@media (max-width: 767px) {
  .published-content-card__image-container {
    flex-basis: auto;
    aspect-ratio: 5/2;
  }
}

.published-content-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 2px;
}

.published-content-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
}

.published-content-card__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 767px) {
  .published-content-card__heading {
    flex-wrap: wrap;
  }
}

.published-content-card__title {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  margin: 0;
}
.published-content-card__title a {
  color: #1f1f1f;
}

.published-content-card__type {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  flex: 0 0 auto;
  padding: 4px 16px;
  border-radius: 4px;
  background-color: #69141e;
  color: #ffffff;
  white-space: nowrap;
}

.published-content-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.published-content-card__author-image {
  flex-shrink: 0;
}

.published-content-card__author-name {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #3244ff;
}

.published-content-card__separator,
.published-content-card__date {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  color: #454545;
}

.published-content-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.published-content-card__tag {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  display: inline-block;
  padding: 4px 16px;
  border-radius: 100px;
  background-color: #ebebeb;
  color: #454545;
}

@media (max-width: 767px) {
  .published-content-card:not(.published-content-card--tags-expanded) .published-content-card__tags-item--overflow {
    display: none;
  }
}

.published-content-card__tags-more {
  display: none;
}
@media (max-width: 767px) {
  .published-content-card__tags-more {
    display: flex;
    align-items: center;
  }
}

.published-content-card__more {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
}
.published-content-card__more, .published-content-card__more:hover, .published-content-card__more:focus, .published-content-card__more:active, .published-content-card__more:visited {
  color: #3244ff;
}

a.published-content-card__tag:hover, a.published-content-card__tag:focus {
  background-color: #cdcdcd;
  color: #454545;
}

.published-content-card__snippet {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

.published-content-list-panel__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.published-content-list-panel__see-more {
  margin-top: 16px;
}

.published-content-panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border: 1px solid #cdcdcd;
  background: #ffffff;
}

.published-content-panel__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
@media (min-width: 768px) {
  .published-content-panel__header {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
}

.published-content-panel__title {
  margin: 0;
}

.published-content-panel__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.registration-cta {
  background-color: #4a4e57;
  color: #ffffff;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
}

.registration-cta__title {
  font-family: var(--body-font);
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  margin-bottom: 24px;
}

.registration-cta__text {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 24px;
}

.registration-cta__benefits {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 24px;
}

.registration-cta__benefit {
  margin-bottom: 16px;
  display: flex;
}
.registration-cta__benefit::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  color: #bcbcbc;
  margin-right: 4px;
}

.registration__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .registration__title {
    font-size: 28px;
    line-height: 36px;
  }
}
.registration__title {
  margin-bottom: 40px;
}
.registration__title strong {
  color: #d9121f;
}

@media (min-width: 768px) {
  .registration__body {
    display: flex;
  }
}

@media (min-width: 768px) {
  .registration__credentials {
    border-right: 1px solid #bcbcbc;
    padding-right: 40px;
    width: 50%;
  }
}

.registration__additional-info {
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .registration__additional-info {
    margin-bottom: 0;
    margin-left: 40px;
    width: 50%;
  }
}

.registration__recaptcha {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  margin-bottom: 24px;
}

.registration__cta {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .registration__cta {
    justify-content: space-between;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .registration__cta-button {
    display: flex;
    width: 50%;
  }
}

@media (min-width: 768px) {
  .registration__cta-button--center {
    justify-content: center;
  }
}

.registration__cancel {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
}
.registration__cancel::before {
  content: "< ";
  speak: none;
}
.registration__cancel a {
  color: #4a4e57;
  text-decoration: underline;
}

.registration__submit {
  margin-bottom: 24px;
  width: 100%;
}
@media (min-width: 768px) {
  .registration__submit {
    width: auto;
    margin-bottom: 0;
  }
}

.registration__submit-row {
  width: 100%;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .registration__submit-row {
    margin-right: 8px;
    width: auto;
  }
}

.registration__submit-separator {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .registration__submit-separator {
    margin-right: 8px;
  }
}

@media (min-width: 768px) {
  .registration__form-fields {
    max-width: 320px;
  }
}

.registration__options {
  align-items: center;
  flex-direction: column;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .registration__options {
    flex-direction: row;
  }
}

.has-use-email-selected .registration__referral-username {
  display: none;
}

.registration__referral-email {
  display: none;
}
.has-use-email-selected .registration__referral-email {
  display: flex;
}

.referred-user {
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
}
.referred-user:hover {
  transform: scale(1.02);
}
.referred-user {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 24px;
}

.referred-user__avatar {
  flex: 0 0 64px;
}
@media (min-width: 768px) {
  .referred-user__avatar {
    flex: 0 0 92px;
  }
}

.referred-user__details {
  flex: 1 1 calc(100% - 92px);
}

.referred-user__username {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  display: block;
  margin-bottom: 16px;
}

.referred-user__bio {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  display: block;
}

.software-activation {
  display: flex;
  margin-bottom: 20px;
  padding: 16px;
}
.software-activation__status {
  flex: 0 0 50px;
  fill: #bcbcbc;
  padding-right: 8px;
}
.software-activation__icon {
  height: 30px;
  margin-bottom: 16px;
}

.software-activation--active .software-activation__status {
  fill: #228e46;
}

.c-product-keys {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  text-align: center;
}
.c-product-keys__row {
  display: flex;
  margin-bottom: 4px;
}
.c-product-keys__key {
  flex: 1;
  text-align: center;
}

.w-statistics {
  background-color: #ebebeb;
  text-align: center;
}
.w-statistics.t--invert {
  background-color: #1d1d1b;
  color: #ffffff;
}

.w-statistics__list {
  max-width: 1244px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
}

.statistics__item {
  min-width: 130px;
  padding: 24px 16px;
}

.statistics__value {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .statistics__value {
    font-size: 32px;
    line-height: 40px;
  }
}
.statistics__value {
  display: block;
  line-height: 1;
}

.statistics__label {
  display: block;
}

/**
 * Profile overview modifier
 *
 * The My Account profile overview page uses a contained stats bar rather than the
 * full-bleed strip: it fills the content column, drops the muted labels onto a
 * lighter grey, and reflows its seven columns down to four and then two as space
 * runs out.
 *
 * Two things drive the implementation:
 *
 * - It reflows on its own width rather than the viewport's, so it is queried as a
 *   container. The designs put the bar in a 930px content column, which is only
 *   that wide on a viewport well past our largest breakpoint - keying off the
 *   viewport would drop the single-row layout on tablet-width columns and keep it
 *   on narrow ones.
 * - The column counts are explicit rather than left to wrap. Greedy flex wrapping
 *   fills the first row and orphans the remainder, breaking the seven items as
 *   6 + 1 or 5 + 2 instead of into even rows.
 */
.w-statistics--profile-overview {
  background-color: #ebebeb;
  padding: 32px 16px;
  container-type: inline-size;
  container-name: statistics-bar;
}

.w-statistics--profile-overview .w-statistics__list {
  max-width: none;
  padding: 0;
  justify-content: center;
  gap: 36px;
}
@container statistics-bar (width >= 760px) {
  .w-statistics--profile-overview .w-statistics__list {
    justify-content: space-between;
    gap: 16px;
  }
}

.w-statistics--profile-overview .statistics__item {
  flex: 0 0 calc(50% - 18px);
  min-width: 0;
  padding: 0;
}
@container statistics-bar (width >= 660px) {
  .w-statistics--profile-overview .statistics__item {
    flex-basis: calc(25% - 27px);
  }
}
@container statistics-bar (width >= 760px) {
  .w-statistics--profile-overview .statistics__item {
    flex: 0 1 auto;
  }
}

.w-statistics--profile-overview .statistics__value {
  font-size: 32px;
  line-height: 40px;
}

.w-statistics--profile-overview .statistics__label {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  color: #767676;
}

.subscription-box {
  --subscription-primary-colour: #a8a8a8;
  display: flex;
  flex-direction: column;
  color: #1d1d1b;
}
.subscription-box.t-explorer > .subscription-box__header {
  --subscription-primary-colour: #00cdbe;
}
.subscription-box.t-creator > .subscription-box__header {
  --subscription-primary-colour: #c8a0ff;
}
.subscription-box.t-engineer > .subscription-box__header {
  --subscription-primary-colour: #ffcd00;
}

.subscription-box__body {
  border: 1px solid #a8a8a8;
  border-top-width: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 16px;
  padding: 24px 16px 32px;
}
@media (min-width: 768px) {
  .subscription-box__body {
    padding: 32px;
    padding-bottom: 48px;
  }
}

.subscription-box__header {
  background: var(--subscription-primary-colour);
  text-transform: uppercase;
  padding: 16px;
}
@media (min-width: 768px) {
  .subscription-box__header {
    padding: 16px 32px;
  }
}

.subscription-box__subscription_info {
  display: flex;
  gap: 24px;
  flex-direction: column;
}

.subscription-overview-card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 24px;
  border: 1px solid #cdcdcd;
  background: #ffffff;
}

.subscription-overview-card__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
@media (min-width: 768px) {
  .subscription-overview-card__header {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
}

.subscription-overview-card__title {
  margin: 0;
}

.subscription-overview-card .subscription-box__header {
  color: #ffffff;
}

.subscription-overview-card__plan-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 768px) {
  .subscription-overview-card__plan-body {
    flex-direction: row;
    justify-content: space-between;
  }
}

.subscription-overview-card__features-list {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 16px;
}

.subscription-overview-card__features-list-item {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  position: relative;
  padding-left: 32px;
}
.subscription-overview-card__features-list-item::after {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 24px;
  color: #228e46;
}

.subscription-overview-card__features-list-item--disabled {
  color: #a8a8a8;
}
.subscription-overview-card__features-list-item--disabled::after {
  content: "close";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
  color: inherit;
}

.subscription-overview-card__current-plan {
  --subscription-primary-colour: #454545;
  align-self: flex-start;
  padding: 24px;
  border: 1px solid #cdcdcd;
}
@media (max-width: 767px) {
  .subscription-overview-card__current-plan {
    order: -1;
    align-self: stretch;
  }
}
@media (min-width: 768px) {
  .subscription-overview-card__current-plan {
    flex: 0 0 200px;
  }
}
.subscription-overview-card__current-plan.t-explorer {
  --subscription-primary-colour: #00cdbe;
}
.subscription-overview-card__current-plan.t-creator {
  --subscription-primary-colour: #c8a0ff;
}
.subscription-overview-card__current-plan.t-engineer {
  --subscription-primary-colour: #ffcd00;
}

.subscription-overview-card__current-plan-label {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  margin: 0 0 16px;
}

.subscription-overview-card__current-plan-price {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
}
@media (min-width: 768px) {
  .subscription-overview-card__current-plan-price {
    font-size: 40px;
    line-height: 48px;
  }
}
.subscription-overview-card__current-plan-price {
  color: var(--subscription-primary-colour);
  margin: 0;
}

.subscription-overview-card__current-plan-note {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  color: #767676;
  margin: 0;
}

.subscription-overview-card__table {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .subscription-overview-card__table .o-table--row-collapse tbody td {
    display: flex;
    padding-left: 16px;
  }
  .subscription-overview-card__table .o-table--row-collapse tbody td::before {
    position: static;
    flex: 0 0 35%;
    min-width: 7em;
    margin: -16px;
    margin-right: 16px;
    text-wrap: wrap;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: break-word;
  }
}

.w-xp-panel {
  background-color: #ebebeb;
  padding: 16px;
  text-align: center;
}

.xp-panel {
  margin: 0 auto;
  text-align: center;
  max-width: 290px;
}
.xp-panel__level {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 16px;
  color: #1d1d1b;
  font-weight: 700;
}
.xp-panel__level-icon {
  width: 32px;
  margin-right: 16px;
}
.xp-panel__progress-bar {
  background-color: #bcbcbc;
  border-radius: 30px;
  height: 8px;
  overflow: hidden;
  margin-bottom: 16px;
  flex: 0;
}
.xp-panel__obtained {
  background: #4a4e57;
  border-radius: 30px;
  height: 100%;
}
.xp-panel__progress-total {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.xp-panel__member-since {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
}

@media (min-width: 992px) {
  .new-registration {
    display: flex;
    align-items: flex-start;
  }
}

.new-registration__form {
  padding: 24px;
  background: #ffffff;
}
@media (min-width: 768px) {
  .new-registration__form {
    padding: 48px;
  }
}
@media (min-width: 992px) {
  .new-registration__form {
    flex: 0 0 45%;
    max-width: 504px;
  }
}

.new-registration__copy {
  display: none;
}
@media (min-width: 992px) {
  .new-registration__copy {
    position: sticky;
    top: 30px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 64px 64px 24px;
    color: #ffffff;
  }
}
@media (min-width: 1440px) {
  .new-registration__copy {
    padding-left: 104px;
    padding-right: 104px;
  }
}

.new-registration__title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
}
@media (min-width: 768px) {
  .new-registration__title {
    font-size: 32px;
    line-height: 40px;
  }
}
.new-registration__title {
  margin-bottom: 32px;
}

.new-registration__recaptcha {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-bottom: 24px;
}

.new-registration__button {
  width: 100%;
}

.new-registration__submit {
  width: 100%;
}

.new-registration__copy-title {
  font-family: var(--header-font);
  font-weight: 700;
  font-size: 44px;
  line-height: 52px;
}
@media (min-width: 768px) {
  .new-registration__copy-title {
    font-size: 48px;
    line-height: 56px;
  }
}
.new-registration__copy-title {
  text-transform: uppercase;
  padding-bottom: 24px;
}

.new-registration__step.is-opened {
  display: block;
}
.new-registration__step.is-closed {
  display: none;
}

/**
 * Components - structures
 */
.s-account-layout {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 992px) {
  .s-account-layout {
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
  }
}

@media (max-width: 991px) {
  .d-account-layout__sidebar .profile-mini-card {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-account-layout__sidebar {
    flex: 0 0 294px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 12px;
    border: 1px solid #cdcdcd;
    background-color: #ffffff;
  }
  .d-account-layout__sidebar .account-side-nav {
    border-right: 0;
  }
}

.d-account-layout__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}
@media (min-width: 992px) {
  .d-account-layout__content {
    flex: 1 1 auto;
  }
}

.s-button-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}
@media (min-width: 480px) {
  .s-button-group {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (min-width: 480px) {
  .s-button-group--left-align {
    justify-content: left;
  }
}

@media (min-width: 480px) {
  .s-button-group--right-align {
    justify-content: right;
  }
}

/**
 * Card decks are a structure that holds multiple cards.
 */
.s-card-deck {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.s-card-deck > .d-card-deck {
  width: 100%;
  margin-bottom: 16px;
}
.s-card-deck[data-cards-per-row="2-container"] {
  container-type: inline-size;
  container-name: card-deck;
}
@container card-deck (width > 540px) {
  .s-card-deck[data-cards-per-row="2-container"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="2-container"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 480px) {
  .s-card-deck[data-cards-per-row="2"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="2"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row="3"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="3"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .s-card-deck[data-cards-per-row="3"] > .d-card-deck {
    width: calc(33.3333333333% - 10.6666666667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="3"] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck {
    width: calc(33.3333333333% - 10.6666666667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 992px) {
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="4"] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row="4"].card-deck--single-row > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="4"].card-deck--single-row > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck {
    width: calc(33.3333333333% - 10.6666666667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1439px) {
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}
@media (min-width: 1440px) {
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck {
    width: calc(20% - 12.8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="5"] > .d-card-deck:nth-child(5n) {
    margin-right: 0;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck {
    width: calc(33.3333333333% - 10.6666666667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1439px) {
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}
@media (min-width: 1440px) {
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck {
    width: calc(16.6666666667% - 13.3333333333px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row="6"] > .d-card-deck:nth-child(6n) {
    margin-right: 0;
  }
}

.s-hierarchy-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: "feature-card-1" "feature-card-2" "feature-card-3" "card-4" "card-5";
}
@media (min-width: 480px) {
  .s-hierarchy-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-template-areas: "feature-card-1 feature-card-1" "feature-card-2 feature-card-2" "feature-card-3 feature-card-3" "card-4 card-5";
  }
}
@media (min-width: 992px) {
  .s-hierarchy-deck {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-template-areas: "feature-card-1 feature-card-1 feature-card-2 feature-card-2" "feature-card-3 feature-card-3 card-4 card-5";
  }
}

.s-hierarchy-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-hierarchy-deck__feature-card-2 {
  grid-area: feature-card-2;
}

.s-hierarchy-deck__feature-card-3 {
  grid-area: feature-card-3;
}

.s-hierarchy-deck__card-4 {
  grid-area: card-4;
}

.s-hierarchy-deck__card-5 {
  grid-area: card-5;
}

.s-home-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: "feature-card-1" "feature-card-2" "card-3" "card-4" "card-5" "card-6" "card-7" "card-8";
}
@media (min-width: 480px) {
  .s-home-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-template-areas: "feature-card-1 feature-card-2" "card-3 card-4" "card-5 card-6" "card-7 card-8";
  }
}
@media (min-width: 992px) {
  .s-home-deck {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(6, 1fr);
    grid-template-areas: "feature-card-1 card-3 card-4" "feature-card-1 card-3 card-4" "feature-card-1 card-5 card-6" "feature-card-2 card-5 card-6" "feature-card-2 card-7 card-8" "feature-card-2 card-7 card-8";
  }
}

.s-home-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-home-deck__feature-card-2 {
  grid-area: feature-card-2;
}

.s-home-deck__card-3 {
  grid-area: card-3;
}

.s-home-deck__card-4 {
  grid-area: card-4;
}

.s-home-deck__card-5 {
  grid-area: card-5;
}

.s-home-deck__card-6 {
  grid-area: card-6;
}

.s-home-deck__card-7 {
  grid-area: card-7;
}

.s-home-deck__card-8 {
  grid-area: card-8;
}

.s-extravaganza-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: "feature-card-1" "card-2" "card-3";
}
@media (min-width: 480px) {
  .s-extravaganza-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "feature-card-1 feature-card-1" "card-2 card-3";
  }
}
@media (min-width: 992px) {
  .s-extravaganza-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-template-areas: "feature-card-1 card-2" "feature-card-1 card-3";
  }
}

.s-extravaganza-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-extravaganza-deck__card-2 {
  grid-area: card-2;
}

.s-extravaganza-deck__card-3 {
  grid-area: card-3;
}

.s-subscription-features-deck {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 992px) {
  .s-subscription-features-deck {
    flex-direction: row;
  }
}
.s-subscription-features-deck > .d-subscription-features-deck {
  width: 100%;
}

.s-light-package-deck {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 0;
  align-items: center;
}
@media (min-width: 992px) {
  .s-light-package-deck {
    gap: 56px;
    padding: 56px 96px;
  }
}
.s-light-package-deck > .d-light-package-deck {
  width: 100%;
  display: flex;
  gap: 24px;
  flex-direction: column;
}
@media (min-width: 1440px) {
  .s-light-package-deck > .d-light-package-deck {
    flex-direction: row;
  }
}

.d-light-package-deck__details,
.d-light-package-deck__title {
  color: #1d1d1b;
  text-align: center;
}

.s-column-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
}
@media (min-width: 768px) {
  .s-column-content {
    flex-direction: row;
  }
}
.s-column-content[data-gap="16"] {
  gap: 16px;
}
.s-column-content[data-gap="24"] {
  gap: 24px;
}
.s-column-content[data-gap="32"] {
  gap: 32px;
}
.s-column-content[data-gap="40"] {
  gap: 40px;
}
.s-column-content[data-gap="48"] {
  gap: 48px;
}
.s-column-content[data-margin="16"] {
  margin: 16px;
}
.s-column-content[data-margin="24"] {
  margin: 24px;
}
.s-column-content[data-margin="32"] {
  margin: 32px;
}
.s-column-content[data-margin="40"] {
  margin: 40px;
}
.s-column-content[data-margin="48"] {
  margin: 48px;
}

.d-column-content {
  flex: 1;
  min-width: 0;
  padding: 0;
}
.s-column-content[data-padding="16"] .d-column-content {
  padding: 16px;
}
.s-column-content[data-padding="24"] .d-column-content {
  padding: 24px;
}
.s-column-content[data-padding="32"] .d-column-content {
  padding: 32px;
}
.s-column-content[data-padding="40"] .d-column-content {
  padding: 40px;
}
.s-column-content[data-padding="48"] .d-column-content {
  padding: 48px;
}

@media (min-width: 768px) {
  .s-column-content[data-columns="2"] .d-column-content {
    flex: 1;
  }
  .s-column-content[data-columns="3"] .d-column-content {
    flex: 1;
  }
  .s-column-content[data-columns="4"] .d-column-content {
    flex: 1;
  }
  .s-column-content[data-columns="5"] .d-column-content {
    flex: 1;
  }
  .s-column-content[data-columns="6"] .d-column-content {
    flex: 1;
  }
  .s-column-content[data-column-widths="25-75"] .d-column-content:nth-child(1) {
    flex: 0 0 calc(25% - var(--gap, 16px) / 2);
  }
  .s-column-content[data-column-widths="25-75"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="33-67"] .d-column-content:nth-child(1) {
    flex: 0 0 calc(33.333% - var(--gap, 16px) / 2);
  }
  .s-column-content[data-column-widths="33-67"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="50-50"] .d-column-content:nth-child(1) {
    flex: 0 0 calc(50% - var(--gap, 16px) / 2);
  }
  .s-column-content[data-column-widths="50-50"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="67-33"] .d-column-content:nth-child(1) {
    flex: 0 0 66.667%;
  }
  .s-column-content[data-column-widths="67-33"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="75-25"] .d-column-content:nth-child(1) {
    flex: 0 0 75%;
  }
  .s-column-content[data-column-widths="75-25"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="15-60-25"] .d-column-content:nth-child(1) {
    flex: 0 0 15%;
  }
  .s-column-content[data-column-widths="15-60-25"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="15-60-25"] .d-column-content:nth-child(3) {
    flex: 0 0 25%;
  }
  .s-column-content[data-column-widths="20-60-20"] .d-column-content:nth-child(1) {
    flex: 0 0 20%;
  }
  .s-column-content[data-column-widths="20-60-20"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="20-60-20"] .d-column-content:nth-child(3) {
    flex: 0 0 20%;
  }
  .s-column-content[data-column-widths="25-50-25"] .d-column-content:nth-child(1) {
    flex: 0 0 25%;
  }
  .s-column-content[data-column-widths="25-50-25"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
  .s-column-content[data-column-widths="25-50-25"] .d-column-content:nth-child(3) {
    flex: 0 0 25%;
  }
  .s-column-content[data-column-widths="33-34-33"] .d-column-content:nth-child(1),
  .s-column-content[data-column-widths="33-34-33"] .d-column-content:nth-child(3) {
    flex: 0 0 calc(33.333% - var(--gap, 16px) * 2 / 3);
  }
  .s-column-content[data-column-widths="33-34-33"] .d-column-content:nth-child(2) {
    flex: 1 1 auto;
  }
}
.s-log-in {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .s-log-in {
    flex-direction: row;
  }
  .ff-new-registration .s-log-in {
    justify-content: center;
  }
}

.d-log-in--form {
  flex: 1 0 auto;
}
@media (min-width: 768px) {
  .d-log-in--form .ff-new-registration {
    flex: 1 1 504px;
  }
}

.d-log-in--image {
  display: none;
}
@media (min-width: 992px) {
  .d-log-in--image {
    background-color: #1f1f1f;
    display: block;
    flex: 1 0 50%;
  }
}

.d-log-in--supporting {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
@media (min-width: 768px) {
  .d-log-in--supporting {
    border-top-right-radius: inherit;
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: 0;
    width: 35%;
  }
}

.s-password-reset {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .s-password-reset {
    flex-direction: row;
  }
  .ff-new-registration .s-password-reset {
    justify-content: center;
  }
}

.d-password-reset {
  padding: 24px 16px 40px;
}
@media (min-width: 768px) {
  .d-password-reset {
    padding: 40px 64px;
  }
}

.s-registration {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .s-registration {
    flex-direction: row;
  }
  .ff-new-registration .s-registration {
    justify-content: center;
  }
}

.d-registration {
  padding: 24px 16px 40px;
}
@media (min-width: 768px) {
  .d-registration {
    padding: 40px 64px;
  }
}
.ff-new-registration .d-registration {
  padding: 0;
}

/**
 * Components - legacy
 */
.o-line {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 -16px;
}
@media print {
  .o-line {
    display: block;
  }
}

.o-lg-size12of12, .o-lg-size11of12, .o-lg-size10of12, .o-lg-size9of12, .o-lg-size8of12, .o-lg-size7of12, .o-lg-size6of12, .o-lg-size5of12, .o-lg-size4of12, .o-lg-size3of12, .o-lg-size2of12, .o-lg-size1of12, .o-md-size12of12, .o-md-size11of12, .o-md-size10of12, .o-md-size9of12, .o-md-size8of12, .o-md-size7of12, .o-md-size6of12, .o-md-size5of12, .o-md-size4of12, .o-md-size3of12, .o-md-size2of12, .o-md-size1of12, .o-sm-size12of12, .o-sm-size11of12, .o-sm-size10of12, .o-sm-size9of12, .o-sm-size8of12, .o-sm-size7of12, .o-sm-size6of12, .o-sm-size5of12, .o-sm-size4of12, .o-sm-size3of12, .o-sm-size2of12, .o-sm-size1of12, .o-xs-size12of12, .o-xs-size11of12, .o-xs-size10of12, .o-xs-size9of12, .o-xs-size8of12, .o-xs-size7of12, .o-xs-size6of12, .o-xs-size5of12, .o-xs-size4of12, .o-xs-size3of12, .o-xs-size2of12, .o-xs-size1of12, .o-unit {
  flex: 1 1 100%;
  padding: 32px 16px;
}

.o-line--narrow .o-unit {
  padding: 8px 16px;
}

.o-size1of2 {
  flex: 1 1 50%;
  max-width: 50%;
}

.o-size1of3 {
  flex: 1 1 33.33%;
  max-width: 33.33%;
}

.o-size2of3 {
  flex: 1 1 66.66%;
  max-width: 66.66%;
}

.o-size1of4 {
  flex: 1 1 25%;
  max-width: 25%;
}

.o-size3of4 {
  flex: 1 1 75%;
  max-width: 75%;
}

.o-size1of5 {
  flex: 1 1 20%;
  max-width: 20%;
}

.o-size2of5 {
  flex: 1 1 40%;
  max-width: 40%;
}

.o-size3of5 {
  flex: 1 1 60%;
  max-width: 60%;
}

.o-size4of5 {
  flex: 1 1 80%;
  max-width: 80%;
}

.o-size1of10 {
  flex: 1 1 10%;
  max-width: 10%;
}

.o-size1of20 {
  flex: 1 1 5%;
  max-width: 5%;
}

@media (min-width: 480px) {
  .o-xs-size1of12 {
    flex: 1 1 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-size2of12 {
    flex: 1 1 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-size3of12 {
    flex: 1 1 25%;
    max-width: 25%;
  }
}

@media (min-width: 480px) {
  .o-xs-size4of12 {
    flex: 1 1 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-size5of12 {
    flex: 1 1 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-size6of12 {
    flex: 1 1 50%;
    max-width: 50%;
  }
}

@media (min-width: 480px) {
  .o-xs-size7of12 {
    flex: 1 1 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-size8of12 {
    flex: 1 1 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-size9of12 {
    flex: 1 1 75%;
    max-width: 75%;
  }
}

@media (min-width: 480px) {
  .o-xs-size10of12 {
    flex: 1 1 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-size11of12 {
    flex: 1 1 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-size12of12 {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .o-sm-size1of12 {
    flex: 1 1 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-size2of12 {
    flex: 1 1 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-size3of12 {
    flex: 1 1 25%;
    max-width: 25%;
  }
}

@media (min-width: 768px) {
  .o-sm-size4of12 {
    flex: 1 1 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-size5of12 {
    flex: 1 1 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-size6of12 {
    flex: 1 1 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .o-sm-size7of12 {
    flex: 1 1 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-size8of12 {
    flex: 1 1 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-size9of12 {
    flex: 1 1 75%;
    max-width: 75%;
  }
}

@media (min-width: 768px) {
  .o-sm-size10of12 {
    flex: 1 1 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-size11of12 {
    flex: 1 1 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-size12of12 {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .o-md-size1of12 {
    flex: 1 1 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-size2of12 {
    flex: 1 1 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-size3of12 {
    flex: 1 1 25%;
    max-width: 25%;
  }
}

@media (min-width: 992px) {
  .o-md-size4of12 {
    flex: 1 1 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-size5of12 {
    flex: 1 1 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-size6of12 {
    flex: 1 1 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .o-md-size7of12 {
    flex: 1 1 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-size8of12 {
    flex: 1 1 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-size9of12 {
    flex: 1 1 75%;
    max-width: 75%;
  }
}

@media (min-width: 992px) {
  .o-md-size10of12 {
    flex: 1 1 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-size11of12 {
    flex: 1 1 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-size12of12 {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size1of12 {
    flex: 1 1 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size2of12 {
    flex: 1 1 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size3of12 {
    flex: 1 1 25%;
    max-width: 25%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size4of12 {
    flex: 1 1 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size5of12 {
    flex: 1 1 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size6of12 {
    flex: 1 1 50%;
    max-width: 50%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size7of12 {
    flex: 1 1 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size8of12 {
    flex: 1 1 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size9of12 {
    flex: 1 1 75%;
    max-width: 75%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size10of12 {
    flex: 1 1 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size11of12 {
    flex: 1 1 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-size12of12 {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.o-pull1of2 {
  margin-left: 50%;
}

.o-pull1of3 {
  margin-left: 33.33%;
}

.o-pull2of3 {
  margin-left: 66.66%;
}

.o-pull1of4 {
  margin-left: 25%;
}

.o-pull3of4 {
  margin-left: 75%;
}

.o-pull1of5 {
  margin-left: 20%;
}

.o-pull2of5 {
  margin-left: 40%;
}

.o-pull3of5 {
  margin-left: 60%;
}

.o-pull4of5 {
  margin-left: 80%;
}

.o-pull1of6 {
  margin-left: 16.66%;
}

.o-pull1of10 {
  margin-left: 10%;
}

.o-pull1of20 {
  margin-left: 5%;
}

@media (min-width: 480px) {
  .o-xs-pull1of12 {
    margin-left: 8.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull2of12 {
    margin-left: 16.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull3of12 {
    margin-left: 25%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull4of12 {
    margin-left: 33.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull5of12 {
    margin-left: 41.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull6of12 {
    margin-left: 50%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull7of12 {
    margin-left: 58.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull8of12 {
    margin-left: 66.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull9of12 {
    margin-left: 75%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull10of12 {
    margin-left: 83.3333333333%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull11of12 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 480px) {
  .o-xs-pull12of12 {
    margin-left: 100%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull1of12 {
    margin-left: 8.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull2of12 {
    margin-left: 16.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull3of12 {
    margin-left: 25%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull4of12 {
    margin-left: 33.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull5of12 {
    margin-left: 41.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull6of12 {
    margin-left: 50%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull7of12 {
    margin-left: 58.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull8of12 {
    margin-left: 66.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull9of12 {
    margin-left: 75%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull10of12 {
    margin-left: 83.3333333333%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull11of12 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 768px) {
  .o-sm-pull12of12 {
    margin-left: 100%;
  }
}

@media (min-width: 992px) {
  .o-md-pull1of12 {
    margin-left: 8.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-pull2of12 {
    margin-left: 16.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-pull3of12 {
    margin-left: 25%;
  }
}

@media (min-width: 992px) {
  .o-md-pull4of12 {
    margin-left: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-pull5of12 {
    margin-left: 41.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-pull6of12 {
    margin-left: 50%;
  }
}

@media (min-width: 992px) {
  .o-md-pull7of12 {
    margin-left: 58.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-pull8of12 {
    margin-left: 66.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-pull9of12 {
    margin-left: 75%;
  }
}

@media (min-width: 992px) {
  .o-md-pull10of12 {
    margin-left: 83.3333333333%;
  }
}

@media (min-width: 992px) {
  .o-md-pull11of12 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 992px) {
  .o-md-pull12of12 {
    margin-left: 100%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull1of12 {
    margin-left: 8.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull2of12 {
    margin-left: 16.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull3of12 {
    margin-left: 25%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull4of12 {
    margin-left: 33.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull5of12 {
    margin-left: 41.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull6of12 {
    margin-left: 50%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull7of12 {
    margin-left: 58.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull8of12 {
    margin-left: 66.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull9of12 {
    margin-left: 75%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull10of12 {
    margin-left: 83.3333333333%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull11of12 {
    margin-left: 91.6666666667%;
  }
}

@media (min-width: 1440px) {
  .o-lg-pull12of12 {
    margin-left: 100%;
  }
}

.o-line--left {
  justify-content: flex-start;
}

.o-line--right {
  justify-content: flex-end;
}

.c-avatar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 8px;
}
.c-avatar.c-avatar--with-follow.c-avatar--medium {
  margin-bottom: 16px;
}

.c-avatar__detail {
  color: #4a4e57;
}
.c-avatar__detail p + p::before {
  content: "‐ ";
}
.c-avatar--large .c-avatar__detail {
  color: #1d1d1b;
}

.c-avatar__body {
  flex: 1 1 auto;
}
.c-avatar--x-small .c-avatar__body {
  flex: 1 1 calc(100% - 32px);
  width: calc(100% - 32px);
}
.c-avatar--small .c-avatar__body {
  flex: 1 1 calc(100% - 46px);
  width: calc(100% - 46px);
}
.c-avatar--medium .c-avatar__body {
  flex: 1 1 calc(100% - 66px);
  width: calc(100% - 66px);
}
@media (max-width: 373px) {
  .c-avatar--with-follow.c-avatar--medium .c-avatar__body {
    flex: 1 1 100%;
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 479px) {
  .c-avatar--large .c-avatar__body {
    flex: 0 1 100%;
    width: 100%;
    text-align: center;
  }
}
@media (min-width: 480px) {
  .c-avatar--large .c-avatar__body {
    flex: 0 1 calc(100% - 96px);
    width: calc(100% - 96px);
  }
}
@media (max-width: 479px) {
  .c-avatar--extra-large .c-avatar__body {
    flex: 0 1 100%;
    width: 100%;
    text-align: center;
  }
}
@media (min-width: 480px) {
  .c-avatar--extra-large .c-avatar__body {
    flex: 0 1 calc(100% - 136px);
    width: calc(100% - 136px);
  }
}
.c-avatar__body p {
  display: inline;
  margin: 0;
}

.c-avatar__image-container {
  flex: 1 1 auto;
}
.c-avatar--x-small .c-avatar__image-container {
  flex: 0 0 32px;
}
.c-avatar--small .c-avatar__image-container {
  flex: 0 0 46px;
}
.c-avatar--medium .c-avatar__image-container {
  flex: 0 0 66px;
}
@media (max-width: 373px) {
  .c-avatar--with-follow.c-avatar--medium .c-avatar__image-container {
    flex: 0 0 100%;
    text-align: center;
    margin-bottom: 8px;
  }
}
@media (max-width: 479px) {
  .c-avatar--large .c-avatar__image-container {
    flex: 0 0 100%;
    text-align: center;
    margin-bottom: 8px;
  }
}
@media (min-width: 480px) {
  .c-avatar--large .c-avatar__image-container {
    flex: 0 0 96px;
  }
}
@media (max-width: 479px) {
  .c-avatar--extra-large .c-avatar__image-container {
    flex: 0 0 100%;
    text-align: center;
    margin-bottom: 8px;
  }
}
@media (min-width: 480px) {
  .c-avatar--extra-large .c-avatar__image-container {
    flex: 0 0 136px;
  }
}
.c-avatar__image-container__level {
  display: inline;
  margin-left: 4px;
}
.c-avatar__image-container__level img {
  width: 16px;
}

.c-avatar__image {
  border-radius: 9999px;
  margin: 0 auto;
}
@media (min-width: 480px) {
  .c-avatar__image--leaderboard {
    margin-right: 8px;
  }
}
.c-avatar--x-small .c-avatar__image {
  max-width: 20px;
}
.c-avatar--small .c-avatar__image {
  max-width: 30px;
}
.c-avatar--medium .c-avatar__image {
  max-width: 50px;
}
.c-avatar--large .c-avatar__image {
  max-width: 80px;
}
.c-avatar--extra-large .c-avatar__image {
  max-width: 120px;
}

.c-avatar__title {
  font-weight: bold;
}
.c-avatar--with-follow.c-avatar--x-small .c-avatar__title, .c-avatar--with-follow.c-avatar--small .c-avatar__title, .c-avatar--with-follow.c-avatar--medium .c-avatar__title {
  padding-bottom: 4px;
}

.c-avatar__username {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  display: inline-block;
  white-space: nowrap;
}
.c-avatar--with-follow .c-avatar__username {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}
.c-avatar--small .c-avatar__username, .c-avatar--x-small .c-avatar__username {
  font-size: 14px;
}
.c-avatar--extra-large .c-avatar__username {
  font-size: 28px;
}
@media (min-width: 375px) {
  .c-avatar--with-follow.c-avatar--x-small .c-avatar__username, .c-avatar--with-follow.c-avatar--small .c-avatar__username, .c-avatar--with-follow.c-avatar--medium .c-avatar__username {
    max-width: calc(100% - 110px);
    padding-right: 4px;
  }
}
@media (min-width: 480px) {
  .c-avatar--with-follow.c-avatar--large .c-avatar__username, .c-avatar--with-follow.c-avatar--extra-large .c-avatar__username {
    max-width: calc(100% - 110px);
  }
}

.c-avatar--extra-large .c-avatar__country {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  margin: 4px 0;
}

.c-avatar__country-flag {
  width: 17px;
  height: 13px;
  bottom: 2px;
  position: relative;
  vertical-align: middle;
}

.c-avatar--extra-large .c-avatar__title {
  font-size: 28px;
}

.c-avatar__level {
  display: inline;
  margin-left: 4px;
}
.c-avatar__level img {
  width: 16px;
}

.c-avatar__follow {
  font-size: 12px !important;
  padding: 4px 8px;
  vertical-align: middle;
  max-width: 110px;
}

.c-avatar.c-avatar--x-small .c-avatar__follow--mobile, .c-avatar.c-avatar--small .c-avatar__follow--mobile, .c-avatar.c-avatar--medium .c-avatar__follow--mobile {
  flex: 0 0 100%;
  padding: 8px;
  margin-top: 8px;
  margin-bottom: 8px;
  text-align: center;
}
@media (min-width: 375px) {
  .c-avatar.c-avatar--x-small .c-avatar__follow--mobile, .c-avatar.c-avatar--small .c-avatar__follow--mobile, .c-avatar.c-avatar--medium .c-avatar__follow--mobile {
    display: none;
  }
}
@media (max-width: 374px) {
  .c-avatar.c-avatar--x-small .c-avatar__follow--desktop, .c-avatar.c-avatar--small .c-avatar__follow--desktop, .c-avatar.c-avatar--medium .c-avatar__follow--desktop {
    display: none;
  }
}
.c-avatar.c-avatar--large .c-avatar__follow--mobile, .c-avatar.c-avatar--extra-large .c-avatar__follow--mobile {
  flex: 0 0 100%;
  padding: 8px;
  margin-top: 8px;
  margin-bottom: 8px;
  text-align: center;
}
@media (min-width: 480px) {
  .c-avatar.c-avatar--large .c-avatar__follow--mobile, .c-avatar.c-avatar--extra-large .c-avatar__follow--mobile {
    display: none;
  }
}
@media (max-width: 479px) {
  .c-avatar.c-avatar--large .c-avatar__follow--desktop, .c-avatar.c-avatar--extra-large .c-avatar__follow--desktop {
    display: none;
  }
}

.c-avatar--with-follow .c-avatar__username {
  padding-right: 8px;
}
@media (min-width: 480px) {
  .c-avatar--with-follow .c-avatar__title {
    margin-bottom: 4px;
  }
}

.c-avatar--rev .c-avatar__body {
  flex: 0 0 auto;
  width: auto;
}
.c-avatar--rev .c-avatar__image-container {
  padding-left: 6px;
  flex: 0 0 36px;
}

.c-profile-bio__content {
  font-family: var(--body-font);
  font-size: 18px;
  line-height: 28px;
}

.c-profile-bio__social-icons {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-profile-bio__social-icon {
  margin-right: 24px;
}
.c-profile-bio__social-icon:hover svg {
  fill: #1d1d1b;
}
.c-profile-bio__social-icon svg {
  height: 24px;
  fill: #4a4e57;
}

.c-profile-header {
  position: relative;
  background-image: url(/7d751ad7/28.7.0/images/css/public_profile_background_480x320.e8cdab9a..jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}
@media (min-width: 992px) {
  .c-profile-header {
    background-image: url(/7d751ad7/28.7.0/images/css/public_profile_background_1280x320.2136c4bc..jpg);
  }
}
@media (min-width: 480px) {
  .c-profile-header {
    display: flex;
  }
}
.c-profile-header::before {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.3);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
  z-index: -1;
}
@media (min-width: 992px) {
  .c-profile-header--rewards {
    height: 176px;
  }
}
.c-profile-header__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  max-width: var(--content-max-width, 1244px);
  margin: 0 auto;
  align-self: flex-end;
  color: #ffffff;
  padding: 16px;
}
@media (max-width: 480px) {
  .c-profile-header__view-button {
    width: inherit;
    text-align: center;
  }
}
.c-profile-header__avatar {
  flex: 1 1 100%;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-profile-header__avatar {
    flex: 1 1 auto;
    padding-bottom: 0;
  }
}
.c-profile-header__avatar .c-avatar__image {
  background: #ffffff;
}
.c-profile-header__action-button {
  flex: 1 1 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .c-profile-header__action-button {
    flex: 1 0 120px;
    text-align: right;
  }
}

.c-badges {
  padding: 16px;
}
.c-badges__all-badges {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  display: block;
  margin: auto;
}
.c-badges__content {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-bottom: 24px;
  width: 100%;
  max-width: 1244px;
  margin: 0 auto;
}

.c-badge {
  text-align: center;
  width: 118px;
  padding: 16px;
}
.c-badge__logo {
  width: 80px;
  margin-bottom: 8px;
}
.c-badge__title {
  font-family: var(--body-font);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
  color: #4a4e57;
}
.c-badge__subtext {
  font-family: var(--body-font);
  font-size: 12px;
  line-height: 20px;
  display: block;
  color: #4a4e57;
}
