/* app/assets/stylesheets/libraries/pretty_checkbox.css */
.pretty * {
  box-sizing: border-box;
}
.pretty input:not([type=checkbox]):not([type=radio]) {
  display: none;
}
.pretty {
  position: relative;
  display: inline-block;
  margin-right: 1em;
  white-space: nowrap;
  line-height: 1;
}
.pretty input {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 1em;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.pretty .state label {
  position: initial;
  display: inline-block;
  font-weight: normal;
  margin: 0;
  text-indent: 1.5em;
  min-width: calc(1em + 2px);
}
.pretty .state label:before,
.pretty .state label:after {
  content: "";
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  display: block;
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid transparent;
  z-index: 0;
  position: absolute;
  left: 0;
  top: calc(0% - (100% - 1em) - 8%);
  background-color: transparent;
}
.pretty .state label:before {
  border-color: #bdc3c7;
}
.pretty .state.p-is-hover,
.pretty .state.p-is-indeterminate {
  display: none;
}
.pretty.p-switch input {
  min-width: 2em;
}
.pretty.p-switch .state {
  position: relative;
}
.pretty.p-switch .state:before {
  content: "";
  border: 1px solid #bdc3c7;
  border-radius: 60px;
  width: 2em;
  box-sizing: unset;
  height: calc(1em + 2px);
  position: absolute;
  top: 0;
  top: calc(0% - (100% - 1em) - 16%);
  z-index: 0;
  transition: all 0.5s ease;
}
.pretty.p-switch .state label {
  text-indent: 2.5em;
}
.pretty.p-switch .state label:before,
.pretty.p-switch .state label:after {
  transition: all 0.5s ease;
  border-radius: 100%;
  left: 0;
  border-color: transparent;
  transform: scale(0.8);
}
.pretty.p-switch .state label:after {
  background-color: #bdc3c7 !important;
}
.pretty.p-switch input:checked ~ .state:before {
  border-color: #5a656b;
}
.pretty.p-switch input:checked ~ .state label:before {
  opacity: 0;
}
.pretty.p-switch input:checked ~ .state label:after {
  background-color: #5a656b !important;
  left: 1em;
}
.pretty.p-switch.p-fill input:checked ~ .state:before {
  border-color: #5a656b;
  background-color: #5a656b !important;
}
.pretty.p-switch.p-fill input:checked ~ .state label:before {
  opacity: 0;
}
.pretty.p-switch.p-fill input:checked ~ .state label:after {
  background-color: #fff !important;
  left: 1em;
}
.pretty input:checked ~ .state.p-primary label:after,
.pretty.p-toggle .state.p-primary label:after {
  background-color: #428bca !important;
}
.pretty input:checked ~ .state.p-primary .icon,
.pretty input:checked ~ .state.p-primary .svg,
.pretty.p-toggle .state.p-primary .icon,
.pretty.p-toggle .state.p-primary .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-primary-o label:before,
.pretty.p-toggle .state.p-primary-o label:before {
  border-color: #428bca;
}
.pretty input:checked ~ .state.p-primary-o label:after,
.pretty.p-toggle .state.p-primary-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-primary-o .icon,
.pretty input:checked ~ .state.p-primary-o .svg,
.pretty input:checked ~ .state.p-primary-o svg,
.pretty.p-toggle .state.p-primary-o .icon,
.pretty.p-toggle .state.p-primary-o .svg,
.pretty.p-toggle .state.p-primary-o svg {
  color: #428bca;
  stroke: #428bca;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-primary-o label:after {
  background-color: #428bca !important;
}
.pretty.p-switch input:checked ~ .state.p-primary:before {
  border-color: #428bca;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-primary:before {
  background-color: #428bca !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-primary:before {
  border-color: rgb(14.2570085886%, 33.8940204181%, 50.8410306271%);
  background-color: rgb(14.2570085886%, 33.8940204181%, 50.8410306271%) !important;
}
.pretty input:checked ~ .state.p-info label:after,
.pretty.p-toggle .state.p-info label:after {
  background-color: #5bc0de !important;
}
.pretty input:checked ~ .state.p-info .icon,
.pretty input:checked ~ .state.p-info .svg,
.pretty.p-toggle .state.p-info .icon,
.pretty.p-toggle .state.p-info .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-info-o label:before,
.pretty.p-toggle .state.p-info-o label:before {
  border-color: #5bc0de;
}
.pretty input:checked ~ .state.p-info-o label:after,
.pretty.p-toggle .state.p-info-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-info-o .icon,
.pretty input:checked ~ .state.p-info-o .svg,
.pretty input:checked ~ .state.p-info-o svg,
.pretty.p-toggle .state.p-info-o .icon,
.pretty.p-toggle .state.p-info-o .svg,
.pretty.p-toggle .state.p-info-o svg {
  color: #5bc0de;
  stroke: #5bc0de;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-info-o label:after {
  background-color: #5bc0de !important;
}
.pretty.p-switch input:checked ~ .state.p-info:before {
  border-color: #5bc0de;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-info:before {
  background-color: #5bc0de !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-info:before {
  border-color: rgb(13.8608539863%, 56.2834677018%, 68.884244053%);
  background-color: rgb(13.8608539863%, 56.2834677018%, 68.884244053%) !important;
}
.pretty input:checked ~ .state.p-success label:after,
.pretty.p-toggle .state.p-success label:after {
  background-color: #38cd8b !important;
}
.pretty input:checked ~ .state.p-success .icon,
.pretty input:checked ~ .state.p-success .svg,
.pretty.p-toggle .state.p-success .icon,
.pretty.p-toggle .state.p-success .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-success-o label:before,
.pretty.p-toggle .state.p-success-o label:before {
  border-color: #38cd8b;
}
.pretty input:checked ~ .state.p-success-o label:after,
.pretty.p-toggle .state.p-success-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-success-o .icon,
.pretty input:checked ~ .state.p-success-o .svg,
.pretty input:checked ~ .state.p-success-o svg,
.pretty.p-toggle .state.p-success-o .icon,
.pretty.p-toggle .state.p-success-o .svg,
.pretty.p-toggle .state.p-success-o svg {
  color: #38cd8b;
  stroke: #38cd8b;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-success-o label:after {
  background-color: #38cd8b !important;
}
.pretty.p-switch input:checked ~ .state.p-success:before {
  border-color: #38cd8b;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-success:before {
  background-color: #38cd8b !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-success:before {
  border-color: rgb(12.520670919%, 49.8322702575%, 33.3049846445%);
  background-color: rgb(12.520670919%, 49.8322702575%, 33.3049846445%) !important;
}
.pretty input:checked ~ .state.p-warning label:after,
.pretty.p-toggle .state.p-warning label:after {
  background-color: #f0ad4e !important;
}
.pretty input:checked ~ .state.p-warning .icon,
.pretty input:checked ~ .state.p-warning .svg,
.pretty.p-toggle .state.p-warning .icon,
.pretty.p-toggle .state.p-warning .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-warning-o label:before,
.pretty.p-toggle .state.p-warning-o label:before {
  border-color: #f0ad4e;
}
.pretty input:checked ~ .state.p-warning-o label:after,
.pretty.p-toggle .state.p-warning-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-warning-o .icon,
.pretty input:checked ~ .state.p-warning-o .svg,
.pretty input:checked ~ .state.p-warning-o svg,
.pretty.p-toggle .state.p-warning-o .icon,
.pretty.p-toggle .state.p-warning-o .svg,
.pretty.p-toggle .state.p-warning-o svg {
  color: #f0ad4e;
  stroke: #f0ad4e;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-warning-o label:after {
  background-color: #f0ad4e !important;
}
.pretty.p-switch input:checked ~ .state.p-warning:before {
  border-color: #f0ad4e;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-warning:before {
  background-color: #f0ad4e !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-warning:before {
  border-color: rgb(78.0882352941%, 48.5294117647%, 6.6176470588%);
  background-color: rgb(78.0882352941%, 48.5294117647%, 6.6176470588%) !important;
}
.pretty input:checked ~ .state.p-danger label:after,
.pretty.p-toggle .state.p-danger label:after {
  background-color: #d9534f !important;
}
.pretty input:checked ~ .state.p-danger .icon,
.pretty input:checked ~ .state.p-danger .svg,
.pretty.p-toggle .state.p-danger .icon,
.pretty.p-toggle .state.p-danger .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-danger-o label:before,
.pretty.p-toggle .state.p-danger-o label:before {
  border-color: #d9534f;
}
.pretty input:checked ~ .state.p-danger-o label:after,
.pretty.p-toggle .state.p-danger-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-danger-o .icon,
.pretty input:checked ~ .state.p-danger-o .svg,
.pretty input:checked ~ .state.p-danger-o svg,
.pretty.p-toggle .state.p-danger-o .icon,
.pretty.p-toggle .state.p-danger-o .svg,
.pretty.p-toggle .state.p-danger-o svg {
  color: #d9534f;
  stroke: #d9534f;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-danger-o label:after {
  background-color: #d9534f !important;
}
.pretty.p-switch input:checked ~ .state.p-danger:before {
  border-color: #d9534f;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-danger:before {
  background-color: #d9534f !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-danger:before {
  border-color: rgb(62.5691772036%, 14.9312809236%, 13.509254169%);
  background-color: rgb(62.5691772036%, 14.9312809236%, 13.509254169%) !important;
}

/* app/assets/stylesheets/libraries/draggable.css */
.draggable-source--hide {
  display: none !important;
}
#full-draggable-sentence:hover #placeholder {
  display: none;
}

