:root {
  --MPS-blue: #012FC4;
  --MPS-blue-light: #4767D1;
  --MPS-green: #00B397;
  --MPS-green-light: #00D9B9;
  --MPS-green-dark: #00917A;
  --MPS-red: #B32027;
  --MPS-red-light: #E84C52;
  --MPS-red-dark: #870005;
  --grey-00: #211D1D;
  --grey-01: #272323;
  --grey-02: #332F2F;
  --grey-03: #3B3737;
  --grey-04: #524B4B;
  --grey-05: #8A7E7E;
  --grey-06: #A69E9E;
  --grey-07: #D9DFE4;
  --grey-08: #ECF0F3;
  --black: #0F0D0D;
  --white: #FFFFFF;
  --green: #2ecc5f;
  --green-dark: #27ae4a;
  --blue: #3498DB;
  --blue-dark: #2980B9;
  --yellow: #F1C40F;
  --yellow-dark: #F39C12;
  --orange: #E67E22;
  --orange-dark: #D35400;
  --red: #E74C3C;
  --red-dark: #C0392B;
  --purple: #9B59B6;
  --purple-dark: #8E44AD;
  --ui-screen-color-01: #454887;
  --ui-screen-color-02: #513EFF;
  --ui-screen-color-03: #3f89e4;
  --ui-screen-color-04: #3A77B1;
  --ui-screen-color-05: #2E99B0;
  --ui-screen-color-06: #02ADAD;
  --ui-screen-color-07: #3E9493;
  --ui-screen-color-08: #007580;
  --ui-screen-color-09: #017952;
  --ui-screen-color-10: #32a254;
  --ui-screen-color-11: #366b2c;
  --ui-screen-color-12: #749800;
  --ui-program-color-01: #fca701;
  --ui-program-color-02: #ec7517;
  --ui-program-color-03: #e64f0f;
  --ui-program-color-04: #D83A56;
  --ui-program-color-05: #C30141;
  --ui-program-color-06: #FF449F;
  --ui-program-color-07: #F21170;
  --ui-program-color-08: #7a1f50;
  --ui-program-color-09: #A20282;
  --ui-program-color-10: #AA13BD;
  --ui-program-color-11: #8517d3;
  --ui-program-color-12: #7E20FF;
  --screen-color: var(--purple);
  --program-color: var(--blue-dark);
  --module-color: var(--grey-06);
  --pick-color: var(--grey-06);
  --wave-timeout: 600ms;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mz9JQVG.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7myjJQVG.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7myRJQVG.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mx9IgVG.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mxEIgVG.ttf) format('truetype');
}
@keyframes color-heartbeat {
  0%,
  100% {
    color: var(--grey-06);
  }
  50% {
    color: var(--blue);
  }
}
@keyframes bg-heartbeat {
  0%,
  100% {
    background: var(--grey-06);
  }
  50% {
    background: var(--blue);
  }
}
@keyframes border-heartbeat {
  0%,
  100% {
    border-color: var(--grey-06);
  }
  50% {
    border-color: var(--blue);
  }
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
html,
body {
  border: 0;
  font-family: "Helvetica-Neue", "Helvetica", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
div,
span,
object,
iframe,
img,
table,
caption,
thead,
tbody,
tfoot,
tr,
tr,
td,
article,
aside,
canvas,
details,
figure,
hgroup,
menu,
nav,
footer,
header,
section,
summary,
mark,
audio,
video {
  border: 0;
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cit,
code,
del,
dfn,
em,
ins,
q,
samp,
small,
strong,
sub,
sup,
b,
i,
hr,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
legend,
label {
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}
article,
aside,
canvas,
figure,
figure img,
figcaption,
hgroup,
footer,
header,
nav,
section,
audio,
video {
  display: block;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
table caption,
table th,
table td {
  text-align: left;
  vertical-align: middle;
}
a img {
  border: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 10px 0;
}
h1 {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 500;
  color: var(--grey-00);
}
h2 {
  font-size: 22px;
  font-weight: 500;
}
h3 {
  font-size: 18px;
  font-weight: 500;
}
h4 {
  font-size: 18px;
  font-weight: 400;
}
h5 {
  font-size: 18px;
  font-weight: 400;
}
h6 {
  font-size: 18px;
  font-weight: 400;
  font-style: italic;
}
p {
  line-height: 1.2;
}
p a {
  text-decoration: underline;
  font-weight: 600;
  color: var(--program-color);
}
a {
  display: inline-block;
  text-decoration: none;
  color: var(--black);
}
ul {
  list-style: none;
}
ul li {
  position: relative;
  display: block;
  padding-left: 15px;
  line-height: 1.2;
}
ul li::before {
  content: "\f105";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
}
ul li + li {
  margin-top: 10px;
}
strong {
  font-weight: 500;
  color: var(--black);
}
em {
  font-style: normal;
  font-weight: 600;
  color: var(--program-color);
}
button {
  border: none;
}
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea {
  display: block;
  width: 100%;
  padding: 10px 20px;
  font-family: Jost, Arial, sans-serif;
  font-size: 18px;
  color: var(--grey-03);
  background: var(--grey-08);
  border: 2px solid var(--white);
  border-radius: 12px;
  outline-style: none !important;
  resize: vertical;
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff;
  transition: background .1s;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus {
  color: var(--grey-00) !important;
  background: var(--white);
}
input[type="text"]:disabled,
input[type="password"]:disabled,
input[type="number"]:disabled,
input[type="date"]:disabled,
textarea:disabled {
  background: var(--grey-07);
  border-color: var(--grey-06);
  box-shadow: none;
  opacity: 0.5;
  cursor: default;
}
input[type="text"].flat,
input[type="password"].flat,
input[type="number"].flat,
input[type="date"].flat,
textarea.flat {
  background: none;
  box-shadow: none;
  border-color: var(--program-color);
}
section {
  position: relative;
  z-index: 1;
  margin: -2px 0;
}
section > .content {
  padding: 20px;
}
.wrapper {
  display: none;
}
.wrapper.opened {
  display: block;
  height: auto;
}
.wave {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  transform-origin: center;
  width: 100%;
  height: 100%;
  border-radius: 200px;
}
@keyframes anim-wave-simple {
  0% {
    opacity: 1;
    transform: scale(0);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes anim-wave-double {
  0% {
    opacity: 1;
    transform: scale(0);
  }
  40% {
    opacity: 0;
    transform: scale(1.6);
  }
  41% {
    opacity: 1;
    transform: scale(0);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
.wave.success {
  transform: scale(0);
  background: var(--green);
  opacity: 0;
  animation: anim-wave-simple 1s ease-out 1;
  animation-duration: var(--wave-timeout);
}
.wave.error {
  transform: scale(0);
  background: var(--red);
  opacity: 0;
  animation: anim-wave-simple 1s ease-out 1;
  animation-duration: var(--wave-timeout);
}
.wave.touch {
  transform: scale(0);
  background: var(--module-color);
  opacity: 0;
  animation: anim-wave-simple 0.8s ease 1;
  animation-duration: var(--wave-timeout);
}
.header,
.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}
.header > .title,
.footer > .title,
.header > .text,
.footer > .text {
  padding: 0 10px;
  flex: 100%;
}
.header > .title,
.footer > .title {
  font-size: 18px;
}
.header .btn,
.footer .btn {
  margin-top: 0;
  margin-bottom: 0;
}
.header > .tools,
.footer > .tools {
  display: flex;
}
.header > .tools .btn,
.footer > .tools .btn {
  flex-shrink: 0;
  flex-grow: 0;
}
.header.xs,
.footer.xs {
  flex: 0 0 40px;
  height: 40px;
}
.header.xs .title,
.footer.xs .title {
  font-size: 16px;
}
.header.xs .btn,
.footer.xs .btn {
  flex: 0 0 26px;
  height: 30px;
}
.header.xs .btn i,
.footer.xs .btn i {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  font-size: 14px;
}
.btns {
  display: flex;
}
.btn {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 50px;
  margin: 20px;
  padding: 0;
  text-decoration: none;
  color: var(--grey-04);
  background: var(--grey-08);
  border: none;
  border-radius: 12px;
  transition: background .1s, color .1s;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.btn::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 12px;
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff;
  opacity: 1;
  transition: opacity .05s;
}
.btn::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 12px;
  box-shadow: 3px 3px 5px #d1d9e6 inset, -3px -3px 5px #ffffff inset;
  opacity: 0;
  transition: opacity .05s;
}
.btn.active,
.btn:active {
  color: var(--blue-dark);
  color: var(--program-color) !important;
}
.btn.active::before,
.btn:active::before {
  opacity: 0;
}
.btn.active::after,
.btn:active::after {
  opacity: 1;
  transition: opacity .1s linear .05s;
}
.btn > i {
  flex: 0 0 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0;
  font-size: 26px;
}
.btn > span {
  padding: 0 15px 0 0;
}
.btn > span:first-child {
  padding: 0 0 0 15px;
}
.btn > span:first-child:last-child {
  padding: 0 15px;
}
.btn span {
  flex: 100%;
  display: block;
  white-space: nowrap;
  font-size: 16px;
  text-transform: uppercase;
  font-family: Jost, Arial, sans-serif;
  font-weight: 500;
}
.btn.xs {
  height: 36px;
}
.btn.xs i {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  font-size: 14px;
}
.btn.xs > span {
  font-size: 13px;
}
.btn.overlay {
  box-shadow: 6px 6px 16px rgba(33, 29, 29, 0.4);
}
.btn.overlay::before,
.btn.overlay::after {
  display: none;
}
.btn.round,
.filters-overlay .btn {
  border-radius: 60px;
}
.btn.round::before,
.btn.round::after {
  border-radius: 60px;
}
.btn.round i:first-child:not(:last-child) {
  margin-left: 5px;
}
.btn.full-width {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.btn.float {
  position: fixed;
  z-index: 99;
  bottom: 110px;
  margin: 0;
}
.btn.float.right {
  right: 15px;
}
.btn.float.left {
  left: 15px;
}
.btn.float i {
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
}
.btn.border,
.filters-overlay .btn {
  border: 2px solid;
  background: none !important;
}
.btn.border::before,
.btn.border::after {
  display: none;
}
.btn.border.green {
  border-color: var(--green-dark);
}
.btn.border.green:hover {
  border-color: var(--green);
}
.btn.border.green:active {
  border-color: var(--green-dark);
}
.btn.border.red {
  border-color: var(--red-dark);
}
.btn.border.red:hover {
  border-color: var(--red);
}
.btn.border.red:active {
  border-color: var(--red-dark);
}
.btn.border.orange {
  border-color: var(--orange-dark);
}
.btn.border.orange:hover {
  border-color: var(--orange);
}
.btn.border.orange:active {
  border-color: var(--orange-dark);
}
.btn.border.yellow {
  border-color: var(--yellow-dark);
}
.btn.border.yellow:hover {
  border-color: var(--yellow);
}
.btn.border.yellow:active {
  border-color: var(--yellow-dark);
}
.btn.border.blue {
  border-color: var(--blue-dark);
  color: var(--program-color);
}
.btn.border.blue:hover {
  border-color: var(--blue);
  color: var(--program-color);
}
.btn.border.blue:active {
  border-color: var(--blue-dark);
  color: var(--program-color);
}
.btn.border.purple {
  border-color: var(--purple-dark);
}
.btn.border.purple:hover {
  border-color: var(--purple);
}
.btn.border.purple:active {
  border-color: var(--purple-dark);
}
.btn.fill {
  color: var(--white) !important;
  background: var(--grey-03);
}
.btn.fill::after {
  display: none;
}
.btn.fill:hover {
  background: var(--grey-04);
}
.btn.fill:active {
  background: var(--grey-03);
}
.btn.fill.green {
  color: var(--white) !important;
  background: var(--green-dark) !important;
}
.btn.fill.green:hover {
  background: var(--green) !important;
}
.btn.fill.green:active {
  background: var(--green-dark) !important;
}
.btn.fill.red {
  color: var(--white) !important;
  background: var(--red-dark) !important;
}
.btn.fill.red:hover {
  background: var(--red) !important;
}
.btn.fill.red:active {
  background: var(--red-dark) !important;
}
.btn.fill.orange {
  color: var(--white) !important;
  background: var(--orange-dark) !important;
}
.btn.fill.orange:hover {
  background: var(--orange) !important;
}
.btn.fill.orange:active {
  background: var(--orange-dark) !important;
}
.btn.fill.yellow {
  color: var(--white) !important;
  background: var(--yellow-dark) !important;
}
.btn.fill.yellow:hover {
  background: var(--yellow) !important;
}
.btn.fill.yellow:active {
  background: var(--yellow-dark) !important;
}
.btn.fill.blue {
  color: var(--white) !important;
  background: var(--blue-dark) !important;
}
.btn.fill.blue:hover {
  background: var(--blue) !important;
}
.btn.fill.blue:active {
  background: var(--blue-dark) !important;
}
.btn.fill.purple {
  color: var(--white) !important;
  background: var(--purple-dark) !important;
}
.btn.fill.purple:hover {
  background: var(--purple) !important;
}
.btn.fill.purple:active {
  background: var(--purple-dark) !important;
}
.btn.no-shadow {
  box-shadow: none !important;
}
.btn.no-shadow::before,
.btn.no-shadow::after {
  box-shadow: none !important;
}
.blocks {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 20px 10px;
}
.blocks:empty {
  padding: 0;
}
.block {
  display: flex;
  gap: 5px;
  padding: 5px;
  background: var(--grey-08);
  border-radius: 12px;
  box-shadow: 4px 4px 6px #d1d9e6, -4px -4px 6px #ffffff;
}
.block .order {
  flex-direction: column;
  overflow: hidden;
  flex: 0 0 36px;
  display: flex;
  gap: 5px;
}
.block .order .btn {
  border-radius: 8px;
}
.block .content {
  display: flex;
  flex-direction: column;
  flex: 100%;
  background: var(--white);
  border-radius: 8px;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.block .content .header {
  display: flex;
  align-items: center;
  gap: 5;
  height: auto;
  flex: 100%;
  padding: 5px 0 0;
  border-bottom: 1px solid var(--grey-07);
}
.block .content .header > i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  text-align: center;
  font-size: 22px;
  color: var(--program-color);
}
.block .content .header .text {
  margin: 0;
  padding: 0;
}
.block .content .header .block-type {
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--grey-06);
}
.block .content .header .title {
  width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 600;
}
.block .content .counter {
  display: flex;
  align-items: stretch;
  flex: 0 0 26px;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.block .content .counter i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  font-size: 14px;
}
.block .content .counter span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 10px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  border-right: 1px solid var(--grey-07);
}
.block:first-child .order .btn.up {
  pointer-events: none;
  opacity: 0.4;
  color: var(--grey-06) !important;
}
.block:last-child .order .btn.down {
  pointer-events: none;
  opacity: 0.4;
  color: var(--grey-06) !important;
}
.block.highlight {
  background: var(--program-color) !important;
}
.card {
  margin: 10px;
  border-radius: 12px;
  background: var(--white);
  border: 2px solid var(--white);
}
.card > .content {
  padding: 15px;
}
.card > .content > :first-child {
  margin-top: 0;
}
.card > .content > p {
  margin: 0;
}
.card.highlight {
  color: var(--white);
  background: var(--grey-04);
  border-color: var(--grey-06);
}
.card.green {
  border-color: var(--green);
}
.card.blue {
  border-color: var(--blue);
}
.card.red {
  border-color: var(--red);
}
.card.orange {
  border-color: var(--orange);
}
.card.yellow {
  border-color: var(--yellow);
}
.card.purple {
  border-color: var(--purple);
}
.card.fill {
  border-color: rgba(0, 0, 0, 0.2);
}
.card.fill.green {
  color: var(--white) !important;
  background: var(--green-dark);
}
.card.fill.blue {
  color: var(--white) !important;
  background: var(--blue-dark);
}
.card.fill.red {
  color: var(--white) !important;
  background: var(--red-dark);
}
.card.fill.orange {
  color: var(--white) !important;
  background: var(--orange-dark);
}
.card.fill.yellow {
  color: var(--white) !important;
  background: var(--yellow-dark);
}
.card.fill.purple {
  color: var(--white) !important;
  background: var(--purple-dark);
}
.icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  margin: 10px;
  background: var(--white);
  border-radius: 50px;
}
.icon img {
  display: block;
  width: 60%;
}
.icon.xs {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}
.icon-inline {
  font-size: 14px;
}
.module {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  user-select: none;
}
.module + .module {
  margin-top: 10px;
}
.module > .icon {
  position: relative;
  flex: 0 0 50px;
  margin: 0 0 0 15px;
}
.module > .icon:first-child {
  margin: 0 15px 0 0;
}
.module > .icon.border {
  position: relative;
  flex: 0 0 53px;
  width: 53px;
  height: 53px;
  border: 3px solid var(--module-color);
}
.module > .icon.border::before {
  content: "\f129";
  position: absolute;
  z-index: 2;
  right: -9px;
  top: -8px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  font-family: "Font Awesome 5 Pro";
  -webkit-font-smoothing: antialiased;
  font-weight: 900;
  font-size: 9px;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  color: var(--white);
}
.module > .icon.border::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -9px;
  top: -8px;
  width: 18px;
  height: 18px;
  font-family: "Font Awesome 5 Pro";
  -webkit-font-smoothing: antialiased;
  font-weight: 900;
  font-size: 18px;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  background: var(--module-color);
  border-radius: 18px;
}
.module .text {
  flex: 100%;
  color: var(--grey-00);
}
.module .text h3 {
  margin: 0;
  font-weight: 500;
}
.module .text p {
  margin: 0;
  color: var(--grey-04);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.1;
}
.module .title {
  display: flex;
  align-items: center;
}
.module .title h3 {
  margin-right: 5px;
}
.module .title > i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 30px;
  height: 30px;
}
.module .title > i.unpublished-icon {
  display: none;
  color: var(--red);
}
.module .title > i.in-structure-icon {
  display: none;
  color: var(--grey-04);
}
.module .state {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 10px;
}
.module .state .icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin: 0;
  background: none;
  font-size: 14px;
  color: var(--white);
  border: 2px solid var(--white);
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff;
}
.module .state .unpublished-icon {
  display: none;
  background: var(--red);
}
.module .state .published-icon {
  background: var(--green);
}
.module.unpublished h3 {
  color: var(--red);
}
.module.unpublished .title i.unpublished-icon {
  display: inherit;
}
.module.unpublished .state .unpublished-icon {
  display: inherit;
}
.module.unpublished .state .published-icon {
  display: none;
}
.module.in-structure .title i.in-structure-icon {
  display: inherit;
}
.module.xs .icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
}
.program {
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 40px;
  margin: 5px;
  white-space: nowrap;
  font-size: 16px;
  text-decoration: none;
  transition: background .1s;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.program i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  padding: 0 4px;
  font-size: 14px;
  border-radius: 24px;
  color: var(--white);
  background: var(--program-color);
}
.program span {
  display: block;
  padding: 0 10px 0 0;
  font-weight: 500;
  color: var(--grey-00);
}
.program i {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  color: var(--white);
}
.tabs,
.filters {
  position: relative;
  z-index: 2;
  flex: 0 0 70px;
  overflow-y: hidden;
  overflow-x: scroll;
  padding: 0 5px;
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.tabs > .content,
.filters > .content {
  display: flex;
  align-items: center;
  min-width: 100%;
  height: 100%;
}
.tabs > .content::after,
.filters > .content::after {
  content: "";
  display: block;
  flex: 0 0 70px;
  height: 100%;
}
.tabs .title,
.filters .title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.tabs .title i,
.filters .title i {
  font-size: 12px;
}
.tabs .title span,
.filters .title span {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 12px;
  margin: 5px;
}
.tabs > .grid {
  align-items: center;
  height: 70px;
  margin: 0;
}
.tabs > .grid > .col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 !important;
}
.filters {
  flex: 0 0 56px;
  width: 100%;
  height: 56px;
}
.filters .switch {
  flex: 0%;
  margin: 0 5px;
}
.filters .expanded-title {
  display: none;
}
.filters.expanded {
  position: absolute;
  background: var(--grey-08);
}
.filters.expanded .content {
  position: relative;
  display: block;
  padding-top: 66px;
  padding-bottom: 120px;
  overflow-y: scroll;
}
.filters.expanded .content::after {
  display: none;
}
.filters.expanded .title {
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 56px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: var(--grey-08);
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.filters.expanded .title span {
  font-size: 16px;
}
.filters.expanded .expanded-title {
  display: block;
  padding: 10px;
}
[target-filters].shrink-filters i {
  transform: rotate(90deg);
}
[target-filters].shrink-filters i::before {
  content: "\f00d";
}
.tab,
.filter,
.search,
.filters-overlay {
  display: flex;
  align-items: center;
  white-space: nowrap;
  height: 40px;
  margin: 5px;
  padding: 0 10px;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.tab i:not(:first-child:last-child),
.filter i:not(:first-child:last-child),
.search i:not(:first-child:last-child),
.filters-overlay i:not(:first-child:last-child) {
  margin: 0 5px 0 0;
}
.tab .radio,
.filter .radio,
.search .radio,
.filters-overlay .radio,
.tab .checkbox,
.filter .checkbox,
.search .checkbox,
.filters-overlay .checkbox {
  margin-left: 0;
}
.tab label,
.filter label,
.search label,
.filters-overlay label {
  margin: 0 5px;
}
.tab label .checkmark,
.filter label .checkmark,
.search label .checkmark,
.filters-overlay label .checkmark {
  margin: 0;
}
.tab > span,
.filter > span,
.search > span,
.filters-overlay > span {
  margin: 0 5px;
  font-weight: 500;
}
.tab > span.badge,
.filter > span.badge,
.search > span.badge,
.filters-overlay > span.badge {
  margin: 0;
}
.tab {
  justify-content: center;
  border-radius: 12px;
  box-shadow: 4px 4px 6px #d1d9e6, -4px -4px 6px #ffffff;
  transition: box-shadow 0.1s linear;
}
.tab.active,
.tab:active {
  color: var(--blue-dark);
  color: var(--program-color);
  box-shadow: 3px 3px 5px #d1d9e6 inset, -3px -3px 5px #ffffff inset;
}
.tab.active .badge,
.tab:active .badge {
  background: var(--program-color);
}
.tab span {
  text-transform: uppercase;
  font-size: 14px;
}
.filter {
  height: 36px;
  border-radius: 18px;
  border: 2px solid var(--grey-07);
  transition: color 0.1s, background 0.1s, border-color 0.2s;
}
.filter.active,
.filter:active {
  color: var(--blue-dark);
  color: var(--program-color);
  border-color: var(--blue);
  border-color: var(--program-color);
}
.filter.active .badge,
.filter:active .badge {
  background: var(--program-color);
}
.filter .badge:first-child {
  margin: 0 0 0 -5px;
}
.filter .badge:last-child {
  margin: 0 -5px 0 0;
}
.filters-overlay {
  position: absolute;
  z-index: 3;
  right: 0;
  top: 0;
  height: 56px;
  margin: 0;
  background: var(--grey-08);
  transition: width .2s;
}
.filters-overlay::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  transform: translateX(-100%);
  display: block;
  width: 10px;
  background: linear-gradient(0.25turn, rgba(236, 240, 243, 0), #ecf0f3);
}
.filters-overlay .btn {
  flex: 32px;
  height: 34px;
  margin: 0;
}
.filters-overlay .btn::before,
.filters-overlay .btn::after {
  box-shadow: none !important;
}
.filters-overlay .btn + .btn {
  margin-left: 5px;
}
.filters-overlay .btn i {
  flex: 32px;
  width: 30px;
  font-size: 14px;
  transition: transform .1s ease;
}
.filters-overlay.full-width {
  width: 100%;
  flex: 0 0 56px;
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.filters-overlay.full-width .search {
  position: relative;
  flex: 100%;
  padding-left: 0;
}
.filters-overlay.full-width .search::before {
  display: none;
}
.search {
  position: absolute;
  z-index: 3;
  right: 0;
  top: 0;
  height: 56px;
  width: 56px;
  margin: 0;
  background: var(--grey-08);
  transition: width .2s;
}
.search::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  transform: translateX(-100%);
  display: block;
  width: 10px;
  background: linear-gradient(0.25turn, rgba(236, 240, 243, 0), #ecf0f3);
}
.search .content {
  position: relative;
  display: flex;
  width: 100%;
  height: 36px;
  border-radius: 18px;
  border: 2px solid var(--grey-07);
  overflow: hidden;
  padding: 0;
}
.search label {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin: 0;
}
.search label i {
  display: block;
  margin: 0;
  transition: transform .1s;
}
.search input[type="text"] {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  flex: 100%;
  width: 100%;
  height: 100%;
  margin: 0;
  border: none;
  padding: 0 15px 0 32px;
  font-size: 14px;
  box-shadow: none;
}
.search.full-width {
  position: static;
  width: 100%;
  flex: 0 0 56px;
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.search.full-width .content {
  color: var(--grey-00);
  border-color: var(--grey-07);
}
.search.active {
  width: 100%;
}
.search.active .content {
  color: var(--grey-00);
  border-color: var(--grey-07);
}
.search.active .content label i {
  transform: rotate(90deg);
}
.search.active .content label i::before {
  content: "\f00d";
}
.search.active .content input {
  padding: 5px 15px;
}
.intro {
  margin: 40px 0;
}
.info-block {
  margin: 20px;
  padding: 14px;
  background: var(--white);
  border-radius: 12px;
  border: 2px solid;
}
.info-block + .blocks {
  padding-top: 0;
}
.info-block > * {
  margin: 0;
}
.info-block:not(.info, .warning, .error, .success) {
  border-color: transparent;
}
.info-block.info,
.info-block.info * {
  color: var(--blue);
}
.info-block.warning,
.info-block.warning * {
  color: var(--orange);
}
.info-block.error,
.info-block.error * {
  color: var(--red);
}
.info-block.success,
.info-block.success * {
  color: var(--green);
}
.badge {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 22px;
  height: 22px;
  margin: 0;
  padding: 5px;
  line-height: 1;
  color: var(--white);
  background: var(--grey-06);
  border-radius: 13px;
}
.badge:not(i) {
  font-weight: 500;
  font-size: 11px !important;
}
.badge.overlay,
.badge.mobile-overlay {
  position: absolute;
  z-index: 99;
  right: -5px;
  top: -5px;
}
.badge.info {
  background: var(--blue);
}
.badge.warning {
  background: var(--orange);
}
.badge.error {
  background: var(--red);
}
.badge.success {
  background: var(--green);
}
.tag {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 2px;
  padding: 5px 10px;
  line-height: 1;
  color: var(--white);
  background: var(--grey-06);
  border-radius: 40px;
}
.section-header {
  position: sticky;
  top: -2px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  background: var(--grey-08);
  border-top: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.section-header h1,
.section-header h2,
.section-header h3,
.section-header h4,
.section-header h5,
.section-header h6,
.section-header p {
  margin: 0;
}
.section-header .title {
  display: flex;
  align-items: center;
}
.section-header .btn {
  margin: 0;
}
.group-list .section-header {
  color: var(--program-color);
}
.group-list .section-header .title {
  flex: 100%;
}
.group-list .section-header .weight {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 28px;
}
.group-list .section-header .weight.loading i {
  animation: color-heartbeat 0.8s linear infinite both;
}
.group-list .section-header .weight i {
  position: relative;
}
.group-list .section-header .weight i::before {
  position: relative;
  z-index: 1;
}
.group-list .section-header .weight i.weight-feedback {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.4;
}
.group-list.unpublished .state,
.group-list.unpublished .text {
  opacity: .4;
}
.home-group .btn {
  height: auto;
}
.home-group .btn i {
  color: var(--blue-dark);
  color: var(--program-color);
}
.home-group .btn > span {
  padding: 10px 10px 10px 0;
}
.home-group .btn .title {
  font-size: 17px;
  color: var(--grey-00);
}
.home-group .btn .desc {
  text-transform: none;
  line-height: 1.1;
  font-weight: 400;
  font-size: 13px;
  white-space: normal;
  color: var(--grey-04);
}
.module-group {
  display: flex;
  align-items: center;
  gap: 10px;
}
.module-group + .module-group {
  margin-top: 20px;
}
.module-group .switch,
.module-group [class*="switch-"] {
  margin-left: -10px;
}
.module-group .switch span,
.module-group [class*="switch-"] span {
  margin-right: 15px;
}
.form-group {
  position: relative;
}
.form-group + * {
  margin-top: 10px;
}
.form-group label {
  display: block;
  margin: 0 0 10px 3px;
  font-size: 18px;
  font-weight: 500;
}
.form-group .error-text {
  display: none;
}
.form-group.required label::after {
  content: " *";
}
.form-group.error label {
  color: var(--red);
}
.form-group.error input,
.form-group.error textarea {
  color: var(--red-dark);
  border-color: var(--red);
}
.form-group.error .error-text {
  margin: 5px;
  display: block;
  color: var(--red);
}
.photo-group .title {
  margin: 30px 0 10px 3px;
  font-size: 18px;
}
.photo-group .photo + .photo {
  margin-top: 20px;
}
.photo {
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  border-radius: 12px;
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff;
}
.photo img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
}
.photo .btn {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
}
.checkbox-group,
.radio-group {
  display: flex;
  flex-wrap: wrap;
}
.checkbox-group + .checkbox-group,
.radio-group + .checkbox-group,
.checkbox-group + .radio-group,
.radio-group + .radio-group {
  margin-top: 20px;
}
.checkbox-group .title,
.radio-group .title {
  flex: 0 0 100%;
  margin: 0 0 10px 3px;
  font-size: 18px;
  font-weight: 500;
}
.checkbox-group .error-text,
.radio-group .error-text {
  flex: 0 0 100%;
  display: none;
}
.checkbox-group .switch,
.radio-group .switch {
  flex: 0 0 100%;
}
.checkbox-group.required .title::after,
.radio-group.required .title::after {
  content: " *";
}
.checkbox-group.error .title,
.radio-group.error .title,
.checkbox-group.error label span,
.radio-group.error label span {
  color: var(--red);
}
.checkbox-group.error input,
.radio-group.error input,
.checkbox-group.error textarea,
.radio-group.error textarea {
  color: var(--red-dark);
  border-color: var(--red);
}
.checkbox-group.error .error-text,
.radio-group.error .error-text {
  margin: 5px;
  display: block;
  color: var(--red);
}
.checkbox-group .checkbox,
.radio-group .checkbox,
.checkbox-group .radio,
.radio-group .radio {
  margin: 10px 5px 0;
}
.picker-group {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.checkbox {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 26px;
  cursor: pointer;
}
.checkbox .checkmark {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  font-size: 16px;
  border-radius: 6px;
  color: var(--white);
  border: 2px solid var(--white);
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 4px 4px 6px #d1d9e6, -4px -4px 6px #ffffff;
  transition: background 0.1s, border-color 0.1s;
}
.checkbox .checkmark::before {
  transform: scale(0);
  transition: transform .1s ease;
}
.checkbox .checkmark::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 6px;
  box-shadow: 2px 2px 4px rgba(33, 29, 29, 0.4) inset;
}
.checkbox input {
  display: none;
}
.checkbox input:checked ~ .checkmark {
  background: var(--green);
}
.checkbox input:checked ~ .checkmark::before {
  transform: scale(1);
}
.checkbox input:disabled ~ .checkmark,
.checkbox input:disabled ~ span {
  opacity: 0.5;
  cursor: default;
}
.checkbox span {
  position: relative;
  z-index: 0;
  font-size: 18px;
}
.radio {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 26px;
  cursor: pointer;
}
.radio .checkmark {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  border-radius: 26px;
  font-size: 10px;
  color: var(--white);
  border: 2px solid var(--white);
  box-shadow: 4px 4px 6px #d1d9e6, -4px -4px 6px #ffffff;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.1s, border-color 0.1s;
}
.radio .checkmark::before {
  transform: scale(0);
  transition: transform .1s ease;
}
.radio .checkmark::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 26px;
  box-shadow: 2px 2px 4px rgba(33, 29, 29, 0.4) inset;
}
.radio input {
  display: none;
}
.radio input:checked ~ .checkmark {
  background: var(--green);
}
.radio input:checked ~ .checkmark::before {
  transform: scale(1);
}
.radio input:disabled ~ .checkmark,
.radio input:disabled ~ span {
  opacity: 0.5;
  cursor: default;
}
.radio span {
  position: relative;
  z-index: 0;
  font-size: 18px;
}
.picker-radio {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 25%;
  height: 50px;
  margin: 10px 0 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.picker-radio .checkmark {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 26px;
  font-size: 10px;
  background: var(--white);
  border: 4px solid var(--white);
}
.picker-radio .checkmark::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  display: block;
  width: 50px;
  height: 50px;
  border: 3px solid var(--blue);
  border-radius: 50px;
  transition: transform .1s;
}
.picker-radio .checkmark i {
  font-size: 26px;
  transition: color .1s linear;
}
.picker-radio input {
  display: none;
}
.picker-radio input:checked ~ .checkmark {
  color: var(--blue);
}
.picker-radio input:checked ~ .checkmark::before {
  transform: translate(-50%, -50%) scale(1);
}
.picker-radio.color-picker .checkmark {
  background: var(--pick-color) !important;
}
.picker-radio.color-picker .checkmark::before {
  border-color: var(--pick-color);
}
.switch,
[class*="switch-"] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 56px;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.switch .checkmark,
[class*="switch-"] .checkmark {
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 36px;
  border-radius: 50px;
  font-size: 16px;
  border: 2px solid var(--white);
  transition: background 0.1s, border-color 0.1s;
  box-shadow: 4px 4px 8px #d1d9e6, -4px -4px 8px #ffffff;
  cursor: pointer;
}
.switch .checkmark::before,
[class*="switch-"] .checkmark::before {
  content: "";
  position: relative;
  z-index: 1;
  transform: translateX(0);
  display: block;
  width: 20px;
  height: 20px;
  background: var(--white);
  border: 2px solid var(--white);
  margin-left: 4px;
  border-radius: 20px;
  transition: transform .1s ease;
  box-shadow: 4px 4px 10px rgba(33, 29, 29, 0.2);
}
.switch .checkmark::after,
[class*="switch-"] .checkmark::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 50px;
  box-shadow: 2px 2px 4px rgba(33, 29, 29, 0.4) inset;
}
.switch input,
[class*="switch-"] input {
  display: none;
}
.switch input:checked ~ .checkmark,
[class*="switch-"] input:checked ~ .checkmark {
  background: var(--green);
}
.switch input:checked ~ .checkmark::before,
[class*="switch-"] input:checked ~ .checkmark::before {
  transform: translateX(18px);
}
.switch input:disabled ~ .checkmark,
[class*="switch-"] input:disabled ~ .checkmark,
.switch input:disabled ~ span,
[class*="switch-"] input:disabled ~ span {
  opacity: 0.5;
  cursor: default;
}
.switch > span,
[class*="switch-"] > span {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
  flex: 100%;
  padding-left: 10px;
  font-size: 18px;
}
.switch:not(.flat).loading .checkmark,
[class*="switch-"]:not(.flat).loading .checkmark,
.switch:not(.flat).loading input:checked ~ .checkmark,
[class*="switch-"]:not(.flat).loading input:checked ~ .checkmark {
  opacity: 1;
  background: var(--grey-05);
  animation: bg-heartbeat 0.8s linear infinite both;
}
.switch:not(.flat).loading span,
[class*="switch-"]:not(.flat).loading span {
  opacity: 1;
}
.switch.flat,
[class*="switch-"].flat,
.switch[class*="-flat"],
[class*="switch-"][class*="-flat"] {
  height: 36px;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.switch.flat .checkmark,
[class*="switch-"].flat .checkmark,
.switch[class*="-flat"] .checkmark,
[class*="switch-"][class*="-flat"] .checkmark {
  flex: 0 0 42px;
  width: 42px;
  height: 26px;
  border-radius: 13px;
  background: none;
  border: 2px solid var(--program-color);
  transition: background 0.1s, border-color 0.1s;
  box-shadow: none;
}
.switch.flat .checkmark::before,
[class*="switch-"].flat .checkmark::before,
.switch[class*="-flat"] .checkmark::before,
[class*="switch-"][class*="-flat"] .checkmark::before {
  width: 16px;
  height: 16px;
  background: var(--program-color);
  border: none;
  margin-left: 4px;
  border-radius: 8px;
  box-shadow: none !important;
}
.switch.flat .checkmark::after,
[class*="switch-"].flat .checkmark::after,
.switch[class*="-flat"] .checkmark::after,
[class*="switch-"][class*="-flat"] .checkmark::after {
  display: none;
}
.switch.flat input,
[class*="switch-"].flat input,
.switch[class*="-flat"] input,
[class*="switch-"][class*="-flat"] input {
  display: none;
}
.switch.flat input:checked ~ .checkmark,
[class*="switch-"].flat input:checked ~ .checkmark,
.switch[class*="-flat"] input:checked ~ .checkmark,
[class*="switch-"][class*="-flat"] input:checked ~ .checkmark {
  background: var(--program-color);
  border-color: transparent;
}
.switch.flat input:checked ~ .checkmark::before,
[class*="switch-"].flat input:checked ~ .checkmark::before,
.switch[class*="-flat"] input:checked ~ .checkmark::before,
[class*="switch-"][class*="-flat"] input:checked ~ .checkmark::before {
  background: var(--white);
  transform: translateX(14px);
}
.switch.flat > span,
[class*="switch-"].flat > span,
.switch[class*="-flat"] > span,
[class*="switch-"][class*="-flat"] > span {
  white-space: nowrap;
  font-size: 16px;
}
.switch.flat.loading,
[class*="switch-"].flat.loading,
.switch[class*="-flat"].loading,
[class*="switch-"][class*="-flat"].loading {
  cursor: default;
}
.switch.flat.loading .checkmark,
[class*="switch-"].flat.loading .checkmark,
.switch[class*="-flat"].loading .checkmark,
[class*="switch-"][class*="-flat"].loading .checkmark {
  opacity: 1;
  border-color: var(--grey-06);
  animation: border-heartbeat 0.8s linear infinite both;
}
.switch.flat.loading .checkmark::before,
[class*="switch-"].flat.loading .checkmark::before,
.switch[class*="-flat"].loading .checkmark::before,
[class*="switch-"][class*="-flat"].loading .checkmark::before {
  background: var(--grey-06);
  animation: bg-heartbeat 0.8s linear infinite both;
}
.switch.flat.loading input:checked ~ .checkmark,
[class*="switch-"].flat.loading input:checked ~ .checkmark,
.switch[class*="-flat"].loading input:checked ~ .checkmark,
[class*="switch-"][class*="-flat"].loading input:checked ~ .checkmark {
  background: var(--grey-06);
  animation: bg-heartbeat 0.8s linear infinite both;
}
.switch.flat.loading input:checked ~ .checkmark::before,
[class*="switch-"].flat.loading input:checked ~ .checkmark::before,
.switch[class*="-flat"].loading input:checked ~ .checkmark::before,
[class*="switch-"][class*="-flat"].loading input:checked ~ .checkmark::before {
  animation: none;
}
.switch.flat.loading span,
[class*="switch-"].flat.loading span,
.switch[class*="-flat"].loading span,
[class*="switch-"][class*="-flat"].loading span {
  opacity: 1;
}
.switch.flat.disabled .checkmark,
[class*="switch-"].flat.disabled .checkmark,
.switch[class*="-flat"].disabled .checkmark,
[class*="switch-"][class*="-flat"].disabled .checkmark {
  border: 2px solid var(--grey-05) !important;
}
.switch.flat.disabled .checkmark::before,
[class*="switch-"].flat.disabled .checkmark::before,
.switch[class*="-flat"].disabled .checkmark::before,
[class*="switch-"][class*="-flat"].disabled .checkmark::before {
  background: var(--grey-05);
}
.switch.flat.disabled input:checked ~ .checkmark,
[class*="switch-"].flat.disabled input:checked ~ .checkmark,
.switch[class*="-flat"].disabled input:checked ~ .checkmark,
[class*="switch-"][class*="-flat"].disabled input:checked ~ .checkmark {
  background: var(--grey-05);
}
.switch[class*="-module"] .checkmark,
[class*="switch-"][class*="-module"] .checkmark {
  background: var(--red);
}
.switch[class*="-module"] .checkmark::before,
[class*="switch-"][class*="-module"] .checkmark::before {
  content: "\f070";
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--red);
  font-size: 12px;
}
.switch[class*="-module"] input:checked ~ .checkmark::before,
[class*="switch-"][class*="-module"] input:checked ~ .checkmark::before {
  content: "\f00c";
  color: var(--green);
}
.switch[class*="-module"].loading .checkmark::before,
[class*="switch-"][class*="-module"].loading .checkmark::before,
.switch[class*="-module"].loading input:checked ~ .checkmark::before,
[class*="switch-"][class*="-module"].loading input:checked ~ .checkmark::before {
  color: var(--white);
}
.switch[class*="-theme"] .checkmark,
[class*="switch-"][class*="-theme"] .checkmark {
  background: var(--grey-07);
}
.switch[class*="-theme"] .checkmark::before,
[class*="switch-"][class*="-theme"] .checkmark::before {
  content: "\f185";
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--yellow-dark);
  font-size: 12px;
}
.switch[class*="-theme"] input:checked ~ .checkmark,
[class*="switch-"][class*="-theme"] input:checked ~ .checkmark {
  background: var(--grey-01);
}
.switch[class*="-theme"] input:checked ~ .checkmark::before,
[class*="switch-"][class*="-theme"] input:checked ~ .checkmark::before {
  content: "\f186";
  color: var(--white);
  background: var(--grey-06);
  border-color: var(--grey-06);
}
.switch[class*="-theme"].loading .checkmark::before,
[class*="switch-"][class*="-theme"].loading .checkmark::before,
.switch[class*="-theme"].loading input:checked ~ .checkmark::before,
[class*="switch-"][class*="-theme"].loading input:checked ~ .checkmark::before {
  color: var(--white);
}
.switch[class*="-xl"] .checkmark,
[class*="switch-"][class*="-xl"] .checkmark {
  flex: 0 0 80px;
  width: 80px;
  height: 50px;
  border-radius: 50px;
}
.switch[class*="-xl"] .checkmark::before,
[class*="switch-"][class*="-xl"] .checkmark::before {
  width: 30px;
  height: 30px;
  margin-left: 6px;
  border-radius: 30px;
  font-size: 16px;
}
.switch[class*="-xl"] .checkmark::after,
[class*="switch-"][class*="-xl"] .checkmark::after {
  border-radius: 50px;
}
.switch[class*="-xl"] input:checked ~ .checkmark::before,
[class*="switch-"][class*="-xl"] input:checked ~ .checkmark::before {
  transform: translateX(30px);
}
.select {
  position: relative;
  z-index: 10;
}
.select::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 10px;
  top: 50%;
  transform: translateY(-40%);
  display: block;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-color: var(--grey-06) transparent transparent transparent;
}
.select select {
  display: none;
  width: 100% !important;
}
.select .refineText {
  position: relative;
  cursor: pointer;
}
.select .searchBoxElement {
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  z-index: 1;
  top: 100%;
  transform: translateY(-5px);
  max-height: 127px;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: var(--grey-01);
  border: 1px solid var(--grey-04);
  border-top: none;
  border-radius: 0 0 6px 6px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.select .searchBoxElement span {
  padding: 0 5px;
}
.select .searchBoxElement::-webkit-scrollbar {
  display: none;
}
.select .searchBoxElement li {
  margin: 0;
  padding: 2px 5px;
  line-height: 1.4;
  cursor: pointer;
}
.select .searchBoxElement li::before {
  display: none;
}
.select .searchBoxElement li:hover {
  background-color: var(--grey-03);
  color: white;
}
.select .searchBoxElement li.selected {
  background-color: var(--blue);
  color: var(--program-color);
  color: var(--white);
}
.radio-scroll {
  overflow: hidden;
  position: relative;
  background: var(--grey-08);
  border: 2px solid var(--grey-07);
  border-radius: 12px;
}
.radio-scroll::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 20px;
  background: linear-gradient(0.25turn, #ecf0f3, rgba(236, 240, 243, 0));
}
.radio-scroll::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 20px;
  background: linear-gradient(-0.25turn, #ecf0f3, rgba(236, 240, 243, 0));
}
.radio-scroll .scroller {
  z-index: 0;
  overflow-x: scroll;
  overflow-y: hidden;
  position: relative;
}
.radio-scroll .content {
  padding: 10px;
}
.radio-scroll .text-radio .checkmark {
  transform: scale(0.8);
}
.radio-scroll .text-radio input:checked ~ .checkmark {
  transform: scale(1);
}
.text-radio {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.text-radio .checkmark {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 50px;
  height: 50px;
  padding: 0 10px;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 12px;
  background: var(--white);
  transition: background 0.1s, color 0.1s, border-color 0.1s, transform 0.1s;
}
.text-radio input {
  display: none;
}
.text-radio input:checked ~ .checkmark {
  color: var(--white);
  background: var(--program-color);
  border-color: var(--program-color);
}
.text-radio span {
  position: relative;
  z-index: 0;
  font-size: 18px;
}
.search-bar {
  flex: 0 0 60px;
  display: flex;
  align-items: center;
  padding: 0 10px;
}
.search-bar label {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  height: 40px;
  background: var(--grey-00);
  border-radius: 6px 0 0 6px;
}
.search-bar input {
  flex: 100%;
  display: flex;
  align-items: center;
  height: 40px;
  background: var(--grey-00);
  border: none;
  border-radius: 0 6px 6px 0;
}
.search-bar .btn {
  margin-left: 10px;
}
.modal {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  opacity: 0;
}
.modal[is-opened="false"] {
  transition: transform 0.1s ease .4s, opacity .2s linear .2s;
}
.modal[is-opened="true"] {
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.1s, opacity .1s linear .1s;
}
.modal[is-opened="true"] .modal-container {
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: transform 0.3s cubic-bezier(0.25, 0.7, 0.2, 1) 0.3s, opacity 0.2s linear 0.3s;
}
.modal > .overlay {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: var(--grey-00);
  opacity: 0.5;
}
.modal .modal-container {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 0);
  width: 90%;
  background: var(--grey-08);
  border-radius: 16px;
  font-size: 18px;
  box-shadow: 6px 6px 16px rgba(33, 29, 29, 0.4);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.55, 0.09, 0.68, 0.53), opacity 0.1s linear 0.2s;
}
.modal .modal-container > .content {
  max-height: 60vh;
  padding: 10px;
  overflow-y: scroll;
}
.modal .modal-container .header .title {
  display: flex;
  align-items: center;
}
.modal.full[is-opened="true"] .modal-container {
  border-radius: 0;
}
.modal.full .modal-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  outline-style: scroll;
  border-radius: 0;
}
.modal.full .modal-container > .header {
  position: relative;
  z-index: 10;
  padding: 10px 0;
  background: var(--grey-08);
  box-shadow: 0 2px 0 rgba(33, 29, 29, 0.05);
}
.modal.full .modal-container > .header .module .text {
  color: var(--white);
}
.modal.full .modal-container > .header .module .icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin: 0 10px 0;
}
.modal.full .modal-container > .content {
  max-height: none;
  flex: 1 0 0%;
  padding: 20px 20px 100px;
}
.modal.full .close-modal.bottom {
  position: absolute;
  z-index: 10;
  left: 0;
  bottom: 0;
  justify-content: center;
  width: 100%;
  height: 50px;
  margin: 0;
  border-radius: 28px 28px 0 0;
  background: var(--white);
  box-shadow: 0 0 30px rgba(33, 29, 29, 0.2);
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.modal.full .close-modal.bottom i {
  font-size: 36px;
}
.modal.full .modal-nav {
  position: absolute;
  z-index: 10;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 80px;
  padding: 15px;
  border-radius: 28px 28px 0 0;
  background: var(--white);
  box-shadow: 0 0 30px rgba(33, 29, 29, 0.2);
}
.modal.full .modal-nav .btn {
  margin: 0;
}
.toasts-container {
  position: fixed;
  z-index: 9999;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 5px;
}
.toasts-container.bottom {
  bottom: 100px;
}
.toasts-container.top {
  top: 70px;
}
.toasts-container .toast {
  transform: scale(0.7);
  opacity: 0;
  transition: transform .3s ease, opacity .3s;
}
.toasts-container .toast.active {
  transform: scale(1);
  opacity: 1;
}
.toast {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  color: var(--white);
  margin: 5px 0;
}
.toast::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: var(--blue);
  opacity: .9;
  transition: opacity .1s;
  border-radius: 6px;
}
.toast > i {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  margin: 0;
  font-size: 32px;
}
.toast span {
  position: relative;
  z-index: 1;
  display: block;
  flex: 0 1 100%;
  padding: 20px 20px 20px 0;
  line-height: 1.2;
  font-size: 18px;
}
.toast .toast-close {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  color: #FFF;
  background: none;
  border: none;
  cursor: pointer;
}
.toast .toast-close i {
  font-size: 18px;
}
.toast.error::before {
  background: var(--red);
}
.toast.warning::before {
  background: var(--orange);
}
.toast.success::before {
  background: var(--green);
}
.screen .section-header {
  padding: 10px;
}
.screen .section-header .title {
  display: flex;
  align-items: center;
}
.screen .section-header .title .icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--white);
  background: var(--screen-color);
}
.screen .section-header .btn {
  color: var(--screen-color) !important;
}
.screen > .content {
  padding: 20px 0;
}
.screen > .content::before {
  content: "";
  position: absolute;
  z-index: 12;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 30px;
  background: linear-gradient(0.25turn, rgba(236, 240, 243, 0), #ecf0f3);
}
.screen > .content > .scroll-x {
  position: static;
}
.program-block .icon,
.program-weekly-planner .icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  padding-left: 2px;
  font-size: 18px;
  color: var(--white);
  background: var(--program-color);
}
.program-block .icon:first-child,
.program-weekly-planner .icon:first-child {
  margin: 0 15px 0 0;
}
.program-block .icon:last-child,
.program-weekly-planner .icon:last-child {
  margin: 0 0 0 15px;
}
.program-block {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px;
  border: 2px solid var(--program-color);
  border-radius: 20px;
  user-select: none;
}
.program-block + .program-block {
  margin-top: 10px;
}
.program-block > .text {
  flex: 1 0 0%;
  color: var(--grey-02);
}
.program-block > .text h3 {
  line-height: 1.1;
  font-weight: 500;
}
.program-block > .text p {
  color: var(--grey-04);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.1;
}
.program-block > .btn {
  margin: 0;
  color: var(--program-color) !important;
}
.program-weekly-planner {
  position: static;
  height: 80px;
}
.program-weekly-planner.default > .title .text .icon-inline {
  display: block;
}
.program-weekly-planner > .title {
  position: absolute;
  z-index: 12;
  left: 0;
  width: 55px;
  padding: 0 0 0 10px;
  background: var(--grey-08);
}
.program-weekly-planner > .title::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform: translateX(100%);
  display: block;
  width: 10px;
  background: linear-gradient(0.25turn, #ecf0f3, rgba(236, 240, 243, 0));
}
.program-weekly-planner > .title .icon {
  margin: 5px 0;
}
.program-weekly-planner > .title .text {
  position: relative;
  z-index: 1;
  width: 90vw;
  font-size: 13px;
  font-weight: 500;
  color: var(--program-color);
}
.program-weekly-planner > .title .text p {
  display: flex;
}
.program-weekly-planner > .title .text p .icon-inline {
  display: none;
  font-size: 12px;
}
.program-weekly-planner .week {
  display: flex;
  margin-left: 60px;
}
.program-weekly-planner .week::after {
  content: "";
  flex: 0 0 20px;
}
.program-weekly-planner .day {
  margin: 0 5px;
}
.program-weekly-planner .day .title {
  margin-bottom: 4px;
  text-align: center;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--grey-06);
}
.program-weekly-planner .action {
  position: relative;
  display: flex;
}
.program-weekly-planner .action::before {
  content: "";
  position: absolute;
  z-index: 11;
  left: 50%;
  top: -2px;
  bottom: -2px;
  width: 2px;
  background: var(--grey-07);
}
.program-weekly-planner .action .radio {
  margin: 0;
}
.program-weekly-planner .action .radio.am .checkmark {
  border-radius: 20px 0 0 20px;
  border-right: none;
}
.program-weekly-planner .action .radio.pm .checkmark {
  border-radius: 0 20px 20px 0;
  border-left: none;
}
.program-weekly-planner .action .radio .checkmark {
  margin: 0;
  display: flex;
  align-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 30px;
  padding: 0 10px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  color: var(--grey-04);
  background: var(--grey-08);
  border: 2px solid var(--grey-07);
  box-shadow: none;
  transition: color 0.1s, background 0.1s, border-color 0.2s;
}
.program-weekly-planner .action .radio .checkmark::after {
  display: none;
}
.program-weekly-planner .action .radio .checkmark.active {
  color: var(--white);
  border-color: var(--program-color);
  background: var(--program-color);
}
.program-weekly-planner .action .radio input:checked ~ .checkmark {
  color: var(--white);
  border-color: var(--program-color);
  background: var(--program-color);
}
.menu-item {
  display: flex;
  align-items: center;
  height: 40px;
  color: initial;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  user-select: none;
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}
.menu-item .icon {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin: 0 10px 0 0;
  font-size: 20px;
  background: none;
}
.menu-item .icon i {
  margin: 0;
}
.menu-item .text {
  font-family: Jost, Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 16px;
}
.menu-item.user .icon {
  font-size: 28px;
  color: var(--grey-05);
}
.menu-item.user .text {
  text-transform: none;
}
.menu-list {
  padding: 2px;
  border-radius: 17px;
  background: var(--grey-08);
}
.menu-list.active .menu-list-trigger {
  background: var(--grey-08);
}
.menu-list.active .menu-list-trigger i {
  transform: rotate(180deg);
}
.menu-list.force-active .menu-list-content {
  display: block;
}
.menu-list .menu-list-trigger {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  background: var(--grey-07);
  border-radius: 15px;
}
.menu-list .menu-list-trigger i {
  transition: transform .1s ease;
}
.menu-list .menu-list-content {
  margin: 0 13px 10px;
}
.menu-list .menu-list-content .menu-item {
  margin: 5px;
}
.menu-list > .menu-item {
  height: 60px;
  padding: 0 20px;
}
#theme-switch:hover .icon::before {
  background: var(--white);
}
#theme-switch .icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 46px;
  width: 46px;
  background: var(--grey-00);
  border: 2px solid var(--white);
  border-radius: 50px;
}
#theme-switch .icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-100%, -50%);
  width: 16px;
  height: 16px;
  background: var(--grey-07);
  border: 2px solid var(--grey-00);
  border-radius: 12px;
  transition: transform .1s;
}
#theme-switch .icon i {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  font-size: 12px;
  color: var(--white);
  transition: transform .1s;
}
.table {
  overflow: hidden;
  display: table;
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.table .row {
  display: table-row;
  background: var(--white);
}
.table .row:nth-of-type(odd) {
  background: var(--grey-08);
}
.table .row.header {
  background: var(--program-color);
  color: #ffffff;
}
.table .row.header .cell {
  font-weight: 500;
}
.table .row.header .cell:nth-child(1) {
  border-radius: 12px 0 0 0;
}
.table .row.header .cell:last-child {
  border-radius: 0 12px 0 0;
}
.table .row .cell {
  display: table-cell;
  vertical-align: middle;
  padding: 10px;
}
@media screen and (max-width: 580px) {
  .table {
    display: block;
  }
  .table .row {
    clear: both;
    display: block;
  }
  .table .row.header {
    height: 14px;
    padding: 0;
  }
  .table .row.header .cell {
    display: none;
  }
  .table .row .cell {
    display: block;
  }
  .table .row .cell:not(.title) + .cell {
    margin-top: 10px;
  }
  .table .row .cell:before {
    content: attr(data-title);
    display: block;
    min-width: 98px;
    margin-bottom: 3px;
    color: var(--program-color);
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
  }
  .table .row .cell.title {
    float: left;
    max-width: 50%;
  }
}
html {
  height: 100%;
}
body {
  overflow: hidden;
  position: relative;
  z-index: 0;
  height: 100%;
  font-family: Jost, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.3;
  color: var(--grey-04);
  background: var(--grey-08);
}
body.scroll-display header {
  transform: translateY(-100%);
  opacity: 0;
}
body.scroll-display nav {
  background: var(--white);
  transform: translateY(50px);
}
body.scroll-display nav .nav-links,
body.scroll-display nav .btns {
  opacity: 0;
  transform: translateY(50px);
  pointer-events: none;
}
body.scroll-display nav .scroll-display-trigger {
  top: 0;
  opacity: 1;
}
body.scroll-display main {
  padding-top: 0;
}
body.scroll-display main > .tabs-container .tab-content > .content {
  padding-bottom: 60px;
}
#app {
  height: 100%;
}
header {
  position: fixed;
  z-index: 20;
  left: 0;
  top: 0;
  transform: translateY(0);
  display: flex;
  align-items: center;
  width: 100%;
  height: 70px;
  padding: 0 10px;
  background: #FFF;
  border-radius: 0 0 28px 28px;
  box-shadow: 0 0 30px rgba(33, 29, 29, 0.2);
  transition: transform .2s ease, opacity .2s;
}
header #logo {
  display: none;
  overflow: hidden;
  position: relative;
  flex: 1 1 100%;
  width: 122px;
  height: 40px;
}
header .title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 0 0%;
  color: var(--grey-03);
}
header #top-menu-trigger {
  flex: 0 0 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 10px;
  color: var(--grey-06);
  background: none !important;
  box-shadow: none !important;
}
header #top-menu-trigger::before,
header #top-menu-trigger::after {
  display: none;
}
header #top-menu-trigger i {
  transition: transform .1s;
}
header #top-menu-trigger i.fa-angle-right {
  transform: rotate(-90deg);
}
header.home::before {
  content: "";
  flex: 0 0 50px;
  height: 0;
  margin: 10px;
}
header.home #logo {
  display: block;
}
header.home #logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 30px;
}
header.home .title {
  display: none;
}
nav {
  position: fixed;
  z-index: 18;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(0);
  width: 100%;
  height: 100px;
  padding: 0 30px;
  background: var(--grey-08);
  border-radius: 28px 28px 0 0;
  box-shadow: 0 0 30px rgba(33, 29, 29, 0.2);
  transition: transform .2s ease;
}
nav .scroll-display-trigger {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 36px;
  opacity: 0;
  transition: opacity .2s;
}
nav .nav-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding-bottom: 10px;
}
nav .nav-links .btn {
  flex-direction: column;
  margin: 0 5px;
}
nav .nav-links .btn.active span:not(.badge) {
  opacity: 1;
}
nav .nav-links .btn i {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  font-size: 22px;
}
nav .nav-links .btn:first-child {
  margin-left: 0;
}
nav .nav-links .btn:last-child {
  margin-right: 0;
}
nav .nav-links .btn span:not(.badge) {
  position: absolute;
  left: 0;
  bottom: -7px;
  transform: translateY(100%);
  display: block;
  width: 100%;
  text-align: center;
  flex: 0 20px;
  padding: 0;
  font-size: 9px;
  font-weight: 700;
  opacity: 0.4;
}
main {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-top: 70px;
}
main > .tabs-container {
  overflow: hidden;
  position: relative;
  z-index: 1;
  flex: 100%;
  width: 100%;
}
main > .tabs-container .tab-content {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: var(--grey-08);
  opacity: 0;
  transition: transform 0.2s ease-in, opacity 0.2s linear;
}
main > .tabs-container .tab-content > .content {
  position: relative;
  z-index: 1;
  overflow-x: hidden;
  overflow-y: scroll;
  flex: 100%;
  padding-bottom: 140px;
}
main > .tabs-container .tab-content.active {
  z-index: 10;
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.2s ease-out, opacity 0.2s linear 0.1s;
}
main > .tabs-container .tab-content.left {
  transform: translateX(-100%);
}
main > .tabs-container .tab-content.right {
  transform: translateX(100%);
}
main > .content {
  position: relative;
  z-index: 1;
  overflow-x: hidden;
  overflow-y: scroll;
  flex: 100%;
  padding-bottom: 140px;
}
main > .content.home {
  padding-bottom: 0;
}
main > .content.home .tags {
  justify-content: center;
}
#menu {
  position: fixed;
  z-index: 18;
  left: 0;
  right: 0;
  top: 0;
  padding: 70px 20px 20px;
  background: var(--white);
  border-radius: 0 0 28px 28px;
  transition: transform .2s ease, opacity .2s linear;
  box-shadow: 0 0 30px rgba(33, 29, 29, 0.2);
}
#menu[is-opened="false"] {
  opacity: 0;
  transform: translateY(-100%);
}
#menu[is-opened="true"] {
  opacity: 1;
  transform: translateY(0);
}
#programme .modules {
  position: relative;
}
#programme .modules::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 20px;
  bottom: 20px;
  left: 14px;
  width: 3px;
  background: var(--grey-06);
  transition: background .1s linear;
}
#programme .modules.filter-active::before {
  background: var(--grey-07);
}
#programme .module {
  position: relative;
  z-index: 1;
  transition: opacity .1s;
}
#programme .module + .module {
  margin-top: 10px;
}
#programme .module .text,
#programme .module .icon {
  transition: opacity .1s linear, color .1s linear;
}
#programme .module .index {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-left: 0;
  margin-right: 10px;
  line-height: 1;
  font-size: 12px;
  font-weight: 500;
  color: #FFF;
  background: var(--grey-04);
  border: 3px solid var(--grey-06);
  border-radius: 30px;
  opacity: 1;
  transition: background .1s linear, border .1s linear;
}
#programme .module.active .index {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-left: 0;
  margin-right: 10px;
  background: var(--program-color) !important;
  border: 2px solid var(--grey-07);
}
#programme .module.active .text {
  color: var(--program-color) !important;
}
#programme .module.faded .text,
#programme .module.faded .icon {
  opacity: .5;
}
#programme .module.faded .index {
  background: var(--grey-07);
  border-color: var(--grey-07);
  color: var(--grey-06);
}
#module-modal .modal-container > .header {
  color: var(--white);
  background: var(--module-color);
}
#module-modal .modal-container > .header .module {
  cursor: default;
}
#module-modal .modal-container > .header .module .text {
  order: 1;
}
#module-modal .modal-container > .header .module .text h3 {
  color: var(--white);
}
#module-modal .modal-container > .header .module .text p {
  color: var(--white);
}
#module-modal .modal-container > .header .module .icon {
  order: 0;
}
#module-modal .modal-container > .content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#module-modal .modal-container > .content h1,
#module-modal .modal-container > .content h2 {
  font-weight: 500;
  text-align: center;
}
#module-modal .modal-container > .content video {
  display: block;
  width: 100%;
  margin: 10px 0;
  background: var(--grey-06);
}
#module-modal .close-modal.bottom {
  color: var(--module-color);
}
.login {
  overflow: hidden;
  transform: translateY(50%);
}
.login .content {
  padding-top: 0;
}
.login #logo {
  overflow: hidden;
  width: 85px;
  margin: 0 auto 50px;
}
.login #logo img {
  display: block;
  width: 300px;
}
.login .form-login {
  opacity: 0;
  transform: translate();
}
.login .form-login .btn {
  margin-bottom: 0;
}
@keyframes themeOverlayIn {
  0% {
    opacity: 0;
    transform: scaleY(0);
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scaleY(1);
  }
}
@keyframes themeOverlayOut {
  0% {
    opacity: 1;
    transform: scaleY(1);
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scaleY(1);
  }
}
#theme-overlay {
  position: fixed;
  z-index: 130;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform-origin: bottom;
  transform: scaleY(0);
}
#theme-overlay.in {
  transform-origin: bottom;
  animation: themeOverlayIn 0.4s cubic-bezier(0.35, 0.83, 0.49, 1) 1 forwards;
}
#theme-overlay.out {
  transform-origin: top;
  animation: themeOverlayOut .2s linear 1 forwards;
}
.demo main > .content {
  display: flex;
  flex-direction: column;
}
.demo section {
  order: 1;
}
.demo section.first {
  order: 0;
}
.demo section.first .section-header {
  background: var(--blue);
}
.demo section.first .section-header .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: #FFF;
}
.demo section.first .section-header .title::after {
  content: ".FIRST";
  font-weight: 600;
}
.demo #menu {
  width: 200px;
}
.demo #section-modal-toast .sample {
  padding: 0;
}
.sample {
  position: relative;
  z-index: 1;
  padding: 5px;
}
.sample::before {
  content: "";
  position: absolute;
  z-index: 9;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: var(--blue);
  opacity: 0;
  border-radius: 6px;
  transition: opacity .1s linear;
}
.sample .code-trigger {
  position: absolute;
  z-index: 10;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  opacity: 0;
  transition: opacity .1s;
}
.sample:hover::before {
  opacity: 0.2;
}
.sample:hover .code-trigger {
  opacity: 1;
}
#code-modal .modal-container * {
  -webkit-font-smoothing: antialised;
}
#code-modal pre {
  background: var(--grey-01);
  border-radius: 6px;
}
#code-modal #code {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  height: 0;
  background: none;
  border: none;
  opacity: 0;
}
.content.grey {
  margin: 10px;
  padding: 0 !important;
}
@media screen and (max-width: 1024px) {
  .hidden-mobile {
    position: fixed;
    z-index: -999;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    visibility: hidden;
  }
}
@media screen and (min-width: calc(1024px + 1px)) {
  .scroll-x {
    overflow: hidden;
  }
  .hidden-desktop {
    position: fixed;
    z-index: -999;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    visibility: hidden;
  }
  .btn:hover {
    background: var(--white);
  }
  .tabs,
  .filters,
  .filters.expanded .content,
  .radio-scroll .scroller {
    scrollbar-width: thin;
    scrollbar-color: transparent;
  }
  .tabs::-webkit-scrollbar,
  .filters::-webkit-scrollbar,
  .filters.expanded .content::-webkit-scrollbar,
  .radio-scroll .scroller::-webkit-scrollbar {
    width: 2px;
    height: 2px;
  }
  .tabs::-webkit-scrollbar-track,
  .filters::-webkit-scrollbar-track,
  .filters.expanded .content::-webkit-scrollbar-track,
  .radio-scroll .scroller::-webkit-scrollbar-track {
    background: transparent;
  }
  .tabs::-webkit-scrollbar-thumb,
  .filters::-webkit-scrollbar-thumb,
  .filters.expanded .content::-webkit-scrollbar-thumb,
  .radio-scroll .scroller::-webkit-scrollbar-thumb {
    background-color: var(--grey-07);
  }
  .toast {
    width: auto;
    max-width: 100%;
    min-width: 600px;
  }
  .search label {
    cursor: pointer;
  }
  .program {
    cursor: pointer;
    height: 34px;
  }
  .program span {
    font-size: 14px;
  }
  [class*="block-"] .order button {
    cursor: pointer;
  }
  .picker-radio {
    flex: 0 1 0%;
    margin: 5px;
  }
  .menu-item {
    padding: 0;
    white-space: nowrap;
    color: var(--grey-04);
    cursor: pointer;
  }
  .menu-item .icon {
    background: none;
    font-size: 18px;
  }
  .menu-item .text {
    font-size: 12px;
  }
  .menu-item:hover {
    color: var(--grey-00);
  }
  .menu-list {
    margin: 0;
    background: var(--grey-08);
    cursor: pointer;
  }
  .menu-list .menu-list-trigger {
    transition: background .1s linear;
  }
  .menu-list .menu-list-trigger:hover {
    background: var(--white);
  }
  .menu-list .menu-list-content {
    display: none;
    margin: 0;
  }
  .menu-list > .menu-item {
    height: 30px;
    padding: 0 10px;
  }
  .menu-list > .menu-item:first-child {
    margin-top: 5px;
  }
  .menu-list > .menu-item .icon {
    flex: 0 0 20px;
    margin-right: 5px;
    font-size: 14px;
  }
  .module {
    cursor: pointer;
  }
  .modal .modal-container .content {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1);
  }
  .modal .modal-container .content::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  .modal .modal-container .content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
  }
  .modal .modal-container .content::-webkit-scrollbar-thumb {
    background-color: var(--grey-08);
  }
  .badge.mobile-overlay {
    position: static;
  }
  body {
    background: var(--grey-07);
  }
  #app {
    position: relative;
    max-width: 600px;
    margin: auto;
    background: var(--grey-08);
    box-shadow: 0 0 16px rgba(33, 29, 29, 0.1);
  }
  #app.demo {
    max-width: 800px;
  }
  header {
    position: absolute;
    left: 0;
    flex-direction: column;
    justify-content: flex-start;
    width: 170px;
    height: 100px;
    transform: translate(-100%, 0);
    box-shadow: none;
    transition: none;
    background: none !important;
    box-shadow: none !important;
  }
  header::before {
    display: none;
  }
  header #top-menu-trigger {
    display: none;
    opacity: 0;
    pointer-events: none;
  }
  header #logo {
    display: block;
    flex: 0 0 50px;
    width: 100%;
    padding: 0;
  }
  header #logo img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 30px;
  }
  header.home .title {
    display: flex;
  }
  nav {
    position: absolute;
    bottom: auto;
    top: 100px;
    transform: translateX(-100%);
    width: 170px;
    height: auto;
    padding: 10px;
    background: none !important;
    box-shadow: none !important;
    transition: none;
  }
  nav .scroll-display-trigger {
    display: none;
  }
  nav .nav-links {
    flex-direction: column;
    gap: 5px;
    height: auto;
  }
  nav .nav-links .btn {
    flex-direction: row;
    width: 100%;
    height: 36px;
    min-height: 36px;
    margin: 0;
  }
  nav .nav-links .btn::before,
  nav .nav-links .btn::after {
    box-shadow: none;
  }
  nav .nav-links .btn:hover {
    color: var(--grey-00);
  }
  nav .nav-links .btn.active {
    color: var(--white) !important;
    background: var(--program-color);
  }
  nav .nav-links .btn i {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin: 0;
    font-size: 16px;
    font-weight: 500;
  }
  nav .nav-links .btn span:not(.badge) {
    position: static;
    transform: initial;
    display: block;
    margin-right: 5px;
    font-size: 12px;
    font-weight: 500;
    opacity: 1;
  }
  main {
    padding-top: 0;
  }
  main > .content,
  main > .tabs-container .tab-content > .content {
    padding-bottom: 40px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.05);
  }
  main > .content::-webkit-scrollbar,
  main > .tabs-container .tab-content > .content::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  main > .content::-webkit-scrollbar-track,
  main > .tabs-container .tab-content > .content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
  }
  main > .content::-webkit-scrollbar-thumb,
  main > .tabs-container .tab-content > .content::-webkit-scrollbar-thumb {
    background-color: var(--program-color);
  }
  #menu {
    position: absolute;
    left: auto;
    top: 0;
    transform: translate(100%, 0) !important;
    width: 170px;
    padding: 10px;
    background: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: none;
  }
  #menu .program {
    overflow: hidden;
  }
  #menu .program i {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-right: 5px;
    font-size: 12px;
    font-weight: 300;
  }
  #menu .program span {
    font-weight: 400;
  }
  .kinetic-active {
    outline: none;
  }
}
.theme-dark {
  color: var(--grey-07);
  background: var(--grey-00);
}
.theme-dark.scroll-display nav {
  background: var(--grey-03);
}
.theme-dark h1 {
  color: var(--white);
}
.theme-dark strong {
  color: var(--white);
}
.theme-dark .btn {
  color: var(--white);
  background: var(--grey-02);
}
.theme-dark .btn::before {
  box-shadow: 4px 4px 8px var(--grey-01), -4px -4px 8px var(--grey-04);
}
.theme-dark .btn::after {
  box-shadow: 3px 3px 5px var(--black) inset, -3px -3px 5px var(--grey-04) inset;
}
.theme-dark .btn .title {
  color: var(--white);
}
.theme-dark .btn .desc {
  color: var(--grey-05);
}
.theme-dark .card {
  background: var(--grey-03);
}
.theme-dark .card:not(.dashed, .blue, .red, .orange, .yellow, .purple, .highlight) {
  border-color: var(--grey-03);
}
.theme-dark .info-block {
  background: var(--grey-03);
}
.theme-dark .tabs,
.theme-dark .filters {
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.theme-dark .filters.expanded {
  background: var(--grey-02);
}
.theme-dark .filters.expanded .title {
  background: var(--grey-02);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.theme-dark .tab {
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark .tab.active {
  box-shadow: 3px 3px 5px var(--black) inset, -3px -3px 5px var(--grey-04) inset;
  background: var(--grey-01);
}
.theme-dark .filter:not(.active) {
  border-color: var(--grey-04);
}
.theme-dark .filters-overlay {
  background: var(--grey-02);
}
.theme-dark .filters-overlay::before {
  background: linear-gradient(0.25turn, rgba(236, 240, 243, 0), var(--grey-02));
}
.theme-dark .program span {
  color: var(--white);
}
.theme-dark .search {
  background: var(--grey-02);
}
.theme-dark .search .content {
  color: var(--white);
  border-color: var(--grey-04);
}
.theme-dark .search input:focus {
  background: var(--black) !important;
}
.theme-dark .search.full-width {
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.theme-dark .module .text {
  color: var(--white);
}
.theme-dark .module .text p {
  color: var(--grey-05);
}
.theme-dark .module .state .icon {
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark input[type="text"],
.theme-dark textarea {
  color: var(--white);
  background: var(--grey-00);
  border-color: var(--grey-04);
  box-shadow: 4px 4px 8px var(--grey-01), -4px -4px 8px var(--grey-04);
}
.theme-dark input[type="text"]:focus,
.theme-dark textarea:focus {
  color: var(--white) !important;
  background: var(--grey-01);
}
.theme-dark .picker-radio .checkmark {
  background: var(--grey-02);
  border-color: var(--grey-02);
}
.theme-dark .checkbox .checkmark {
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark .radio .checkmark {
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark .radio-scroll {
  background: var(--grey-02);
  border-color: var(--grey-01);
}
.theme-dark .radio-scroll::before {
  background: linear-gradient(0.25turn, #332f2f, rgba(51, 47, 47, 0));
}
.theme-dark .radio-scroll::after {
  background: linear-gradient(-0.25turn, #332f2f, rgba(51, 47, 47, 0));
}
.theme-dark .text-radio .checkmark {
  background: var(--grey-04);
}
.theme-dark .switch:not(.flat) .checkmark,
.theme-dark [class*="switch-"]:not([class*="-flat"]) .checkmark {
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark .table .row:not(.header) {
  background: var(--grey-03);
}
.theme-dark .table .row:not(.header):nth-of-type(odd) {
  background: var(--grey-02);
}
.theme-dark .photo {
  box-shadow: 4px 4px 8px var(--black), -4px -4px 8px var(--grey-02);
}
.theme-dark .section-header {
  background: var(--grey-02);
  border-top-color: var(--grey-03);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.theme-dark .section-header .title {
  color: var(--white);
}
.theme-dark .canal > .text {
  color: var(--white);
}
.theme-dark .canal > .text p {
  color: var(--grey-05);
}
.theme-dark .canal .weekly-planner .day:not(.active) {
  color: var(--grey-06);
  border-color: var(--grey-03);
}
.theme-dark .block {
  background: var(--grey-03);
  box-shadow: 4px 4px 6px var(--grey-01), -4px -4px 6px var(--grey-04);
}
.theme-dark .block .content {
  background: var(--grey-01);
}
.theme-dark .block .content .header {
  border-color: var(--grey-03);
}
.theme-dark .block .counter span {
  border-color: var(--grey-03);
}
.theme-dark .block .order .btn {
  background: var(--grey-01) !important;
}
.theme-dark .screen > .content::before {
  background: linear-gradient(0.25turn, rgba(51, 47, 47, 0), #332f2f);
}
.theme-dark .program-block > .text {
  color: var(--grey-08);
}
.theme-dark .program-block > .text p {
  color: var(--grey-05);
}
.theme-dark .program-weekly-planner > .title {
  background: var(--grey-02);
}
.theme-dark .program-weekly-planner > .title::before {
  background: linear-gradient(0.25turn, #332f2f, rgba(51, 47, 47, 0));
}
.theme-dark .program-weekly-planner .action::before {
  background: var(--grey-03);
}
.theme-dark .program-weekly-planner .action .radio .checkmark {
  color: var(--grey-06);
  background: var(--grey-02);
  border-color: var(--grey-03);
}
.theme-dark .modal > .overlay {
  background: var(--black);
  opacity: 0.7;
}
.theme-dark .modal .modal-container {
  background: var(--grey-02);
}
.theme-dark .modal.full .modal-container > .header {
  background: var(--grey-03);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}
.theme-dark .modal.full .close-modal {
  background: var(--grey-03);
}
.theme-dark .modal.full .close-modal.bottom {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
}
.theme-dark .modal.full .close-modal.bottom i {
  color: var(--white);
}
.theme-dark .modal.full .modal-nav {
  background: var(--grey-03);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
}
.theme-dark header {
  background: var(--grey-03);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}
.theme-dark #app {
  background: var(--grey-02);
}
.theme-dark main > .tabs-container .tab-content {
  background: var(--grey-02);
}
.theme-dark nav {
  background: var(--grey-02);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
}
.theme-dark nav .btn {
  color: var(--grey-07);
  background: var(--grey-02);
}
.theme-dark nav .btn:hover {
  color: var(--grey-08);
}
.theme-dark .menu-item {
  color: var(--grey-06);
  transition: color .1s linear;
}
.theme-dark .menu-item:hover {
  color: var(--grey-08);
}
.theme-dark .menu-list {
  background: var(--grey-02);
}
.theme-dark .menu-list.active .menu-list-trigger {
  background: var(--grey-02);
}
.theme-dark .menu-list .menu-list-trigger {
  background: var(--grey-01);
}
.theme-dark .menu-list .menu-list-trigger:hover {
  background: var(--grey-00);
}
.theme-dark #menu {
  background: var(--grey-03);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
}
.theme-dark #theme-switch ~ .checkmark {
  box-shadow: 4px 4px 8px var(--grey-01), -4px -4px 8px var(--grey-04);
}
.theme-dark #programme .modules::before {
  background: var(--grey-02);
}
.theme-dark #programme .modules.filter-active::before {
  background: var(--grey-02);
}
.theme-dark #programme .module::before {
  background: var(--grey-06);
  border-color: var(--grey-06);
}
.theme-dark #programme .module.active:before {
  border-color: var(--grey-02);
}
.theme-dark #programme .module.faded::before {
  background: var(--grey-02);
  border-color: var(--grey-02);
}
@media screen and (min-width: calc(1024px + 1px)) {
  .theme-dark #app {
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.5);
  }
  .theme-dark .tabs::-webkit-scrollbar-thumb,
  .theme-dark .filters::-webkit-scrollbar-thumb {
    background-color: var(--grey-03);
  }
  .theme-dark main > .content,
  .theme-dark main > .tabs-container .tab-content > .content {
    scrollbar-color: rgba(0, 0, 0, 0.2);
  }
  .theme-dark main > .content::-webkit-scrollbar-track,
  .theme-dark main > .tabs-container .tab-content > .content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
  }
  .theme-dark .modal .modal-container .content::-webkit-scrollbar-thumb {
    background-color: var(--grey-03);
  }
}
/* COLOR HELPERS */
.white {
  color: var(--white) !important;
}
.white:hover,
.white:active {
  color: var(--white) !important;
}
.black {
  color: var(--black) !important;
}
.black:hover,
.black:active {
  color: var(--black) !important;
}
.grey-00 {
  color: var(--grey-00) !important;
}
.grey-00:hover,
.grey-00:active {
  color: var(--grey-00) !important;
}
.grey-01 {
  color: var(--grey-01) !important;
}
.grey-01:hover,
.grey-01:active {
  color: var(--grey-01) !important;
}
.grey-02 {
  color: var(--grey-02) !important;
}
.grey-02:hover,
.grey-02:active {
  color: var(--grey-02) !important;
}
.grey-03 {
  color: var(--grey-03) !important;
}
.grey-03:hover,
.grey-03:active {
  color: var(--grey-03) !important;
}
.grey-04 {
  color: var(--grey-04) !important;
}
.grey-04:hover,
.grey-04:active {
  color: var(--grey-04) !important;
}
.grey-05,
.grey {
  color: var(--grey-05) !important;
}
.grey-05:hover,
.grey:hover,
.grey-05:active,
.grey:active {
  color: var(--grey-05) !important;
}
.grey-06 {
  color: var(--grey-06) !important;
}
.grey-06:hover,
.grey-06:active {
  color: var(--grey-06) !important;
}
.grey-07 {
  color: var(--grey-07) !important;
}
.grey-07:hover,
.grey-07:active {
  color: var(--grey-07) !important;
}
.grey-08 {
  color: var(--grey-08) !important;
}
.grey-08:hover,
.grey-08:active {
  color: var(--grey-08) !important;
}
.green {
  color: var(--green-dark) !important;
}
.green:hover,
.green:active {
  color: var(--green);
}
.red {
  color: var(--red-dark) !important;
}
.red:hover,
.red:active {
  color: var(--red) !important;
}
.orange {
  color: var(--orange-dark) !important;
}
.orange:hover,
.orange:active {
  color: var(--orange) !important;
}
.yellow {
  color: var(--yellow-dark) !important;
}
.yellow:hover,
.yellow:active {
  color: var(--yellow) !important;
}
.blue {
  color: var(--blue-dark) !important;
}
.blue:hover,
.blue:active {
  color: var(--blue) !important;
}
.purple {
  color: var(--purple-dark) !important;
}
.purple:hover,
.purple:active {
  color: var(--purple) !important;
}
.screen-color {
  color: var(--screen-color) !important;
}
.screen-color:hover,
.screen-color:active {
  color: var(--screen-color) !important;
}
.program-color {
  color: var(--program-color) !important;
}
.program-color:hover,
.program-color:active {
  color: var(--program-color) !important;
}
.module-color {
  color: var(--module-color) !important;
}
.module-color:hover,
.module-color:active {
  color: var(--module-color) !important;
}
/* BACKGROUND COLOR HELPERS */
.no-bg {
  background: none !important;
}
.bg-white {
  background: var(--white) !important;
}
.bg-black {
  background: var(--black) !important;
}
.bg-grey-00 {
  background: var(--grey-00) !important;
}
.bg-grey-00:hover,
.bg-grey-00:active {
  background: var(--grey-00) !important;
}
.bg-grey-01 {
  background: var(--grey-01) !important;
}
.bg-grey-01:hover,
.bg-grey-01:active {
  background: var(--grey-01) !important;
}
.bg-grey-02 {
  background: var(--grey-02) !important;
}
.bg-grey-02:hover,
.bg-grey-02:active {
  background: var(--grey-02) !important;
}
.bg-grey-03 {
  background: var(--grey-03) !important;
}
.bg-grey-03:hover,
.bg-grey-03:active {
  background: var(--grey-03) !important;
}
.bg-grey-04 {
  background: var(--grey-04) !important;
}
.bg-grey-04:hover,
.bg-grey-04:active {
  background: var(--grey-04) !important;
}
.bg-grey-05,
.bg-grey {
  background: var(--grey-05) !important;
}
.bg-grey-05:hover,
.bg-grey:hover,
.bg-grey-05:active,
.bg-grey:active {
  background: var(--grey-05) !important;
}
.bg-grey-06 {
  background: var(--grey-06) !important;
}
.bg-grey-06:hover,
.bg-grey-06:active {
  background: var(--grey-06) !important;
}
.bg-grey-07 {
  background: var(--grey-07) !important;
}
.bg-grey-07:hover,
.bg-grey-07:active {
  background: var(--grey-07) !important;
}
.bg-grey-08 {
  background: var(--grey-08) !important;
}
.bg-grey-08:hover,
.bg-grey-08:active {
  background: var(--grey-08) !important;
}
.bg-green {
  background: var(--green) !important;
}
.bg-yellow {
  background: var(--yellow) !important;
}
.bg-orange {
  background: var(--orange) !important;
}
.bg-red {
  background: var(--red) !important;
}
.bg-green {
  background: var(--green) !important;
}
.bg-blue {
  background: var(--blue) !important;
}
.bg-purple {
  background: var(--purple) !important;
}
.bg-screen-color {
  background: var(--screen-color) !important;
}
.bg-program-color {
  background: var(--program-color) !important;
}
.bg-module-color {
  background: var(--module-color) !important;
}
/* BORDER COLOR HELPERS */
.no-border {
  border: none !important;
}
.border-white {
  border-color: var(--white) !important;
}
.border-black {
  border-color: var(--black) !important;
}
.border-grey-00 {
  border-color: var(--grey-00) !important;
}
.border-grey-00:hover,
.border-grey-00:active {
  border-color: var(--grey-00) !important;
}
.border-grey-01 {
  border-color: var(--grey-01) !important;
}
.border-grey-01:hover,
.border-grey-01:active {
  border-color: var(--grey-01) !important;
}
.border-grey-02 {
  border-color: var(--grey-02) !important;
}
.border-grey-02:hover,
.border-grey-02:active {
  border-color: var(--grey-02) !important;
}
.border-grey-03 {
  border-color: var(--grey-03) !important;
}
.border-grey-03:hover,
.border-grey-03:active {
  border-color: var(--grey-03) !important;
}
.border-grey-04 {
  border-color: var(--grey-04) !important;
}
.border-grey-04:hover,
.border-grey-04:active {
  border-color: var(--grey-04) !important;
}
.border-grey-05,
.border-grey {
  border-color: var(--grey-05) !important;
}
.border-grey-05:hover,
.border-grey:hover,
.border-grey-05:active,
.border-grey:active {
  border-color: var(--grey-05) !important;
}
.border-grey-06 {
  border-color: var(--grey-06) !important;
}
.border-grey-06:hover,
.border-grey-06:active {
  border-color: var(--grey-06) !important;
}
.border-grey-07 {
  border-color: var(--grey-07) !important;
}
.border-grey-07:hover,
.border-grey-07:active {
  border-color: var(--grey-07) !important;
}
.border-grey-08 {
  border-color: var(--grey-08) !important;
}
.border-grey-08:hover,
.border-grey-08:active {
  border-color: var(--grey-08) !important;
}
.border-green {
  border-color: var(--green) !important;
}
.border-yellow {
  border-color: var(--yellow) !important;
}
.border-orange {
  border-color: var(--orange) !important;
}
.border-red {
  border-color: var(--red) !important;
}
.border-green {
  border-color: var(--green) !important;
}
.border-blue {
  border-color: var(--blue) !important;
}
.border-purple {
  border-color: var(--purple) !important;
}
.border-screen-color {
  border-color: var(--screen-color) !important;
}
.border-program-color {
  border-color: var(--program-color) !important;
}
.border-module-color {
  border-color: var(--module-color) !important;
}
/* MARGIN & PADDING HELPERS */
.no-margin {
  margin: 0 !important;
}
.no-padding {
  padding: 0 !important;
}
.margin-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
.margin-10 {
  margin: 10px !important;
}
.margin-top-10 {
  margin-top: 10px !important;
}
.margin-bottom-10 {
  margin-bottom: 10px !important;
}
.margin-left-10 {
  margin-left: 10px !important;
}
.margin-right-10 {
  margin-right: 10px !important;
}
.margin-20 {
  margin: 20px !important;
}
.margin-top-20 {
  margin-top: 20px !important;
}
.margin-bottom-20 {
  margin-bottom: 20px !important;
}
.margin-left-20 {
  margin-left: 20px !important;
}
.margin-right-20 {
  margin-right: 20px !important;
}
.padding-10 {
  padding: 10px !important;
}
.padding-top-10 {
  padding-top: 10px !important;
}
.padding-bottom-10 {
  padding-bottom: 10px !important;
}
.padding-left-10 {
  padding-left: 10px !important;
}
.padding-right-10 {
  padding-right: 10px !important;
}
.padding-20 {
  padding: 20px !important;
}
.padding-top-20 {
  padding-top: 20px !important;
}
.padding-bottom-20 {
  padding-bottom: 20px !important;
}
.margin-left-20 {
  margin-left: 20px !important;
}
.margin-right-20 {
  margin-right: 20px !important;
}
/* TEXT HELPERS */
.text-nowrap {
  white-space: nowrap;
}
.word-wrap {
  max-width: 100%;
  word-wrap: break-word;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-ellipsis {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-highlight {
  color: var(--white);
  background: var(--yellow-dark);
  border-radius: 6px;
}
.font-xl {
  font-size: 1.4em;
}
.font-xxl {
  font-size: 2em;
}
.font-xxxl {
  font-size: 3em;
}
.font-xs {
  font-size: .8em;
}
.font-xxs {
  font-size: .6em;
}
.font-xxxs {
  font-size: .4em;
}
.uppercase {
  text-transform: uppercase;
}
/* LAYOUT HELPERS */
.flex,
[class*="flex-"] {
  display: flex;
}
.flex[class*="-end"],
[class*="flex-"][class*="-end"] {
  justify-content: flex-end !important;
}
.flex[class*="-center"],
[class*="flex-"][class*="-center"] {
  justify-content: center !important;
}
.flex[class*="-middle"],
[class*="flex-"][class*="-middle"] {
  align-items: center !important;
}
.flex[class*="-space"],
[class*="flex-"][class*="-space"] {
  justify-content: space-between !important;
}
.flex[class*="-wrap"],
[class*="flex-"][class*="-wrap"] {
  flex-wrap: wrap !important;
}
.flex[class*="-nowrap"],
[class*="flex-"][class*="-nowrap"] {
  flex-wrap: nowrap !important;
}
.flex[class*="-column"],
[class*="flex-"][class*="-column"] {
  flex-direction: column !important;
}
.flex[class*="-full"],
[class*="flex-"][class*="-full"] {
  width: 100%;
}
.flex[class*="-gap"],
[class*="flex-"][class*="-gap"] {
  gap: 10px;
}
.flex[class*="-gap-5"],
[class*="flex-"][class*="-gap-5"] {
  gap: 5px;
}
.column,
[class*="column-"] {
  column-gap: 0;
}
.column > *,
[class*="column-"] > * {
  margin-top: 0;
  break-inside: avoid;
}
.column[class*="-2"],
[class*="column-"][class*="-2"] {
  columns: 2;
}
.column[class*="-3"],
[class*="column-"][class*="-3"] {
  columns: 3;
}
/* OTHER HELPERS */
.hidden {
  display: none !important;
}
.stretch {
  height: 100%;
}
.full-max-width {
  max-width: 100%;
}
.no-scroll {
  overflow: hidden !important;
}
.no-select {
  user-select: none;
}
.scroll-x {
  overflow-x: scroll;
}
.scroll-y {
  overflow-y: scroll;
}
.no-shadow {
  box-shadow: none !important;
}
.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.dashed {
  border-style: dashed !important;
  border-color: var(--grey-04);
}
.spacer {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  background: none;
  border: none;
}
