/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@layer theme, base, components, utilities;

@layer theme {
  @theme default {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;

    --color-red-50: oklch(0.971 0.013 17.38);
    --color-red-100: oklch(0.936 0.032 17.717);
    --color-red-200: oklch(0.885 0.062 18.334);
    --color-red-300: oklch(0.808 0.114 19.571);
    --color-red-400: oklch(0.704 0.191 22.216);
    --color-red-500: oklch(0.637 0.237 25.331);
    --color-red-600: oklch(0.577 0.245 27.325);
    --color-red-700: oklch(0.505 0.213 27.518);
    --color-red-800: oklch(0.444 0.177 26.899);
    --color-red-900: oklch(0.396 0.141 25.723);
    --color-red-950: oklch(0.258 0.092 26.042);

    --color-orange-50: oklch(0.98 0.016 73.684);
    --color-orange-100: oklch(0.954 0.038 75.164);
    --color-orange-200: oklch(0.901 0.076 70.697);
    --color-orange-300: oklch(0.837 0.128 66.29);
    --color-orange-400: oklch(0.75 0.183 55.934);
    --color-orange-500: oklch(0.705 0.213 47.604);
    --color-orange-600: oklch(0.646 0.222 41.116);
    --color-orange-700: oklch(0.553 0.195 38.402);
    --color-orange-800: oklch(0.47 0.157 37.304);
    --color-orange-900: oklch(0.408 0.123 38.172);
    --color-orange-950: oklch(0.266 0.079 36.259);

    --color-amber-50: oklch(0.987 0.022 95.277);
    --color-amber-100: oklch(0.962 0.059 95.617);
    --color-amber-200: oklch(0.924 0.12 95.746);
    --color-amber-300: oklch(0.879 0.169 91.605);
    --color-amber-400: oklch(0.828 0.189 84.429);
    --color-amber-500: oklch(0.769 0.188 70.08);
    --color-amber-600: oklch(0.666 0.179 58.318);
    --color-amber-700: oklch(0.555 0.163 48.998);
    --color-amber-800: oklch(0.473 0.137 46.201);
    --color-amber-900: oklch(0.414 0.112 45.904);
    --color-amber-950: oklch(0.279 0.077 45.635);

    --color-yellow-50: oklch(0.987 0.026 102.212);
    --color-yellow-100: oklch(0.973 0.071 103.193);
    --color-yellow-200: oklch(0.945 0.129 101.54);
    --color-yellow-300: oklch(0.905 0.182 98.111);
    --color-yellow-400: oklch(0.852 0.199 91.936);
    --color-yellow-500: oklch(0.795 0.184 86.047);
    --color-yellow-600: oklch(0.681 0.162 75.834);
    --color-yellow-700: oklch(0.554 0.135 66.442);
    --color-yellow-800: oklch(0.476 0.114 61.907);
    --color-yellow-900: oklch(0.421 0.095 57.708);
    --color-yellow-950: oklch(0.286 0.066 53.813);

    --color-lime-50: oklch(0.986 0.031 120.757);
    --color-lime-100: oklch(0.967 0.067 122.328);
    --color-lime-200: oklch(0.938 0.127 124.321);
    --color-lime-300: oklch(0.897 0.196 126.665);
    --color-lime-400: oklch(0.841 0.238 128.85);
    --color-lime-500: oklch(0.768 0.233 130.85);
    --color-lime-600: oklch(0.648 0.2 131.684);
    --color-lime-700: oklch(0.532 0.157 131.589);
    --color-lime-800: oklch(0.453 0.124 130.933);
    --color-lime-900: oklch(0.405 0.101 131.063);
    --color-lime-950: oklch(0.274 0.072 132.109);

    --color-green-50: oklch(0.982 0.018 155.826);
    --color-green-100: oklch(0.962 0.044 156.743);
    --color-green-200: oklch(0.925 0.084 155.995);
    --color-green-300: oklch(0.871 0.15 154.449);
    --color-green-400: oklch(0.792 0.209 151.711);
    --color-green-500: oklch(0.723 0.219 149.579);
    --color-green-600: oklch(0.627 0.194 149.214);
    --color-green-700: oklch(0.527 0.154 150.069);
    --color-green-800: oklch(0.448 0.119 151.328);
    --color-green-900: oklch(0.393 0.095 152.535);
    --color-green-950: oklch(0.266 0.065 152.934);

    --color-emerald-50: oklch(0.979 0.021 166.113);
    --color-emerald-100: oklch(0.95 0.052 163.051);
    --color-emerald-200: oklch(0.905 0.093 164.15);
    --color-emerald-300: oklch(0.845 0.143 164.978);
    --color-emerald-400: oklch(0.765 0.177 163.223);
    --color-emerald-500: oklch(0.696 0.17 162.48);
    --color-emerald-600: oklch(0.596 0.145 163.225);
    --color-emerald-700: oklch(0.508 0.118 165.612);
    --color-emerald-800: oklch(0.432 0.095 166.913);
    --color-emerald-900: oklch(0.378 0.077 168.94);
    --color-emerald-950: oklch(0.262 0.051 172.552);

    --color-teal-50: oklch(0.984 0.014 180.72);
    --color-teal-100: oklch(0.953 0.051 180.801);
    --color-teal-200: oklch(0.91 0.096 180.426);
    --color-teal-300: oklch(0.855 0.138 181.071);
    --color-teal-400: oklch(0.777 0.152 181.912);
    --color-teal-500: oklch(0.704 0.14 182.503);
    --color-teal-600: oklch(0.6 0.118 184.704);
    --color-teal-700: oklch(0.511 0.096 186.391);
    --color-teal-800: oklch(0.437 0.078 188.216);
    --color-teal-900: oklch(0.386 0.063 188.416);
    --color-teal-950: oklch(0.277 0.046 192.524);

    --color-cyan-50: oklch(0.984 0.019 200.873);
    --color-cyan-100: oklch(0.956 0.045 203.388);
    --color-cyan-200: oklch(0.917 0.08 205.041);
    --color-cyan-300: oklch(0.865 0.127 207.078);
    --color-cyan-400: oklch(0.789 0.154 211.53);
    --color-cyan-500: oklch(0.715 0.143 215.221);
    --color-cyan-600: oklch(0.609 0.126 221.723);
    --color-cyan-700: oklch(0.52 0.105 223.128);
    --color-cyan-800: oklch(0.45 0.085 224.283);
    --color-cyan-900: oklch(0.398 0.07 227.392);
    --color-cyan-950: oklch(0.302 0.056 229.695);

    --color-sky-50: oklch(0.977 0.013 236.62);
    --color-sky-100: oklch(0.951 0.026 236.824);
    --color-sky-200: oklch(0.901 0.058 230.902);
    --color-sky-300: oklch(0.828 0.111 230.318);
    --color-sky-400: oklch(0.746 0.16 232.661);
    --color-sky-500: oklch(0.685 0.169 237.323);
    --color-sky-600: oklch(0.588 0.158 241.966);
    --color-sky-700: oklch(0.5 0.134 242.749);
    --color-sky-800: oklch(0.443 0.11 240.79);
    --color-sky-900: oklch(0.391 0.09 240.876);
    --color-sky-950: oklch(0.293 0.066 243.157);

    --color-blue-50: oklch(0.97 0.014 254.604);
    --color-blue-100: oklch(0.932 0.032 255.585);
    --color-blue-200: oklch(0.882 0.059 254.128);
    --color-blue-300: oklch(0.809 0.105 251.813);
    --color-blue-400: oklch(0.707 0.165 254.624);
    --color-blue-500: oklch(0.623 0.214 259.815);
    --color-blue-600: oklch(0.546 0.245 262.881);
    --color-blue-700: oklch(0.488 0.243 264.376);
    --color-blue-800: oklch(0.424 0.199 265.638);
    --color-blue-900: oklch(0.379 0.146 265.522);
    --color-blue-950: oklch(0.282 0.091 267.935);

    --color-indigo-50: oklch(0.962 0.018 272.314);
    --color-indigo-100: oklch(0.93 0.034 272.788);
    --color-indigo-200: oklch(0.87 0.065 274.039);
    --color-indigo-300: oklch(0.785 0.115 274.713);
    --color-indigo-400: oklch(0.673 0.182 276.935);
    --color-indigo-500: oklch(0.585 0.233 277.117);
    --color-indigo-600: oklch(0.511 0.262 276.966);
    --color-indigo-700: oklch(0.457 0.24 277.023);
    --color-indigo-800: oklch(0.398 0.195 277.366);
    --color-indigo-900: oklch(0.359 0.144 278.697);
    --color-indigo-950: oklch(0.257 0.09 281.288);

    --color-violet-50: oklch(0.969 0.016 293.756);
    --color-violet-100: oklch(0.943 0.029 294.588);
    --color-violet-200: oklch(0.894 0.057 293.283);
    --color-violet-300: oklch(0.811 0.111 293.571);
    --color-violet-400: oklch(0.702 0.183 293.541);
    --color-violet-500: oklch(0.606 0.25 292.717);
    --color-violet-600: oklch(0.541 0.281 293.009);
    --color-violet-700: oklch(0.491 0.27 292.581);
    --color-violet-800: oklch(0.432 0.232 292.759);
    --color-violet-900: oklch(0.38 0.189 293.745);
    --color-violet-950: oklch(0.283 0.141 291.089);

    --color-purple-50: oklch(0.977 0.014 308.299);
    --color-purple-100: oklch(0.946 0.033 307.174);
    --color-purple-200: oklch(0.902 0.063 306.703);
    --color-purple-300: oklch(0.827 0.119 306.383);
    --color-purple-400: oklch(0.714 0.203 305.504);
    --color-purple-500: oklch(0.627 0.265 303.9);
    --color-purple-600: oklch(0.558 0.288 302.321);
    --color-purple-700: oklch(0.496 0.265 301.924);
    --color-purple-800: oklch(0.438 0.218 303.724);
    --color-purple-900: oklch(0.381 0.176 304.987);
    --color-purple-950: oklch(0.291 0.149 302.717);

    --color-fuchsia-50: oklch(0.977 0.017 320.058);
    --color-fuchsia-100: oklch(0.952 0.037 318.852);
    --color-fuchsia-200: oklch(0.903 0.076 319.62);
    --color-fuchsia-300: oklch(0.833 0.145 321.434);
    --color-fuchsia-400: oklch(0.74 0.238 322.16);
    --color-fuchsia-500: oklch(0.667 0.295 322.15);
    --color-fuchsia-600: oklch(0.591 0.293 322.896);
    --color-fuchsia-700: oklch(0.518 0.253 323.949);
    --color-fuchsia-800: oklch(0.452 0.211 324.591);
    --color-fuchsia-900: oklch(0.401 0.17 325.612);
    --color-fuchsia-950: oklch(0.293 0.136 325.661);

    --color-pink-50: oklch(0.971 0.014 343.198);
    --color-pink-100: oklch(0.948 0.028 342.258);
    --color-pink-200: oklch(0.899 0.061 343.231);
    --color-pink-300: oklch(0.823 0.12 346.018);
    --color-pink-400: oklch(0.718 0.202 349.761);
    --color-pink-500: oklch(0.656 0.241 354.308);
    --color-pink-600: oklch(0.592 0.249 0.584);
    --color-pink-700: oklch(0.525 0.223 3.958);
    --color-pink-800: oklch(0.459 0.187 3.815);
    --color-pink-900: oklch(0.408 0.153 2.432);
    --color-pink-950: oklch(0.284 0.109 3.907);

    --color-rose-50: oklch(0.969 0.015 12.422);
    --color-rose-100: oklch(0.941 0.03 12.58);
    --color-rose-200: oklch(0.892 0.058 10.001);
    --color-rose-300: oklch(0.81 0.117 11.638);
    --color-rose-400: oklch(0.712 0.194 13.428);
    --color-rose-500: oklch(0.645 0.246 16.439);
    --color-rose-600: oklch(0.586 0.253 17.585);
    --color-rose-700: oklch(0.514 0.222 16.935);
    --color-rose-800: oklch(0.455 0.188 13.697);
    --color-rose-900: oklch(0.41 0.159 10.272);
    --color-rose-950: oklch(0.271 0.105 12.094);

    --color-slate-50: oklch(0.984 0.003 247.858);
    --color-slate-100: oklch(0.968 0.007 247.896);
    --color-slate-200: oklch(0.929 0.013 255.508);
    --color-slate-300: oklch(0.869 0.022 252.894);
    --color-slate-400: oklch(0.704 0.04 256.788);
    --color-slate-500: oklch(0.554 0.046 257.417);
    --color-slate-600: oklch(0.446 0.043 257.281);
    --color-slate-700: oklch(0.372 0.044 257.287);
    --color-slate-800: oklch(0.279 0.041 260.031);
    --color-slate-900: oklch(0.208 0.042 265.755);
    --color-slate-950: oklch(0.129 0.042 264.695);

    --color-gray-50: oklch(0.985 0.002 247.839);
    --color-gray-100: oklch(0.967 0.003 264.542);
    --color-gray-200: oklch(0.928 0.006 264.531);
    --color-gray-300: oklch(0.872 0.01 258.338);
    --color-gray-400: oklch(0.707 0.022 261.325);
    --color-gray-500: oklch(0.551 0.027 264.364);
    --color-gray-600: oklch(0.446 0.03 256.802);
    --color-gray-700: oklch(0.373 0.034 259.733);
    --color-gray-800: oklch(0.278 0.033 256.848);
    --color-gray-900: oklch(0.21 0.034 264.665);
    --color-gray-950: oklch(0.13 0.028 261.692);

    --color-zinc-50: oklch(0.985 0 0);
    --color-zinc-100: oklch(0.967 0.001 286.375);
    --color-zinc-200: oklch(0.92 0.004 286.32);
    --color-zinc-300: oklch(0.871 0.006 286.286);
    --color-zinc-400: oklch(0.705 0.015 286.067);
    --color-zinc-500: oklch(0.552 0.016 285.938);
    --color-zinc-600: oklch(0.442 0.017 285.786);
    --color-zinc-700: oklch(0.37 0.013 285.805);
    --color-zinc-800: oklch(0.274 0.006 286.033);
    --color-zinc-900: oklch(0.21 0.006 285.885);
    --color-zinc-950: oklch(0.141 0.005 285.823);

    --color-neutral-50: oklch(0.985 0 0);
    --color-neutral-100: oklch(0.97 0 0);
    --color-neutral-200: oklch(0.922 0 0);
    --color-neutral-300: oklch(0.87 0 0);
    --color-neutral-400: oklch(0.708 0 0);
    --color-neutral-500: oklch(0.556 0 0);
    --color-neutral-600: oklch(0.439 0 0);
    --color-neutral-700: oklch(0.371 0 0);
    --color-neutral-800: oklch(0.269 0 0);
    --color-neutral-900: oklch(0.205 0 0);
    --color-neutral-950: oklch(0.145 0 0);

    --color-stone-50: oklch(0.985 0.001 106.423);
    --color-stone-100: oklch(0.97 0.001 106.424);
    --color-stone-200: oklch(0.923 0.003 48.717);
    --color-stone-300: oklch(0.869 0.005 56.366);
    --color-stone-400: oklch(0.709 0.01 56.259);
    --color-stone-500: oklch(0.553 0.013 58.071);
    --color-stone-600: oklch(0.444 0.011 73.639);
    --color-stone-700: oklch(0.374 0.01 67.558);
    --color-stone-800: oklch(0.268 0.007 34.298);
    --color-stone-900: oklch(0.216 0.006 56.043);
    --color-stone-950: oklch(0.147 0.004 49.25);

    --color-black: #000;
    --color-white: #fff;

    --spacing: 0.25rem;

    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --breakpoint-2xl: 96rem;

    --container-3xs: 16rem;
    --container-2xs: 18rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;

    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --text-8xl: 6rem;
    --text-8xl--line-height: 1;
    --text-9xl: 8rem;
    --text-9xl--line-height: 1;

    --font-weight-thin: 100;
    --font-weight-extralight: 200;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;

    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;

    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;

    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;

    --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md:
      0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg:
      0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl:
      0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);

    --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
    --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
    --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);

    --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
    --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
    --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
    --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
    --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
    --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);

    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --animate-bounce: bounce 1s infinite;

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

    @keyframes ping {
      75%,
      100% {
        transform: scale(2);
        opacity: 0;
      }
    }

    @keyframes pulse {
      50% {
        opacity: 0.5;
      }
    }

    @keyframes bounce {
      0%,
      100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
      }

      50% {
        transform: none;
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
      }
    }

    --blur-xs: 4px;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;

    --perspective-dramatic: 100px;
    --perspective-near: 300px;
    --perspective-normal: 500px;
    --perspective-midrange: 800px;
    --perspective-distant: 1200px;

    --aspect-video: 16 / 9;

    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: --theme(--font-sans, initial);
    --default-font-feature-settings: --theme(
      --font-sans--font-feature-settings,
      initial
    );
    --default-font-variation-settings: --theme(
      --font-sans--font-variation-settings,
      initial
    );
    --default-mono-font-family: --theme(--font-mono, initial);
    --default-mono-font-feature-settings: --theme(
      --font-mono--font-feature-settings,
      initial
    );
    --default-mono-font-variation-settings: --theme(
      --font-mono--font-variation-settings,
      initial
    );
  }

  /* Deprecated */
  @theme default inline reference {
    --blur: 8px;
    --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --drop-shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);
    --radius: 0.25rem;
    --max-width-prose: 65ch;
  }
}