/* app/assets/stylesheets/libraries/tip_tap.css */
.ProseMirror > * + * {
  margin-top: 0.75em;
}
.ProseMirror p.is-editor-empty:first-child::before {
  color: #adb5bd;
  content: attr(data-placeholder);
  float: left;
  height: 0;
  pointer-events: none;
}

/* app/assets/stylesheets/libraries/tom_select_theme.css */
.ts-control {
  border: 1px solid #ced4da;
  padding: 0.5rem 1rem;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: 0.25rem;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc(0.5rem - 1px - 0px) 1rem calc(0.5rem - 1px - 3px - 0px);
}
.full .ts-control {
  background-color: #ffffff;
}
.disabled .ts-control,
.disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: none;
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 1px 5px;
  background: #efefef;
  color: #182e33;
  border: 0px solid #dee2e6;
  overflow: auto;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #3d79ee;
  color: #fff;
  border: 0px solid rgba(0, 0, 0, 0);
}
.ts-wrapper.multi.disabled .ts-control > div,
.ts-wrapper.multi.disabled .ts-control > div.active {
  color: #727272;
  background: hsl(0, 0%, 123.7254901961%);
  border: 0px solid hsl(0, 0%, 118.6274509804%);
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0px 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: calc(1rem + 5px);
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0px 4px 0px -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #e9ecef;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}
.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #ffffff;
  margin: 0.25rem 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 0.25rem 0.25rem;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(255, 237, 40, 0.4);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 3px 1rem;
}
.ts-dropdown .option,
.ts-dropdown [data-disabled],
.ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #516365;
  background: #ffffff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #e9ecef;
  color: rgb(15%, 15%, 15%);
}
.ts-dropdown .active.create {
  color: rgb(15%, 15%, 15%);
}
.ts-dropdown .create {
  color: rgba(24, 46, 51, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 3px 1rem;
}
.ts-dropdown .spinner::after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ts-dropdown-content {
  overflow: hidden auto;
  max-height: 200px;
  scroll-behavior: smooth;
}
.ts-wrapper.plugin-drag_drop .ts-dragging {
  color: transparent !important;
}
.ts-wrapper.plugin-drag_drop .ts-dragging > * {
  visibility: hidden !important;
}
.plugin-checkbox_options:not(.rtl) .option input {
  margin-right: 0.5rem;
}
.plugin-checkbox_options.rtl .option input {
  margin-left: 0.5rem;
}
.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(1rem - 5px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button,
.plugin-clear_button.single .clear-button {
  right: max(var(--ts-pr-caret), 1rem);
}
.plugin-clear_button.focus.has-items .clear-button,
.plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}
.ts-wrapper .dropdown-header {
  position: relative;
  padding: 6px 1rem;
  border-bottom: 1px solid #d0d0d0;
  background: color-mix(#ffffff, #d0d0d0, 85%);
  border-radius: 0.25rem 0.25rem 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 1rem;
  top: 50%;
  color: #182e33;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: hsl(191.1111111111, 36%, -10.2941176471%);
}
.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #ced4da;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px;
  display: block;
  padding: 0.5rem 1rem;
  box-shadow: none;
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input.focus .ts-dropdown .dropdown-input {
  border-color: rgb(69.8931326085%, 79.2045348945%, 97.3617693523%);
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(61, 121, 238, 0.25);
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder,
.plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}
.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}
.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup::before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}
.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 5px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item {
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #dee2e6;
  margin-left: 5px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: rgba(0, 0, 0, 0);
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: hsl(0, 0%, 118.6274509804%);
}
.ts-wrapper.plugin-remove_button.rtl .item {
  padding-left: 0 !important;
}
.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #dee2e6;
  margin-right: 5px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: rgba(0, 0, 0, 0);
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: hsl(0, 0%, 118.6274509804%);
}
:root {
  --ts-pr-clear-button: 0px;
  --ts-pr-caret: 0px;
  --ts-pr-min: .75rem;
}
.ts-wrapper.single .ts-control,
.ts-wrapper.single .ts-control input {
  cursor: pointer;
}
.ts-control:not(.rtl) {
  padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}
