@charset "UTF-8";
/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// GLOBAL /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ---------------------------------------------------------------------- VAR --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////// VAR /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* --------------------------------------------------------------------- ROOT --- */
/* -------------------------------------------------------------------- COLOR --- */
/* grey */
/* moss */
/* ruby */
/* snow */
/* -------------------------------------------------------------------- BREAK --- */
/* ------------------------------------------------------------------- METHOD --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// METHOD /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ---------------------------------------------------------------------- USE --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// FUNCTION /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ MM 2 PX --- */
/* -------------------------------------------------------------------- STRIP --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// MIXIN /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------- ANIMATION : KEYFRAME --- */
/* -------------------------------------------------------- BACKGROUND : FILL --- */
/* -------------------------------------------------------- POSITION : CENTER --- */
/* ---------------------------------------------------------- POSITION : FILL --- */
/* -------------------------------------------------------- VISUALLY : HIDDEN --- */
/* -------------------------------------------------------------------- RESET --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// RESET /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- WILDCARD --- */
*,
*:after,
*:before {
  box-sizing: border-box;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* ------------------------------------------------------------------ ELEMENT --- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
dialog {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* ----------------------------------------------------------------- DOCUMENT --- */
body {
  line-height: 1;
}

/* --------------------------------------------------------------------- LIST --- */
ol,
ul,
li {
  list-style: none;
}

/* -------------------------------------------------------------------- TABLE --- */
table {
  text-align: left;
  border-collapse: collapse;
  border-spacing: 0;
}

/* ------------------------------------------------------------------- DIALOG --- */
dialog {
  position: static;
  display: block;
  width: auto;
  height: auto;
  color: inherit;
  background: none;
}

/* --------------------------------------------------------------------- FORM --- */
input,
textarea,
button,
select {
  padding: 0;
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
}

textarea {
  vertical-align: top;
}

select {
  text-indent: 0.01px;
  text-overflow: "";
  border: 0;
  border-radius: 0;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 black;
}

select option {
  font-family: sans-serif;
}

/* -------------------------------------------------------------------- QUOTE --- */
q,
blockquote {
  quotes: none;
}

q::before,
q::after,
blockquote::before,
blockquote::after {
  content: "";
  content: none;
}

/* ---------------------------------------------------------------- SUP / SUB --- */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* --------------------------------------------------------------- CODE / PRE --- */
code,
pre {
  font-family: monospace;
  font-size: 1em;
}

/* --------------------------------------------------------------- TYPOGRAPHY --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////// TYPOGRAPHY /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- DOCUMENT --- */
html,
body {
  color: red;
  font-family: "source";
  font-weight: 400;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* -------------------------------------------------------------- FONT : SIZE --- */
/* -------------------------------------------------------------------- STYLE --- */
/* ------------------------------------------------------------------ HEADING --- */
h2 {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 28px;
}
@media (max-width: 800px) {
  h2 {
    font-size: 24px;
  }
}

h3 {
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 18px;
}
@media (max-width: 800px) {
  h3 {
    font-size: 15px;
  }
}

h4 {
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 15px;
}
@media (max-width: 800px) {
  h4 {
    font-size: 13px;
  }
}

h6 {
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  h6 {
    font-size: 10px;
  }
}

/* ---------------------------------------------------------------- PARAGRAPH --- */
p {
  line-height: 1.5;
}

p a {
  color: inherit;
  text-decoration: underline;
}

/* -------------------------------------------------------------------- STYLE --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// STYLE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------ STYLE : BLACK WHITE --- */
html.poster_style-black_white.outline_type-classic,
html.poster_style-black_white.outline_type-none {
  --style-activity: var(--style-black_white-default-activity);
  --style-elevation: var(--style-black_white-default-elevation);
  --style-overlay: var(--style-black_white-default-overlay);
  --style-text: var(--style-black_white-default-text);
}

html.poster_style-black_white.outline_type-circle,
html.poster_style-black_white.outline_type-square {
  --style-activity: var(--style-black_white-outline-activity);
  --style-elevation: var(--style-black_white-outline-elevation);
  --style-overlay: var(--style-black_white-outline-overlay);
  --style-text: var(--style-black_white-outline-text);
}

/* ------------------------------------------------------------- STYLE : BLUE --- */
html.poster_style-blue.outline_type-classic,
html.poster_style-blue.outline_type-none {
  --style-activity: var(--style-blue-default-activity);
  --style-elevation: var(--style-blue-default-elevation);
  --style-overlay: var(--style-blue-default-overlay);
  --style-text: var(--style-blue-default-text);
}

html.poster_style-blue.outline_type-circle,
html.poster_style-blue.outline_type-square {
  --style-activity: var(--style-blue-outline-activity);
  --style-elevation: var(--style-blue-outline-elevation);
  --style-overlay: var(--style-blue-outline-overlay);
  --style-text: var(--style-blue-outline-text);
}

/* -------------------------------------------------------- STYLE : GREY DARK --- */
html.poster_style-grey_dark.outline_type-classic,
html.poster_style-grey_dark.outline_type-none {
  --style-activity: var(--style-grey-dark-default-activity);
  --style-elevation: var(--style-grey-dark-default-elevation);
  --style-overlay: var(--style-grey-dark-default-overlay);
  --style-text: var(--style-grey-dark-default-text);
}

html.poster_style-grey_dark.outline_type-circle,
html.poster_style-grey_dark.outline_type-square {
  --style-activity: var(--style-grey-dark-outline-activity);
  --style-elevation: var(--style-grey-dark-outline-elevation);
  --style-overlay: var(--style-grey-dark-outline-overlay);
  --style-text: var(--style-grey-dark-outline-text);
}

/* ------------------------------------------------------- STYLE : GREY LIGHT --- */
html.poster_style-grey_light.outline_type-classic,
html.poster_style-grey_light.outline_type-none {
  --style-activity: var(--style-grey-light-default-activity);
  --style-elevation: var(--style-grey-light-default-elevation);
  --style-overlay: var(--style-grey-light-default-overlay);
  --style-text: var(--style-grey-light-default-text);
}

html.poster_style-grey_light.outline_type-circle,
html.poster_style-grey_light.outline_type-square {
  --style-activity: var(--style-grey-light-outline-activity);
  --style-elevation: var(--style-grey-light-outline-elevation);
  --style-overlay: var(--style-grey-light-outline-overlay);
  --style-text: var(--style-grey-light-outline-text);
}

/* ----------------------------------------------------------- STYLE : ORANGE --- */
html.poster_style-orange.outline_type-classic,
html.poster_style-orange.outline_type-none {
  --style-activity: var(--style-orange-default-activity);
  --style-elevation: var(--style-orange-default-elevation);
  --style-overlay: var(--style-orange-default-overlay);
  --style-text: var(--style-orange-default-text);
}

html.poster_style-orange.outline_type-circle,
html.poster_style-orange.outline_type-square {
  --style-activity: var(--style-orange-outline-activity);
  --style-elevation: var(--style-orange-outline-elevation);
  --style-overlay: var(--style-orange-outline-overlay);
  --style-text: var(--style-orange-outline-text);
}

/* ---------------------------------------------------------- STYLE : OUTDOOR --- */
html.poster_style-outdoor.outline_type-classic,
html.poster_style-outdoor.outline_type-none {
  --style-activity: var(--style-outdoor-default-activity);
  --style-elevation: var(--style-outdoor-default-elevation);
  --style-overlay: var(--style-outdoor-default-overlay);
  --style-text: var(--style-outdoor-default-text);
}

html.poster_style-outdoor.outline_type-circle,
html.poster_style-outdoor.outline_type-square {
  --style-activity: var(--style-outdoor-outline-activity);
  --style-elevation: var(--style-outdoor-outline-elevation);
  --style-overlay: var(--style-outdoor-outline-overlay);
  --style-text: var(--style-outdoor-outline-text);
}

/* ----------------------------------------------------------- STYLE : PASTEL --- */
html.poster_style-pastel.outline_type-classic,
html.poster_style-pastel.outline_type-none {
  --style-activity: var(--style-pastel-default-activity);
  --style-elevation: var(--style-pastel-default-elevation);
  --style-overlay: var(--style-pastel-default-overlay);
  --style-text: var(--style-pastel-default-text);
}

html.poster_style-pastel.outline_type-circle,
html.poster_style-pastel.outline_type-square {
  --style-activity: var(--style-pastel-outline-activity);
  --style-elevation: var(--style-pastel-outline-elevation);
  --style-overlay: var(--style-pastel-outline-overlay);
  --style-text: var(--style-pastel-outline-text);
}

/* ----------------------------------------------------------- STYLE : SPRING --- */
html.poster_style-spring.outline_type-classic,
html.poster_style-spring.outline_type-none {
  --style-activity: var(--style-spring-default-activity);
  --style-elevation: var(--style-spring-default-elevation);
  --style-overlay: var(--style-spring-default-overlay);
  --style-text: var(--style-spring-default-text);
}

html.poster_style-spring.outline_type-circle,
html.poster_style-spring.outline_type-square {
  --style-activity: var(--style-spring-outline-activity);
  --style-elevation: var(--style-spring-outline-elevation);
  --style-overlay: var(--style-spring-outline-overlay);
  --style-text: var(--style-spring-outline-text);
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////// APP /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ---------------------------------------------------------------- COMPONENT --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// ACTION /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------- ACTION --- */
.action {
  display: flex;
  flex-direction: row;
}

/* ------------------------------------------------------------------- BUTTON --- */
.action a.button {
  flex: 1;
}
@media (max-width: 800px) {
  .action a.button {
    border-radius: unset !important;
  }
}

@media (min-width: 801px) {
  .action a.button:not(:last-child) {
    margin-right: 24px;
  }
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// BUTTON /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------- BUTTON --- */
a.button {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
}

/* -------------------------------------------------------------------- LARGE --- */
a.button.large {
  height: 48px;
  padding: 0 24px;
  text-transform: uppercase;
  border-radius: 3px;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 18px;
}
@media (max-width: 800px) {
  a.button.large {
    font-size: 15px;
  }
}
@media (max-width: 800px) {
  a.button.large {
    height: 44px;
    border-radius: 50vw;
  }
}

/* ------------------------------------------------------------------- MEDIUM --- */
a.button.medium {
  height: 42px;
  padding: 0 16px;
  border-radius: 2px;
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 15px;
}
@media (max-width: 800px) {
  a.button.medium {
    font-size: 13px;
  }
}

/* -------------------------------------------------------------------- SMALL --- */
a.button.small {
  height: 38px;
  padding: 0 12px;
  border-radius: 50vw;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  a.button.small {
    font-size: 12px;
  }
}
@media (max-width: 800px) {
  a.button.small {
    height: 34px;
  }
}

/* ------------------------------------------------------------------ PRIMARY --- */
a.button.primary {
  color: white;
  background-color: #00b15d;
  transition: background-color 200ms;
  will-change: background-color;
}

@media (pointer: fine) {
  a.button.primary:hover {
    background-color: #24844e;
  }
}

/* ---------------------------------------------------------------- SECONDARY --- */
@media (min-width: 801px) {
  a.button.secondary {
    color: #00b15d;
    border: 1px solid;
    transition: color 200ms;
    will-change: color;
  }
}
@media (max-width: 800px) {
  a.button.secondary {
    color: white;
    background-color: #00b15d;
    transition: background-color 200ms;
    will-change: background-color;
  }
}

@media (pointer: fine) and (min-width: 801px) {
  a.button.secondary:hover {
    color: #24844e;
  }
}
@media (pointer: fine) and (max-width: 800px) {
  a.button.secondary:hover {
    background-color: #24844e;
  }
}

/* ----------------------------------------------------------------- TERTIARY --- */
a.button.tertiary {
  color: white;
  background-color: #484c4c;
}

/* ----------------------------------------------------------------- DISABLED --- */
a.button.disabled {
  filter: grayscale(100%);
  opacity: 0.5;
  pointer-events: none;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// EMOJI /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* --------------------------------------------------------------------- SPAN --- */
span.emoji {
  font-family: Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.075em;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// FIELD /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- FIELD --- */
/* ----------------------------------------------------------- FIELD : SEARCH --- */
.field.search {
  position: relative;
}

.field.search::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 18px;
  height: 18px;
  margin: -9px 16px 0;
  content: "";
  background-color: #383838;
  mask-image: url("../gfx/field/search/magnify.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.field.search input {
  width: 100%;
  height: 48px;
  padding: 0 50px 0 16px;
  color: #383838;
  border: 1px solid #979b9b;
  border-radius: 3px;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  .field.search input {
    font-size: 12px;
  }
}

.field.search input::placeholder {
  color: #979b9b;
}

html.search_active .field.search::after {
  mask-image: url("../gfx/field/search/loading.svg");
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-name: ux0ys7r;
}
@keyframes ux0ys7r {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* ------------------------------------------------------------- FIELD : TEXT --- */
.field.text:not(:last-child) {
  margin-bottom: 8px;
}

.field.text input {
  position: relative;
  width: 100%;
  height: 48px;
  padding: 0 16px;
  color: #383838;
  border: 2px solid #e4e4e4;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  .field.text input {
    font-size: 12px;
  }
}

.field.text input:focus {
  border-color: #484c4c;
}

.field.text input::placeholder {
  color: #979b9b;
}

/* ----------------------------------------------------------- FIELD : TOGGLE --- */
.field.toggle {
  display: flex;
  height: 20px;
  align-items: center;
  flex-direction: row;
}

.field.toggle input {
  position: fixed !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.field.toggle label {
  position: relative;
  padding-left: 32px;
  color: #383838;
  cursor: pointer;
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  .field.toggle label {
    font-size: 10px;
  }
}

.field.toggle label::before,
.field.toggle label::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  transform: translateY(-50%);
}

.field.toggle label::before {
  width: 20px;
  height: 20px;
  content: "";
  border: 1px solid #484c4c;
  border-radius: 3px;
}

.field.toggle input:checked + label::before {
  background-color: #00b15d;
  border-color: #24844e;
}

.field.toggle label::after {
  width: 12px;
  height: 12px;
  margin: 0 4px;
  background-color: white;
  mask-image: url("../gfx/field/toggle.svg");
  mask-position: center;
  mask-repeat: no-repeat;
}

.field.toggle input:checked + label::after {
  content: "";
}

/* --------------------------------------------------------------------- NOTE --- */
.field .note {
  position: relative;
  padding: 6px 6px 6px 2.75em;
  color: #383838;
  background-color: #e4e4e4;
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  .field .note {
    font-size: 9px;
  }
}

.field .note::before,
.field .note::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  content: "";
  transform: translateY(-50%);
}

.field .note::before {
  width: 1em;
  height: 1em;
  margin: 0 8px;
  background-color: white;
  border-radius: 50%;
}

.field .note::after {
  width: 1.4em;
  height: 1.4em;
  margin: 0 6px;
  background-color: #383838;
  mask-image: url("../gfx/field/note.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.field .note strong {
  font-weight: 700;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// GROUP /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- GROUP --- */
.group {
  width: 100%;
}

.group:not(:first-child) {
  padding-top: 20px;
  margin-top: 20px;
}

.group a.item {
  border: 2px solid #e4e4e4;
  border-radius: 3px;
  transition: border-color 100ms;
  will-change: border-color;
}

@media (pointer: fine) {
  .group a.item:hover {
    border-color: #979b9b;
  }
}

.group a.item.active {
  border-color: #00b15d;
}

/* ------------------------------------------------------------------ HEADING --- */
.group > h3 {
  margin-bottom: 0.75em;
  color: #383838;
  text-align: center;
  text-transform: uppercase;
}

/* ---------------------------------------------------------------- PARAGRAPH --- */
.group > p {
  display: flex;
  margin-top: 0.75em;
  align-items: center;
  flex-direction: column;
  color: #484c4c;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  .group > p {
    font-size: 10px;
  }
}

/* -------------------------------------------------------------------- BLOCK --- */
.group .block {
  display: flex;
  margin: 0 -6px -12px;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.group .block a.item {
  position: relative;
  display: block;
  max-width: calc(25% - 12px);
  margin: 0 6px 12px;
  flex: 1;
}

.group .block a.item::before {
  display: block;
  padding-top: 100%;
  content: "";
}

.group .block a.item > div {
  display: flex;
  padding: 6px 0;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.group .block h6 {
  color: #484c4c;
}

/* ------------------------------------------------------------------- INLINE --- */
.group .inline {
  display: flex;
  margin: 0 -3px -6px;
  flex-direction: row;
  flex-wrap: wrap;
}

.group .inline a.item {
  display: flex;
  height: 32px;
  padding: 0 8px;
  margin: 0 3px 6px;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  color: #484c4c;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  .group .inline a.item {
    font-size: 10px;
  }
}

/* ------------------------------------------------------------ GROUP : STYLE --- */
.group.style .scheme {
  display: flex;
  margin: 0 -6px -16px;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.group.style a.item {
  position: relative;
  display: flex;
  width: calc(25% - 12px);
  margin: 0 6px 16px;
  align-items: center;
  flex-direction: column;
  border: unset;
}

.group.style a.item .picture {
  width: 75%;
  margin-top: 2px;
  border: 2px solid white;
  border-radius: 50%;
}

.group.style a.item.active .picture {
  box-shadow: 0 0 0 2px #00b15d;
}

.group.style a.item.black_white .picture {
  background-image: url("../gfx/group/style/black_white.jpg");
}

.group.style a.item.grey_light .picture {
  background-image: url("../gfx/group/style/grey_light.jpg");
}

.group.style a.item.orange .picture {
  background-image: url("../gfx/group/style/orange.jpg");
}

.group.style a.item.grey_dark .picture {
  background-image: url("../gfx/group/style/grey_dark.jpg");
}

.group.style a.item.blue .picture {
  background-image: url("../gfx/group/style/blue.jpg");
}

.group.style a.item.outdoor .picture {
  background-image: url("../gfx/group/style/outdoor.jpg");
}

.group.style a.item.pastel .picture {
  background-image: url("../gfx/group/style/pastel.jpg");
}

.group.style a.item.spring .picture {
  background-image: url("../gfx/group/style/spring.jpg");
}

.group.style a.item .picture::before {
  display: block;
  padding-top: 100%;
  content: "";
}

.group.style a.item h6 {
  margin-top: 1.25em;
  margin-bottom: unset;
  color: #484c4c;
}

/* ------------------------------------------------------ GROUP : ORIENTATION --- */
.group.orientation {
  width: calc(50% - 6px);
  margin-right: 12px;
}

.group.orientation a.item {
  max-width: unset;
}

.group.orientation a.item::before {
  padding-top: 100%;
}

.group.orientation .icon {
  position: relative;
  width: 34px;
  height: 34px;
}

.group.orientation .icon::before {
  display: block;
  content: "";
  background-color: #e8e9e8;
  border: 1px solid #979b9b;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.group.orientation a.item.active .icon::before {
  background-color: #484c4c;
  border-color: #383838;
}

.group.orientation a.item.portrait .icon::before {
  width: 24px;
  height: 34px;
}

.group.orientation a.item.landscape .icon::before {
  width: 34px;
  height: 24px;
}

/* ------------------------------------------------------------- GROUP : SIZE --- */
.group.size {
  width: calc(50% - 6px);
}

.group.size a.item {
  max-width: unset;
}

.group.size a.item::before {
  padding-top: 100%;
}

.group.size a.item .metadata {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.group.size a.item .metadata span {
  color: #979b9b;
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  .group.size a.item .metadata span {
    font-size: 9px;
  }
}

.group.size a.item .metadata span:not(:last-child) {
  margin-bottom: 0.25em;
}

/* ---------------------------------------------------------- GROUP : OUTLINE --- */
.group.outline a.item::before {
  padding-top: 100%;
}

.group.outline a.item > div {
  flex-direction: column-reverse;
}

.group.outline .icon {
  position: relative;
  width: 24px;
  height: 34px;
  border: 1px solid #979b9b;
  border-radius: 3px;
}

.group.outline a.item.active .icon {
  border-color: #383838;
}

.group.outline .icon::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.group.outline a.item.classic .icon::before {
  width: 18px;
  height: 28px;
  background-color: #e8e9e8;
}

.group.outline a.item.circle .icon::before {
  background-color: #e8e9e8;
  border-radius: 50vw;
}

.group.outline a.item.square .icon::before {
  width: 18px;
  height: 18px;
  background-color: #e8e9e8;
}

.group.outline a.item.none .icon::before {
  width: 100%;
  height: 100%;
  background-color: #e8e9e8;
  border-radius: 2px;
}

html.paper_orientation-portrait .group.outline a.item.circle .icon::before {
  width: 18px;
  height: 18px;
}

html.paper_orientation-landscape .group.outline a.item.circle .icon::before {
  width: 16px;
  height: 24px;
}

html.paper_orientation-portrait .group.outline .icon {
  transform: rotate(0deg);
}

html.paper_orientation-landscape .group.outline .icon {
  transform: rotate(90deg);
}

/* ---------------------------------------------------------- GROUP : OVERLAY --- */
.group.overlay .block {
  justify-content: flex-start;
}

.group.overlay .block a.item {
  max-width: none;
}

.group.overlay .block a.item::before {
  padding-top: 62%;
}

.group.overlay a.item::before {
  padding-top: 100%;
}

.group.overlay a.item > div {
  flex-direction: column-reverse;
}

.group.overlay .icon {
  position: relative;
  width: 24px;
  height: 34px;
  border: 1px solid #979b9b;
  border-radius: 3px;
}

.group.overlay a.item.active .icon {
  border-color: #383838;
}

.group.overlay .icon::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.group.overlay a.item.radial .icon::before {
  background-image: radial-gradient(#f4f4f4 0, #d8d8d8 50%);
}

.group.overlay a.item.none .icon::before {
  background-color: #e8e9e8;
}

html.outline_type-classic .group.overlay .icon::before {
  width: 18px;
  height: 28px;
}

html.outline_type-circle .group.overlay .icon::before {
  width: 18px;
  height: 18px;
  border-radius: 50vw;
}

html.outline_type-square .group.overlay .icon::before {
  width: 18px;
  height: 18px;
}

html.outline_type-none .group.overlay .icon::before {
  width: 100%;
  height: 100%;
  border-radius: 2px;
}

html.paper_orientation-portrait .group.overlay .icon {
  transform: rotate(0deg);
}

html.paper_orientation-landscape .group.overlay .icon {
  transform: rotate(90deg);
}

html.paper_orientation-portrait .group.overlay a.item.linear .icon::before {
  background-image: linear-gradient(180deg, #d8d8d8, #f4f4f4, #d8d8d8);
}

html.paper_orientation-landscape .group.overlay a.item.linear .icon::before {
  background-image: linear-gradient(90deg, #d8d8d8, #f4f4f4, #d8d8d8);
}

/* ---------------------------------------------------------- GROUP : PLACES --- */
.group.places .inline {
  justify-content: center;
}

.group.places .inline a.item {
  width: 76px;
  height: 48px;
}

/* ------------------------------------------------------------- GROUP : TEXT --- */
/* ------------------------------------------------------------ GROUP : LABEL --- */
.group.label p {
  margin-bottom: 1.5em;
}

.group.label div.item.clone {
  display: none;
}

.group.label div.item:not(:last-of-type) {
  margin-bottom: 12px;
}

.group.label div.item:not(.active) .block {
  display: none;
}

.group.label div.item.active input {
  border-color: #383838;
}

@media (pointer: fine) {
  .group.label a.item.delete:hover {
    border-color: #e92f39;
  }
}

.group.label a.item::before {
  padding-top: 75%;
}

.group.label .icon {
  width: 32px;
  height: 12px;
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.group.label a.item.anchor_left .icon {
  mask-image: url("../gfx/group/label/anchor/left.svg");
}

.group.label a.item.anchor_bottom .icon {
  mask-image: url("../gfx/group/label/anchor/bottom.svg");
}

.group.label a.item.anchor_right .icon {
  mask-image: url("../gfx/group/label/anchor/right.svg");
}

.group.label a.item.delete .icon {
  height: 18px;
  mask-image: url("../gfx/group/label/delete.svg");
}

.group.label a.item.delete .icon + h6 {
  margin-top: -4px;
}

/* ----------------------------------------------------------- GROUP : WEIGHT --- */
.group.line_width a.item {
  position: relative;
  width: calc(20% - 12px);
}

.group.line_width a.item::after {
  display: block;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  content: "";
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.group.line_width a.item.width_1::after {
  mask-image: url("../gfx/group/line/width/1.svg");
}

.group.line_width a.item.width_2::after {
  mask-image: url("../gfx/group/line/width/2.svg");
}

.group.line_width a.item.width_3::after {
  mask-image: url("../gfx/group/line/width/3.svg");
}

.group.line_width a.item.width_4::after {
  mask-image: url("../gfx/group/line/width/4.svg");
}

.group.line_width a.item.width_5::after {
  mask-image: url("../gfx/group/line/width/5.svg");
}

/* ------------------------------------------------------ GROUP : FONT FAMILY --- */
.group.font_family a.item {
  width: calc(25% - 6px);
}

/* -------------------------------------------------------- GROUP : FONT SIZE --- */
.group.font_size a.item {
  width: calc(25% - 6px);
}

/* ------------------------------------------------ GROUP : ELEVATION PROFILE --- */
.group.elevation_enable .inline {
  justify-content: center;
}

.group.elevation_enable a.item {
  width: calc(25% - 6px);
}

/* ----------------------------------------------- GROUP : ELEVATION MULTIPLY --- */
.group.elevation_multiply:not(.display) {
  display: none;
}

.group.elevation_multiply .icon {
  display: flex;
  width: 64px;
  height: 24px;
  flex-direction: column;
}

.group.elevation_multiply .icon::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: auto;
  content: "";
  border-color: transparent transparent #e8e9e8 transparent;
  border-style: solid;
}

.group.elevation_multiply a.item.small .icon::before {
  border-width: 0 32px 8px 32px;
}

.group.elevation_multiply a.item.medium .icon::before {
  border-width: 0 32px 16px 32px;
}

.group.elevation_multiply a.item.large .icon::before {
  border-width: 0 32px 24px 32px;
}

/* ----------------------------------------------------- GROUP : POINT FINISH --- */
.group.point_finish .icon {
  width: 60px;
  height: 16px;
  margin-top: 16px;
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.group.point_finish a.item.positive .icon {
  mask-image: url("../gfx/group/point/finish/positive.svg");
}

.group.point_finish a.item.negative .icon {
  mask-image: url("../gfx/group/point/finish/negative.svg");
}

/* --------------------------------------------------- GROUP : POINT ACTIVITY --- */
.group.point_activity .icon {
  width: 60px;
  height: 16px;
  margin-top: 16px;
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.group.point_activity a.item.positive .icon {
  mask-image: url("../gfx/group/point/track/positive.svg");
}

.group.point_activity a.item.negative .icon {
  mask-image: url("../gfx/group/point/track/negative.svg");
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// LIST /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------------- LI --- */
li:not(:last-child) {
  margin-bottom: 1em;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// NOTE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- ASIDE --- */
aside.note {
  position: relative;
  padding: 18px 18px 14px;
  border-radius: 3px;
  background-color: #e4e4e4;
}

aside.note::before,
aside.note::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  border-radius: 50%;
}

aside.note::before {
  width: 18px;
  height: 18px;
  margin: 17px 21px;
  background-color: white;
}

aside.note::after {
  background-color: #383838;
  width: 24px;
  height: 24px;
  margin: 14px 18px;
  mask-image: url("../gfx/note.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* ------------------------------------------------------------------ HEADING --- */
aside.note h4 {
  color: #383838;
  padding-left: 38px;
  margin-bottom: 0.5em;
}

/* ---------------------------------------------------------------- PARAGRAPH --- */
aside.note p {
  color: #383838;
  padding-left: 38px;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  aside.note p {
    font-size: 10px;
  }
}

/* ------------------------------------------------------------------- BUTTON --- */
aside.note a.button {
  margin-top: 16px;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// PARTNER /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ PARTNER --- */
.partner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 0 24px;
  width: 100%;
}

/* ------------------------------------------------------------ ITEM : STRAVA --- */
.partner .item.strava {
  width: 174px;
  height: 17px;
  background-color: #999999;
  mask-image: url("../gfx/partner/strava.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// PICTURE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ PICTURE --- */
.picture {
  background-color: #f4f4f4;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// QUESTION /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- QUESTION --- */
/* ------------------------------------------------------------------ HEADING --- */
.question h3 {
  margin-bottom: 1em;
  color: #383838;
  text-align: center;
}

/* --------------------------------------------------------------------- ITEM --- */
.question .item {
  padding: 16px;
  border: 1px solid #e8e9e8;
  background-color: white;
}

.question .item:first-of-type {
  border-radius: 3px 3px 0 0;
}

.question .item:not(:last-child) {
  border-bottom-width: 0;
}

.question .item:last-of-type {
  border-radius: 0 0 3px 3px;
}

/* ---------------------------------------------------------------- PARAGRAPH --- */
.question p {
  color: #383838;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  .question p {
    font-size: 12px;
  }
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// TITLE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- TITLE --- */
.title {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  flex-direction: column;
}

/* ----------------------------------------------------------------- PREVIOUS --- */
.title a.previous {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 40px;
  height: 40px;
  background-color: #f4f4f4;
  border-radius: 50%;
  transform: translateY(-50%);
}

.title a.previous::after {
  display: block;
  width: 16px;
  height: 16px;
  content: "";
  background-color: #484c4c;
  mask-image: url("../gfx/previous.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ------------------------------------------------------------------ HEADING --- */
.title h2 {
  color: #383838;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// TRANSFER /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- TRANSFER --- */
.transfer {
  width: 100%;
}

/* --------------------------------------------------------------------- ITEM --- */
.transfer .item {
  padding: 24px 40px 16px;
  border: 1px solid #e8e9e8;
  background-color: white;
}
@media (max-width: 800px) {
  .transfer .item {
    padding: 24px 32px 16px;
  }
}

.transfer .item:not(:last-child) {
  border-bottom-width: 0;
}

.transfer .item a.button {
  width: 192px;
  color: white;
}

.transfer .item a.button::after {
  display: block;
  content: "";
  background-color: white;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.transfer .item h6 {
  margin-top: 0.75em;
  color: #484c4c;
}

/* ------------------------------------------------------------ ITEM : STRAVA --- */
.transfer .item.strava {
  border-radius: 3px 3px 0 0;
}

.transfer .item.strava > div {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.transfer .item.strava a.button {
  background-color: #fc4c01;
}

.transfer .item.strava a.button::after {
  width: 152px;
  height: 14px;
  mask-image: url("../gfx/button/strava.svg");
}

html:not(.strava_active) .transfer .item.strava .search {
  display: none;
}

html.strava_active .transfer .item.strava .connect {
  display: none;
}

html:not(.storage_supported) .transfer .item.strava {
  filter: grayscale(100%);
  opacity: 0.5;
  pointer-events: none;
}

/* ------------------------------------------------------------ ITEM : UPLOAD --- */
.transfer .item.upload {
  display: flex;
  align-items: center;
  flex-direction: column;
  border-radius: 0 0 3px 3px;
}

.transfer .item.upload a.button {
  position: relative;
}

.transfer .item.upload a.button::after {
  z-index: 1;
  width: 140px;
  height: 14px;
  margin-bottom: -2px;
  mask-image: url("../gfx/button/upload.svg");
}

.transfer .item.upload input {
  z-index: 2;
  cursor: pointer;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ------------------------------------------------------------------- LAYOUT --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// DOCUMENT /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ----------------------------------------------------------------- DOCUMENT --- */
html,
body {
  user-select: none;
}

html:not(.render_active),
html:not(.render_active) body {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  height: 100dvh;
}

/* --------------------------------------------------------------------- HTML --- */
html {
  background-color: #f4f4f4;
}

html.browser_load *,
html.browser_resize * {
  transition: none !important;
}

/* --------------------------------------------------------------------- BODY --- */
body {
  display: flex;
  flex-direction: row;
}
@media (max-width: 800px) {
  body {
    flex-direction: column-reverse;
  }
}

@media (max-width: 800px) {
  html.form_active body {
    flex-direction: column;
  }
}

/* ------------------------------------------------------------------- ANCHOR --- */
a {
  cursor: pointer;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// MAIN /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* --------------------------------------------------------------------- MAIN --- */
main {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
@media (min-width: 801px) {
  main {
    flex: 1;
  }
}
@media (max-width: 800px) {
  main {
    width: 100%;
    flex: 3 1 0%;
    min-height: 0;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------- MODULE --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// ALERT /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------- ASIDE --- */
aside.alert {
  z-index: 6;
  background-color: rgba(0, 0, 0, 0.25);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

aside.alert.clone {
  display: none;
}

/* ------------------------------------------------------------------ CONTENT --- */
aside.alert .content {
  display: flex;
  width: 480px;
  padding: 32px;
  align-items: center;
  flex-direction: column;
  background-color: white;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

aside.alert h3 {
  margin-bottom: 1em;
  color: #383838;
  text-transform: uppercase;
}

aside.alert p {
  padding: 0 1em;
  margin-bottom: 1.5em;
  color: #484c4c;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  aside.alert p {
    font-size: 12px;
  }
}

aside.alert a.close {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 18px;
  margin: 16px;
}

aside.alert a.close::before,
aside.alert a.close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

aside.alert a.close::before {
  z-index: 1;
  width: 18px;
  height: 18px;
  background-color: #383838;
  border-radius: 50%;
}

aside.alert a.close::after {
  z-index: 2;
  width: 8px;
  height: 8px;
  background-color: white;
  mask-image: url("../gfx/alert.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// COLOUR /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------- TRIGGER --- */
.group.style .colour-edit {
  display: block;
  margin-top: 16px;
  padding: 11px;
  color: #1f8f57;
  text-align: center;
  text-transform: uppercase;
  border: 2px solid #35bd7a;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

/* -------------------------------------------------------------------- DRAWER --- */
.colour-drawer {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background: #fff;
  flex-direction: column;
  z-index: 40;
}

section.step.design.colour_active .colour-drawer {
  display: flex;
}

@media (max-width: 800px) {
  .colour-drawer {
    position: static;
    height: auto;
    z-index: auto;
  }
  section.step.design.colour_active > header,
  section.step.design.colour_active > .content,
  section.step.design.colour_active > footer {
    display: none;
  }
  .colour-drawer .colour-body {
    overflow: visible;
    flex: 0 0 auto;
  }
  .colour-drawer .colour-foot {
    position: sticky;
    bottom: 0;
    background: #fff;
  }
}
/* ---------------------------------------------------------------------- HEAD --- */
/* matches aside.option header's own padding, so the drawer reads as a
   continuation of the main editor rather than a separate, differently-spaced
   surface. The title itself reuses the shared .title/.previous component —
   the same centred heading + grey circular back button as "Design Your Map" */
.colour-head {
  padding: 32px;
  border-bottom: 1px solid #eee;
  flex: 0 0 auto;
}
@media (max-width: 800px) {
  .colour-head {
    padding: 16px;
  }
}

/* ---------------------------------------------------------------------- BODY --- */
/* matches aside.option .content's own padding (see HEAD above) */
.colour-body {
  padding: 24px 32px;
  flex: 1 1 auto;
  overflow-y: auto;
}
@media (max-width: 800px) {
  .colour-body {
    padding: 24px 16px;
  }
}

.colour-body h3 {
  margin: 40px 0 10px;
  color: #383838;
  text-align: center;
  text-transform: uppercase;
}

/* the very first heading sits right against the body's own top padding —
   it doesn't need the same 40px gap a section-to-section transition does */
.colour-body > .colour-saved h3 {
  margin-top: 0;
}

.colour-body h4 {
  margin: 4px 0 8px;
  color: #8a8a84;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.colour-body > p {
  margin: -4px 0 14px;
  color: #8a8a84;
  font-size: 12px;
  line-height: 1.5;
}

/* -------------------------------------------------------------------- ROWS --- */
.colour-slider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
}

.colour-slider span {
  width: 80px;
  color: #55554f;
  font-size: 13px;
}

.colour-slider input[type=range] {
  flex: 1;
}

.colour-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}

.colour-row > span:first-child {
  color: #3a3a36;
  font-size: 14px;
  flex: 1;
}

.colour-row input[type=range] {
  width: 90px;
}

/* ------------------------------------------------------------------- INPUTS --- */
.colour-drawer input[type=range] {
  height: 4px;
  background: #e2e2df;
  border-radius: 2px;
  appearance: none;
  cursor: pointer;
}

.colour-drawer input[type=range]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  background: #3a3a36;
  border-radius: 50%;
  appearance: none;
  cursor: pointer;
}

.colour-drawer input[type=range]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #3a3a36;
  border: none;
  border-radius: 50%;
  cursor: pointer;
}

.colour-drawer input[type=color] {
  width: 34px;
  height: 28px;
  padding: 0;
  background: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  appearance: none;
  cursor: pointer;
}

.colour-drawer input[type=color]::-webkit-color-swatch-wrapper {
  padding: 2px;
}

.colour-drawer input[type=color]::-webkit-color-swatch {
  border: none;
  border-radius: 4px;
}

.colour-swatch {
  display: block;
  width: 34px;
  height: 28px;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
}

/* small per-pill "Reset" — sits just left of each colour swatch and restores
   only that colour to the preset default */
.colour-reset {
  color: #b0b0aa;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.02em;
  cursor: pointer;
  white-space: nowrap;
}

.colour-reset:hover {
  color: #55554f;
}

.colour-toggle {
  display: inline-flex;
  border: 1px solid #e2e2df;
  border-radius: 7px;
  overflow: hidden;
}

.colour-toggle a {
  padding: 5px 11px;
  color: #8a8a84;
  font-size: 12px;
  cursor: pointer;
}

.colour-toggle a.active {
  color: #1f8f57;
  background: #eaf6ef;
}

.colour-toggle a + a {
  border-left: 1px solid #e2e2df;
}

/* ---------------------------------------------------------------------- FOOT --- */
/* matches aside.option footer's own padding (see HEAD above) */
.colour-foot {
  padding: 24px 32px;
  border-top: 1px solid #eee;
  flex: 0 0 auto;
}
@media (max-width: 800px) {
  .colour-foot {
    padding: 0 16px 16px;
  }
}

@media (max-width: 800px) {
  .colour-foot .action {
    margin: 0 -16px -16px;
  }
}

/* -------------------------------------------------------------------- SAVED --- */
.colour-saved-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 10px;
}

.colour-saved-empty {
  margin: 4px 0 10px;
  color: #8a8a84;
  font-size: 12px;
}

.colour-saved-item {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e2e2df;
  border-radius: 7px;
  font-size: 12px;
  overflow: hidden;
}

.colour-saved-item a {
  padding: 5px 9px;
  color: #3a3a36;
  cursor: pointer;
}

.colour-saved-item a.del {
  padding: 5px 8px;
  color: #b0b0aa;
  border-left: 1px solid #e2e2df;
}

.colour-saved-add {
  display: inline-block;
  color: #1f8f57;
  font-size: 12px;
  cursor: pointer;
}

/* ------------------------------------------------------------------ POPOVER --- */
/* inline expansion — moved to sit directly after whichever row's swatch was
   clicked (see colour_popover_open), pushing the rows below it down. The
   native colour picker floats independently off to the side of the swatch
   (browser-controlled, outside our control) with plenty of its own room, so
   the two never compete for space */
.colour-popover {
  display: none;
  margin: -4px 0 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e2e2df;
  border-radius: 10px;
}

.colour-popover.active {
  display: block;
}

.colour-popover h4 {
  margin: 0 0 6px;
  color: #8a8a84;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.colour-popover-opacity:not(:first-child) {
  margin-top: 14px;
}

.colour-popover-opacity input[type=range] {
  width: 100%;
}

/* breathing room between the opacity slider and the recent-colours block when
   both are shown together */
.colour-popover-recent:not(:first-child) {
  margin-top: 18px;
}

.colour-popover-recent-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.colour-popover-recent-list a {
  display: block;
  width: 22px;
  height: 22px;
  border: 1px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// CONTROL /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.control {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
}

html.stage_review section.control {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------------------------------------------- PILL --- */
section.control a.pill {
  display: flex;
  height: 24px;
  padding: 0 16px;
  align-items: center;
  flex-direction: row;
  background-color: white;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.125);
  border: 1px solid #d8d8d8;
  border-radius: 50vw;
}

section.control a.pill::before {
  display: block;
  margin-right: 8px;
  content: "";
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: background-color 200ms;
  will-change: background-color;
}

@media (pointer: fine) {
  section.control a.pill:hover::before {
    background-color: #00b15d;
  }
}

section.control a.pill::after {
  display: block;
  color: #383838;
  text-transform: uppercase;
  transform: translateY(5%);
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  section.control a.pill::after {
    font-size: 9px;
  }
}

/* ------------------------------------------------------------------- CENTER --- */
section.control a.center::before {
  width: 12px;
  height: 12px;
  mask-image: url("../gfx/control/center.svg");
}

section.control a.center::after {
  content: "Center Map";
}

html.stage_review section.control a.center {
  display: none;
}

/* -------------------------------------------------------------------- SCALE --- */
section.control a.scale {
  pointer-events: all;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

section.control a.scale::before {
  width: 10px;
  height: 10px;
  mask-image: url("../gfx/control/scale/expand.svg");
}

section.control a.scale.active::before {
  mask-image: url("../gfx/control/scale/collapse.svg");
}

section.control a.scale::after {
  content: "Expand Preview";
}

section.control a.scale.active::after {
  content: "Collapse Preview";
}

html:not(.stage_review) section.control a.scale {
  display: none;
}

/* --------------------------------------------------------------------- ZOOM --- */
section.control .zoom {
  position: fixed;
  top: 0;
  right: 0;
  margin: 16px;
  background-color: white;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.125);
  border: 1px solid #d8d8d8;
  border-radius: 3px;
}

section.control .zoom a {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

section.control .zoom a:not(:last-child) {
  border-bottom: 1px solid #f4f4f4;
}

section.control .zoom a::before {
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #484c4c;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: background-color 200ms;
  will-change: background-color;
}

@media (pointer: fine) {
  section.control .zoom a:hover::before {
    background-color: #00b15d;
  }
}

section.control .zoom a.positive::before {
  mask-image: url("../gfx/control/zoom/positive.svg");
}

section.control .zoom a.negative::before {
  mask-image: url("../gfx/control/zoom/negative.svg");
}

html.stage_review section.control .zoom {
  display: none;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// CREDIT /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.credit {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  height: 32px;
  padding: 0 8px;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 800px) {
  section.credit {
    height: 24px;
  }
}

section.credit:empty {
  display: none;
}

html.stage_review section.credit {
  display: none;
}

/* ------------------------------------------------------------------- MAPBOX --- */
section.credit > div {
  all: unset;
  pointer-events: all;
}

section.credit .mapboxgl-ctrl-bottom-left {
  transform-origin: bottom left;
}

section.credit .mapboxgl-ctrl {
  margin: 0;
}

section.credit a.mapboxgl-ctrl-logo {
  width: 72px;
  height: auto;
  margin: 0;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 800px) {
  section.credit a.mapboxgl-ctrl-logo {
    width: 64px;
  }
}

section.credit a.mapboxgl-ctrl-logo::before {
  display: block;
  padding-top: 27.2727272727%;
  content: "";
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// GUIDE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- ASIDE --- */
aside.guide {
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  background-color: #f4f4f4;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

html:not(.stage_activity.step_intro) aside.guide {
  display: none;
}

/* -------------------------------------------------------------------- VIDEO --- */
aside.guide .video {
  position: relative;
  width: calc(100vw - 480px - 128px);
}

aside.guide .video::before {
  display: block;
  padding-top: 100%;
  content: "";
}

aside.guide .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// LAYER /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.layer {
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ------------------------------------------------------------------ BASEMAP --- */
section.layer iframe.basemap {
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* -------------------------------------------------------------- LAYER : MAP --- */
section.layer.map {
  pointer-events: all;
}

/* ---------------------------------------------------------- LAYER : OVERLAY --- */
section.layer.overlay::before {
  display: block;
  background-color: var(--style-overlay);
  mask-position: center;
  mask-size: auto, cover;
  mask-repeat: repeat, no-repeat;
}

html.overlay_type-radial section.layer.overlay::before {
  width: 175%;
  height: 175%;
  content: "";
  mask-image: url("../gfx/dither.png"), url("../gfx/layer/overlay/radial.svg");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

html.overlay_type-linear section.layer.overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

html.paper_orientation-portrait.overlay_type-linear section.layer.overlay::before {
  mask-image: url("../gfx/dither.png"), url("../gfx/layer/overlay/linear/portrait.svg");
}

html.paper_orientation-landscape.overlay_type-linear section.layer.overlay::before {
  mask-image: url("../gfx/dither.png"), url("../gfx/layer/overlay/linear/landscape.svg");
}

/* --------------------------------------------------------- LAYER : ACTIVITY --- */
section.layer.activity .point.clone {
  display: none;
}

/* ------------------------------------------------------------ LAYER : LABEL --- */
section.layer.label {
  pointer-events: none;
}

section.layer.label .marker.clone {
  display: none;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-classic section.layer.label {
  padding: 300px 85px 270px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-classic section.layer.label {
  padding: 280px 90px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-circle section.layer.label {
  padding: 340px 125px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-circle section.layer.label {
  padding: 265px 165px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-square section.layer.label {
  padding: 340px 125px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-square section.layer.label {
  padding: 265px 165px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-none section.layer.label {
  padding: 300px 90px 280px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-none section.layer.label {
  padding: 280px 90px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-classic section.layer.label {
  padding: 320px 125px 300px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-classic section.layer.label {
  padding: 300px 125px 250px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-circle section.layer.label {
  padding: 360px 145px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-circle section.layer.label {
  padding: 285px 180px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-square section.layer.label {
  padding: 360px 145px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-square section.layer.label {
  padding: 285px 180px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-none section.layer.label {
  padding: 320px 125px 300px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-none section.layer.label {
  padding: 300px 125px 250px;
}

/* ---------------------------------------------------------- LAYER : OUTLINE --- */
section.layer.outline::before {
  display: block;
  background-color: white;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

html:not(.outline_type-none) section.layer.outline {
  box-shadow: 0 0 0 1px white, inset 0 0 0 10px white;
}

html.outline_type-classic section.layer.outline::before {
  content: "";
}

html.paper_size-a2.paper_orientation-portrait.outline_type-classic section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/classic/a2_portrait.svg");
}

html.paper_size-a2.paper_orientation-landscape.outline_type-classic section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/classic/a2_landscape.svg");
}

html.paper_size-a3.paper_orientation-portrait.outline_type-classic section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/classic/a3_portrait.svg");
}

html.paper_size-a3.paper_orientation-landscape.outline_type-classic section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/classic/a3_landscape.svg");
}

html.outline_type-circle section.layer.outline::before {
  content: "";
}

html.paper_size-a2.paper_orientation-portrait.outline_type-circle section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/circle/a2_portrait.svg");
}

html.paper_size-a2.paper_orientation-landscape.outline_type-circle section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/circle/a2_landscape.svg");
}

html.paper_size-a3.paper_orientation-portrait.outline_type-circle section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/circle/a3_portrait.svg");
}

html.paper_size-a3.paper_orientation-landscape.outline_type-circle section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/circle/a3_landscape.svg");
}

html.outline_type-square section.layer.outline::before {
  content: "";
}

html.paper_size-a2.paper_orientation-portrait.outline_type-square section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/square/a2_portrait.svg");
}

html.paper_size-a2.paper_orientation-landscape.outline_type-square section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/square/a2_landscape.svg");
}

html.paper_size-a3.paper_orientation-portrait.outline_type-square section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/square/a3_portrait.svg");
}

html.paper_size-a3.paper_orientation-landscape.outline_type-square section.layer.outline::before {
  mask-image: url("../gfx/layer/outline/square/a3_landscape.svg");
}

/* -------------------------------------------------------- LAYER : ELEVATION --- */
section.layer.elevation {
  display: flex;
  align-items: flex-end;
  flex-direction: row;
}

section.layer.elevation canvas {
  min-width: 0;
  flex-basis: var(--flex-basis);
  image-rendering: crisp-edges;
}

section.layer.elevation canvas:not(:last-child) {
  margin-right: 1px;
}

html.paper_size-a2 section.layer.elevation {
  padding: 38px;
}

html.paper_size-a3 section.layer.elevation {
  padding: 54px;
}

html.elevation_multiply-small section.layer.elevation canvas {
  height: 56px !important;
}

html.elevation_multiply-medium section.layer.elevation canvas {
  height: 112px !important;
}

html.elevation_multiply-large section.layer.elevation canvas {
  height: 170px !important;
}

/* ------------------------------------------------------------- LAYER : TEXT --- */
section.layer.text {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  border: solid transparent;
}

section.layer.text div {
  color: var(--style-text);
  letter-spacing: 0.05;
  text-align: center;
}

section.layer.text div:empty {
  margin-bottom: unset;
}

section.layer.text .headline {
  margin-bottom: 0.375em;
  grid-row: 1;
  font-size: 1em;
  font-weight: 600;
}

section.layer.text .subtitle {
  grid-row: 2;
  font-size: 0.5em;
  font-weight: 400;
}

section.layer.text .footnote {
  margin-bottom: 0.5em;
  grid-row: 4;
  font-size: 0.5em;
  font-weight: 600;
}

section.layer.text .metadata {
  grid-row: 5;
  font-size: 0.4em;
  font-weight: 400;
}

html.font_family-circular section.layer.text {
  font-family: "circular";
}

html.font_family-circular section.layer.text .headline {
  font-weight: 900;
}

html.font_family-circular section.layer.text .subtitle {
  font-weight: 600;
}

html.font_family-effra section.layer.text {
  font-family: "effra";
}

html.font_family-literata section.layer.text {
  font-family: "literata";
}

html.font_family-montserrat section.layer.text {
  font-family: "montserrat";
}

html.font_family-playfair section.layer.text {
  font-family: "playfair";
}

html.font_family-redrose section.layer.text {
  font-family: "redrose";
}

html.font_family-roboto section.layer.text {
  font-family: "roboto";
}

html.font_family-source section.layer.text {
  font-family: "source";
}

html.font_size-small section.layer.text {
  border-width: 1em 0 0.5em;
}

html.font_size-medium section.layer.text {
  border-width: 0.5em 0 0.25em;
}

html.font_size-large section.layer.text {
  border-width: 0.25em 0 0.125em;
}

html.font_size-extra section.layer.text {
  border-width: 0;
}

html.paper_size-a2.font_size-small section.layer.text {
  font-size: 30px;
}

html.paper_size-a2.font_size-medium section.layer.text {
  font-size: 40px;
}

html.paper_size-a2.font_size-large section.layer.text {
  font-size: 50px;
}

html.paper_size-a2.font_size-extra section.layer.text {
  font-size: 60px;
}

html.paper_size-a3.font_size-small section.layer.text {
  font-size: 30px;
}

html.paper_size-a3.font_size-medium section.layer.text {
  font-size: 40px;
}

html.paper_size-a3.font_size-large section.layer.text {
  font-size: 50px;
}

html.paper_size-a3.font_size-extra section.layer.text {
  font-size: 60px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-classic section.layer.text {
  padding: 125px 0;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-classic section.layer.text {
  padding: 100px 0 125px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-circle section.layer.text {
  padding: 75px 0 140px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-circle section.layer.text {
  padding: 50px 0 115px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-square section.layer.text {
  padding: 75px 0 140px;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-square section.layer.text {
  padding: 50px 0 115px;
}

html.paper_size-a2.paper_orientation-portrait.outline_type-none section.layer.text {
  padding: 125px 0;
}

html.paper_size-a2.paper_orientation-landscape.outline_type-none section.layer.text {
  padding: 100px 0 125px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-classic section.layer.text {
  padding: 125px 0 160px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-classic section.layer.text {
  padding: 105px 0;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-circle section.layer.text {
  padding: 90px 0 160px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-circle section.layer.text {
  padding: 55px 0 125px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-square section.layer.text {
  padding: 90px 0 160px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-square section.layer.text {
  padding: 55px 0 125px;
}

html.paper_size-a3.paper_orientation-portrait.outline_type-none section.layer.text {
  padding: 125px 0 160px;
}

html.paper_size-a3.paper_orientation-landscape.outline_type-none section.layer.text {
  padding: 105px 0;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// LIST /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.list {
  width: 100%;
  border-top: 1px solid #e8e9e8;
  border-bottom: 1px solid #e8e9e8;
}

/* --------------------------------------------------------------------- ITEM --- */
section.list .item {
  position: relative;
  display: flex;
  padding: 16px;
  align-items: center;
  flex-direction: row;
  background-color: white;
}

section.list.position .item {
  padding: 16px 24px;
  cursor: grab;
}

section.list.position .item.ui-sortable-helper {
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.125);
  border: unset;
  border-radius: 3px;
  cursor: grabbing;
  opacity: 0.9;
}

section.list .item:not(:last-child) {
  border-bottom: 1px dashed #e8e9e8;
}

section.list.position .item::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4px;
  height: 16px;
  margin-left: 10px;
  content: "";
  background-color: #e4e4e4;
  mask-image: url("../gfx/list/position.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  transform: translateY(-50%);
  transition: background-color 200ms;
  will-change: background-color;
  cursor: grab;
}

section.list.position .item.ui-sortable-helper::before {
  background-color: #979b9b;
}

/* ------------------------------------------------------------------ PICTURE --- */
section.list .picture {
  width: 80px;
  margin-right: 24px;
  flex: 0 0 auto;
  border-radius: 3px;
}

section.list .picture::before {
  display: block;
  padding-top: 100%;
  content: "";
}

/* ------------------------------------------------------------------- DETAIL --- */
section.list .detail {
  min-width: 0;
  flex: 1;
}

section.list .detail h4 {
  margin-bottom: 0.5em;
  overflow-x: hidden;
  color: #383838;
  line-height: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

section.list .detail .metadata {
  display: flex;
  overflow: hidden;
  flex-direction: row;
  white-space: nowrap;
}

section.list .detail .metadata span {
  color: #979b9b;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  section.list .detail .metadata span {
    font-size: 10px;
  }
}

section.list .detail .metadata span:not(:first-child)::before {
  margin: 0 0.25em;
  content: "–";
}

section.list .detail .metadata .distance::after {
  content: "km";
}

/* ------------------------------------------------------------------- TOGGLE --- */
section.list a.toggle {
  display: flex;
  height: 36px;
  padding: 0 16px;
  margin-left: 24px;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  background-color: #e4e4e4;
  border-radius: 50vw;
}

section.list .item.failed a.toggle {
  opacity: 0.5;
  pointer-events: none;
}

section.list a.toggle::before {
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  content: "";
  background-color: #484c4c;
  mask-image: url("../gfx/list/insert.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

section.list .item.loading a.toggle::before {
  width: 14px;
  height: 14px;
  margin-right: 10px;
  mask-image: url("../gfx/list/loading.svg");
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-name: ux0ys8r;
}
@keyframes ux0ys8r {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

section.list .item.active a.toggle::before {
  mask-image: url("../gfx/list/delete.svg");
}

section.list .item.failed a.toggle::before {
  mask-image: url("../gfx/list/failed.svg");
}

section.list a.toggle::after {
  color: #484c4c;
  content: "Add";
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  section.list a.toggle::after {
    font-size: 10px;
  }
}

section.list .item.active a.toggle::after {
  content: "Remove";
}

section.list .item.loading a.toggle::after {
  content: "Loading";
}

section.list .item.failed a.toggle::after {
  content: "Failed";
}

/* ------------------------------------------------------------------- DELETE --- */
section.list a.delete {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 8px;
  background-color: #484c4c;
  mask-image: url("../gfx/list/delete.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  transform: translate(50%, 50%);
}

/* -------------------------------------------------------------- PLACEHOLDER --- */
.list.position .placeholder {
  position: relative;
  border-bottom: 1px dashed #e8e9e8;
}

.list.position .placeholder::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: 16px;
  content: "";
  background-color: #f4f4f4;
  border: 1px solid #e4e4e4;
  border-radius: 3px;
}

/* -------------------------------------------------------------------- CLONE --- */
section.list .item.clone {
  all: unset;
}

section.list .item.clone > * {
  display: none;
}

section.list .item.clone::before {
  content: unset;
}

section.list .item.clone::after {
  display: flex;
  width: 100%;
  height: 80px;
  margin: 16px 0;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  color: #979b9b;
  background-color: #f4f4f4;
  border-radius: 3px;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  section.list .item.clone::after {
    font-size: 10px;
  }
}

html.search_active section.list .item.clone::after {
  content: "Searching for activities...";
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// LOAD /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.load {
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #383838;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 200ms;
  will-change: transition;
  opacity: 1;
}

html.app_active section.load {
  opacity: 0;
  pointer-events: none;
}

html:not(.browser_supported) section.load {
  display: none;
}

/* ------------------------------------------------------------------ CONTENT --- */
section.load h1,
section.load p {
  display: block;
  width: 80%;
  max-width: 256px;
  color: white;
  text-align: center;
}

section.load p {
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  section.load p {
    font-size: 10px;
  }
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// NOTICE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- ASIDE --- */
aside.notice {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 5;
  margin: 24px;
}

/* --------------------------------------------------------------------- ITEM --- */
aside.notice .item {
  position: relative;
  width: 256px;
  padding: 12px 24px 8px 34px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.125);
  border-radius: 3px;
}

aside.notice .item:not(.hold) {
  animation-delay: 10000ms;
  animation-duration: 200ms;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-name: ux0ys97;
}
@keyframes ux0ys97 {
  to {
    opacity: 0;
  }
}

aside.notice .item:not(:last-child) {
  margin-bottom: 8px;
}

aside.notice .item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 14px;
  height: 14px;
  margin: 11px 12px;
  content: "";
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  border-radius: 50%;
}

aside.notice .item h6 {
  margin-bottom: 0.25em;
}

aside.notice .item p {
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  aside.notice .item p {
    font-size: 9px;
  }
}

aside.notice .item a.close {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 8px;
  height: 8px;
  margin: 8px;
  mask-image: url("../gfx/notice/close.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* -------------------------------------------------------------- ITEM : INFO --- */
aside.notice .item.type_info {
  background-color: white;
}

aside.notice .item.type_info::before {
  background-color: #383838;
  mask-image: url("../gfx/notice/type/info.svg");
}

aside.notice .item.type_info h6 {
  color: #484c4c;
}

aside.notice .item.type_info p {
  color: #979b9b;
}

aside.notice .item.type_info a.close {
  background-color: #383838;
}

/* ---------------------------------------------------------- ITEM : POSITIVE --- */
aside.notice .item.type_positive {
  background-color: #00b15d;
}

aside.notice .item.type_positive::before {
  background-color: white;
  mask-image: url("../gfx/notice/type/positive.svg");
}

aside.notice .item.type_positive h6,
aside.notice .item.type_positive p {
  color: white;
}

aside.notice .item.type_positive a.close {
  background-color: white;
}

/* ---------------------------------------------------------- ITEM : NEGATIVE --- */
aside.notice .item.type_negative {
  background-color: #e92f39;
}

aside.notice .item.type_negative::before {
  background-color: white;
  mask-image: url("../gfx/notice/type/negative.svg");
}

aside.notice .item.type_negative h6,
aside.notice .item.type_negative p {
  color: white;
}

aside.notice .item.type_negative a.close {
  background-color: white;
}

/* -------------------------------------------------------------------- CLONE --- */
aside.notice .item.clone {
  display: none;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// OPTION /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* -------------------------------------------------------------------- ASIDE --- */
aside.option {
  position: relative;
  z-index: 2;
  overflow: hidden;
  flex: 0 0 auto;
  background-color: white;
}
@media (min-width: 801px) {
  aside.option {
    width: 55%;
    height: 100%;
    max-width: 480px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.125);
  }
}
@media (max-width: 800px) {
  aside.option {
    width: 100%;
    flex: 2 1 0%;
    min-height: 0;
  }
}

/* ------------------------------------------------------------------- SCROLL --- */
aside.option .scroll {
  position: relative;
  z-index: 1;
  width: calc(100% + 32px);
  padding-right: 32px;
  overflow-y: auto;
}
@media (min-width: 801px) {
  aside.option .scroll {
    height: 100%;
  }
}

@media (max-width: 800px) {
  aside.option .scroll {
    height: 100%;
  }
}

/* ------------------------------------------------------------------- LAYOUT --- */
aside.option header,
aside.option footer {
  position: sticky;
  z-index: 2;
}

aside.option header::before,
aside.option footer::before {
  z-index: 2;
  display: block;
  content: "";
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

aside.option header::after,
aside.option footer::after {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 1;
  display: block;
  margin: -3px;
  content: "";
  opacity: var(--opacity, 0);
  pointer-events: none;
}

aside.option header > *,
aside.option footer > * {
  position: relative;
  z-index: 3;
}

/* ------------------------------------------------------------------- HEADER --- */
aside.option header {
  top: 0;
}
@media (max-width: 800px) {
  aside.option header {
    position: relative;
  }
}

aside.option header:not(:empty) {
  padding: 32px;
}
@media (max-width: 800px) {
  aside.option header:not(:empty) {
    padding: 16px;
  }
}

aside.option header::after {
  top: 100%;
  height: 16px;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.125), rgba(0, 0, 0, 0));
  filter: blur(3px);
}

@media (max-width: 800px) {
  html:not(.option_active) aside.option header {
    display: none;
  }
}

/* ------------------------------------------------------------------ CONTENT --- */
aside.option .content {
  display: flex;
  padding: 24px 32px;
  align-content: flex-start;
  flex: 1;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: white;
}
@media (max-width: 800px) {
  aside.option .content {
    padding: 24px 16px;
  }
}

@media (max-width: 800px) {
  html:not(.option_active) aside.option .content {
    display: none;
  }
}

/* ------------------------------------------------------------------- FOOTER --- */
aside.option footer {
  bottom: 0;
}

aside.option footer:not(:empty) {
  padding: 24px 32px;
}
@media (max-width: 800px) {
  aside.option footer:not(:empty) {
    padding: 16px;
  }
}

aside.option footer::after {
  bottom: 100%;
  height: 16px;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.125));
}

aside.option footer:not(:empty)::after {
  filter: blur(3px);
}

aside.option footer > *:not(:last-child) {
  margin-bottom: 16px;
}

@media (max-width: 800px) {
  aside.option footer .action {
    margin: 0 -16px -16px;
  }
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// POSTER /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.poster {
  background-color: white;
}

html:not(.render_active) section.poster {
  position: absolute;
  flex: 0 0 auto;
  box-shadow: 6px 12px 24px rgba(0, 0, 0, 0.125);
  transform-origin: center;
}

html:not(.render_active).scale_active section.poster {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(var(--poster-scale, 1));
}

html:not(.render_active).stage_review:not(.scale_active) section.poster {
  top: 0;
  left: 0;
  margin: 32px;
}

html:not(.render_active).stage_review:not(.scale_active) section.poster::before,
html:not(.render_active).stage_review:not(.scale_active) section.poster::after {
  position: absolute;
  display: block;
  width: 32px;
  height: 32px;
  margin: -32px;
  content: "";
}

html:not(.render_active).stage_review:not(.scale_active) section.poster::before {
  right: 0;
}

html:not(.render_active).stage_review:not(.scale_active) section.poster::after {
  bottom: 0;
}

html.paper_size-a2 section.poster {
  --paper-size-0: 1060px;
  --paper-size-1: 1500px;
}

html.paper_size-a3 section.poster {
  --paper-size-0: 1060px;
  --paper-size-1: 1500px;
}

html.paper_orientation-portrait section.poster {
  width: var(--paper-size-0);
  height: var(--paper-size-1);
}

html.paper_orientation-landscape section.poster {
  width: var(--paper-size-1);
  height: var(--paper-size-0);
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////// PREVIEW /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.preview {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  flex: 1;
  flex-direction: row;
}

html:not(.render_active) section.preview {
  padding: 32px 72px;
  align-items: center;
  justify-content: center;
}
@media (max-width: 800px) {
  html:not(.render_active) section.preview {
    padding: 16px 32px;
  }
}

html:not(.render_active).stage_review section.preview {
  padding-bottom: 96px;
}

html:not(.render_active).stage_review section.preview {
  overflow: scroll;
  cursor: grab;
}

html:not(.render_active).stage_review section.preview.active {
  cursor: grabbing;
}

html:not(.render_active).stage_review section.preview::-webkit-scrollbar {
  width: 0;
  height: 0;
}

html.stage_review section.preview * {
  pointer-events: none !important;
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////// SAVE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* --------------------------------------------------------------------- ASIDE --- */
aside.save-status {
  position: fixed;
  right: 24px;
  bottom: 24px;
  padding: 8px 16px;
  color: white;
  background-color: #383838;
  border-radius: 50vw;
  transition: opacity 200ms;
  will-change: opacity;
  opacity: 0;
  pointer-events: none;
  z-index: 41;
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  aside.save-status {
    font-size: 9px;
  }
}

aside.save-status.saving,
aside.save-status.saved,
aside.save-status.error {
  opacity: 1;
}

aside.save-status.saving::before {
  content: "Saving…";
}

aside.save-status.saved::before {
  content: "Saved";
}

aside.save-status.error {
  background-color: #e92f39;
}

aside.save-status.error::before {
  content: "Not saved — check your connection";
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// STAGE /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.stage:not(.display) {
  display: none;
}

section.stage.display {
  height: 100%;
}

/* --------------------------------------------------------- STAGE : ACTIVITY --- */
/* ----------------------------------------------------------- STAGE : DESIGN --- */
/* ----------------------------------------------------------- STAGE : REVIEW --- */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// STEP /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.step {
  display: flex;
  flex-direction: column;
}
@media (min-width: 801px) {
  section.step {
    min-height: 100%;
  }
}

section.step:not(.display) {
  display: none;
}

@media (max-width: 800px) {
  html.option_active section.step {
    min-height: 100%;
  }
}

/* ------------------------------------------------------------- STEP : INTRO --- */
section.step.intro .transfer {
  margin-bottom: 40px;
}

section.step.intro .question {
  margin-bottom: 32px;
}

/* ------------------------------------------------------------ STEP : STRAVA --- */
section.step.strava .field.search {
  width: 100%;
  margin-bottom: 16px;
}

section.step.strava section.list .item.clone:only-child::after {
  content: "No activities found";
}

/* --------------------------------------------------------- STEP : INVENTORY --- */
section.step.inventory .sort {
  display: flex;
  width: 100%;
  padding: 16px 40px;
  margin-top: -24px;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  border-top: 1px solid #e8e9e8;
}

section.step.inventory .sort .label,
section.step.inventory .sort .select {
  color: #383838;
  font-weight: 500;
  letter-spacing: 0.0375em;
  font-size: 15px;
}
@media (max-width: 800px) {
  section.step.inventory .sort .label,
  section.step.inventory .sort .select {
    font-size: 13px;
  }
}

section.step.inventory .sort .label::after {
  content: ":";
}

section.step.inventory .sort .select {
  position: relative;
  height: 40px;
  padding: 0 12px;
  margin-left: 12px;
  flex-grow: 1;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
}

section.step.inventory .sort .select::after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  margin: 0 12px;
  content: "⏷";
  transform: translateY(-50%);
  pointer-events: none;
}

section.step.inventory .sort select {
  width: 100%;
  height: 100%;
  line-height: 1.25;
}

section.step.inventory section.list {
  margin-bottom: 40px;
}

section.step.inventory section.list .item.clone:only-child::after {
  content: "Nothing imported";
}

/* ------------------------------------------------------------ STEP : DESIGN --- */
section.step.design header {
  display: flex;
  align-items: center;
  flex-direction: column;
}

section.step.design header .title + a {
  display: block;
  margin-top: 1em;
  color: #383838;
  text-decoration: underline;
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 12px;
}
@media (max-width: 800px) {
  section.step.design header .title + a {
    font-size: 10px;
  }
}

section.step.design .prompt {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 6px 12px;
  color: white;
  text-transform: uppercase;
  background-color: #383838;
  border-radius: 50vw;
  transform: translate(-50%, calc((100% + 6px) * -1));
  transition: opacity 200ms;
  will-change: opacity;
  opacity: 0;
  pointer-events: none;
  font-weight: 400;
  font-size: 10px;
}
@media (max-width: 800px) {
  section.step.design .prompt {
    font-size: 9px;
  }
}

section.step.design .prompt.display {
  animation-delay: 15000ms;
  animation-duration: 500ms;
  animation-fill-mode: forwards;
  animation-name: ux0ys9n;
}
@keyframes ux0ys9n {
  to {
    opacity: 1;
  }
}

section.step.design .prompt::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  content: "";
  border: solid transparent;
  border-top-color: #383838;
  border-width: 6px;
  transform: translateX(-50%);
  pointer-events: none;
}

section.step.design .order {
  display: flex;
  justify-content: center;
  flex-direction: row;
}

section.step.design .order span {
  font-weight: 400;
  letter-spacing: 0.0375em;
  font-size: 14px;
}
@media (max-width: 800px) {
  section.step.design .order span {
    font-size: 12px;
  }
}

section.step.design .order span.size,
section.step.design .order span.shipping {
  color: #979b9b;
}

section.step.design .order span.shipping {
  text-transform: uppercase;
}

section.step.design .order span.price {
  color: #383838;
}

section.step.design .order span.price::before {
  content: "£";
}

section.step.design .order span:not(:last-child) {
  margin-right: 0.375em;
}

@media (min-width: 801px) {
  section.step.design a.button.editor {
    display: none;
  }
}

section.step.design a.button.editor::after {
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 0.5em;
  content: "";
  background-color: white;
  mask-image: url("../gfx/button/toggle.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: transform 200ms;
  will-change: transform;
}

section.step.design a.button.editor.active::after {
  transform: rotate(180deg);
}

@media (max-width: 800px) {
  section.step.design footer:not(:empty) {
    padding-top: 0;
  }
}
html.paper_size-a2.paper_orientation-portrait section.step.design .order span.size::before {
  content: "A2 (42 x 59.4 cm)";
}

html.paper_size-a2.paper_orientation-landscape section.step.design .order span.size::before {
  content: "A2 (59.4 x 42 cm)";
}

html.paper_size-a3.paper_orientation-portrait section.step.design .order span.size::before {
  content: "A3 (29.7 x 42 cm)";
}

html.paper_size-a3.paper_orientation-landscape section.step.design .order span.size::before {
  content: "A3 (42 x 29.71 cm)";
}

/* ------------------------------------------------------------ STEP : REVIEW --- */
section.step.review .content > *:not(:last-child) {
  margin-bottom: 40px;
}

section.step.review h4,
section.step.review li,
section.step.review p {
  color: #383838;
}

section.step.review h4 {
  margin-bottom: 0.375em;
}

@media (min-width: 801px) {
  section.step.review .field.toggle {
    margin-bottom: 32px;
  }
}

/* ////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////// UNSUPPORTED /// */
/* ////////////////////////////////////////////////////////////////////////////// */
/* ------------------------------------------------------------------ SECTION --- */
section.unsupported {
  z-index: 4;
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

section.unsupported > div {
  display: flex;
  height: 100%;
  padding: 24px 18px;
  overflow: auto;
  flex-direction: column;
}

html.browser_supported section.unsupported {
  display: none;
}

/* ------------------------------------------------------------------ HEADING --- */
section.unsupported h1 {
  position: relative;
  padding-left: 38px;
  margin-bottom: 24px;
  color: #383838;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 28px;
}
@media (max-width: 800px) {
  section.unsupported h1 {
    font-size: 24px;
  }
}

section.unsupported h1::before,
section.unsupported h1::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  border-radius: 50%;
}

section.unsupported h1::before {
  width: 18px;
  height: 18px;
  margin: 5px 0;
  background-color: white;
}

section.unsupported h1::after {
  width: 24px;
  height: 24px;
  margin: 2px 0;
  background-color: #e92f39;
  mask-image: url("../gfx/unsupported.svg");
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

/* --------------------------------------------------------------------- AREA --- */
section.unsupported .area {
  position: relative;
  padding: 16px 0 24px;
  background-color: #f4f4f4;
}
section.unsupported .area::before {
  all: unset;
  position: absolute;
  top: 0;
  left: 0;
  z-index: unset;
  display: block;
  width: 100vw;
  height: 100%;
  margin-left: calc((50vw - 50%) * -1);
  content: "";
  background: inherit;
}
section.unsupported .area > * {
  position: relative;
  z-index: unset;
}

section.unsupported .area p {
  margin-bottom: 24px;
  color: #484c4c;
}

section.unsupported .area a.button {
  color: white;
  background-color: #383838;
}

section.unsupported .area a.button:not(:last-child) {
  margin-bottom: 16px;
}

section.unsupported .area a.copy::before {
  content: "Copy URL";
}

section.unsupported .area a.copy.active::before {
  content: "URL copied!";
}

/* ------------------------------------------------------------------ EXAMPLE --- */
section.unsupported .example {
  display: flex;
  padding: 24px 0 0;
  flex-direction: column;
}

section.unsupported .example h3 {
  margin-bottom: 16px;
  color: #383838;
  line-height: 1.2;
}

section.unsupported .example img {
  display: block;
}

section.unsupported .example img:not(:last-child) {
  margin-bottom: 16px;
}

/*# sourceMappingURL=app.css.map */