@layer base {
  /*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

  ::-webkit-file-upload-button {
    box-sizing: border-box; /* 1 */
    margin: 0; /* 2 */
    padding: 0; /* 2 */
    border: 0 solid; /* 3 */
  }

  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box; /* 1 */
    margin: 0; /* 2 */
    padding: 0; /* 2 */
    border: 0 solid; /* 3 */
  }

  /*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

  html,
  :host {
    line-height: 1.5; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4; /* 3 */
    font-family: --theme(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    ); /* 4 */
    font-feature-settings: --theme(
      --default-font-feature-settings,
      normal
    ); /* 5 */
    font-variation-settings: --theme(
      --default-font-variation-settings,
      normal
    ); /* 6 */
    -webkit-tap-highlight-color: transparent; /* 7 */
  }

  /*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

  hr {
    height: 0; /* 1 */
    color: inherit; /* 2 */
    border-top-width: 1px; /* 3 */
  }

  /*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  /*
  Remove the default font size and weight for headings.
*/

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  /*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  /*
  Add the correct font weight in Edge and Safari.
*/

  b,
  strong {
    font-weight: bolder;
  }

  /*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

  code,
  kbd,
  samp,
  pre {
    font-family: --theme(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    ); /* 1 */
    font-feature-settings: --theme(
      --default-mono-font-feature-settings,
      normal
    ); /* 2 */
    font-variation-settings: --theme(
      --default-mono-font-variation-settings,
      normal
    ); /* 3 */
    font-size: 1em; /* 4 */
  }

  /*
  Add the correct font size in all browsers.
*/

  small {
    font-size: 80%;
  }

  /*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

  table {
    text-indent: 0; /* 1 */
    border-color: inherit; /* 2 */
    border-collapse: collapse; /* 3 */
  }

  /*
  Use the modern Firefox focus style for all focusable elements.
*/

  :-moz-focusring {
    outline: auto;
  }

  /*
  Add the correct vertical alignment in Chrome and Firefox.
*/

  progress {
    vertical-align: baseline;
  }

  /*
  Add the correct display in Chrome and Safari.
*/

  summary {
    display: list-item;
  }

  /*
  Make lists unstyled by default.
*/

  ol,
  ul,
  menu {
    list-style: none;
  }

  /*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block; /* 1 */
    vertical-align: middle; /* 2 */
  }

  /*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  /*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

  ::-webkit-file-upload-button {
    font: inherit; /* 1 */
    font-feature-settings: inherit; /* 1 */
    font-variation-settings: inherit; /* 1 */
    letter-spacing: inherit; /* 1 */
    color: inherit; /* 1 */
    border-radius: 0; /* 2 */
    background-color: transparent; /* 3 */
    opacity: 1; /* 4 */
  }

  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit; /* 1 */
    font-feature-settings: inherit; /* 1 */
    font-variation-settings: inherit; /* 1 */
    letter-spacing: inherit; /* 1 */
    color: inherit; /* 1 */
    border-radius: 0; /* 2 */
    background-color: transparent; /* 3 */
    opacity: 1; /* 4 */
  }

  /*
  Restore default font weight.
*/

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  /*
  Restore indentation.
*/

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  /*
  Restore space after button.
*/

  ::-webkit-file-upload-button {
    margin-inline-end: 4px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  /*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

  ::-moz-placeholder {
    opacity: 1;
  }

  :-ms-input-placeholder {
    opacity: 1;
  }

  ::placeholder {
    opacity: 1;
  }

  /*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentColor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

  @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
    (contain-intrinsic-size: 1px) /* Safari 17+ */ {
    ::-moz-placeholder {
      color: color-mix(in oklab, currentColor 50%, transparent);
    }
    :-ms-input-placeholder {
      color: color-mix(in oklab, currentColor 50%, transparent);
    }
    ::placeholder {
      color: color-mix(in oklab, currentColor 50%, transparent);
    }
  }

  /*
  Prevent resizing textareas horizontally by default.
*/

  textarea {
    resize: vertical;
  }

  /*
  Remove the inner padding in Chrome and Safari on macOS.
*/

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

  ::-webkit-date-and-time-value {
    min-height: 1lh; /* 1 */
    text-align: inherit; /* 2 */
  }

  /*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  /*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  /*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

  :-moz-ui-invalid {
    box-shadow: none;
  }

  /*
  Correct the inability to style the border radius in iOS Safari.
*/

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
            appearance: button;
  }

  button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
  }

  /*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer utilities {
  @tailwind utilities;
}

div {
  max-width: 100vw;
}

#page {
  max-width: 100vw;
}

#content {
  max-width: 100vw;
  min-height: calc(100vh - 50px - 50px);
  margin-top: 50px;
  font-size: 1.1rem;
}

@media(min-width: 530px){

#content {
    min-height: calc(100vh - 50px - 40px);
    margin-top: 50px
}
  }

@media(min-width: 800px){

#content {
    min-height: calc(100vh - 60px - 40px);
    margin-top: 60px
}
  }

@media(min-width: 1010px){

#content {
    min-height: calc(100vh - 60px - 40px);
    margin-top: 60px
}
  }

.hidden {
  display: none !important;
}

.rpbui-chessgame-result {
  display: none;
}

.rpbchessboard-chessgame{
  margin-top:2rem;
  margin-bottom:2rem;
}

div .rpbchessboard-navigationButton {
  margin-left: 15px;
}

.kokopu-navigationToolbar div {
  margin-right: 0.3rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom:1rem;
  margin-top:1rem;
}

h2{
  font-size:1.8rem;
}

.grey1-bg{
  background-color:#ebebeb;
}

.calcColor-bg{
  background-color:yellow;
}

.tactColor-bg{
  background-color:wheat;
}

.openColor-bg{
  background-color:blue;
}

.middleColor-bg{
  background-color:orange;
}

.endColor-bg{
  background-color:red;
}

.loginColor-bg{
  background-color:green;
}

.calcColor{
  color:yellow;
}

.tactColor{
  color:wheat;
}

.openColor{
  color:blue;
}

.middleColor{
  color:orange;
}

.endColor{
  color:red;
}

.loginColor{
  color:green;
}

.calcColor-bord{
  border-color:yellow;
}

.tactColor-bord{
  border-color:wheat;
}

.openColor-bord{
  border-color:blue;
}

.middleColor-bord{
  border-color:orange;
}

.endColor-bord{
  border-color:red;
}

.loginColor-bord{
  border-color:green;
}

.calcColor-hover:hover{
    color:yellow;
  }

.openColor-hover:hover{
    color:blue;
  }

.middleColor-hover:hover{
    color:orange;
  }

.endColor-hover:hover{
    color:red;
  }

.tactColor-hover:hover{
    color:wheat;
  }

.loginColor-hover:hover{
    color:green;
  }

.reviewColor-hover:hover{
    color:pink;
  }

.calcColor-bord-hover:hover{
  border-color:yellow;
}

.tactColor-bord-hover:hover{
  border-color:wheat;
}

.openColor-bord-hover:hover{
  border-color:blue;
}

.middleColor-bord-hover:hover{
  border-color:orange;
}

.endColor-bord-hover:hover{
  border-color:red;
}

.loginColor-bord-hover:hover{
  border-color:green;
}

.reviewColor-bord-hover:hover{
  border-color:pink;
}

.level_bg_color_10{
  background-color: #cefac0;
}

.level_bg_color_11{
  background-color: #c0fad1;
}

.level_bg_color_12{
  background-color: #c0faf5;
}

.level_bg_color_13{
  background-color: #c0e5fa;
}

.level_bg_color_14{
  background-color: #c0cbfa;
}

.level_bg_color_15{
  background-color: #d5c0fa;
}

.level_bg_color_16{
  background-color: #cb7de3;
}

.level_bg_color_99{
  background-color: #f2dcae;
}

.container_bg_color{
  background-color:#fafafa;
}

.basic-concepts{
    display:flex;
    flex-direction:column;
    gap:2rem;
    justify-content: center;
    align-items: center;

}

@media(min-width: 800px){

.basic-concepts{
        flex-direction:row;

}
  }

@media(min-width: 1010px){

.basic-concepts{
        gap:5rem;

}
  }

.basic-concepts__item{
display:flex;
flex-direction:row;
align-items: center;
}

.basic-concepts__number{
    color:#2c97de;
    font-size:10rem;
    font-weight:bold;
}

.basic-concepts__text{
width:10rem;
}

.question{

  width: 90%;
position: relative;
left: 5%;

}

.question--link{
  width:100%;
  text-align: center;
margin-top:2rem;
}

.question--link a{
    text-decoration: underline;
    color:#999;
    font-size:1.2rem;
  }

.question--with-lesson{
  margin-top:5rem;
  border-bottom:1px solid #adadad;
}

.question__next-review{
  margin-bottom: 1rem;
}

.question .rpbchessboard-chessgame{
  display:none;
}

.question .kokopu-gameResult{
  display:none;
}

.question--buttons{
  display: none;
      justify-content: space-evenly;
      width: 100%;
      flex-direction: column;
      align-items: center;
}

.question--hidden{
  display:none;
}

.question h1{
  text-align: center;
  font-size:1.5rem;
  font-weight:normal;
}

.btn{

  width:3rem;
  height:2rem;
  border-radius: 0.5rem;
  cursor:pointer;
}

.btn__hard{
    background-color: red;
  }

.btn__okay{
    background-color: green;
  }

.btn__easy{
    background-color: blue;
  }

.btn--large{
    width:10rem;
  }

.btn--shadow{
    box-shadow: 0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
  }

.report{
  display: flex;
  justify-content: center;
  width: 90%;
  left: 5%;
  position: relative;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.report #questionReportForm{
    display:none;
  }

.report #lessonReportForm{
    display:none;
  }

.report #tacticReportForm{
    display:none;
  }

.report--textarea{
    height:150px;
    width:300px;
  }

@media(min-width: 800px){

.report--textarea{
      width:600px;
      height:400px
  }
  }

@media(min-width: 1010px){

.report--textarea{
      width:800px
  }
  }

.lesson--wrapper{
  position:relative;
  left:5%;
  width:90%;
}

.lesson--hidden{
    display:none;
  }

.lesson--button-container{
    display:flex;
    flex-direction:column;
    margin-top: 4rem;
    align-items: center;
  }

@media(min-width: 1010px){

.lesson--button-container{
      flex-direction:row;
      justify-content: space-evenly
  }
  }

#mail-content{
position: fixed;
bottom:0px;
background-image: linear-gradient(to bottom, #ffa63a ,#d88b2d);
opacity: 95%;
display:flex;
justify-content: space-evenly;
width:100%;
display:none;

}

#mail-content--title{
  font-weight:bold;
  color:white;
  font-size:1rem;
  text-align: center;
  padding:0.2rem;
  height:-moz-fit-content;
  height:fit-content;
  margin-top:auto;
  margin-bottom:auto;
}

@media(min-width: 530px){

#mail-content--title{
    font-size:1.5rem
}
  }

@media(min-width: 800px){

#mail-content--title{
    font-size:2rem
}
  }

#mail-content--container{
  padding:0.2rem;
  padding-right:1rem;
}

#mail-content--close{
  height:32px;
  width:32px;
  opacity:80%;
  position:absolute;
  top:5px;
  right:5px;
}

#mail-content--close i{
    cursor:pointer;
  }

#mail-content--close:hover{
    color:red;
  }

.front__goal{
  color:#2c97de;
}

.front__banner{

    background-color: white;
    padding-bottom:5rem;

  }

.front__banner--1{
      font-size: 3rem;
    font-weight: bold;
    text-align: center;
    padding-top: 3rem;
color:#5f6368;
    }

.front__banner--1__emp{
      font-size:6rem;
      color:#2c97de;
    }

.front__banner--2{
    color:#5f6368;
padding-top: 2rem;
width: 80%;
left: 10%;
position: relative;
font-size: 1.2rem;
text-align: center;
    }

.front__countdown{

    text-align: center;
    padding-top:5rem;
    padding-bottom:5rem;
  }

.front__countdown--number{
color:#2c97de;
font-size:2.5rem;
margin-left: 0.9rem;
font-weight:bold;
    }

.front__countdown--text{
      font-size: 1.3rem;
          color:#5f6368;
    }

.front__countdown--subtext{
      width: 80%;
      left: 10%;
      position: relative;
      text-align: center;
      font-size: 1.2rem;
      color: #5f6368;
      padding-top: 2rem;
    }

.front__section{
    background-color:white;
    padding-top: 5rem;
    padding-bottom:5rem;
    padding-left: 10%;
    padding-right: 10%;
    font-size: 1.2rem;
    color: #5f6368;
  }

.front__section .kokopu-gameResult{
      display:none;
      opacity:0;
    }

.front__section--link{
      color:blue;
      cursor:pointer;
    }

.front__section--gray{
      background-color: #ebebeb;
    }

.front__section--chart{
      padding-left:0;
      padding-right:0;
    }

.front__section--title{
      text-align: center;
color: black;
font-size: 2rem;
padding-bottom: 2rem;
    }

.front__chart--container{
      position:relative;
      margin-left:auto;
      margin-right:auto;
      width:360px;


    }

@media(min-width: 800px){

.front__chart--container{
        width:700px


    }
  }

@media(min-width: 1010px){

.front__chart--container{
        width:1000px


    }
  }

.fronttwo__banner{
    margin-left:1rem;
    padding-top:5rem;
    text-align: center;
  }

.fronttwo__banner--title{
      font-size:3rem;
      font-weight:bold;
      color:#2c97de;
    }

.fronttwo__banner--subtitle{
      font-size:1.5rem;
    }

.fronttwo__section{
    padding-top: 5rem;
    padding-bottom:5rem;
    padding-left: 10%;
    padding-right: 10%;
    font-size: 1.2rem;
    color: #5f6368;
}

.fronttwo__section--title{
      text-align: center;
      color:black;
      font-size:2rem;
      padding-bottom:2rem;
    }

.fronttwo__section .kokopu-gameResult{
      display:none;
      opacity:0;
    }

.four04{
  width:80%;
  margin-left: auto;
  margin-right:auto;
}

.four04--text{
    text-align: center;
  }

.svg-item {
    width: 100%;
    font-size: 16px;
    margin: 0 auto;
    animation: donutfade 1s;
}

.svg-item {
  display:inline-block;
}

@keyframes donutfade {
  /* this applies to the whole svg item wrapper */
    0% {
        opacity: .2;
    }
    100% {
        opacity: 1;
    }
}