.ts-control.rtl {
  padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;
}
.ts-wrapper {
  position: relative;
}
.ts-dropdown,
.ts-control,
.ts-control input {
  color: #182e33;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.5;
}
.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #ffffff;
  cursor: text;
}
.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}
.ts-wrapper.single .ts-control {
  --ts-pr-caret: 2rem;
}
.ts-wrapper.single .ts-control::after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: #182e33 transparent transparent transparent;
}
.ts-wrapper.single .ts-control:not(.rtl)::after {
  right: calc(1rem + 5px);
}
.ts-wrapper.single .ts-control.rtl::after {
  left: calc(1rem + 5px);
}
.ts-wrapper.single.dropdown-active .ts-control::after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #182e33 transparent;
}
.ts-wrapper.single.input-active .ts-control,
.ts-wrapper.single.input-active .ts-control input {
  cursor: text;
}
.ts-wrapper.form-control,
.ts-wrapper.form-select {
  padding: 0 !important;
}
.ts-dropdown,
.ts-dropdown.form-control {
  height: auto;
  padding: 0;
  z-index: 1000;
  background: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 0.25rem;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.ts-dropdown .optgroup-header {
  font-size: 0.875rem;
  line-height: 1.5;
}
.ts-dropdown .optgroup:first-child::before {
  display: none;
}
.ts-dropdown .optgroup::before {
  content: " ";
  display: block;
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
  margin-left: -1rem;
  margin-right: -1rem;
}
.ts-dropdown .create {
  padding-left: 1rem;
}
.ts-dropdown-content {
  padding: 5px 0;
}
.ts-control {
  min-height: calc(1.5em + 1rem + 2px);
  display: flex;
  align-items: center;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .ts-control {
    transition: none;
  }
}
.focus .ts-control {
  border-color: rgb(69.8931326085%, 79.2045348945%, 97.3617693523%);
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(61, 121, 238, 0.25);
}
.ts-control input::placeholder {
  color: #a7aeb8;
  opacity: 1;
}
.is-invalid .ts-control,
.was-validated .invalid .ts-control {
  border-color: #fa5c5c;
}
.focus .is-invalid .ts-control,
.focus .was-validated .invalid .ts-control {
  border-color: rgb(97.443977591%, 16.6736694678%, 16.6736694678%);
  box-shadow: 0 0 0 0.2rem rgba(250, 92, 92, 0.25);
}
.is-valid .ts-control {
  border-color: #38cd8b;
}
.focus .is-valid .ts-control {
  border-color: #38cd8b;
  box-shadow: 0 0 0 0.2rem rgba(56, 205, 139, 0.25);
}
.input-group-sm > .ts-wrapper .ts-control,
.ts-wrapper.form-control-sm .ts-control {
  min-height: calc(1.5em + 0.7rem + 2px);
  padding: 0 0.75rem;
  border-radius: 0.2rem;
  font-size: 0.875rem;
}
.input-group-sm > .ts-wrapper.has-items .ts-control,
.ts-wrapper.form-control-sm.has-items .ts-control {
  min-height: calc(1.5em + 0.7rem + 2px) !important;
  font-size: 0.875rem;
  padding-bottom: 0;
}
.input-group-sm > .ts-wrapper.multi.has-items .ts-control,
.ts-wrapper.form-control-sm.multi.has-items .ts-control {
  padding-top: calc((1.5em + 0.7rem + 2px - 1.3125rem - 4px) / 2) !important;
}
.ts-wrapper.multi.has-items .ts-control {
  padding-left: calc(1rem - 5px);
  --ts-pr-min: calc(1rem - 5px);
}
.ts-wrapper.multi .ts-control > div {
  border-radius: calc(0.25rem - 1px);
}
.input-group-lg > .ts-wrapper > .ts-control,
.ts-wrapper.form-control-lg .ts-control {
  min-height: calc(1.5em + 1.5rem + 2px);
  border-radius: 0.3rem;
  font-size: 1.25rem;
}
.form-control.ts-wrapper {
  padding: 0;
  height: auto;
  border: none;
  background: none;
  border-radius: 0;
}
.input-group > .ts-wrapper {
  flex-grow: 1;
}
.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .ts-wrapper:not(:last-child) > .ts-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* app/assets/stylesheets/libraries/tom_select.css */
.ts-dropdown-content .option {
  display: flex;
  align-items: center;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.ts-wrapper.plugin-remove_button .item {
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  background-color: var(--color-gray-lightest);
}
html:root .ts-wrapper .ts-control,
html:root .ts-wrapper.single .ts-control {
  min-height: 2.4375rem;
  padding: 0.375rem 0.5rem;
  border-color: var(--color-border-input);
  border-radius: var(--radius-md);
  background-color: var(--blanc);
  box-shadow: none;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.6875rem;
}
html:root .ts-wrapper .ts-control > input {
  color: var(--color-text);
}
html:root .ts-wrapper.single .ts-control::after,
html:root .ts-wrapper.single.dropdown-active .ts-control::after {
  width: 1rem;
  height: 1rem;
  margin-top: -0.5rem;
  border: 0;
  background-color: var(--color-text);
  mask: var(--icon-chevron-down) center/contain no-repeat;
}
html:root .ts-wrapper.single .ts-control:not(.rtl)::after {
  right: 0.5rem;
}
html:root .ts-wrapper.single.dropdown-active .ts-control::after {
  rotate: 180deg;
}
html:root .ts-wrapper.focus .ts-control {
  border-color: var(--color-focus-ring);
  box-shadow: none;
}
html:root .ts-dropdown {
  border-color: var(--color-border-input);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hover);
}

/* app/assets/stylesheets/base/typography.css */
hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
small,
.small,
p.help-block {
  font-size: 80%;
  font-weight: 400;
}
p {
  margin-bottom: 0;
}
.title {
  font-weight: 600;
  color: var(--color-dark);
  font-family: var(--main-font);
}
.paragraph,
.paragraph__md,
.paragraph__xs {
  font-weight: 400;
  font-family: var(--main-font);
  color: #516365;
}
.paragraph__xs {
  font-size: 0.75rem;
}
.paragraph__md {
  font-size: 1rem;
}
.paragraph__secondary {
  font-size: 1rem;
  font-weight: 400;
  font-family: var(--main-font);
  color: #adb5bd;
}

/* app/assets/stylesheets/components/banners/banner_markerging_pages.css */
.marketing-banner {
  position: relative;
  height: 30vw;
  max-height: 330px;
}
.marketing-banner__content {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 50%;
  min-width: 380px;
  text-align: center;
  color: #04272d;
}
@media (max-width: 767.98px) {
  .marketing-banner__content {
    transform: scale(0.84) translate(-50%, -50%);
    transform-origin: center;
  }
}
.marketing-banner__bottom-left-shape {
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 991.98px) {
  .marketing-banner__bottom-left-shape {
    transform: scale(0.7);
    transform-origin: left bottom;
  }
}
@media (max-width: 767.98px) {
  .marketing-banner__bottom-left-shape {
    transform: scale(0.5);
    transform-origin: left bottom;
  }
}
.marketing-banner__bird {
  position: absolute;
  bottom: 0;
  left: 30px;
}
@media (max-width: 991.98px) {
  .marketing-banner__bird {
    transform: scale(0.7);
    transform-origin: left bottom;
  }
}
@media (max-width: 767.98px) {
  .marketing-banner__bird {
    transform: scale(0.5);
    transform-origin: left bottom;
  }
}
.marketing-banner__bottom-right-shape {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (max-width: 991.98px) {
  .marketing-banner__bottom-right-shape {
    transform: scale(0.7);
    transform-origin: right bottom;
  }
}
@media (max-width: 767.98px) {
  .marketing-banner__bottom-right-shape {
    transform: scale(0.5);
    transform-origin: right bottom;
  }
}
.marketing-banner__top-right-shape {
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 991.98px) {
  .marketing-banner__top-right-shape {
    transform: scale(0.7);
    transform-origin: right top;
  }
}
@media (max-width: 767.98px) {
  .marketing-banner__top-right-shape {
    transform: scale(0.5);
    transform-origin: right top;
  }
}
@media (max-width: 575.98px) {
  .marketing-banner {
    height: 45vh;
    overflow: hidden;
  }
  .marketing-banner .marketing-banner__bird {
    display: none;
  }
  .marketing-banner .marketing-banner__bottom-left-shape {
    bottom: -15%;
  }
  .marketing-banner .marketing-banner__content {
    transform: translate(-50%, -50%);
    width: 80%;
    min-width: unset;
    max-width: unset;
  }
}

/* app/assets/stylesheets/components/cards/status_icon.css */
.status-icon {
  background: #fff;
  border-radius: 50%;
  height: 3.5em;
  height: clamp(3.5em, 5vw, 4.5em);
  width: 3.5em;
  width: clamp(3.5em, 5vw, 4.5em);
  overflow: hidden;
  z-index: 20;
}
@media (max-width: 575.98px) {
  .status-icon {
    transform: scale(1.2);
    transform-origin: right bottom;
  }
}
.status-icon__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 150%;
  max-height: 150%;
}
html:root .status-icon.status-icon--2026 {
  background: transparent;
  overflow: visible;
  width: 4.25rem;
  height: 4.25rem;
}
html:root .status-icon.status-icon--2026 .status-icon__img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}

