/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* Prevent font size inflation */
html {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}
div,
section,
article,
aside,
footer,
header,
menu,
nav {
  display: block;
  position: relative;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}
/* Set core body defaults */
body {
  min-height: 100vh;
}
/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}
/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}
/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}
/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}
@font-face {
  font-family: 'snu-icons';
  src: url('fonts/snu-icons.ttf?o49tte') format('truetype'), url('fonts/snu-icons.woff?o49tte') format('woff'), url('fonts/snu-icons.svg?o49tte#hmp') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon-before::before,
.icon-after::after {
  font-family: 'snu-icons';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-before.icon-arrow-down::before {
  content: "\e900";
}
.icon-before.icon-arrow-left::before {
  content: "\e901";
}
.icon-before.icon-arrow-right::before {
  content: "\e902";
}
.icon-before.icon-arrow-up::before {
  content: "\e903";
}
.icon-before.icon-barchart::before {
  content: "\e904";
}
.icon-before.icon-chevron-down::before {
  content: "\e907";
}
.icon-before.icon-chevron-left::before {
  content: "\e906";
}
.icon-before.icon-chevron-right::before {
  content: "\e908";
}
.icon-before.icon-chevron-up::before {
  content: "\e909";
}
.icon-before.icon-circle-chevron-down::before {
  content: "\e90a";
}
.icon-before.icon-circle-chevron-left::before {
  content: "\e90b";
}
.icon-before.icon-circle-chevron-right::before {
  content: "\e90c";
}
.icon-before.icon-circle-chevron-up::before {
  content: "\e90d";
}
.icon-before.icon-columns-two::before {
  content: "\e90f";
}
.icon-before.icon-columns-one::before {
  content: "\e90e";
}
.icon-before.icon-compare::before {
  content: "\e910";
}
.icon-before.icon-edit::before {
  content: "\e912";
}
.icon-before.icon-pen::before {
  content: "\e914";
}
.icon-before.icon-plus::before {
  content: "\e915";
}
.icon-before.icon-print::before {
  content: "\e916";
}
.icon-before.icon-trash::before {
  content: "\e918";
}
.icon-before.icon-thumbtack-fill::before {
  content: "\e91d";
}
.icon-before.icon-thumbtack::before {
  content: "\e91e";
}
.icon-after.icon-arrow-down::after {
  content: "\e900";
}
.icon-after.icon-arrow-left::after {
  content: "\e901";
}
.icon-after.icon-arrow-right::after {
  content: "\e902";
}
.icon-after.icon-arrow-up::after {
  content: "\e903";
}
.icon-after.icon-barchart::after {
  content: "\e904";
}
.icon-after.icon-chevron-down::after {
  content: "\e907";
}
.icon-after.icon-chevron-left::after {
  content: "\e906";
}
.icon-after.icon-chevron-right::after {
  content: "\e908";
}
.icon-after.icon-chevron-up::after {
  content: "\e909";
}
.icon-after.icon-circle-chevron-down::after {
  content: "\e90a";
}
.icon-after.icon-circle-chevron-left::after {
  content: "\e90b";
}
.icon-after.icon-circle-chevron-right::after {
  content: "\e90c";
}
.icon-after.icon-circle-chevron-up::after {
  content: "\e90d";
}
.icon-after.icon-compare::after {
  content: "\e910";
}
.icon-after.icon-columns-two::after {
  content: "\e90f";
}
.icon-after.icon-columns-one::after {
  content: "\e90e";
}
.icon-after.icon-edit::after {
  content: "\e912";
}
.icon-after.icon-pen::after {
  content: "\e914";
}
.icon-after.icon-plus::after {
  content: "\e915";
}
.icon-after.icon-print::after {
  content: "\e916";
}
.icon-after.icon-trash::after {
  content: "\e918";
}
.icon-after.icon-thumbtack-fill::after {
  content: "\e91d";
}
.icon-after.icon-thumbtack::after {
  content: "\e91e";
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm21llEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hlEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6V1s.ttf) format('truetype');
}
:root {
  --width-max: 1200px;
  --font-family: "Poppins", sans-serif;
  --font-light: 300;
  --font-normal: 500;
  --font-bold: 600;
  --font-size-base: 16;
  --color-main: oklch(0.6 0.1 185);
  --color-main-2: oklch(from var(--color-main) 0.3 0.05 h);
  --color-main-1: oklch(from var(--color-main) 0.45 c h);
  --color-main1: oklch(from var(--color-main) 0.85 0.03 h);
  --color-main2: oklch(from var(--color-main) 0.95 0.01 h);
  --color-red: oklch(0.75 0.1546 27.93);
  --color-red-2: oklch(from var(--color-red) 0.35 c h);
  --color-red-1: oklch(from var(--color-red) 0.55 0.23 h);
  --color-red1: oklch(from var(--color-red) 0.98 c h);
  --color-yellow: oklch(0.85 0.1792 94);
  --color-yellow1: oklch(from var(--color-yellow) 0.95 0.1 h);
  --color-yellow-1: oklch(from var(--color-yellow) 0.45 0.02 h);
  --color-beige: oklch(0.96 0.0168 88);
  --color-beige-2: oklch(from var(--color-beige) 0.63 0.055 h);
  --color-beige-1: oklch(from var(--color-beige) 0.82 0.05 h);
  --color-back: var(--color-beige);
  --padding-narrow: 0.5rem 1rem;
  --padding-regular: 3rem;
  --border-width: 0.25rem;
  --border-width-sm: 0.125rem;
  --transition-time: 0.2s;
}
@page {
  size: A4;
  margin: 1cm;
}
body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-light);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--color-back);
  color: var(--color-text);
  line-height: 1.5;
}
@media print {
  body {
    background-color: transparent;
    font-size: 10pt;
    color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
@media print {
  div {
    font-size: 1em;
  }
}
h1,
h2,
h3,
h4,
h5 {
  font-weight: var(--font-bold);
  margin: 0 0 1em;
}
h1 {
  font-size: 2em;
  color: var(--color-main-1);
}
h2 {
  font-size: clamp(1.1rem, 0.9rem  +  0.8vw, 1.5rem);
}
h4 {
  font-size: 1rem;
  color: inherit;
  font-weight: var(--font-bold);
}
h5 {
  font-size: 0.75rem;
  color: var(--color-main-1);
  font-weight: var(--font-bold);
}
@media print {
  h1 {
    font-size: 22pt;
  }
  h2 {
    font-size: 14pt;
  }
  h3 {
    font-size: 12pt;
  }
  h4 {
    font-size: 10pt;
  }
  h5 {
    font-size: 10pt;
  }
}
p {
  margin: 0 0 1em;
}
a {
  color: var(--color-main-1);
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-color: var(--color-yellow);
          text-decoration-color: var(--color-yellow);
  text-decoration-thickness: var(--border-width-sm);
  text-underline-offset: 0.2em;
  transition: all 0.3s;
}
a:hover {
  color: #000;
  background-color: var(--color-yellow1);
}
.fullWrapper {
  width: 95vw;
  margin: 0 auto;
}
@media print {
  .fullWrapper {
    width: 19cm;
  }
}
.mainWrapper {
  width: min(95vw, 1200px);
  margin: 0 auto;
}
.mainWrapper .mainWrapper {
  width: auto;
}
@media print {
  .mainWrapper {
    width: 19cm;
  }
}
.narrowWrapper {
  width: min(95vw, 680px);
  margin: 0 auto;
}
.narrowWrapper .narrowWrapper {
  width: auto;
}
@media print {
  .narrowWrapper {
    width: 12cm;
  }
}
.borderBox {
  border: var(--border-width) solid var(--color-main);
  padding: var(--padding-regular);
}
.error {
  color: var(--color-red-2);
  border: var(--border-width) solid var(--color-red-1);
  padding: var(--padding-narrow);
}
.msg {
  border: var(--border-width) solid var(--color-beige-1);
  padding: var(--padding-narrow);
}