.donut-url{
  cursor:pointer;
}

.donut-ring {
    stroke: #ebebeb;
}

.donut-segment {
    transform-origin: center;
    stroke: #FF6200;
}

.donut-segment-2 {
    stroke: aqua;
    animation: donut1 3s;
}

.donut-segment-3 {
    stroke: #d9e021;
    animation: donut2 3s;
}

.donut-percent {
    animation: donutfadelong 1s;
}

@keyframes donutfadelong {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes donut1 {
    0% {
        stroke-dasharray: 0, 100;
    }
    100% {
        stroke-dasharray: 40, 60;
    }
}

@keyframes donut2 {
    0% {
        stroke-dasharray: 0, 100;
    }
    100% {
        stroke-dasharray: 30, 70;
    }
}

.donut-text {
    font-family: Arial, Helvetica, sans-serif;
    fill: #FF6200;
}

.donut-text-1 {
    fill: aqua;
}

.donut-text-2 {
    fill: #d9e021;
}

.donut-label {
    font-size: 0.28em;
    font-weight: 700;
    line-height: 1;
    fill: #000;
    transform: translateY(0.25em);
}

.donut-percent {
    font-size: 0.5em;
    line-height: 1;
    transform: translateY(0.5em);
    font-weight: bold;
}

.donut-data {
    font-size: 0.15rem;
    line-height: 1;
    transform: translateY(0.5em);
    text-align: center;
    text-anchor: middle;
    color:#666;
    fill: #666;
    animation: donutfadelong 1s;
}

.donut-title {
    font-size: 0.15rem;
    line-height: 1;
    transform: translateY(0.5em);
    text-align: center;
    text-anchor: middle;
    color:#666;
    fill: #666;
    animation: donutfadelong 1s;
}

.lesson-list{

  cursor: pointer;
      width: 60%;
      position: relative;
      left: 5%;
      margin-top: 1rem;
      margin-bottom: 1rem;
      height: 150px;
      border-radius: 50px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;

}

@media(min-width: 800px){

.lesson-list{
      display: flex;
justify-content: space-evenly;
align-items: center;
width:80%;

}
  }

@media(min-width: 1010px){

.lesson-list{
      width:70%;
      left:15%;
      height:120px;

}
  }

.lesson-list__secondary{
      display: flex;
      justify-content: space-evenly;
      align-items: center;
    }

.lesson-list__box{
  width: 100px;
height: 30px;
background-color:#ebebeb;
display: inline-block;
border-radius: 15px;
text-align: center;
line-height: 26px;
margin-bottom:1rem;
}

@media(min-width: 1010px){

.lesson-list__box{
  width:150px;
}
  }

.lesson-list__box--selected{
    background-color: #ff9900;
  }

.lesson-list__title{
  height: 20px;
  font-size: 1.1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

@media(min-width: 800px){
  }

@media(min-width: 1010px){

.lesson-list__title{
    width:600px;
    font-size:1.3rem
}
  }

.lesson-list__stage{
  display:inline-block;
  width:100px;
}

.lesson-list__level{
  color:#ff9900;
  font-size: 1.1rem;
  font-weight:bold;
  padding-right:0.5rem;
}

.lesson-tile{

    --chessboard-width:300px;
    --board-height:267px;
    --board-padding:5px;
    cursor:pointer;

    border-radius:5px;
    background-color:#d5d6d5;
    width:calc(var(--board-height) + var(--board-padding));    
    padding-top:var(--board-padding);
    overflow:hidden;
    text-decoration:none;
    color:black;
    box-shadow:0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    position:relative;

    /*not complete control over chess board size */
    min-width:272px;

}

.lesson-tile_container{
        display:flex;
        gap:1rem;
        padding:1rem;
        flex-wrap:wrap;
        justify-content: center;
    }

.lesson-tile_title{
        padding:1rem;
        margin-bottom:1.5rem;
        height: 75px;
    overflow: hidden;
    }

.lesson-tile_excerpt{

    }

.lesson-tile_icons{
        display:flex;
        font-size:0.9rem;
        margin:7px;
        align-items: center;
    justify-content: space-around;
    }

.lesson-tile_level{
        padding:0.2rem;
        border-radius: 5px;
        color:white;
    }

.lesson-tile_svg{
        height:0.8rem;
        margin-left:0.2rem;
    }

.lesson-tile_info{
        display:flex;
        align-items: center;
    }

/* remove space before */

.lesson-tile_excerpt .rpbchessboard-spacerBefore{
    margin:0;
}

/* remove space after */

.lesson-tile_excerpt .rpbchessboard-spacerAfter{
    margin:0;
}

/* set the size of the board */

.lesson-tile_excerpt .kokopu-chessboard{
    width:var(--chessboard-width);
    height:var(--board-height);
}

/* remove board coordinates */

.lesson-tile_excerpt .kokopu-coordinate{
display:none;
}

/* remove the who is to move circle  */

.lesson-tile_excerpt svg.kokopu-chessboard > image:last-child{
display:none;
}

.dash{
  padding-top:1rem;
}

.dash__tile-row{
    margin-bottom:5rem;
  }

.dash--level{
    margin-bottom:3rem;
    display:flex;
    flex-direction: row;
    justify-content: space-around;
    flex-wrap:wrap;
  }

.dash--level__dough{
      width:60vw;
    }

@media(min-width: 530px){

.dash--level__dough{
        width:40vw
    }
  }

@media(min-width: 800px){

.dash--level__dough{
        width:30vw
    }
  }

@media(min-width: 1010px){

.dash--level__dough{
        width:20vw
    }
  }

@media(min-width: 800px){

.menu{
        display:none;


}
  }

.menu__icon{
        margin-right:1rem;
        cursor:pointer;
    }

.menu__icon--open{

        }

.menu__icon--close{
            
        }

.menu__list{


        display:flex;
        flex-direction:column;
        gap:1rem;
        width: 100vw;
        top:100%;
        position:absolute;
        height:0;
        transition: height .600s ease;
        overflow:hidden;
        padding-left:1rem;
        padding-top:1rem;
    }

@media(min-width: 800px){

.menu__list{
            display:none;
    }
  }

.menu__list--visible{
            height:100vh;
        }

.page-chart__chart--container{
width:1200px;
position:relative;
margin-left:auto;
margin-right:auto;
}

.pagination{

    margin: 2rem 0;
    display: flex;
    gap: 3rem;
    justify-content: center;

}

.pagination a{
    text-decoration: none;
    padding:0.5rem;
    color:black;
    border-radius: 0.5rem;
    cursor:pointer;
    box-shadow: 0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);

}

.pagination__all{
color:#2c97de !important;
}

.progressbartile{
    text-decoration: none;
    color:black;
    box-shadow:0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    background-color: #d5d6d5;
    min-width:13rem;
    width:40%;
    border-radius:5px;
    padding:1rem;
}

@media(min-width: 1010px){

.progressbartile{
        width:20%;
}
  }

.progressbartile__container{
        display:flex;
        flex-wrap:wrap;
        gap:2rem;
        justify-content: center;
    }

.progressbartile__title{
        margin-bottom: 1rem;
        margin-top:1rem;
    }

.progressbartile__level{
        padding:0.1rem;
        border-radius: 5px;
        color:white;
        font-size:0.8rem;
    }

.progressbartile__level--container{
            display:flex;
            justify-content: flex-end;
        }

.progressbartile__fraction{
        position: absolute;
    height: 100%;
    width: 90%;
    top: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    }

.progressbartile__bar{
        background-color: #ebebeb;
        height:2rem;
        border-radius:0.5rem;
        position:relative;
    }

.progressbartile__fill{
        background-color: #2c97de;
        height:100%;
        border-radius:0.5rem;
    }

.cookie{
  padding:1rem;
  background-color: black;
  position:fixed;
  opacity:80%;
  align-items: center;
  justify-content: space-around;
  flex-wrap:wrap;
  min-height:1rem;
  display:none;
  bottom:0px;
  width:100%;
}

.cookie--message{
    width:100%;
  margin-bottom:1rem;
text-align: center;
      color:white;
      font-size: 1rem;

  }

.cookie--link{
    font-size: 1.5rem;
    text-decoration: underline;
    cursor:pointer;
    color:white;
    width:40%;
  }

@media(min-width: 800px){

.cookie--link{
      width:30%;
  }
  }

@media(min-width: 1010px){

.cookie--link{
      width:15%;
  }
  }

.cookie--link a{
      color:white;
    }

.cookie--button{
    background-color: orange;
    color:white;
    cursor:pointer;
    padding:0.5rem;
    font-size:1.5rem;
    width:40%;
    text-align: center;
    border-radius:2px;
  }

@media(min-width: 800px){

.cookie--button{
      width:30%
  }
  }

@media(min-width: 1010px){

.cookie--button{
      width:15%
  }
  }

.cal-dough{

  display: flex;
  flex-wrap:wrap;
  justify-content: space-evenly;
}

.cal-dough__cont{
    width:60vw;
  }

@media(min-width: 530px){

.cal-dough__cont{
      width:40vw
  }
  }

@media(min-width: 800px){

.cal-dough__cont{
      width:30vw
  }
  }

@media(min-width: 1010px){

.cal-dough__cont{
      width:20vw
  }
  }

.cart .wc-block-cart-item__image img{
     display:none;
    }

.cart .wc-block-components-button__text{
        color:#2c97de;
        border:2px solid #2c97de;
        padding:1rem;
    }

.cart .wc-block-grid__product-image img{
        display:none;
    }

.cart .wp-block-heading{
        display:none;
    }

.cart .is-style-dots{
        display:none;
    }

.cart .wc-block-grid__products{
        justify-content: center;
        
    }

.cart .wc-block-grid__product-title,
    .cart .wc-block-grid__product-price,
    .cart .wc-block-grid__product-add-to-cart{
        font-size:1.1rem;
    }

.cart .wp-block-woocommerce-empty-cart-block{
        padding-top:2rem;
    }

.cart .add_to_cart_button{
        background-color:#2c97de;
    }

.checkout #contact-fields{
        display:none;
    }