/* app/assets/stylesheets/components/cards/welcome_space_card.css */
.welcome-space-card {
  background: #fff;
  box-shadow: 0px 2px 20px #ebf0f1 !important;
  min-height: 200px;
  display: grid;
  grid-template-rows: 55% \200b 1fr 1f;
  padding: 13% 0.5rem;
  position: relative;
  border-radius: 0.25rem;
  text-align: center;
  position: relative;
  font-weight: 400;
  transition:
    visibility 0s ease-in var(--showMoreTransition),
    box-shadow 0.3s cubic-bezier(0, 0, 0.2, 1),
    min-height var(--showMoreTransition) ease-in-out;
}
.welcome-space-card > * {
  margin: 0;
  padding: 0;
}
.welcome-space-card__img {
  display: flex;
  margin: 0 auto;
  width: 5rem;
  flex-direction: column;
  justify-content: space-around;
  object-fit: contain;
}
.welcome-space-card__img .avatar {
  transition: none;
}
.welcome-space-card:hover {
  background: #fff;
  box-shadow:
    0 6px 10px 0 #ebf0f1,
    0 1px 18px 0 #cdd9dc,
    0 3px 5px -1px #aec2c6 !important;
  cursor: pointer;
}
.welcome-space-card--hidden {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s ease-in 0s, min-height var(--showMoreTransition) ease-in-out;
  min-height: 0;
  max-height: 0;
  padding: 0;
  position: absolute;
}
.welcome-space-card__more {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 100;
}
.welcome-space-card__badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 4px;
  font-weight: 500;
  border-radius: 1rem;
  background: #f5d944;
  color: #495057;
}
html:root .welcome-space-card {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
html:root .welcome-space-card:hover {
  box-shadow: var(--shadow-hover);
}
html:root .welcome-space-aside__description,
html:root .welcome-space__aside__description {
  color: var(--gris-110);
}

/* app/assets/stylesheets/components/forms/label.css */
label {
  margin-bottom: 0.5rem;
}
abbr[title],
abbr[data-original-title] {
  text-decoration: none !important;
}

/* app/assets/stylesheets/components/subscription/plan.css */
.subscription-plans {
  display: flex;
  justify-content: center;
}
.subscription-plans h4 {
  color: #305d66;
  font-size: 1.5rem;
}
.text-plans {
  color: #516365;
  font-size: 1rem;
}

/* app/assets/stylesheets/components/avatar.css */
.avatar {
  object-fit: contain;
  flex-shrink: 0;
}
.avatar.avatar-xxl {
  height: 9rem;
  width: 9rem;
}
.avatar.avatar-xl {
  height: 6rem;
  width: 6rem;
}
.avatar.avatar-lg {
  height: 4.5rem;
  width: 4.5rem;
}
.avatar.avatar-md {
  height: 2.5rem;
  width: 2.5rem;
}
.avatar.avatar-sm {
  height: 2rem;
  width: 2rem;
}
.avatar.avatar-xs {
  height: 1.5rem;
  width: 1.5rem;
}
.avatar.avatar__selected {
  border-style: solid;
  border-color: var(--color-yellow);
  border-width: 2px;
  padding: 0.25rem;
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

/* app/assets/stylesheets/components/bullet.css */
.bullet {
  display: flex;
  align-items: top;
  text-align: left;
  margin: 0.75rem 0;
}
.bullet__icon {
  margin-right: 1rem;
}
.bullet__icon--light-blue svg {
  fill: #7ec9d2;
  stroke: #fff;
}
.bullet__icon--brand svg {
  fill: #356771;
  stroke: #fff;
}
.bullet__icon--blue svg {
  fill: #3d79ee;
  stroke: #fff;
}
.bullet__icon--orange svg {
  fill: #fd7e14;
  stroke: #fff;
}
.bullet__icon--green svg {
  fill: #38cd8b;
  stroke: #fff;
}
.bullet__icon--yellow svg {
  fill: #f9b233;
  stroke: #fff;
}
.bullet.bullet--lg svg {
  width: 1.5rem;
  height: 1.5rem;
}
.bullet.bullet--sm svg {
  width: 0.9rem;
  height: 0.9rem;
}

/* app/assets/stylesheets/components/buttons.css */
.btn,
.grades .grade {
  font-size: 1rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-weight: 600;
}
.btn-warning,
.btn-warning:hover {
  color: #4a4114;
}
.btn-warning svg,
.btn-warning:hover svg {
  stroke: #4a4114;
}
.btn-warning .text-white {
  color: #fefdf5;
}
.btn-primary,
.btn-primary:hover {
  color: #fff7f7;
}
.btn-primary svg,
.btn-primary:hover svg {
  stroke: #fff7f7;
}
.btn-success,
.btn-success:hover,
.btn-success:disabled {
  color: var(--color-green-lightest);
}
.btn-success svg,
.btn-success:hover svg,
.btn-success:disabled svg {
  stroke: var(--color-green-lightest);
}
.btn-success:focus {
  box-shadow: 0 0 0 0.1rem #6bddac;
}
.plume-gray-bg {
  color: #182e33;
  background-color: #e9ecef;
}
.btn-link:hover {
  text-decoration: none;
}
.btn-round {
  border-radius: 1.5rem;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.btn-ir {
  background-color: white;
  flex-grow: 0;
  border: none;
}
.btn-ir.inactive {
  cursor: not-allowed;
  opacity: 0.4;
}
.btn-ir img {
  height: 30px;
  width: 30px;
}
@media (max-width: 575.98px) {
  .btn-ir img {
    height: 25px;
    width: 25px;
  }
}
.btn-continue {
  border-radius: 2rem;
  display: inline-block;
  border: 1px solid #96cbce;
  color: #04272d;
  background-color: #f3fcfb;
  font-weight: 500 !important;
  cursor: pointer;
}
.btn-continue:hover {
  background-color: rgb(71.2941176471%, 92.8235294118%, 90.431372549%);
}
.btn-continue a {
  color: #04272d;
  text-decoration: none;
}
.button_to {
  display: flex;
  align-items: center;
  font-size: 100%;
  height: inherit;
  width: inherit;
  font-family: inherit;
  border: unset;
  padding: unset;
  background-color: unset;
}
.button_to button {
  font-size: 100%;
  font-family: inherit;
  border: unset;
  padding: unset;
}

/* app/assets/stylesheets/components/card.css */
.cards {
  background: #fff;
  border-radius: 5px;
  position: relative;
  height: 100%;
}
.cards a {
  display: flex;
  flex-direction: column;
}
.cards a:focus {
  outline: 0 !important;
  box-shadow: 0;
}
.cards__label {
  border-radius: 0.25rem;
  background-color: #f5d944;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0 0.25rem;
}
.cards__content {
  position: relative;
  padding: 1rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cards__content.dojo_universe {
  padding: 1rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cards__content.dojo_universe .cards__title {
  text-align: center;
}
.cards__image {
  position: relative;
}
.cards__title {
  text-align: center;
}
.cards__short-description {
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
  height: 2.6rem;
  line-height: 1.3rem;
  -webkit-box-orient: vertical;
  display: block;
  display: -webkit-inline-box;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}
.cards__dojos-universe {
  display: flex;
  flex-direction: column;
}
.cards__dojos-universe .status-icon {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 4rem !important;
  height: 4rem !important;
}
.cards__kid-story {
  display: flex;
  flex-direction: column;
}
.cards__kid-story .status-icon {
  top: 1rem;
  height: 2.5em;
  height: clamp(2.5em, 4vw, 3.5em);
  width: 2.5em;
  width: clamp(2.5em, 4vw, 3.5em);
}
@media (max-width: 767.98px) {
  .cards__kid-story .status-icon {
    right: 0.25rem;
  }
}
.cards__story .cards__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 2.5rem;
}
.cards__story .status-icon {
  bottom: 95%;
}
.hovering {
  transform: scale(0.98);
  transition: all 0.3s ease-in-out;
}
.hovering .badges .badge {
  background-color: #f5d944;
}
.hovering:hover {
  transform: scale(1);
  transition: all 0.3s ease-in-out;
  box-shadow: 0 10px 15px -3px var(--box-shadow-main-color);
}
.hovering:hover.rotate {
  transform: rotate(2deg);
}
html:root .hovering,
html:root .hovering:hover {
  transform: none;
}
html:root .hovering:hover {
  box-shadow: var(--shadow-hover);
}
.hovering-img img {
  transform: scale(1);
  transition: all 0.3s ease;
}
.hovering-img:hover img {
  transform: scale(1.15);
}
.card-correction-corrected {
  border: 2px solid #38cd8b;
}
.card-correction-corrected .highlight-green {
  color: #38cd8b;
}
.card-correction-corrected .highlight-grey {
  color: #516365;
}
.card-correction-corrected .highlight-red {
  color: #fa5c5c;
}
.card-correction-review {
  border: 2px solid #3d79ee;
}
.card-correction-review .highlight-green {
  color: #38cd8b;
}
.card-correction-review .highlight-grey {
  color: #516365;
}
.card-correction-review .highlight-red {
  color: #fa5c5c;
}
.card-kid a {
  text-decoration: none;
}
.card-kid span {
  color: #04272d;
}
.card-img-overlay {
  bottom: unset;
  padding: 1rem;
  left: unset !important;
}
.card-smooth-appear {
  transform: translate3d(0, 0.5rem, 0);
  opacity: 0;
  transition: 0.3s ease-in-out;
}
.card-smooth-appear--loaded {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* app/assets/stylesheets/components/check.css */
.form-check-input {
  position: relative;
  -webkit-appearance: none;
  width: 1.5rem;
  height: 1.5rem;
  background: rgba(241, 242, 244, 0.31);
  border: 1px solid #ced4da;
  cursor: pointer;
  border-radius: 4px;
  background-position: center;
  background-repeat: no-repeat;
  transition: 0.2s ease-out;
  flex-shrink: 0;
}
.form-check-input:checked {
  border: 1px solid #182e33;
  background-image: url("/assets/icons/ic_check_green-7233af79.svg");
}
.form-check-input:indeterminate {
  border: 1px solid #182e33;
  background-image: url("/assets/icons/ic_intermediate_green-214e0228.svg");
}

/* app/assets/stylesheets/components/dots.css */
.blue-dot {
  height: 8px;
  width: 8px;
  border-radius: 8px;
  background-color: #3d79ee;
  right: 10px;
}

/* app/assets/stylesheets/components/editor.css */
.editor {
  position: relative;
}
.editor .character-wrapper {
  position: absolute;
  height: 180px;
  width: 360px;
  right: 0;
  top: -180px;
}
@media only screen and (max-width: 760px) {
  .editor .character-wrapper {
    width: 320px;
  }
}
@media only screen and (max-width: 576px) {
  .editor .character-wrapper {
    display: none !important;
  }
}
.editor img.editor-character {
  position: absolute;
  right: 2vw;
  bottom: 0;
  width: 40px;
  height: 55px;
}

/* app/assets/stylesheets/components/feature.css */
.feature {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* app/assets/stylesheets/components/form_wizard.css */
.form-wizard .steps {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
}
.form-wizard .steps .step {
  display: none;
}
.form-wizard .steps .step.step--current {
  display: block;
}

/* app/assets/stylesheets/components/grades.css */
.grades {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  justify-items: center;
  grid-row-gap: 1rem;
  grid-column-gap: 1rem;
}
.grades .grade {
  border-color: var(--color-brand);
  font-size: 1rem;
  color: var(--color-brand);
  min-width: 8rem;
  width: 100%;
}
.grades .grade:hover {
  box-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--color-brand);
  color: var(--color-brand);
}
@media (max-width: 767.98px) {
  .grades .grade {
    font-size: 0.9rem;
    padding: 0.5rem 0;
    min-width: 7rem;
  }
}
.grades .active {
  background-color: var(--color-brand);
  color: #fff;
}
.grades .active:hover {
  opacity: 0.85;
  color: #fff;
}
.grades.fr {
  grid-template-columns: 1fr 1fr 1fr;
}
.grades.us {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* app/assets/stylesheets/components/image-badge.css */
.image-badge-container {
  position: relative;
}

/* app/assets/stylesheets/components/image.css */
.img-md {
  height: 3rem;
  width: auto;
}

/* app/assets/stylesheets/components/mobile_bottom_navbar.css */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  will-change: transform;
  transform: translateZ(0);
  height: 80px;
  box-shadow: 0 -2px 5px -2px #333;
  background-color: #fff;
}
.mobile-bottom-nav__item {
  flex-grow: 1;
  text-align: center;
  font-size: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mobile-bottom-nav__item--active {
  color: red;
}
.mobile-bottom-nav__item-content {
  display: flex;
  flex-direction: column;
}

/* app/assets/stylesheets/components/navbar.css */
@media only screen and (max-width: 991px) {
  .navbar[data-navbar-open=true] {
    background-color: #c3f2fa !important;
  }
}
@media (max-width: 767.98px) {
  .dropdown-toggle::after {
    content: none;
  }
}
.navbar.navbar-app {
  height: 4rem;
}
@media (min-width: 992px) {
  .navbar.navbar-app .adaptative-width {
    width: 8rem;
  }
}
.navbar.navbar-app .navbar-left-menu {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.navbar__center {
  flex: 1 1 auto;
}
.navbar__left,
.navbar__right {
  width: 8em;
}
@media (max-width: 575.98px) {
  .navbar__left,
  .navbar__right {
    width: 3em;
  }
}
@media (max-width: 575.98px) {
  .navbar__logo {
    height: 20px;
  }
}

/* app/assets/stylesheets/components/pagination.css */
.pagination {
  text-align: center;
  padding: 1rem;
  cursor: default;
}
.pagination a,
.pagination span {
  padding: 0.2em 0.3em;
}
.pagination .disabled {
  color: #aaaaaa;
}
.pagination .current {
  font-style: inherit;
  font-weight: 600;
  background-color: #cfdefb;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  line-height: 1.5;
  border-radius: 1em;
  text-shadow: rgba(255, 255, 255, 0.8) 1px 1px 1px;
}
.pagination a {
  text-decoration: none;
  color: #495057;
}
.pagination a:hover,
.pagination a:focus {
  text-decoration: underline;
}

/* app/assets/stylesheets/components/potatoes.css */
.potato1 {
  border-radius: 32% 68% 51% 49%/41% 33% 67% 59% !important;
  transition: border-radius 1s;
}
.potato1:hover {
  border-radius: 0px !important;
}
.potato0 {
  border-radius: 73% 27% 51% 49%/41% 50% 50% 59% !important;
  transition: border-radius 1s;
}
.potato0:hover {
  border-radius: 0px !important;
}
.potato2:hover {
  border-radius: 0px !important;
}
.potato2 {
  border-radius: 32% 68% 22% 78%/61% 38% 62% 39% !important;
  transition: border-radius 1s;
}

/* app/assets/stylesheets/components/progress.css */
.progress {
  width: 100%;
}
.progress.progress-sm {
  height: 0.25rem;
  border-radius: 0.125rem;
}
.progress.progress-md {
  height: 0.4rem;
  border-radius: 0.2rem;
}
.progress.progress-lg {
  height: 0.7rem;
  border-radius: 0.35rem;
}
.progress.progress-xl {
  height: 1rem;
  border-radius: 0.5rem;
}

/* app/assets/stylesheets/components/review.css */
.review {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  min-height: 275px;
  width: 458px;
  background-color: #fff;
  box-shadow: 0 2px 14px 0 rgba(37, 60, 63, 0.15);
}
@media only screen and (min-width: 981px) and (max-width: 1330px) {
  .reviews h2,
  .reviews h3 {
    margin-left: 15rem;
  }
}
.reviews {
  background-color: #edfdf5;
  position: relative;
}

/* app/assets/stylesheets/components/shake.css */
.shake {
  animation: shake 0.5s;
  animation-iteration-count: infinite;
}
@keyframes shake {
  0% {
    transform: translate(1px, 1px) rotate(0deg);
  }
  10% {
    transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    transform: translate(-3px, 0px) rotate(1deg);
  }
  30% {
    transform: translate(3px, 2px) rotate(0deg);
  }
  40% {
    transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    transform: translate(-3px, 1px) rotate(0deg);
  }
  70% {
    transform: translate(3px, 1px) rotate(-1deg);
  }
  80% {
    transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    transform: translate(1px, 2px) rotate(0deg);
  }
  100% {
    transform: translate(1px, -2px) rotate(-1deg);
  }
}

/* app/assets/stylesheets/components/help_block.css */
p.help-block {
  color: #516365;
  font-weight: 300;
}

/* app/assets/stylesheets/components/spinner.css */
.spinner--busy {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10000;
  height: 100vh;
  width: 100vw;
  opacity: 0.5;
  background-color: black;
}

/* app/assets/stylesheets/components/swiper.css */
.swiper-container .swiper-wrapper {
  min-height: 280px;
}
.swiper-container-initialized .swiper-wrapper {
  min-height: unset;
}
.swiper-button-next,
.swiper-button-prev {
  padding: 2rem !important;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  transition: background-color 0.5s ease-in-out;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  color: #fa5c5c;
  font-size: 25px !important;
  padding-left: 4px;
}
@media (hover: hover) and (pointer: fine) {
  .swiper-button-next:hover,
  .swiper-button-prev:hover {
    background-color: rgb(255, 255, 255);
    transition: background-color 0.5s ease-in-out;
  }
}
.swiper-slide {
  transform: translate3d(0, 0, 0);
}

/* app/assets/stylesheets/components/tag-selector.css */
.tag-item {
  display: inline-block;
}

/* app/assets/stylesheets/components/transitions.css */
.transitions {
  transition: all 0.3s ease-in;
}
.transition-1 {
  transition: all 0.15s ease-in;
}
.transition-2 {
  transition: all 0.3s ease-in;
}
.show-fade-out {
  opacity: 1;
}
.hide-fade-out {
  opacity: 0 !important;
  transition: opacity 1000ms !important;
}
.char {
  animation: an 1s ease 1 both;
}
@keyframes an {
  from {
    opacity: 0;
    transform: perspective(500px) translate3d(-35px, -40px, -150px) rotate3d(1, -1, 0, 35deg);
  }
  to {
    opacity: 1;
    transform: perspective(500px) translate3d(0, 0, 0);
  }
}

/* app/assets/stylesheets/components/typography.css */
html {
  font-size: 0.9rem;
}
@media (min-width: 576px) {
  html {
    font-size: 0.9rem;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 1rem;
  }
}
@media (min-width: 992px) {
  html {
    font-size: 1rem;
  }
}
.dyslexic {
  font-family: "Open Dyslexic" !important;
}
.text-small {
  font-size: 0.9rem !important;
}
.text-blue-plume {
  color: #3d79ee;
}
.text-cyan {
  color: #77c8da;
}
.text-decoration-none {
  text-decoration: none;
  color: unset;
}
.text-decoration-none:hover {
  text-decoration: none;
  color: unset;
}
.uppercase {
  text-transform: uppercase;
}

/* app/assets/stylesheets/components/utilities.css */
.dimmed {
  opacity: 0.5;
}
.vh-100-minus-navbar {
  height: calc(100vh - 65px);
  height: -o-calc(100vh - 65px);
  height: -webkit-calc(100vh - 65px);
  height: -moz-calc(100vh - 65px);
}
.mb-200-px {
  margin-bottom: 200px !important;
}
.h-screen {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.max-h-40h {
  max-height: 40vh;
  max-height: calc(var(--vh, 1vh) * 40);
}
.border-secret {
  border: 2px solid #fbce2e !important;
}

/* app/assets/stylesheets/containers/students/form.css */
.student-form {
  margin-bottom: calc(1rem * 1.5);
  display: grid;
  grid-template-columns: 1fr minmax(2rem, auto);
  margin-left: 1rem;
}
.student-form__inputs {
  display: grid;
  grid-template-columns: minmax(12rem, 25%) 1fr;
  align-items: center;
  justify-items: center;
  grid-column-gap: calc(1rem * 1.5);
}
.student-form__inputs .form-group {
  margin: 0;
}
.student-form__controls {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* app/assets/stylesheets/layouts/chapter.css */
.chapter-section {
  opacity: 0;
  transition: opacity 0.5s ease-in;
  font-size: 1.7rem;
  line-height: 2;
  position: relative;
}
.writing-section {
  opacity: 0;
  transition: opacity 0.5s ease-in;
  font-size: 1.7rem;
  line-height: 2;
}
.writing-section .writing {
  background-color: #cdf0ee;
  border: solid 1px #217a79;
  border-radius: 15px;
  color: #373737;
  padding: 0.5rem 1rem;
}
.writing-section--active {
  opacity: 1;
}
.chapter-image {
  width: 50%;
  max-width: 400px;
  float: left;
  margin-right: 1rem;
}
.chapter-content {
  width: 100%;
}
@media (max-width: 991.98px) {
  .chapter-content {
    margin-left: 0;
  }
}
.chapter-content-mobile {
  padding-bottom: 20vh !important;
}
.chapter-dialog-message {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
}
.page-wrapper {
  display: flex;
  width: 100%;
}
.form-wrapper-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.form-wrapper-group img {
  width: 200px;
  height: 250px;
}
.form-wrapper-group input[type=file] {
  display: none;
}

/* app/assets/stylesheets/layouts/kid-story-pdf.css */
@media print {
  * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
  }
}

/* app/assets/stylesheets/layouts/application.css */
.height-full {
  min-height: calc(var(--vh, 1vh) * 100 - 4rem);
}
.max-height-full {
  height: calc(var(--vh, 1vh) * 100);
  max-height: calc(var(--vh, 1vh) * 100);
}
body {
  min-height: 100vh;
}
@supports (-webkit-touch-callout: none) {
  body {
    min-height: -webkit-fill-available;
  }
}

/* app/assets/stylesheets/layouts/cards_row.css */
.cards-row {
  position: relative;
}
.cards-row__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  overflow: hidden;
  grid-column-gap: 16px;
  max-height: 300px;
  transition: max-height var(--showMoreTransition) ease-in-out;
}
@media (min-width: 992px) {
  .cards-row__cards {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  }
}
.cards-row__cards--expanded {
  max-height: unset;
  transition: max-height var(--showMoreTransition) ease-in-out;
  grid-row-gap: 16px;
}
.cards-row__see-more {
  text-align: center;
  height: 1.5rem;
  cursor: pointer;
  font-size: 0.875rem;
  color: #516365;
  margin: 1rem 0;
}
.cards-row__see-more:hover {
  text-decoration: underline;
}

/* app/assets/stylesheets/stories/completed_stories/completed_stories.css */
.cart-bottom-bar {
  min-height: 10%;
  width: 100%;
  position: fixed;
  bottom: 0;
  background-color: white;
  text-align: center;
  border-top: 5px solid #fa5c5c;
  border-bottom: 5px solid #fff;
}
.select-checkbox {
  opacity: 0;
}

/* app/assets/stylesheets/writings/text_to_speach.css */
.text_to_speach {
  display: inline-block;
  margin-right: 1rem;
  fill: #999999;
}
.text_to_speach + * {
  display: inline;
}

/* app/assets/stylesheets/writings/writing.css */
.bg-writing {
  background-color: #eff1f5;
}
.send-writing-icon {
  height: 40px;
  width: 40px;
  border-radius: 100%;
  position: absolute;
  bottom: 5px;
  right: 10px;
  background-color: #ff737b;
}
p.hint-story {
  font-size: 1.2rem;
  width: calc(100% - 360px);
}
@media only screen and (max-width: 1080px) {
  p.hint-story {
    width: calc(100% - 320px);
  }
}
@media only screen and (max-width: 760px) {
  p.hint-story {
    width: calc(100% - 230px);
  }
}
@media only screen and (max-width: 576px) {
  p.hint-story {
    width: 100%;
  }
}
.text-highlighted {
  color: #6bbdc8;
}

/* app/assets/stylesheets/pages/gift-card.css */
#pricing p {
  font-size: 2rem;
}

/* app/assets/stylesheets/pages/sign_in_choice.css */
.sign-in-choice-item {
  display: flex;
  align-items: center;
  border: 2px solid #ced4da;
  border-radius: 5px;
  color: #333333;
  text-decoration: none;
}
.sign-in-choice-item:hover {
  color: #516365;
  text-decoration: none;
}
.connexion-link a {
  color: #7ec5d0;
}
.connexion-link a:hover {
  color: rgb(27.4231283422%, 67.3685383244%, 73.5572638146%);
  text-decoration: none;
}

/* app/assets/stylesheets/pages/welcome_space.css */
.welcome-space {
  --max-width: 1300px;
  --welcome-banner-height: 130px;
  --showMoreTransition: 0.4s;
  padding: 3vh 1rem 5vh 1rem;
}
.welcome-space__layout {
  display: flex;
  max-width: var(--max-width);
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  .welcome-space__layout {
    display: block;
  }
}
.welcome-space__left-panel {
  width: 70%;
  flex-grow: 1;
}
@media (max-width: 991.98px) {
  .welcome-space__left-panel {
    width: 100%;
  }
}
.welcome-space__left-panel > *:not(:first-child) {
  margin-top: 2rem;
}
.welcome-space__classes {
  grid-row: 2;
  grid-column: 1;
}
.welcome-space__ressources {
  grid-row: 3;
  grid-column: 1;
}
.welcome-space__sideBar {
  width: 30%;
  margin-left: 3%;
  position: sticky;
  top: 5rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 0.25rem;
  height: fit-content;
  min-height: 100%;
}
@media (max-width: 991.98px) {
  .welcome-space__sideBar {
    width: 100%;
    flex-direction: initial;
    height: fit-content;
    min-height: unset;
    margin-left: 0;
    margin-top: 2rem;
    justify-content: space-around;
  }
}
@media (max-width: 575.98px) {
  .welcome-space__sideBar {
    flex-direction: column;
  }
}
.welcome-space__aside:not(:last-child) {
  margin-bottom: 3vh;
}
@media (max-width: 991.98px) {
  .welcome-space__aside:not(:last-child) {
    margin-bottom: 0;
  }
}
@media (max-width: 575.98px) {
  .welcome-space__aside:not(:last-child) {
    margin-bottom: 3vh;
  }
}
@media (max-width: 991.98px) {
  .welcome-space__aside {
    flex: 0 0 30%;
  }
}
.welcome-space__aside__title {
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
  hyphens: auto;
}
.welcome-space__aside__title span {
  padding-left: 1rem;
}
@media (max-width: 991.98px) {
  .welcome-space__aside__title span {
    padding-left: 0.5rem;
  }
}
.welcome-space__aside__title img {
  width: 40px;
}
.welcome-space__aside__description {
  padding-bottom: 2vh;
  margin: 0;
}
.welcome-space__aside button {
  width: 100%;
}
@media (max-width: 575.98px) {
  .welcome-space__aside button {
    width: unset;
  }
}

/* app/assets/stylesheets/pages/secrets/tatamis/show.css */
.tatamis-secret .sticker-1 {
  position: absolute;
  bottom: 5rem;
  height: 7vh;
}
.tatamis-secret .sticker-2 {
  position: absolute;
  bottom: 0;
  height: 8vh;
  right: 40%;
}
.tatamis-secret .sticker-3 {
  position: absolute;
  right: 0rem;
  bottom: 0rem;
  height: 13vh;
}
#secret-tatami-top-banner {
  min-height: 45vh;
}
#tatami-details-background {
  min-height: 55vh;
}

/* app/assets/stylesheets/dojos/universes/index.css */
.dojos-universe-bg-main__blue {
  background-color: #77a1f3;
  fill: #77a1f3;
}
.dojos-universe-bg-main__green {
  background-color: #6bddac;
  fill: #6bddac;
}
.dojos-universe-bg-main__orange {
  background-color: #fcb78f;
  fill: #fcb78f;
}
.dojos-universe-bg-main__purple {
  background-color: #e7d1f9;
  fill: #e7d1f9;
}
.dojos-universe-bg-main__red {
  background-color: #fc8d8d;
  fill: #fc8d8d;
}
.dojos-universe-bg-main__yellow {
  background-color: #f8e47c;
  fill: #f8e47c;
}
.dojos-universe-bg-light__blue {
  background-color: #ecf2fd;
  fill: #ecf2fd;
}
.dojos-universe-bg-light__green {
  background-color: #eafaf3;
  fill: #eafaf3;
}
.dojos-universe-bg-light__orange {
  background-color: #fff5ef;
  fill: #fff5ef;
}
.dojos-universe-bg-light__purple {
  background-color: #f6e7fe;
  fill: #f6e7fe;
}
.dojos-universe-bg-light__red {
  background-color: #ffefef;
  fill: #ffefef;
}
.dojos-universe-bg-light__yellow {
  background-color: #fefbec;
  fill: #fefbec;
}

/* app/assets/stylesheets/legacy.css */