.checkout #shipping-fields{
        display:none;
    }

.checkout #shipping-option{
        display:none;
    }

.checkout #order-notes{
        display:none;
    }

.checkout .wc-block-components-checkout-place-order-button{
    color:#2c97de;
        border:2px solid #2c97de;
        padding:1rem;
        }

.checkout .wc-block-components-order-summary-item__image img{
            display:none;
        }

.no-content__text{
  text-align: center;
  font-size: 4rem;
}

.container{
  width:95%;
  margin-left:2.5%;
  margin-bottom:2.5%;
  margin-top:2.5%;

}

.container--subtitle{
    text-align: center;
    padding-top:0.6rem;
    padding-bottom:0.6rem;
    font-size:1.2rem;
  }

.container--title{
    font-size:1.5rem;
    color:#2c97de;
    text-align: center;
    padding-top:0.6rem;
    padding-bottom:0.6rem;
    text-transform:capitalize;
    font-weight:bold;
  }

@media(min-width: 530px){

.container--title{
      padding-top:0.6rem;
      padding-bottom:0.6rem;
  }
  }

@media(min-width: 800px){

.container--title{
      font-size:2rem;
  }
  }

.container--title__middle{
      margin-top:3rem;
    }

.container--buttons{
    display:flex;
    justify-content: space-evenly;
    flex-direction:column;
    align-items: center;
    margin-top: 4rem;
  }

@media(min-width: 800px){

.container--buttons{
      flex-direction:row
  }
  }

.container--confirm{
    justify-content: center;
    align-items: center;
  }

.container--confirm__content{
      margin:6px;
    }

.container--btn{
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background: #ebebeb;
    box-shadow: 0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    border-radius:5px;
    padding: 6px 12px;
    color:black;
    opacity:.8;
    margin-bottom:1rem;
    margin-top:1rem;
    width:50%;
    border-color: transparent;


  }

@media(min-width: 800px){

.container--btn{
      width:20%;


  }
  }

.container--btn__center{
      display:flex;
      justify-content:center;
    }

.container--btn__hard{
      background-color:#FFBF00;
    }

.container--btn__okay{
background-color:#44e3b6;
    }

.container--btn__easy{
background-color:#5ce344;
    }

.container--btn__long{
      width:200px;
    }

.container--btn__inactive{
      cursor:not-allowed;
      box-shadow: none;
      border:1px solid #adadad;
    }

.container--btn__warning{
      color:red;
      font-size:1rem;
    }

.container--btn__with-icon{
  display: flex;
    justify-content: space-evenly;
    gap: 1rem;
    align-items: center;
    width:unset;
 }

.container--btn__row{
  display: flex;
  justify-content: space-evenly;
  gap: 1rem;
  align-items: center;
 }

.container--btn__stacked{
  display:flex;
  width:unset;
  flex-direction: column;
  gap:1rem;
 }

/* end .btn */

.container--btn:hover{
    color:black;
    opacity:1;
  }

.header{
  left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;

  background:#fafafa;
    border-bottom: 1px solid #d5d5d5;
    box-shadow: 0 1px 10px rgba(0,0,0,0.05);
    box-sizing: border-box;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.header--content{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items:center;
      height:50px;
    }

@media(min-width: 800px){

.header--content{
        height:60px
    }
  }

.header--logo{
      font-family: 'Anton', sans-serif;
      margin-left:1rem;
    }

@media(min-width: 800px){

.header--logo{
        font-size:1.5rem;
    }
  }

.header--logo a{
        text-decoration:none;
        color:black;
      }

.footer{

  display:flex;
  justify-content: center;
  height:50px;

}

@media(min-width: 530px){

.footer{
    height:40px;

}
  }

.footer a{
    display: inline-block;
    background-color: rgba(85,85,85,0.9);
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
    padding: 10px 15px;
    text-decoration: none;
  }

.footer a:hover{
      padding-top: 14px;
      background-color: #555;
      }

.footer--copywright{
        background-color: rgba(85,85,85,0.9);
    padding: 10px 15px;
    text-align: center;
  }

.nav--levels{
    display:none;

  }

.nav--levels__show{
      display:block;
    }

.nav--login{
    display:none;
    justify-content: flex-end;
    margin:0px;
    margin-right:1rem;

  }

@media(min-width: 800px){

.nav--login{
      display:flex;

  }
  }

.nav--login__button{
      list-style: none;
      cursor:pointer;
      padding:0.5rem;
      color:#2c97de;
      border-width:2px;
      border-style:solid;
      border-color:transparent;
      border-radius:5px;
      text-transform:capitalize;

    }

.nav--login__button--review{
        min-width:94px;
      }

.nav--login__button--toggle{
        color:inherit;
      }

.nav--login__button a{
        text-decoration:none;
        color:inherit;
      }

.nav-path{

  text-transform:capitalize;
  padding-top: 1rem;
margin-left: 2.5%;
width: 95%;
margin-bottom:2rem;
}

.nav-path--title{
    font-size:1.5rem;
    color:#2c97de;

  }

@media(min-width: 530px){

.nav-path--title{
      font-size:2rem

  }
  }

@media(min-width: 800px){

.nav-path--title{
      font-size:2.5rem

  }
  }

.nav-path__link{
    font-size: 1rem;
    margin-bottom:0.5rem;
  }

@media(min-width: 1010px){

.nav-path__link{
      font-size:1.5rem;
  }
  }

.nav-path__link a{
      color:#999;
    }

.nav-path__linkBox{
    display:flex;
    align-items: center;
    justify-content: flex-start;
    color:#999;
    flex-wrap:wrap;
  }

.nav-path__linkBox--divider{
      margin-left:0.5rem;
      margin-right:0.5rem;
      margin-bottom:0.5rem;
    }

.action-hero{
  margin-top:1rem;
  margin-bottom:1rem;
  cursor:pointer;
  background-color: brown;
  margin-left: auto;
  margin-right:auto;
font-weight: normal;
text-align: center;
touch-action: manipulation;
box-shadow: 0 3px 3px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
border-radius: 5px;
padding: 6px 12px;
opacity: .7;
display:flex;
justify-content: space-between;
align-items: center;

width:70%;

}

@media(min-width: 530px){

.action-hero{
  width:50%;

}
  }

@media(min-width: 800px){

.action-hero{
 width:30%;

}
  }

@media(min-width: 1010px){
  }

.action-hero__title{
    font-size:1.5rem;
    color:white;
  }

.action-hero__subtitle{
    font-size:1rem;
    color:white;
  }

.profile{

  width:90%;
  left:5%;
  margin-top:2rem;
  position:relative;
  background-color: white;
  padding-left:5%;
  padding-right:5%;
  box-sizing: border-box;
}

.profile--title{
    text-align: center;
    font-size: 2rem;
    padding-top: 1.5rem;
    margin-bottom:1.5rem;
  }

.profile--text{
margin-bottom:1rem;
  }

.reset{

  width:90%;
  left:5%;
  position:relative;
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.reset--title{
  text-transform: uppercase;
  font-size: 1.5rem;
  margin-top:1.5rem;
  width:100%;
  text-align: center;
}

.reset--select{
  margin-bottom: 2rem;
      margin-top: 2rem;
      margin-right: 0.5rem;
      margin-left: 0.5rem;
}

.reset--select__container{
        display:flex;
        flex-direction: row;
      }

.reset--button{
    background-color: red;
    width:90%;
    color:white;
    text-align: center;
    padding-top:0.5rem;
    padding-bottom:0.5rem;
    border-radius: 3px;
    margin-top:0.5rem;
    margin-bottom:2rem;
    cursor:pointer;
  }

@media(min-width: 800px){

.reset--button{
      width:30%;
      margin-left:34%;
      margin-right:34%
  }
  }

.loading-display{
    position: fixed;
    width:100%;
    height:100%;
    min-height:100vh;
    opacity:0.8;
    background-color: black;
    display:none;
    z-index:100;
}

.loading-display::before {
    animation: 2s linear infinite spinner;
    border: solid 3px #eee;
    border-bottom-color: #EF6565;
    border-radius: 50%;
    content: "";
    height: 30%;
    left: 50%;
    opacity: inherit;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    transform-origin: center;
    width: 40px;
    will-change: transform;
}

@keyframes spinner {
    0% {
        transform: translate3d(-50%, -50%, 0) rotate(0deg);
    }
    100% {
         transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}

.question-list__level{
    font-size:2rem;
    margin-bottom:1rem;
    margin-top:3rem;
  }

.question-list__type{
    font-size:1.5rem;
    margin-bottom:1.5rem;
    margin-top:1.5rem;
  }

.socials{

  display:flex;
  flex-direction:column;
  justify-content: space-between;
  align-items: center;

}

@media(min-width: 530px){

.socials{
    flex-direction:row;

}
  }

.socials__section{
  margin-top:30px;
}

.socials__section--twitter img{
        height:80px;
        cursor:pointer;
      }

.socials__section--patreon img{
        height:100px;
        cursor:pointer;
      }

.socials__section--youtube img{
        height:60px;
        cursor:pointer;
      }

.blog__title{
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    padding-bottom: 2rem;
    color:#2c97de;
    padding-top:2rem;
  }

.blog__list{
    width:90%;
    left:5%;
    position:relative;
  }

@media(min-width: 1010px){

.blog__list{
      width:70%;
      left:15%;
  }
  }

.blog__list--item{
      margin-top:2rem;
      margin-bottom:2rem;
    }

.blog__link{
    color:#999;
    font-size:1.8rem;
  }

.blog__date{

  }

.post__title{
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
    color:#2c97de;
    padding-top:2rem;
  }

@media(min-width: 1010px){

.post__title{
      font-size: 3rem
  }
  }

.post__date{
    text-align: center;
    margin-top: 0.5rem;
  }

.post__content{
    width:90%;
    left:5%;
    position: relative;
    margin-top: 2rem;
  }

@media(min-width: 1010px){

.post__content{
      width:70%;
      left:15%;
      margin-top:4rem
  }
  }

.wp_membership--join{
        text-align: center;
        display:flex;
        flex-direction:column;
    }

.wp_membership--button{
        cursor:pointer;
        background-color: #2c97de;
        color:white;
        padding:1rem;
        border-radius:1rem;
    }
