/* Minification failed. Returning unminified contents.
(3,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3387,12): run-time error CSS1030: Expected identifier, found '$'
(3387,12): run-time error CSS1026: Expected open brace, found '$'
(3394,1): run-time error CSS1019: Unexpected token, found '}'
(5584,26): run-time error CSS1039: Token not allowed after unary operator: '-color-watermelon'
(8252,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8253,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8254,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8255,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8256,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8257,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8258,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8259,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8260,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8261,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8262,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10363,14): run-time error CSS1030: Expected identifier, found '.'
(10363,24): run-time error CSS1031: Expected selector, found ')'
(10363,24): run-time error CSS1025: Expected comma or open brace, found ')'
(10368,16): run-time error CSS1030: Expected identifier, found '.'
(10368,26): run-time error CSS1031: Expected selector, found ')'
(10368,26): run-time error CSS1025: Expected comma or open brace, found ')'
(10491,14): run-time error CSS1030: Expected identifier, found '.'
(10491,24): run-time error CSS1031: Expected selector, found ')'
(10491,24): run-time error CSS1025: Expected comma or open brace, found ')'
(10501,16): run-time error CSS1030: Expected identifier, found '.'
(10501,26): run-time error CSS1031: Expected selector, found ')'
(10501,26): run-time error CSS1025: Expected comma or open brace, found ')'
(10791,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10792,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10793,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10794,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10795,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10796,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10797,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10798,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10803,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10807,34): run-time error CSS1039: Token not allowed after unary operator: '-size'
(10815,17): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(10821,35): run-time error CSS1039: Token not allowed after unary operator: '-size'
(10823,13): run-time error CSS1039: Token not allowed after unary operator: '-font-top-offset'
(10824,14): run-time error CSS1039: Token not allowed after unary operator: '-font-left-offset'
(10826,15): run-time error CSS1039: Token not allowed after unary operator: '-font-width'
(10827,16): run-time error CSS1039: Token not allowed after unary operator: '-font-height'
(10845,15): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10846,16): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10863,28): run-time error CSS1039: Token not allowed after unary operator: '-size'
(10866,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10867,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10874,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10875,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10882,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10883,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10890,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10891,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10899,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10900,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10908,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10909,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10916,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10917,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10925,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10926,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10934,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10935,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10942,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10943,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10951,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(10952,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(10962,20): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10963,21): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10968,35): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10972,51): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10976,51): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10980,50): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10984,50): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10988,51): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(10993,20): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(10993,40): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(10994,21): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(10994,41): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(10999,11): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11000,17): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(11000,36): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11001,17): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11005,11): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11006,17): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(11006,36): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11012,11): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11013,17): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11014,17): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(11014,36): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11015,47): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11019,11): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11020,17): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11021,17): run-time error CSS1039: Token not allowed after unary operator: '-cube-size'
(11021,36): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11026,20): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11026,40): run-time error CSS1039: Token not allowed after unary operator: '-print-margin'
(11027,28): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11028,42): run-time error CSS1039: Token not allowed after unary operator: '-print-size'
(11127,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(11128,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
 */
@charset "UTF-8";
:root {
  --color-white: #fff;
  --color-beige-light: #f9f6f2;
  --color-beige: #f6ede2;
  --color-peach-light: #fed7b5;
  --color-peach: #ffc190;
  --color-zima-light: #c4e3ff;
  --color-zima: #9fcfff;
  --color-watermelon-light: #ff85ac;
  --color-watermelon: #f46d70;
  --color-mirage-light: #1c2042;
  --color-mirage: #19162b;
}

/*------------------------------------*/
/*  #ANIMATIONS - Generic reusable keyframe animations
/*------------------------------------*/
@keyframes appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*------------------------------------*/
/*  #MEDIA-QUERIES
/*------------------------------------*/
/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
/* Document
   ========================================================================== */
*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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;
}

.main-body h4 {
  font-size: 18px;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 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
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 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 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * 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;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on OS X.
 */
[type=search]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Box sizing
   ========================================================================== */
* {
  box-sizing: border-box;
}

.svg-arrow-down-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: 0 0;
  width: 25px;
  height: 24px;
}

.svg-arrow-left-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -25px -24px;
  width: 28px;
  height: 28px;
}

.svg-arrow-right {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -53px -52px;
  width: 28px;
  height: 28px;
}

.svg-arrow-right-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -81px -80px;
  width: 25px;
  height: 24px;
}

.svg-arrow-right-dnr {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.svg-arrow-right-dnr-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -134px -132px;
  width: 28px;
  height: 28px;
}

.svg-arrow-right-light-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -162px -160px;
  width: 28px;
  height: 28px;
}

.svg-arrow-right-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -190px -188px;
  width: 28px;
  height: 28px;
}

.svg-assignment {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -218px -216px;
  width: 28px;
  height: 28px;
}

.svg-assignment-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -246px -244px;
  width: 28px;
  height: 28px;
}

.svg-calendar {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -274px -272px;
  width: 28px;
  height: 28px;
}

.svg-calendar-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -302px -300px;
  width: 28px;
  height: 28px;
}

.svg-check {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -330px -328px;
  width: 28px;
  height: 28px;
}

.svg-check-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -358px -356px;
  width: 28px;
  height: 28px;
}

.svg-chevron-down {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -386px -384px;
  width: 28px;
  height: 28px;
}

.svg-chevron-down-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -414px -412px;
  width: 28px;
  height: 28px;
}

.svg-chevron-down-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -442px -440px;
  width: 28px;
  height: 28px;
}

.svg-close {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -470px -468px;
  width: 28px;
  height: 28px;
}

.svg-close-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -498px -496px;
  width: 28px;
  height: 28px;
}

.svg-donut {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -526px -524px;
  width: 28px;
  height: 28px;
}

.svg-donut-blue {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -554px -552px;
  width: 28px;
  height: 28px;
}

.svg-ecourse {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -582px -580px;
  width: 28px;
  height: 28px;
}

.svg-facebook {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -610px -608px;
  width: 28px;
  height: 28px;
}

.svg-facebook-box {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -638px -636px;
  width: 28px;
  height: 28px;
}

.svg-facebook-box-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -666px -664px;
  width: 28px;
  height: 28px;
}

.svg-facebook-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -694px -692px;
  width: 28px;
  height: 28px;
}

.svg-file {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -722px -720px;
  width: 28px;
  height: 28px;
}

.svg-file-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -750px -748px;
  width: 28px;
  height: 28px;
}

.svg-help {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -778px -776px;
  width: 28px;
  height: 28px;
}

.svg-instagram {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -806px -804px;
  width: 28px;
  height: 28px;
}

.svg-instagram-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -834px -832px;
  width: 28px;
  height: 28px;
}

.svg-linkedin {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -862px -860px;
  width: 28px;
  height: 28px;
}

.svg-linkedin-box {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -890px -888px;
  width: 28px;
  height: 28px;
}

.svg-linkedin-box-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -918px -916px;
  width: 28px;
  height: 28px;
}

.svg-linkedin-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -946px -944px;
  width: 28px;
  height: 28px;
}

.svg-lock {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -974px -972px;
  width: 28px;
  height: 28px;
}

.svg-lock-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1002px -1000px;
  width: 28px;
  height: 28px;
}

.svg-logout {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1030px -1028px;
  width: 28px;
  height: 28px;
}

.svg-logout-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1058px -1056px;
  width: 28px;
  height: 28px;
}

.svg-menu {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1086px -1084px;
  width: 28px;
  height: 28px;
}

.svg-menu-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1114px -1112px;
  width: 28px;
  height: 28px;
}

.svg-messenger {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1142px -1140px;
  width: 28px;
  height: 28px;
}

.svg-messenger-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1170px -1168px;
  width: 28px;
  height: 28px;
}

.svg-printer {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1198px -1196px;
  width: 28px;
  height: 28px;
}

.svg-printer-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1226px -1224px;
  width: 28px;
  height: 28px;
}

.svg-search {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1254px -1252px;
  width: 28px;
  height: 28px;
}

.svg-search-2 {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1282px -1280px;
  width: 28px;
  height: 28px;
}

.svg-search-2-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1310px -1308px;
  width: 28px;
  height: 28px;
}

.svg-search-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1338px -1336px;
  width: 28px;
  height: 28px;
}

.svg-snapchat {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1366px -1364px;
  width: 28px;
  height: 28px;
}

.svg-snapchat-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1394px -1392px;
  width: 28px;
  height: 28px;
}

.svg-twitter {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1422px -1420px;
  width: 28px;
  height: 28px;
}

.svg-twitter-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1450px -1448px;
  width: 28px;
  height: 28px;
}

.svg-user {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1478px -1476px;
  width: 28px;
  height: 28px;
}

.svg-user-2 {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1506px -1504px;
  width: 28px;
  height: 28px;
}

.svg-user-2-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1534px -1532px;
  width: 28px;
  height: 28px;
}

.svg-user-3 {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1562px -1560px;
  width: 28px;
  height: 28px;
}

.svg-user-3-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1590px -1588px;
  width: 28px;
  height: 28px;
}

.svg-user-lock {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1618px -1616px;
  width: 28px;
  height: 28px;
}

.svg-user-lock-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1646px -1644px;
  width: 28px;
  height: 28px;
}

.svg-user-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1674px -1672px;
  width: 28px;
  height: 28px;
}

.svg-youtube {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1702px -1700px;
  width: 28px;
  height: 28px;
}

.svg-youtube-white {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1730px -1728px;
  width: 28px;
  height: 28px;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
ol,
ul,
form,
fieldset,
legend,
table,
th,
td,
caption,
hr,
figure {
  margin: 0;
  padding: 0;
}

abbr[title],
dfn[title] {
  cursor: help;
}

a,
u,
ins {
  text-decoration: none;
}

ins {
  border-bottom: 1px solid;
}

img {
  font-style: italic;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
}

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary,
main {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
}

a:focus {
  outline: 1px solid;
  outline-offset: 3px;
}

a[role=button]:focus h2,
a[role=button]:focus h3 {
  outline: 1px solid;
}

a:active,
a:hover {
  outline: 0;
}

h1 {
  font-size: 2em;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: "“" "”" "‘" "’";
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button,
input {
  line-height: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
input[disabled] {
  cursor: default;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.col-1 {
  float: left;
  position: relative;
  width: 8.33333%;
}

.col-2 {
  float: left;
  position: relative;
  width: 16.66667%;
}

.col-3 {
  float: left;
  position: relative;
  width: 25%;
}

.col-4 {
  float: left;
  position: relative;
  width: 33.33333%;
}

.col-5 {
  float: left;
  position: relative;
  width: 41.66667%;
}

.col-6 {
  float: left;
  position: relative;
  width: 50%;
}

.col-7 {
  float: left;
  position: relative;
  width: 58.33333%;
}

.col-8 {
  float: left;
  position: relative;
  width: 66.66667%;
}

.col-9 {
  float: left;
  position: relative;
  width: 75%;
}

.col-10 {
  float: left;
  position: relative;
  width: 83.33333%;
}

.col-11 {
  float: left;
  position: relative;
  width: 91.66667%;
}

.col-12,
.order-course__footer,
.order-course__header {
  float: left;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 300px) {
  .col-1--sm {
    float: left;
    position: relative;
    width: 8.33333%;
  }
  .col-2--sm {
    float: left;
    position: relative;
    width: 16.66667%;
  }
  .col-3--sm {
    float: left;
    position: relative;
    width: 25%;
  }
  .col-4--sm {
    float: left;
    position: relative;
    width: 33.33333%;
  }
  .col-5--sm {
    float: left;
    position: relative;
    width: 41.66667%;
  }
  .col-6--sm {
    float: left;
    position: relative;
    width: 50%;
  }
  .col-7--sm {
    float: left;
    position: relative;
    width: 58.33333%;
  }
  .col-8--sm {
    float: left;
    position: relative;
    width: 66.66667%;
  }
  .col-9--sm {
    float: left;
    position: relative;
    width: 75%;
  }
  .col-10--sm {
    float: left;
    position: relative;
    width: 83.33333%;
  }
  .col-11--sm {
    float: left;
    position: relative;
    width: 91.66667%;
  }
  .col-12--sm {
    float: left;
    position: relative;
    width: 100%;
  }
}
@media screen and (min-width: 640px) {
  .col-1--md {
    float: left;
    position: relative;
    width: 8.33333%;
  }
  .col-2--md {
    float: left;
    position: relative;
    width: 16.66667%;
  }
  .col-3--md {
    float: left;
    position: relative;
    width: 25%;
  }
  .col-4--md,
  .search__subject {
    float: left;
    position: relative;
    width: 33.33333%;
  }
  .col-5--md {
    float: left;
    position: relative;
    width: 41.66667%;
  }
  .col-6--md,
  .listing__image,
  .listing__image + .listing__text-wrapper,
  .attachments-box__item,
  .order-course__meta,
  .order-course__choices,
  .inquire__category {
    float: left;
    position: relative;
    width: 50%;
  }
  .col-7--md {
    float: left;
    position: relative;
    width: 58.33333%;
  }
  .col-8--md,
  .search__field,
  .search__ingress,
  .inquire__form {
    float: left;
    position: relative;
    width: 66.66667%;
  }
  .col-9--md {
    float: left;
    position: relative;
    width: 75%;
  }
  .col-10--md {
    float: left;
    position: relative;
    width: 83.33333%;
  }
  .col-11--md {
    float: left;
    position: relative;
    width: 91.66667%;
  }
  .col-12--md,
  .listing--double .listing__item,
  .listing--double .listing__image,
  .listing--double .listing__text-wrapper {
    float: left;
    position: relative;
    width: 100%;
  }
}
@media screen and (min-width: 960px) {
  .col-1--lg {
    float: left;
    position: relative;
    width: 8.33333%;
  }
  .col-2--lg,
  .schedule__section {
    float: left;
    position: relative;
    width: 16.66667%;
  }
  .col-3--lg,
  .search__subject {
    float: left;
    position: relative;
    width: 25%;
  }
  .col-4--lg,
  .listing__image,
  .schedule__section--medium {
    float: left;
    position: relative;
    width: 33.33333%;
  }
  .col-5--lg {
    float: left;
    position: relative;
    width: 41.66667%;
  }
  .col-6--lg,
  .listing--double .listing__item,
  .listing--double .listing__image,
  .listing--double .listing__text-wrapper,
  .schedule__section--large {
    float: left;
    position: relative;
    width: 50%;
  }
  .col-7--lg {
    float: left;
    position: relative;
    width: 58.33333%;
  }
  .col-8--lg,
  .listing__image + .listing__text-wrapper {
    float: left;
    position: relative;
    width: 66.66667%;
  }
  .col-9--lg {
    float: left;
    position: relative;
    width: 75%;
  }
  .col-10--lg,
  .schedule__section--xlarge {
    float: left;
    position: relative;
    width: 83.33333%;
  }
  .col-11--lg {
    float: left;
    position: relative;
    width: 91.66667%;
  }
  .col-12--lg {
    float: left;
    position: relative;
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .col-1--xl {
    float: left;
    position: relative;
    width: 8.33333%;
  }
  .col-2--xl {
    float: left;
    position: relative;
    width: 16.66667%;
  }
  .col-3--xl {
    float: left;
    position: relative;
    width: 25%;
  }
  .col-4--xl {
    float: left;
    position: relative;
    width: 33.33333%;
  }
  .col-5--xl {
    float: left;
    position: relative;
    width: 41.66667%;
  }
  .col-6--xl {
    float: left;
    position: relative;
    width: 50%;
  }
  .col-7--xl {
    float: left;
    position: relative;
    width: 58.33333%;
  }
  .col-8--xl {
    float: left;
    position: relative;
    width: 66.66667%;
  }
  .col-9--xl {
    float: left;
    position: relative;
    width: 75%;
  }
  .col-10--xl {
    float: left;
    position: relative;
    width: 83.33333%;
  }
  .col-11--xl {
    float: left;
    position: relative;
    width: 91.66667%;
  }
  .col-12--xl {
    float: left;
    position: relative;
    width: 100%;
  }
}
.col-offset-1 {
  margin-left: 8.33333%;
}

.col-offset-2 {
  margin-left: 16.66667%;
}

.col-offset-3 {
  margin-left: 25%;
}

.col-offset-4 {
  margin-left: 33.33333%;
}

.col-offset-5 {
  margin-left: 41.66667%;
}

.col-offset-6 {
  margin-left: 50%;
}

.col-offset-7 {
  margin-left: 58.33333%;
}

.col-offset-8 {
  margin-left: 66.66667%;
}

.col-offset-9 {
  margin-left: 75%;
}

.col-offset-10 {
  margin-left: 83.33333%;
}

.col-offset-11 {
  margin-left: 91.66667%;
}

@media screen and (min-width: 640px) {
  .col-offset-0--md {
    margin-left: 0;
  }
  .col-offset-1--md {
    margin-left: 8.33333%;
  }
  .col-offset-2--md {
    margin-left: 16.66667%;
  }
  .col-offset-3--md {
    margin-left: 25%;
  }
  .col-offset-4--md {
    margin-left: 33.33333%;
  }
  .col-offset-5--md {
    margin-left: 41.66667%;
  }
  .col-offset-6--md {
    margin-left: 50%;
  }
  .col-offset-7--md {
    margin-left: 58.33333%;
  }
  .col-offset-8--md {
    margin-left: 66.66667%;
  }
  .col-offset-9--md {
    margin-left: 75%;
  }
  .col-offset-10--md {
    margin-left: 83.33333%;
  }
  .col-offset-11--md {
    margin-left: 91.66667%;
  }
}
@media screen and (min-width: 960px) {
  .col-offset-0--lg {
    margin-left: 0;
  }
  .col-offset-1--lg {
    margin-left: 8.33333%;
  }
  .col-offset-2--lg {
    margin-left: 16.66667%;
  }
  .col-offset-3--lg {
    margin-left: 25%;
  }
  .col-offset-4--lg {
    margin-left: 33.33333%;
  }
  .col-offset-5--lg {
    margin-left: 41.66667%;
  }
  .col-offset-6--lg {
    margin-left: 50%;
  }
  .col-offset-7--lg {
    margin-left: 58.33333%;
  }
  .col-offset-8--lg {
    margin-left: 66.66667%;
  }
  .col-offset-9--lg {
    margin-left: 75%;
  }
  .col-offset-10--lg {
    margin-left: 83.33333%;
  }
  .col-offset-11--lg {
    margin-left: 91.66667%;
  }
  .col-offset-12--lg {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .col-offset-1--xl {
    margin-left: 8.33333%;
  }
  .col-offset-2--xl {
    margin-left: 16.66667%;
  }
  .col-offset-3--xl {
    margin-left: 25%;
  }
  .col-offset-4--xl {
    margin-left: 33.33333%;
  }
  .col-offset-5--xl {
    margin-left: 41.66667%;
  }
  .col-offset-6--xl {
    margin-left: 50%;
  }
  .col-offset-7--xl {
    margin-left: 58.33333%;
  }
  .col-offset-8--xl {
    margin-left: 66.66667%;
  }
  .col-offset-9--xl {
    margin-left: 75%;
  }
  .col-offset-10--xl {
    margin-left: 83.33333%;
  }
  .col-offset-11--xl {
    margin-left: 91.66667%;
  }
}
.grid,
.schedule__content {
  max-width: 1100px;
  margin: 0 auto;
}

.grid--fluid {
  max-width: 100%;
  margin: 0 auto;
}

.grid--negative {
  margin-left: -20px;
  margin-right: -20px;
}

body {
  font-family: "Basis Grotesque", sans-serif;
  font-size: 16px;
  color: #333;
  background: #19162b;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  max-width: 100%;
  overflow-x: hidden;
}

@media print {
  body {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
html.show-menu,
html.show-menu body {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 640px) {
  html.show-menu,
  html.show-menu body {
    overflow: auto;
  }
}
a {
  cursor: pointer;
  color: inherit;
}

a.a--no-link {
  border-color: transparent;
}

h1,
.h1 {
  position: relative;
  font-family: "GT Alpina", "Georgia", serif;
  font-weight: 700;
  margin: 0 0 20px;
}

@media print {
  h1,
  .h1 {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
@media (min-width: 640px) {
  h1,
  .h1 {
    font-size: 44px;
  }
}
@media (max-width: 640px) {
  h1,
  .h1 {
    font-size: 44px;
  }
}
@media (max-width: 576px) {
  h1,
  .h1 {
    font-size: 39.6px;
  }
}
@media (max-width: 384px) {
  h1,
  .h1 {
    font-size: 26.4px;
  }
}
@media screen and (min-width: 640px) {
  h1,
  .h1 {
    margin: 0 0 40px;
  }
}
h2,
.h2,
.shout-box__message,
.course-box__price,
.article-box__price {
  font-size: 24px;
  margin: 0 0 10px;
}

@media print {
  h2,
  .h2,
  .shout-box__message,
  .course-box__price,
  .article-box__price {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
h3,
.h3,
legend,
.page-footer__follow-title,
.related__title,
.book__maintitle,
.listing__item h2,
.items-filter__title {
  font-family: "Basis Grotesque", sans-serif;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
}

@media print {
  h3,
  .h3,
  legend,
  .page-footer__follow-title,
  .related__title,
  .book__maintitle,
  .listing__item h2,
  .items-filter__title {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
h4,
.h4,
.schedule__session-title,
.schedule__day-heading {
  font-family: "Basis Grotesque", sans-serif;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
}

h1 small,
h2 small,
h3 small,
h4 small {
  display: block;
  font-size: 65%;
}

blockquote {
  padding-bottom: 20px;
  margin-left: 20px;
}

blockquote p {
  font-style: italic;
  margin-bottom: 10px;
}

@media print {
  blockquote p {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
blockquote cite:before {
  content: "- ";
}

@media print {
  blockquote cite {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
.list, .rich-text ol:not([class]), .rich-text ul:not([class]) {
  padding-left: 40px;
  margin-bottom: 40px;
}

@media print {
  .list, .rich-text ol:not([class]), .rich-text ul:not([class]) {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
.list, .rich-text ol:not([class]), .rich-text ul:not([class]),
.list li,
.rich-text ol:not([class]) li,
.rich-text ul:not([class]) li {
  list-style: disc;
  line-height: 1.65;
}

.list li, .rich-text ol:not([class]) li, .rich-text ul:not([class]) li {
  margin-bottom: 6px;
}

.list ul, .rich-text ol:not([class]) ul, .rich-text ul:not([class]) ul {
  padding-left: 40px;
}

.list > li > ul > li, .rich-text ol:not([class]) > li > ul > li, .rich-text ul:not([class]) > li > ul > li {
  list-style: circle;
}

.list--numbered li {
  list-style: decimal;
}

.list--no-bullets {
  padding-left: 0;
}

.list--no-bullets li {
  list-style: none;
}

.list--inline li {
  display: inline-block;
}

.list--inline li:after {
  content: ", ";
}

.list--inline li:last-child:after {
  content: "";
}

.separating-header,
legend,
.attachments-box__title {
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #969696;
}

.text--muted {
  color: #969696;
}

.text--thin {
  font-weight: 300;
}

.text--normal {
  font-weight: 400;
}

.text--bold {
  font-weight: 700;
}

p,
.p {
  margin: 0 0 20px;
  line-height: 1.65;
}

@media print {
  p,
  .p {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
.p,
.span {
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
}

.data {
  font-weight: 700;
  word-wrap: break-word;
}

@media print {
  .data {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.ingress,
.listing--big p,
.search__ingress {
  font-size: 18px;
  line-height: 1.5;
}

@media print {
  .ingress,
  .listing--big p,
  .search__ingress {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
@media screen and (min-width: 640px) {
  .ingress,
  .listing--big p,
  .search__ingress {
    font-size: 20px;
    line-height: 1.65;
  }
}
.span {
  margin: 0;
}

@media print {
  .span {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
time {
  font-weight: 700;
  margin-right: 20px;
}

.disclamer {
  padding: 40px 0;
}

.disclamer__title {
  color: #444;
}

.disclamer__description {
  font-style: italic;
  color: #969696;
}

@media print {
  .disclamer__description {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
textarea,
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
.input {
  display: block;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border: 2px solid #dadada;
  font-size: 18px;
  border-radius: 0;
  background-color: #ffffff;
  line-height: normal;
  min-height: 44px;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea[disabled],
input[type=text][disabled],
input[type=password][disabled],
input[type=datetime][disabled],
input[type=datetime-local][disabled],
input[type=date][disabled],
input[type=month][disabled],
input[type=time][disabled],
input[type=week][disabled],
input[type=number][disabled],
input[type=email][disabled],
input[type=url][disabled],
input[type=search][disabled],
input[type=tel][disabled],
input[type=color][disabled],
.input[disabled] {
  background-color: #f9f6f2;
}

textarea.placeholder,
input[type=text].placeholder,
input[type=password].placeholder,
input[type=datetime].placeholder,
input[type=datetime-local].placeholder,
input[type=date].placeholder,
input[type=month].placeholder,
input[type=time].placeholder,
input[type=week].placeholder,
input[type=number].placeholder,
input[type=email].placeholder,
input[type=url].placeholder,
input[type=search].placeholder,
input[type=tel].placeholder,
input[type=color].placeholder,
.input.placeholder {
  color: #969696;
  line-height: normal;
}

textarea:-moz-placeholder,
input[type=text]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=datetime]:-moz-placeholder,
input[type=datetime-local]:-moz-placeholder,
input[type=date]:-moz-placeholder,
input[type=month]:-moz-placeholder,
input[type=time]:-moz-placeholder,
input[type=week]:-moz-placeholder,
input[type=number]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=url]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=color]:-moz-placeholder,
.input:-moz-placeholder {
  color: #969696;
  line-height: normal;
}

textarea::-moz-placeholder,
input[type=text]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=datetime]::-moz-placeholder,
input[type=datetime-local]::-moz-placeholder,
input[type=date]::-moz-placeholder,
input[type=month]::-moz-placeholder,
input[type=time]::-moz-placeholder,
input[type=week]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=url]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=color]::-moz-placeholder,
.input::-moz-placeholder {
  color: #969696;
  line-height: normal;
}

textarea:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=datetime]:-ms-input-placeholder,
input[type=datetime-local]:-ms-input-placeholder,
input[type=date]:-ms-input-placeholder,
input[type=month]:-ms-input-placeholder,
input[type=time]:-ms-input-placeholder,
input[type=week]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=color]:-ms-input-placeholder,
.input:-ms-input-placeholder {
  color: #969696;
  line-height: normal;
}

textarea::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=datetime]::-webkit-input-placeholder,
input[type=datetime-local]::-webkit-input-placeholder,
input[type=date]::-webkit-input-placeholder,
input[type=month]::-webkit-input-placeholder,
input[type=time]::-webkit-input-placeholder,
input[type=week]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=color]::-webkit-input-placeholder,
.input::-webkit-input-placeholder {
  color: #969696;
  line-height: normal;
}

textarea:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=time]:focus,
input[type=week]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=color]:focus,
.input:focus {
  background-color: #ffffff;
  border-color: #007db3;
}

textarea.xsmall,
input[type=text].xsmall,
input[type=password].xsmall,
input[type=datetime].xsmall,
input[type=datetime-local].xsmall,
input[type=date].xsmall,
input[type=month].xsmall,
input[type=time].xsmall,
input[type=week].xsmall,
input[type=number].xsmall,
input[type=email].xsmall,
input[type=url].xsmall,
input[type=search].xsmall,
input[type=tel].xsmall,
input[type=color].xsmall,
.input.xsmall {
  width: 100%;
  max-width: 75px;
}

textarea.small,
input[type=text].small,
input[type=password].small,
input[type=datetime].small,
input[type=datetime-local].small,
input[type=date].small,
input[type=month].small,
input[type=time].small,
input[type=week].small,
input[type=number].small,
input[type=email].small,
input[type=url].small,
input[type=search].small,
input[type=tel].small,
input[type=color].small,
.input.small {
  width: 100%;
  max-width: 200px;
}

@media screen and (min-width: 640px) {
  textarea.medium,
  input[type=text].medium,
  input[type=password].medium,
  input[type=datetime].medium,
  input[type=datetime-local].medium,
  input[type=date].medium,
  input[type=month].medium,
  input[type=time].medium,
  input[type=week].medium,
  input[type=number].medium,
  input[type=email].medium,
  input[type=url].medium,
  input[type=search].medium,
  input[type=tel].medium,
  input[type=color].medium,
  .input.medium {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 960px) {
  textarea.medium,
  input[type=text].medium,
  input[type=password].medium,
  input[type=datetime].medium,
  input[type=datetime-local].medium,
  input[type=date].medium,
  input[type=month].medium,
  input[type=time].medium,
  input[type=week].medium,
  input[type=number].medium,
  input[type=email].medium,
  input[type=url].medium,
  input[type=search].medium,
  input[type=tel].medium,
  input[type=color].medium,
  .input.medium {
    width: calc(33.3333% - 20px);
  }
}
@media screen and (min-width: 960px) {
  textarea.large,
  input[type=text].large,
  input[type=password].large,
  input[type=datetime].large,
  input[type=datetime-local].large,
  input[type=date].large,
  input[type=month].large,
  input[type=time].large,
  input[type=week].large,
  input[type=number].large,
  input[type=email].large,
  input[type=url].large,
  input[type=search].large,
  input[type=tel].large,
  input[type=color].large,
  .input.large {
    width: 66.6666%;
    max-width: 450px;
  }
}
textarea.error,
input[type=text].error,
input[type=password].error,
input[type=datetime].error,
input[type=datetime-local].error,
input[type=date].error,
input[type=month].error,
input[type=time].error,
input[type=week].error,
input[type=number].error,
input[type=email].error,
input[type=url].error,
input[type=search].error,
input[type=tel].error,
input[type=color].error,
.input.error {
  border-color: #ffc190;
}

textarea.error:focus,
input[type=text].error:focus,
input[type=password].error:focus,
input[type=datetime].error:focus,
input[type=datetime-local].error:focus,
input[type=date].error:focus,
input[type=month].error:focus,
input[type=time].error:focus,
input[type=week].error:focus,
input[type=number].error:focus,
input[type=email].error:focus,
input[type=url].error:focus,
input[type=search].error:focus,
input[type=tel].error:focus,
input[type=color].error:focus,
.input.error:focus {
  border-color: #007db3;
}

.form__text-wrapper--small {
  width: 100%;
  max-width: 200px;
}

@media screen and (min-width: 640px) {
  .form__text-wrapper--medium {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 960px) {
  .form__text-wrapper--medium {
    width: calc(33.3333% - 20px);
  }
}
@media screen and (min-width: 960px) {
  .form__text-wrapper--large {
    width: 66.6666%;
  }
}
.input--with-suffix {
  float: left;
}

.input__suffix {
  margin-top: 1em;
  margin-left: 1em;
  float: left;
}

.input--file {
  background-color: #f9f6f2;
  border: none;
  font-size: 14px;
}

label,
.label,
.legend--secondary {
  display: block;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 30px;
}

label small,
.label small,
.legend--secondary small,
.label--helptext {
  font-weight: normal;
}

.label--helptext {
  line-height: 24px;
}

.label--list {
  display: block !important;
  margin-bottom: 10px;
}

.label--inline {
  font-weight: normal;
  display: inline;
  padding-right: 1em;
}

.show-errors .ng-invalid {
  border-color: #ffc190;
}

label .error li,
.label .error li,
.legend--secondary .error li {
  color: #ffffff;
  background: #ffc190;
  margin: 10px -20px;
  padding: 10px 20px;
}

.number-field .button,
.number-field .collapse-menu__header,
.number-field .checkbox-button__overlay,
.number-field .shout-box__close,
.number-field .items-filter__collapse-header a,
.items-filter__collapse-header .number-field a,
.number-field .order-course__choice-list__button {
  display: inline-block;
  vertical-align: top;
}

.number-field input[type=number] {
  display: inline-block;
  vertical-align: top;
  -webkit-appearance: none;
  border-radius: 0;
  outline: none;
  text-align: center;
  border: 0;
  height: 40px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
  color: #ffc190;
  background: transparent;
  width: 50px;
}

.number-field input[type=number]::-webkit-inner-spin-button,
.number-field input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.radio,
.checkbox {
  position: relative;
  display: inline-block;
  padding-left: 28px;
  padding-right: 20px;
  cursor: pointer;
}

.radio input,
.checkbox input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

.radio input:checked ~ .control-indicator,
.checkbox input:checked ~ .control-indicator {
  background-color: #007db3;
  border-color: transparent;
}

.radio input:focus ~ .control-indicator,
.checkbox input:focus ~ .control-indicator {
  outline: 1px solid transparent;
  outline-color: inherit;
  outline-offset: 3px;
}

.radio input:disabled ~ .control-indicator,
.checkbox input:disabled ~ .control-indicator {
  border-color: #f9f6f2;
  background: #f9f6f2;
}

.control-indicator {
  position: absolute;
  display: block;
  top: 4px;
  left: 0;
  width: 22px;
  height: 22px;
  border: 1px solid #969696;
  background-color: #ffffff;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.checkbox .control-indicator {
  border-radius: 0;
}

.checkbox.error .control-indicator {
  border: 2px solid #ffc190;
}

.checkbox.error input:checked ~ .control-indicator {
  background-color: #ffc190;
}

.radio .control-indicator {
  border-radius: 50%;
}

.radio.error .control-indicator {
  border: 2px solid #ffc190;
}

.radio.error input:checked ~ .control-indicator {
  background-color: #ffc190;
}

body {
  -webkit-animation: bugfix infinite 1s;
}
.select {
  position: relative;
  display: block;
  max-width: 100%;
}

.select select {
  display: block;
  margin: 0;
  padding: 10px 20px;
  padding-right: 40px;
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  line-height: 1.5;
  font-size: 16px;
  color: #333;
  background-color: #f9f6f2;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  outline: 0;
  transition: border-color 0.15s;
  font-weight: 400;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.select select:focus:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.select select:focus {
  border: 2px solid #007db3;
  padding: 8px 18px;
  padding-right: 38px;
}

.select select::-ms-expand {
  display: none;
}

.select:after {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  right: 10px;
  top: 50%;
  margin-top: -11px;
}

.select--block {
  display: block;
}

.select--block select {
  display: block;
  width: 100%;
}

.select--outlined select {
  border: 2px solid #b2b2b2;
}

.select--inline {
  display: inline-block;
  vertical-align: middle;
}

.select.small {
  width: 100%;
  max-width: 200px;
}

.select.medium {
  width: 100%;
}

@media screen and (min-width: 640px) {
  .select.medium {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 960px) {
  .select.medium {
    width: calc(33.3333% - 20px);
  }
}
.select.error select {
  border: 2px solid #ffc190;
  padding: 8px 18px;
  padding-right: 38px;
}

.select.error select:focus {
  border: 2px solid #007db3;
  padding: 8px 18px;
  padding-right: 38px;
}

.select:has(select) + .label {
  margin-top: -28px;
}

fieldset,
.fieldset {
  border: none;
  margin: 0;
  padding: 0;
  margin-bottom: 40px;
}

fieldset--smaller,
.fieldset--smaller {
  margin-bottom: 20px;
}

legend {
  display: block;
  width: 100%;
  margin-bottom: 0;
}

legend + * {
  -webkit-margin-top-collapse: separate;
  margin-top: 20px;
}

.legend--secondary {
  font-size: 16px;
  margin-bottom: 10px;
  border: none;
}

@-moz-document url-prefix() {
  .select select {
    text-indent: 0.01px;
    text-overflow: "";
    padding-right: 1rem;
  }
  .select option {
    background-color: white;
  }
}
hr {
  margin: 20px 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #969696;
}

.hr--light {
  border-top: 2px solid #f9f6f2;
}

.hr--medium {
  border-top: 2px solid #dadada;
}

@media screen and (max-width: 640px) {
  .hr-top--on-small {
    border-top: 1px solid #e8e8e8;
    padding-top: 20px;
  }
}
.button,
.collapse-menu__header,
.checkbox-button__overlay,
.shout-box__close,
.items-filter__collapse-header a,
.order-course__choice-list__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  outline: 0;
  line-height: normal;
  display: inline-block;
  font-size: 18px;
  border: 0;
  padding: 10px 20px;
  background-color: #f9f6f2;
  margin-bottom: 5px;
  vertical-align: top;
  word-wrap: break-word;
  transition: all 0.15s;
}

.button__wrapper {
  padding-right: 20px;
  display: inline-block;
}

.button:hover,
.collapse-menu__header:hover,
.checkbox-button__overlay:hover,
.shout-box__close:hover,
.items-filter__collapse-header a:hover,
.order-course__choice-list__button:hover {
  background-color: #e5e5e5;
}

.button:focus,
.collapse-menu__header:focus,
.checkbox-button__overlay:focus,
.shout-box__close:focus,
.items-filter__collapse-header a:focus,
.order-course__choice-list__button:focus {
  outline: 1px solid black;
  box-shadow: 0 0 0 3px white;
}

.order-course__choice-list__button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.order-course__choice-list__button span:not([class]):first-child {
  flex-shrink: 0;
}
.order-course__choice-list__button::after {
  margin-left: auto;
  flex-shrink: 0;
}

.order-course__choice-list__button:after {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.button--link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 4px;
}
.button--link::after {
  flex-shrink: 0;
}

.login-form__button-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.login-form__button-group a:not([class=button]) {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.login-form__button-group a:not([class=button]):hover {
  text-decoration-thickness: 2px;
}

.collapse-menu__header,
.items-filter__collapse-header a,
.banner-box--light .banner-box__button a {
  color: #19162b;
  background: #9fcfff;
  border-radius: 4px;
  padding: 1rem 1.125rem;
}

.collapse-menu__header:hover,
.items-filter__collapse-header a:hover,
.banner-box--light .banner-box__button a:hover {
  color: #ffffff;
  background-color: #19162b;
}

.collapse-menu__header:active,
.items-filter__collapse-header a:active,
.banner-box--light .banner-box__button a:active {
  color: #ffffff;
  background-color: #19162b;
}

.collapse-menu__header:focus,
.items-filter__collapse-header a:focus,
.banner-box--light .banner-box__button a:focus {
  outline-color: #333;
}

.shout-box__close {
  color: #333;
  background: #ffc190;
}

.shout-box__close:hover {
  color: #333;
  background-color: #ffc190;
}

.shout-box__close:active {
  color: #333;
  background-color: #ffc190;
}

.collapse-menu__header,
.checkbox-button__overlay,
.items-filter__collapse-header a,
.order-course__choices-header {
  font-size: 16px;
  padding: 6px 20px;
}

.collapse-menu__header.order-course__choice-list__button,
.checkbox-button__overlay.order-course__choice-list__button,
.items-filter__collapse-header a.order-course__choice-list__button,
.order-course__choices-header.order-course__choice-list__button {
  padding-right: 44px;
}

.button--block,
.collapse-menu__header {
  display: block;
  width: 100%;
}

.pad-x {
  padding-left: 20px;
  padding-right: 20px;
}

.pad-y {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pad-right {
  padding-right: 20px;
}

@media screen and (min-width: 640px) {
  .pad-right--md {
    padding-right: 20px;
  }
  .pad-left--md {
    padding-left: 20px;
  }
  .pad-right--large--md {
    padding-right: 70px;
  }
}
.pad-bottom {
  padding-bottom: 20px;
}

.pad-bottom--large {
  padding-bottom: 40px;
}

.pad-top--large {
  padding-top: 40px;
}

@media screen and (max-width: 960px) {
  .pad-bottom--max-lg {
    padding-bottom: 40px;
  }
}
table,
.table {
  text-align: left;
  margin-bottom: 20px;
  width: auto;
}

table--fluid,
.table--fluid {
  width: 100%;
}

table__wrapper,
.table__wrapper {
  width: 100%;
  _overflow: auto;
  overflow-y: auto;
}

table thead,
.table thead {
  background: #f9f6f2;
}

table th,
.table th {
  padding: 10px 10px;
}

table tr,
.table tr {
  border-bottom: 1px solid #f9f6f2;
}

table td,
.table td {
  padding: 10px 10px;
  vertical-align: top;
}

table__sum,
.table__sum {
  border-top: 2px solid #969696;
  font-size: 20px;
}

@media screen and (max-width: 640px) {
  table--collapse-on-mobile,
  .table--collapse-on-mobile {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  table__row--collapse-on-mobile,
  .table__row--collapse-on-mobile {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  table__cell--collapse-on-mobile,
  .table__cell--collapse-on-mobile {
    display: block;
    width: 100%;
    position: relative;
  }
}
table__row--section,
.table__row--section {
  background: #f9f6f2;
  border-bottom: 2px solid #e8e8e8 !important;
  border-bottom: 20px solid #ffffff !important;
}

#skiptocontent a {
  padding: 6px;
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  color: #333;
  background: transparent;
  transition: top 0.2s ease-out, background 0.2s linear;
  z-index: 100;
  text-align: center;
}

#skiptocontent a:focus {
  position: absolute;
  top: 0px;
  background: #ffc190;
  outline-color: white;
}

#maincontent:focus {
  outline: none;
}

.animation__fade-in,
.shout-box {
  animation: keyframe-fade-in 1s cubic-bezier(0, 0.43, 0.69, 1);
  animation-iteration-count: 1;
}

.animation__fade-out,
.shout-box--hide,
.shout-box.ng-hide-remove {
  animation: keyframe-fade-out 1s ease-in;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.animation__fall-in,
.shout-box > * {
  animation: keyframe-fall-in 0.5s ease-out;
  animation-iteration-count: 1;
}
@keyframes keyframe-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes keyframe-fall-in {
  0% {
    transform: translate(0, -10px);
  }
  100% {
    transform: translate(0, 0px);
  }
}
@keyframes keyframe-fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.icon-search {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1254px -1252px;
  width: 28px;
  height: 28px;
}

.icon-search--light,
a.toggle__title-tag:after,
a.toggle__status-tag:after,
a.courses-list__tag:after,
a.courses-list__tag--alert:after,
a.toggle__title-tag:hover:after,
a.toggle__status-tag:hover:after {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -66px -110px;
}

.icon-search--grey,
a.toggle__title-tag:after,
a.toggle__status-tag:after,
a.tag--light:after {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -44px -110px;
}

.icon-hamburger {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1086px -1084px;
  width: 28px;
  height: 28px;
}

.icon-close,
.main-menu__toggle--show-menu .icon-hamburger {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -470px -468px;
  width: 28px;
  height: 28px;
}

.icon-close--dark-small {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -470px -468px;
  width: 28px;
  height: 28px;
}

.icon-arrow--small,
.breadcrumbs__item:after {
  display: inline-block;
  vertical-align: top;
  width: 11px;
  height: 11px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -55px -33px;
}

.icon-arrow-white--small {
  display: inline-block;
  vertical-align: top;
  width: 11px;
  height: 11px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -55px -22px;
}

.icon-attachment,
.attachments__link:before {
  display: inline-block;
  vertical-align: top;
  width: 32px;
  height: 40px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: 0px -220px;
}

.icon-external-link,
.attachments__link--related-link:before {
  display: inline-block;
  vertical-align: top;
  width: 32px;
  height: 40px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: 0px -264px;
}

.icon-check,
.checkbox input:checked ~ .control-indicator,
.checkbox-button input[type=checkbox]:checked + .checkbox-button__overlay:before,
.checkbox-button input[type=radio]:checked + .checkbox-button__overlay:before {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -22px -88px;
}

.icon-radio,
.radio input:checked ~ .control-indicator {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -66px -88px;
}

.icon-arrow-down,
.select:after {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: 0px -44px;
}

.icon-open-toggle {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: 0px -44px;
}

.icon-close-toggle {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -44px -44px;
}

.icon-title-arrow {
  display: inline-block;
  vertical-align: top;
  width: 33px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: 0px -22px;
}

.icon-button--primary,
.order-course__choice-list__button:after {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -44px 0px;
}

.icon-button--dark,
.order-course__choice-list__button:after,
.order-course__choice-list__button:hover:after {
  display: inline-block;
  vertical-align: top;
  content: "";
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.collapse-menu__header:hover:after,
.items-filter__collapse-header a:hover:after,
.collapse-menu__header:after,
.items-filter__collapse-header a:after,
.banner-box--light .banner-box__button a:after {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -22px 0px;
}

.icon-button--dark-blue {
  content: "";
  display: inline-block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.icon-print {
  display: inline-block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1198px -1196px;
  width: 28px;
  height: 28px;
}

.icon-empty-message,
.message--icon-empty:before {
  display: inline-block;
  vertical-align: top;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -44px -198px;
}

.icon-protected {
  display: inline-block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -974px -972px;
  width: 28px;
  height: 28px;
}

.icon-collapse-expand {
  display: inline-block;
  position: relative;
  top: 4px;
  width: 10px;
  height: 20px;
  transform-origin: center center;
  transition: all 0.3s;
  margin-left: 10px;
}

.icon-collapse-expand:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.icon-collapse-expand:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 11px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-135deg);
  opacity: 0;
  transition: all 0.3s;
}

.icon-collapse-expand--collapse {
  top: 2px;
  transform-origin: center center;
  animation: rotate2rounds 0.5s;
}

.icon-collapse-expand--collapse:before {
  opacity: 1;
}
@keyframes $animation_name {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(90deg);
  }
}
.page-wrapper {
  background: #ffffff;
}

.page-wrapper--head {
  background: #f9f6f2;
}

.page-wrapper--head-dark {
  background: #333;
  color: #ffffff;
}

.page-wrapper--head-dark .breadcrumbs__link {
  color: #b2b2b2;
}

.page-content {
  padding: 20px;
  max-width: 100%;
  padding-bottom: 40px;
}
.page-content p:not([class]) a:not([class]),
.page-content li:not([class]) a:not([class]),
.page-content h1:not([class]) a:not([class]),
.page-content h2:not([class]) a:not([class]),
.page-content h3:not([class]) a:not([class]),
.page-content h4:not([class]) a:not([class]),
.page-content h5:not([class]) a:not([class]),
.page-content h6:not([class]) a:not([class]),
.page-content blockquote:not([class]) a:not([class]) {
  color: #005ab5;
  box-shadow: 0 1px 0 0 #005ab5;
}
.page-content p:not([class]) a:not([class]):hover,
.page-content li:not([class]) a:not([class]):hover,
.page-content h1:not([class]) a:not([class]):hover,
.page-content h2:not([class]) a:not([class]):hover,
.page-content h3:not([class]) a:not([class]):hover,
.page-content h4:not([class]) a:not([class]):hover,
.page-content h5:not([class]) a:not([class]):hover,
.page-content h6:not([class]) a:not([class]):hover,
.page-content blockquote:not([class]) a:not([class]):hover {
  box-shadow: 0 2px 0 0 #005ab5;
}

@media screen and (min-width: 640px) {
  .page-content {
    padding-bottom: 60px;
  }
}
@media screen and (min-width: 960px) {
  .page-content {
    padding-right: 70px;
  }
}
.page-content--only-width {
  padding-top: 0;
  padding-bottom: 0;
}

.page-content--full-width {
  padding-right: 20px;
}

.page-content--head-title {
  padding-bottom: 0;
}

.page-content--head-content {
  padding-bottom: 20px;
}

.page-content--head-sub-content {
  padding-top: 0;
  padding-right: 20px;
  padding-bottom: 40px;
}

.page-content--section {
  padding-top: 40px;
}

.page-content--grid-width {
  padding-right: 40px;
}

.page-content--form-section {
  padding-top: 0;
}

.page-content__header {
  margin-bottom: 40px;
}

@media screen and (min-width: 640px) {
  .page-content__header {
    margin-bottom: 40px;
  }
}
.page-content__ingress {
  margin-bottom: 40px;
}

@media screen and (min-width: 640px) {
  .page-content__ingress {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 960px) {
  .page-content__ingress {
    max-width: 60%;
  }
}
.page-aside {
  position: relative;
  padding: 20px;
  max-width: 100%;
  background-color: #f9f6f2;
}
.page-aside a:not([class]) {
  display: inline-block;
  margin-bottom: 0.75rem;
  color: #005ab5;
  box-shadow: 0 1px 0 0 #005ab5;
}
.page-aside a:not([class]):hover {
  box-shadow: 0 2px 0 0 #005ab5;
}

@media screen and (min-width: 960px) {
  .page-aside {
    padding-left: 40px;
    padding-right: 0px;
    margin-left: -20px;
  }
}
.page-aside__behind {
  display: none;
}

@media screen and (min-width: 960px) {
  .page-aside__behind {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    top: 0;
    left: 100%;
    background-color: #f9f6f2;
  }
}
.page-aside--head {
  padding-top: 0;
}

@media screen and (min-width: 960px) {
  .page-aside--head {
    padding-top: 20px;
  }
}
.page-aside--section {
  padding-top: 40px;
}

@media screen and (min-width: 960px) {
  .page-aside--article {
    padding-top: 210px;
  }
}
.page-aside--form-section {
  padding-top: 0;
}

.page-aside--light {
  background: none;
}

.page-aside--light:before {
  background: none;
}

.page-aside--dark {
  color: #ffffff;
  background-color: #333;
}

@media screen and (min-width: 960px) {
  .page-aside--dark .page-aside__behind {
    background-color: #333;
  }
}
.image {
  display: block;
  margin-bottom: 20px;
}

.image figcaption {
  font-style: italic;
  font-size: 14px;
}

@media screen and (min-width: 640px) {
  .image--right {
    float: right;
    width: 50%;
    min-width: 150px;
    margin-left: 40px;
  }
}
.avatar,
.schedule__avatar {
  overflow: hidden;
  width: 200px;
  height: 200px;
  border: 1px solid #f9f6f2;
}

.avatar--medium,
.schedule__avatar {
  width: 115px;
  height: 115px;
}

.collapse-menu {
  position: relative;
}

.collapse-menu__header {
  position: relative;
  padding-right: 40px;
  margin-bottom: 0;
  max-width: 280px;
}

.collapse-menu__header__text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapse-menu__header:before,
.collapse-menu__header:after {
  background-image: none;
}

.collapse-menu__header:before {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
  width: 10px;
  height: 10px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
  transition: all 0.2s;
}

.collapse-menu__wrapper {
  position: absolute;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  width: 100%;
  z-index: 10;
  display: none;
}

@media screen and (min-width: 640px) {
  .collapse-menu__wrapper {
    min-width: 300px;
    right: 0;
  }
}
.collapse-menu__content {
  background-color: #f9f6f2;
  transition: all 0.2s cubic-bezier(0, 0, 0.1, 1);
  transform: translateY(-100%);
}

.collapse-menu.expanded .collapse-menu__content {
  transform: translateY(0);
}

.collapse-menu.expanded .collapse-menu__header:before {
  transform: rotate(135deg);
  margin-top: -2px;
}

.collapse-menu--filter .collapse-menu__header {
  color: #333;
  background-color: #f9f6f2;
  white-space: nowrap;
}

.collapse-menu--filter .collapse-menu__header:focus {
  outline-color: #ffffff;
}

.collapse-menu--filter .collapse-menu__header:before {
  border-color: #333;
}

.collapse-menu--filter .collapse-menu__wrapper {
  position: relative;
  max-height: 0;
  overflow: hidden;
}

.collapse-menu--filter .collapse-menu__content {
  background-color: transparent;
  padding-top: 10px;
}

.collapse-menu--filter.expanded .collapse-menu__wrapper {
  max-height: 500px;
}

.collapse-menu--filter.expanded .collapse-menu__header:before {
  transform: rotate(135deg);
  margin-top: -2px;
}

.tag,
.toggle__title-tag,
.toggle__status-tag,
.courses-list__tag,
.courses-list__tag--alert {
  display: inline-block;
  padding: 3px 10px;
  margin-right: 6px;
  margin-bottom: 10px;
  border: 0;
  background-color: #007db3;
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
}

.tag--neutral,
.toggle__title-tag,
.toggle__status-tag {
  color: #333;
  background-color: #f9f6f2;
}

.tag--light {
  color: #333;
  background-color: #ffffff;
}

.tag--dark,
.courses-list__tag {
  background-color: #333;
  background-color: #444;
  background-color: #19162b;
}

.tag--secondary,
.toggle__status-tag--primary,
.courses-list__tag--alert {
  color: #333;
  background-color: #ffc190;
}

.tag--small,
.toggle__title-tag,
.toggle__status-tag,
.courses-list__tag {
  font-size: 14px;
  padding: 0 6px;
  margin-bottom: 6px;
}

.tag--checkbox {
  padding-left: 25px;
}

a.tag:after,
a.toggle__title-tag:after,
a.toggle__status-tag:after,
a.courses-list__tag:after,
a.courses-list__tag--alert:after {
  content: "";
  display: inline-block;
}

a.tag:hover,
a.toggle__title-tag:hover,
a.toggle__status-tag:hover,
a.courses-list__tag:hover,
a.courses-list__tag--alert:hover {
  background: #19162b;
  color: #ffffff;
}

a.tag--dark:hover,
a.courses-list__tag:hover {
  background: #007db3;
  color: #ffffff;
}

a.tag--secondary:hover,
a.toggle__status-tag--primary:hover,
a.courses-list__tag--alert:hover {
  color: #333;
}

a.tag--neutral:hover,
a.toggle__title-tag:hover,
a.toggle__status-tag:hover {
  color: #ffffff;
  background: #007db3;
}

a.tag--light:hover {
  background: #007db3;
  color: #ffffff;
}

.breadcrumbs {
  padding: 0 0 20px 0;
}

@media screen and (min-width: 640px) {
  .breadcrumbs {
    padding: 0 0 40px 0;
  }
}
.breadcrumbs__item {
  display: inline-block;
  margin: 0 !important;
}

.breadcrumbs__item:after {
  content: "";
  margin: 0 10px;
  margin-top: 7px;
}

.breadcrumbs__item:last-child:after {
  display: none;
}

.breadcrumbs__link {
  color: #777;
  border-color: transparent;
}

.meta {
  padding: 0 0 20px 0;
}

@media print {
  .meta {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.meta__item {
  font-weight: 700;
  margin-right: 20px;
}

.attachments {
  margin-top: 100px;
  margin-bottom: 40px;
}

.attachments__title {
  margin-bottom: 10px;
}

.attachments__link {
  position: relative;
  display: block;
  font-size: 18px;
  background-color: #c4e3ff;
  padding: 20px;
  padding-left: 65px;
  border: 0;
  min-height: 80px;
}
.attachments__link:hover {
  background-color: #9fcfff;
}

.attachments__link:before {
  content: "";
  position: absolute;
  top: 23px;
  left: 20px;
  z-index: 1;
}

.related {
  margin-bottom: 70px;
}

.related__title {
  margin-bottom: 10px;
}

.related__link {
  position: relative;
  display: block;
  padding-left: 80px;
  margin-bottom: 20px;
  min-height: 100px;
  font-size: 14px;
  color: #333;
  border: 0;
}

.related__link strong {
  display: block;
}

.related__image {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 70px;
  max-height: 100px;
}

.box {
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f9f6f2;
}

.box--dark {
  color: #ffffff;
  background-color: #333;
}

.box--dark a {
  color: #25bef4;
}

.box--dark p {
  margin-bottom: 0;
}

.box--light {
  background-color: #ffffff;
}

.mega-quote {
  position: relative;
  min-height: 200px;
  margin-bottom: 40px;
}

.mega-quote--with-image {
  margin-left: 0;
  padding-left: 120px;
}

@media screen and (min-width: 640px) {
  .mega-quote--with-image {
    padding-left: 220px;
  }
}
.mega-quote .avatar,
.mega-quote .schedule__avatar {
  position: absolute;
  left: 0;
  overflow: hidden;
  width: 100px;
  height: 100px;
}

@media screen and (min-width: 640px) {
  .mega-quote .avatar,
  .mega-quote .schedule__avatar {
    width: 200px;
    height: 200px;
  }
}
.mega-quote .avatar img,
.mega-quote .schedule__avatar img {
  width: 200px;
}

.mega-quote a {
  border: 0;
}

.mega-quote p {
  padding-top: 20px;
  font-size: 20px;
  font-style: italic;
}

.mega-quote p small {
  display: block;
  padding-top: 5px;
  font-size: 16px;
}

@media screen and (min-width: 640px) {
  .mega-quote p {
    padding-top: 40px;
  }
}
.lecturer {
  position: relative;
  padding: 20px;
  margin-bottom: 40px;
  background-color: #f9f6f2;
}

.lecturer__image {
  margin-bottom: 20px;
}

.lecturer p {
  margin-bottom: 0;
  overflow: hidden;
}

@media screen and (min-width: 640px) {
  .lecturer__image {
    float: left;
    margin-right: 20px;
    margin-bottom: 0;
  }
}
.price strong {
  font-size: 20px;
}

.price small {
  display: block;
  color: #777;
  font-weight: bold;
}

@media print {
  .price small {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.price--large strong {
  font-size: 24px;
}

.file,
.attachments-box__item {
  display: block;
  position: relative;
  border: 0;
  padding-left: 50px;
  margin-bottom: 40px;
  padding-right: 20px;
}

.file .icon-attachment,
.attachments-box__item .icon-attachment,
.file .attachments__link:before,
.attachments-box__item .attachments__link:before {
  position: absolute;
  top: 0;
  left: 0;
}

.file__type,
.attachments-box__item-type {
  display: block;
  color: #777;
  font-size: 14px;
  margin-top: 6px;
}

@media print {
  .file__type,
  .attachments-box__item-type {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.file__type:hover,
.attachments-box__item-type:hover {
  text-decoration: none;
}

.file__controls {
  padding-top: 10px;
}

a.file:hover,
a.attachments-box__item:hover {
  color: #007db3;
  text-decoration: underline;
}

.message,
.field-validation-error {
  display: block;
  margin-bottom: 20px;
  color: #333;
}

.message--subtle {
  color: #777;
  font-size: 18px;
}

@media print {
  .message--subtle {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.message--big {
  margin-bottom: 40px;
}

.message--icon-empty:before {
  content: "";
  margin-right: 20px;
  vertical-align: middle;
}

.message--error,
.field-validation-error {
  background: #ffc190;
  padding: 6px 10px;
  max-width: 400px;
}

.message--error-inside-checkbox {
  margin-left: -30px;
}

.book__maintitle {
  display: block;
  padding-top: 15px;
}

.book__chapter-heading {
  outline: none;
}

.book-navigation__chapter {
  margin-bottom: 20px;
}
.book-navigation__chapter-link {
  color: #005ab5;
  box-shadow: 0 1px 0 0 #005ab5;
}
.book-navigation__chapter-link:hover {
  box-shadow: 0 2px 0 0 #005ab5;
}

.book-navigation__chapter span:first-child {
  font-weight: bold;
  display: inline-block;
  margin-right: 6px;
}

.book-navigation__chapter--open {
  background: #e8e8e8;
  padding: 20px;
}

.book-navigation__chapter-headline {
  font-weight: bold;
}

.book-navigation__chapter-prefix {
  font-weight: bold;
}

.book-navigation__sections {
  margin-top: 20px;
}

.book-navigation__section {
  margin-bottom: 6px;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
  margin-bottom: 40px;
}

.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.toggle__link {
  display: block;
  border: none;
  border-top: 3px solid transparent;
  padding: 10px;
  position: relative;
  cursor: default;
}

.toggle__link:hover {
  border-top: 3px solid transparent;
  background: #e8e8e8;
  color: #333;
}

.toggle-pr30 {
  padding-right: 30px;
}

.toggle__date {
  display: block;
  color: #333;
  font-size: 14px;
}

@media screen and (min-width: 640px) {
  .toggle__date {
    position: absolute;
    left: 10px;
    top: 10px;
  }
}
.toggle__title {
  display: block;
  font-size: 16px;
}

@media screen and (min-width: 640px) {
  .toggle__title {
    margin-bottom: 5px;
    margin-left: 115px;
    margin-right: 25px;
  }
}
@media screen and (min-width: 640px) {
  .toggle__title--full {
    margin-left: 10px;
  }
}
.toggle__button {
  position: absolute;
  right: 10px;
  top: 10px;
  overflow: hidden;
  white-space: nowrap;
  width: 22px;
  height: 22px;
  transition: all 0.25s cubic-bezier(0, 0, 0.1, 1);
}

.toggle__content {
  display: none;
  padding: 20px 10px;
}

.toggle--open {
  background: #f9f6f2;
}

.toggle--open .toggle__button {
  transform: rotate(180deg);
}

.toggle--open .toggle__content {
  display: block;
}

.toggle--light {
  border-bottom: none;
}

.toggle--light .toggle__link {
  background: #f9f6f2;
  color: #333;
}

.toggle--light .toggle__link:hover,
.toggle--light .toggle__link:focus {
  background: #e8e8e8;
}

.toggle--light .toggle__content {
  padding-right: 20px;
  background: #f9f6f2 !important;
}

.checkbox-button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  margin-right: 5px;
  margin-bottom: 0;
}

.checkbox-button__overlay {
  display: block;
  color: #333;
  transition: none !important;
}

.checkbox-button input[type=checkbox],
.checkbox-button input[type=radio] {
  opacity: 0;
  position: absolute;
}

.checkbox-button input[type=checkbox]:checked + .checkbox-button__overlay,
.checkbox-button input[type=radio]:checked + .checkbox-button__overlay {
  color: #ffffff;
  background-color: #007db3;
  padding-left: 8px;
  padding-right: 8px;
}

.checkbox-button input[type=checkbox]:checked + .checkbox-button__overlay:before,
.checkbox-button input[type=radio]:checked + .checkbox-button__overlay:before {
  content: "";
  margin-right: 2px;
  margin-bottom: -2px;
}

.checkbox-button input[type=checkbox]:focus + .checkbox-button__overlay,
.checkbox-button input[type=radio]:focus + .checkbox-button__overlay {
  outline: 2px solid #25bef4;
  outline-offset: 0;
}

.checkbox-button input[type=checkbox]:focus:checked + .checkbox-button__overlay,
.checkbox-button input[type=radio]:focus:checked + .checkbox-button__overlay {
  outline: 2px solid #ffffff;
  outline-offset: 0;
}

.form-progression__number {
  font-weight: bold;
  border-radius: 50%;
  display: inline-block;
  height: 24px;
  width: 24px;
  line-height: 22px;
  font-size: 14px;
  text-align: center;
  background: #ffffff;
  color: #333;
}

@media screen and (max-width: 640px) {
  .form-progression__number {
    margin-right: 20px;
  }
}
.form-progression__button {
  background: #333;
  color: #ffffff;
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .form-progression__button {
    padding: 10px 15px;
  }
}
.form-progression__button .form-progression__number {
  background: #007db3;
  color: #ffffff;
}

.form-progression__button:hover {
  color: #333;
}

.form-progression__item {
  display: inline-block;
  vertical-align: top;
  padding: 10px 20px;
}

@media screen and (max-width: 640px) {
  .form-progression__item {
    padding: 10px 15px;
    overflow: hidden;
    white-space: nowrap;
    width: 54px;
  }
}
.form-progression__item--previous {
  padding: 0;
}

.form-progression__item--current {
  background: #ffffff;
  color: #333;
  padding-bottom: 20px;
}

.form-progression__item--current .form-progression__number {
  background: #007db3;
  color: #ffffff;
}

.protected {
  background-color: #c4e3ff;
  padding: 20px;
  margin-top: 60px;
  margin-bottom: 40px;
}
.protected .banner-section__link {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.protected .banner-section__link:hover {
  text-decoration-thickness: 2px;
}
.protected .button {
  background-color: #ffc190;
}
.protected .button:hover {
  background-color: #fed7b5;
}

.protected__link:hover:after {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.protected__link:after {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1618px -1616px;
  width: 28px;
  height: 28px;
}

@media screen and (min-width: 640px) {
  .protected__illustration {
    float: left;
    margin-right: 20px;
  }
}
.protected__message {
  margin-bottom: 40px;
  overflow: hidden;
}

.section-form {
  color: #ffffff;
  background-color: #333;
  padding-top: 40px;
  position: relative;
}

.section-nav {
  background-color: #f9f6f2;
  padding-top: 40px;
  position: relative;
}

.contentlist__item {
  padding: 0 20px;
  padding-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .contentlist__item {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 10px;
    padding-bottom: 0;
    width: 50%;
  }
  .contentlist__item .teaser {
    border-bottom: none;
  }
}
@media screen and (min-width: 960px) {
  .contentlist__item {
    width: 33%;
  }
}
.contentlist__item h2 {
  margin-bottom: 10px;
}

.listing {
  margin-left: -20px;
  margin-right: -20px;
}

.listing__image {
  padding: 20px 20px;
}

@media screen and (min-width: 960px) {
  .listing__image {
    padding-bottom: 0;
  }
}
.listing__image img {
  display: block;
}

.listing__text-wrapper {
  padding: 20px 20px;
}

.listing--big {
  margin-bottom: 2.5rem;
  margin-top: 2.5rem;
}
.listing--big h2 {
  font-size: 1.5rem;
}
@media screen and (min-width: 640px) {
  .listing--big h2 {
    font-size: 2.5rem;
    line-height: 1.25;
  }
}
.listing--big h2 a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.listing--primary {
  background-color: #ffc190;
}

.listing--secondary {
  background-color: #c4e3ff;
}

.form-box {
  background: #ffffff;
  color: #333;
  padding: 20px;
  margin-bottom: 20px;
  margin-left: -20px;
  margin-right: -20px;
}
.form-box label > a:not([class]),
.form-box div > a:not([class]),
.form-box p > a:not([class]) {
  color: #005ab5;
  box-shadow: 0 1px 0 0 #005ab5;
}
.form-box label > a:not([class]):hover,
.form-box div > a:not([class]):hover,
.form-box p > a:not([class]):hover {
  box-shadow: 0 2px 0 0 #005ab5;
}
.form-box a:focus h2,
.form-box a:focus .h3 {
  outline: 1px solid black;
}

@media screen and (min-width: 640px) {
  .form-box {
    margin-left: 0;
    margin-right: 0;
  }
}
.form-box--neutral {
  background: #f9f6f2;
}

.button-nav {
  margin-bottom: 60px;
}

.button-nav__wrapper {
  padding: 0 20px;
}

@media screen and (min-width: 640px) {
  .button-nav__wrapper {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 960px) {
  .button-nav__wrapper {
    width: 33.33%;
  }
}
@media screen and (min-width: 640px) {
  .button-nav--double .button-nav__wrapper {
    width: 50%;
  }
}
@media screen and (min-width: 960px) {
  .button-nav--double .button-nav__wrapper {
    width: 50%;
  }
}
.button-nav--single {
  margin-bottom: 70px;
}

@media screen and (min-width: 640px) {
  .button-nav--single .button-nav__wrapper {
    width: 100%;
  }
}
@media screen and (min-width: 960px) {
  .button-nav--single .button-nav__wrapper {
    width: 100%;
  }
}
.button-nav--no-padding .button-nav__wrapper {
  padding: 0;
}

@media screen and (min-width: 640px) {
  .button-nav--no-padding .button-nav__wrapper {
    padding: 0 20px 0 0;
  }
}
.message-box {
  background: #ffc190;
  padding: 20px;
  color: #333;
  font-size: 18px;
}

.shout-box {
  background: #ffc190;
  padding: 40px 0 40px 0;
  position: relative;
}

@media screen and (min-width: 960px) {
  .shout-box__relation-icon:after {
    content: "";
    display: block;
    background: #ffc190;
    transform: rotate(45deg);
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    bottom: -50px;
  }
}
.shout-box__illustration {
  display: none;
}

@media screen and (min-width: 640px) {
  .shout-box__illustration {
    display: block;
    width: 75px;
    float: left;
    margin-right: 40px;
    margin-bottom: 20px;
  }
}
.shout-box a {
  color: #333;
  border-color: #333;
}

.shout-box__close {
  float: right;
}

.shout-box.ng-hide-add {
  -webkit-animation: fadeOutLeftBig 0.4s;
  display: block !important;
}

.order-form-item {
  background: #f9f6f2;
  padding: 20px;
  border-bottom: 20px solid #ffffff !important;
}

.order-form-item__description {
  display: block;
  margin-bottom: 10px;
}

@media screen and (min-width: 300px) {
  .order-form-item__description {
    margin-bottom: 0;
  }
}
.order-form-item__price {
  font-size: 20px;
}

@media screen and (min-width: 300px) {
  .order-form-item__price-sum-wrapper {
    float: right;
  }
}
.order-form-item__controls-wrapper {
  float: right;
}

.order-form-item__controls-wrapper-sum {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dadada;
}

.order-form-item__line {
  border-top-color: #dadada;
}

.search {
  position: relative;
  height: 44px;
  width: 100%;
  margin-bottom: 20px;
}

.search--results,
.search--inquire {
  height: auto;
}

@media screen and (min-width: 640px) {
  .search {
    margin-top: 0;
  }
}
.search__field {
  float: none;
  min-height: 44px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.search__field:before {
  display: none !important;
}

.search__label {
  flex-basis: 100%;
}

.search__filters {
  padding: 20px 0 0;
  display: inline-block;
  vertical-align: top;
}

.search__filter {
  margin-right: 20px;
}

@media screen and (min-width: 640px) {
  .search__filter {
    display: inline-block;
  }
}
.search__filter .checkbox {
  padding-right: 0;
  margin: 0;
}

.search__filter--user .icon-protected {
  position: relative;
  top: 4px;
}

.search__filter-label {
  display: inline-block;
  margin-right: 10px;
  vertical-align: top;
  padding: 20px 0 0;
}

.search__ingress {
  float: none;
  margin-bottom: 40px;
}

.search__subject {
  float: none;
  margin-bottom: 0;
}

.search-results__item {
  padding: 15px 0;
  margin: 15px 0;
  border-bottom: 1px solid #f9f6f2;
}

.search-results__item p {
  margin-bottom: 0;
}

.search-results__search-string {
  background-color: #d4f1fc;
}

.search-results .icon-protected--dark,
.search-results .protected__link:after {
  position: relative;
  top: 3px;
}

.search-results--compact {
  margin-top: 20px;
}

.search-results--compact .search-results__item {
  margin: 0;
}

.items-list__item {
  position: relative;
  padding: 20px 0;
  border-bottom: 2px solid #f9f6f2;
}

.items-list__item:first-child {
  border-top: 2px solid #f9f6f2;
}

.items-list--related .items-list__item {
  border-color: #ffffff;
}

.items-filter__title {
  margin-bottom: 10px;
  border: none;
}

@media screen and (min-width: 960px) {
  .items-filter__filter-relation-icon:after {
    content: "";
    display: block;
    background: #333;
    transform: rotate(45deg);
    position: absolute;
    left: 25px;
    width: 20px;
    height: 20px;
    top: -10px;
  }
}
.items-filter__collapse {
  display: none;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 3px solid #444;
}

@media screen and (min-width: 960px) {
  .items-filter__collapse {
    display: block;
  }
}
.items-filter__collapse--show {
  display: block;
}

.items-filter__collapse-header {
  display: block;
  float: right;
}

@media screen and (min-width: 960px) {
  .items-filter__collapse-header {
    display: none;
  }
}
.banner-box {
  background: #007db3;
  color: white;
  padding: 20px;
  margin-bottom: 40px;
}

.banner-box__title {
  overflow: hidden;
}

.banner-box__ingress {
  overflow: hidden;
}

@media print {
  .banner-box__ingress {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.banner-box__button {
  margin-bottom: 0;
}

.banner-box__image {
  margin-bottom: 10px;
}

@media screen and (min-width: 640px) {
  .banner-box__image {
    max-width: 150px;
    float: left;
    margin-right: 20px;
  }
}
.banner-box--light {
  background: none;
  color: #333;
  padding: 0;
}

.order-course {
  margin-bottom: 40px;
  margin-top: 40px;
  background-color: #f9f6f2;
}

.order-course__meta,
.order-course__choices {
  padding: 20px;
}

.order-course__product {
  padding: 20px;
}

@media screen and (min-width: 640px) {
  .order-course__product {
    margin-left: 170px;
  }
}
.order-course__subtitle {
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 0;
}

.order-course__value {
  font-size: 18px;
}

@media print {
  .order-course__value {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.order-course__price {
  font-size: 32px;
  font-weight: 400;
  margin-bottom: 20px;
}

.order-course__price small {
  font-size: 16px;
}

.order-course__price em {
  font-size: 16px;
  font-style: normal;
  font-weight: normal;
}

.order-course__price--small {
  font-size: 18px;
}

.order-course__price--small em {
  font-size: 16px;
}

.order-course__image {
  margin: 20px;
}

@media screen and (min-width: 640px) {
  .order-course__image {
    float: left;
    max-width: 150px;
  }
}
.order-course__choices-header {
  padding: 6px 20px;
  background-color: #007db3;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 0;
}

.order-course__choice-list {
  border: 2px solid #dadada;
}

.order-course__choice-list__button {
  font-size: 14px;
  margin: 0;
}

.order-course__choice-list__button,
.order-course__choice-list__button:hover,
.order-course__choice-list__button:focus,
.order-course__choice-list__button:active {
  border-bottom: 1px solid #dadada;
}

.order-course__choice-list__button--disabled:after,
.order-course__choice-list__button--disabled:before {
  display: none;
}

.order-course__choice-list__button--disabled:hover {
  background: inherit;
}

.order-course__choice-list time {
  display: block;
  margin-bottom: 6px;
}

.order-course__choice-list .tag,
.order-course__choice-list .toggle__title-tag,
.order-course__choice-list .toggle__status-tag,
.order-course__choice-list .courses-list__tag,
.order-course__choice-list .courses-list__tag--alert {
  font-size: 14px;
  margin-bottom: 0;
}

.order-course__footer,
.order-course__header {
  padding: 20px;
  padding-bottom: 0;
}

.order-course h4 {
  margin-bottom: 0;
}

.order-course ul {
  margin-bottom: 20px;
}

.course-box {
  position: relative;
  margin-bottom: 40px;
  background-color: #ffffff;
}

.course-box__image {
  float: left;
  width: 150px;
  min-height: 75px;
  margin: 20px;
}

.course-box__image--avatar {
  overflow: hidden;
  border-radius: 50%;
}

.course-box__content {
  padding: 20px;
}

.course-box__title {
  margin-bottom: 10px;
  font-size: 20px;
}

.course-box__ingress {
  overflow: hidden;
}

.course-box__list {
  margin-bottom: 20px;
  font-size: 14px;
}

.course-box__price {
  margin-bottom: 0;
}

.course-box__price small {
  display: inline;
  font-size: 16px;
  font-weight: 400;
  color: #969696;
}

.course-box__cta {
  margin: 20px 0 0 0;
}

@media screen and (min-width: 640px) {
  .course-box__cta {
    position: absolute;
    right: 20px;
    bottom: 20px;
    margin: 0;
  }
}
.courses-list__course {
  position: relative;
  padding: 20px 0;
  margin-bottom: 10px;
  border-bottom: 2px solid #f9f6f2;
}

.courses-list__image {
  float: left;
  margin-right: 20px;
  max-width: 100px;
}

.courses-list__title {
  margin-bottom: 10px;
}

.courses-list__ingress {
  margin-bottom: 0;
}

.courses-list__price {
  margin-bottom: 10px;
}

.courses-list__price strong {
  font-size: 20px;
}

.courses-list__date {
  margin-bottom: 0;
}

.courses-list__button {
  margin-top: 10px;
  margin-bottom: 0;
}

@media screen and (min-width: 640px) {
  .courses-list__details {
    margin-right: 210px;
  }
}
.courses-list__list {
  font-size: 14px;
}

.courses-list__list__item {
  padding: 3px 0;
}

.courses-list__cta {
  padding-top: 10px;
  width: 100%;
  max-width: 300px;
}

@media screen and (min-width: 640px) {
  .courses-list__cta {
    width: auto;
    padding-top: 0;
    margin-top: -40px;
    float: right;
  }
}
.courses-list__more-button {
  margin-top: 20px;
}

.schedule {
  background-color: #f9f6f2;
}

.schedule__content {
  padding: 20px;
}

.schedule__avatar {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

.schedule__session-title {
  margin-bottom: 20px;
  word-wrap: break-word;
}

.schedule__session-title strong {
  display: block;
}

.schedule__who {
  margin-bottom: 0;
}

.schedule__who strong {
  display: block;
}

.schedule__time {
  font-family: "Merriweather", "Georgia", "Times New Roman", serif;
  margin-bottom: 0;
}

@media print {
  .schedule__time {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
.schedule__day-heading {
  margin-top: 20px;
}

.schedule__listing {
  padding: 20px 0;
  border-top: 1px solid #e5e5e5;
}

.schedule__section {
  padding: 20px 0;
}

@media screen and (min-width: 960px) {
  .schedule__section {
    padding: 10px;
  }
}
.schedule__section--time {
  padding: 0;
}

@media screen and (min-width: 960px) {
  .schedule__section--time {
    padding: 10px 0;
  }
}
.schedule__toggler {
  float: right;
}

.schedule__toggle {
  display: none;
}

.schedule__toggle--show {
  display: block;
}

@media screen and (min-width: 960px) {
  .schedule__toggle {
    display: block;
  }
}
.articles-list__article {
  position: relative;
  padding: 20px 0;
  border-bottom: 2px solid #f9f6f2;
}

.articles-list__article:last-child {
  border: 0;
}

.articles-list__title {
  margin-bottom: 10px;
}

.articles-list__ingress {
  margin-bottom: 10px;
}

.articles-list__date {
  color: #777;
  margin-bottom: 0;
  font-size: 14px;
}

@media print {
  .articles-list__date {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.article-box {
  position: relative;
  margin-bottom: 40px;
  background-color: #ffffff;
}

.article-box__image {
  float: left;
  width: 150px;
  height: 150px;
  margin: 20px;
}

.article-box__image--avatar {
  overflow: hidden;
  border-radius: 50%;
}

.article-box__content {
  padding: 20px;
}

.article-box__title {
  margin-bottom: 10px;
  font-size: 20px;
}

.article-box__date {
  color: #777;
  margin-bottom: 0;
  font-size: 14px;
}

@media print {
  .article-box__date {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.article-box__price {
  margin-bottom: 0;
}

.article-box__price small {
  display: inline;
  font-size: 16px;
  font-weight: 400;
  color: #969696;
}

.article-box__cta {
  margin: 20px 0 0 0;
}

@media screen and (min-width: 640px) {
  .article-box__cta {
    position: absolute;
    right: 20px;
    bottom: 20px;
    margin: 0;
  }
}
.questions-list__question {
  position: relative;
  padding: 20px 0;
  border-bottom: 1px solid #f9f6f2;
}

.questions-list__title {
  margin-bottom: 10px;
}

.questions-list__ingress {
  margin-bottom: 0;
}

.inquire__form {
  float: none;
}

.inquire__form--question {
  width: auto;
}

.inquire__fieldset {
  margin-bottom: 15px;
}

.inquire__label {
  margin-bottom: 0;
}

.richtext img {
  margin-bottom: 40px;
}

.richtext img[align=left] {
  max-width: 220px;
  margin-right: 20px;
}

.richtext img[align=right] {
  max-width: 220px;
  margin-left: 20px;
}

.color-box {
  float: left;
  width: 66px;
  height: 66px;
}

.color-box--primary {
  background-color: #007db3;
}

.color-box--primary--light {
  background-color: #25bef4;
}

.color-box--primary--dark {
  background-color: #19162b;
}

.color-box--secondary {
  background-color: #ffc190;
}

.color-box--neutral {
  background-color: #969696;
}

.color-box--neutral--light {
  background-color: #f9f6f2;
}

.color-box--neutral--dark {
  background-color: #333;
}

.float--right,
[class*=col-].float--right {
  float: right;
}

@media screen and (min-width: 640px) {
  .float--right--md,
  [class*=col-].float--right--md {
    float: right;
  }
}
@media screen and (min-width: 960px) {
  .float--right--lg,
  [class*=col-].float--right--lg {
    float: right;
  }
}
@media screen and (min-width: 1280px) {
  .float--right--xl,
  [class*=col-].float--right--xl {
    float: right;
  }
}
.float--left {
  float: left;
}

.block {
  display: block;
}

.no-line-break {
  white-space: nowrap;
  text-overflow: ellipsis;
}

ul.data-list li {
  margin-top: 8px;
}
ul.data-list li .data {
  display: block;
  line-height: 1.3;
}

.text-align--center {
  text-align: center;
}

.text-align--right {
  text-align: right;
}

.ng-cloak {
  display: none;
}

.is-hidden {
  display: none;
}

@media screen and (min-width: 640px) {
  .is-hidden--md,
  .main-menu__toggle {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .is-hidden--lg,
  .schedule__toggler {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .is-hidden--xl {
    display: none;
  }
}
.only-screenreaders {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.is-visible {
  display: inherit;
}

.is-visible--md,
.course-box__image,
.article-box__image {
  display: none;
}

@media screen and (min-width: 640px) {
  .is-visible--md,
  .course-box__image,
  .article-box__image {
    display: inherit;
  }
}
.is-visible--lg {
  display: none;
}

@media screen and (min-width: 960px) {
  .is-visible--lg {
    display: inherit;
  }
}
.is-visible--xl {
  display: none;
}

@media screen and (min-width: 1280px) {
  .is-visible--xl {
    display: inherit;
  }
}
.no-margin--bottom {
  margin-bottom: 0;
}

.no-margin--top {
  margin-top: 0;
}

.no-margin--left {
  margin-left: 0;
}

.no-margin--right {
  margin-right: 0;
}

.user-select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.signup-closed {
  display: flex;
  justify-content: center;
  padding: 10px 20px;
  background-color: var(--color-watermelon);
}

.main-menu__user-link__arrow {
  display: none;
}

.footerIllustration {
  display: none;
}

.banner-section__illustrationWrapper {
  display: none;
}


@media print {
  #epi-quickNavigator,
  .shout-box,
  .no-print,
  .no-print * {
    display: none !important;
  }
}
/* Hides the spin-button for webkit browsers */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */
}

/* min CSS elements for autocomplete & pagination */
.ui-autocomplete {
  position: absolute;
  cursor: default;
}

.ui-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  float: left;
  background-color: #f9f6f2;
  border: 2px solid #333333;
  border-radius: 3px 3px 3px 3px;
}

.ui-menu .ui-menu-item {
  line-height: 24px;
  margin: 0;
  zoom: 1;
  display: block;
  padding: 0px 20px;
  margin-right: 1px;
  margin-left: 1px;
}

.ui-menu .ui-menu-item.ui-state-focus {
  background-color: #e5e5e5;
  cursor: pointer;
}

.ui-helper-hidden-accessible {
  display: none;
}

.pagination {
  list-style: none;
  margin: 0px;
  padding: 0px;
  margin-top: 40px;
}

.pagination li {
  float: left;
  margin: 3px;
  width: 40px;
  height: 31px;
  text-align: center;
}

.pagination li a {
  display: block;
  padding: 3px 5px;
  text-decoration: none;
  background-color: #f3f3f3;
  color: #333;
  height: 30px;
  border: 1px solid transparent;
}

.pagination li a:hover,
.pagination li a:focus {
  background-color: #007db3;
  color: #fff;
}

.pagination li a.active,
.pagination li a.inactive {
  border: 1px solid #f9f6f2;
  color: #bbb;
  background-color: #fff;
  cursor: default;
}

.pagination li a.inactive,
.pagination li a.goto_next,
.pagination li a.goto_previous {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination li a i {
  display: inline-block;
  height: 16px;
  width: 22px;
}

.pagination li a.inactive i.arrowleft {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
  transform: scaleX(-1);
}

.pagination li a.goto_previous i {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
  transform: scaleX(-1);
}

.pagination li a.goto_previous:hover i {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -134px -132px;
  width: 28px;
  height: 28px;
  transform: scaleX(-1);
}

.pagination li a.inactive i.arrowright {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.pagination li a.goto_next i {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}

.pagination li a.goto_next:hover i {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -134px -132px;
  width: 28px;
  height: 28px;
}

/* Extends default pagination-styles for use with pagination.js */
.pagination-fresh {
  list-style: none;
  margin: 0px;
  padding: 0px;
  margin-top: 40px;
}

.pagination-fresh li {
  float: left;
  margin: 3px;
  width: 40px;
  height: 31px;
  text-align: center;
}

.pagination-fresh li a {
  display: block;
  padding: 3px 5px;
  text-decoration: none;
  background-color: #f3f3f3;
  color: #333;
  height: 30px;
  border: 1px solid transparent;
}

.pagination-fresh li a:hover,
.pagination-fresh li a:focus {
  background-color: #007db3;
  color: #fff;
}

.pagination-fresh li.paginationjs-prev:hover,
.pagination-fresh li.paginationjs-prev:focus,
.pagination-fresh li.paginationjs-next:hover,
.pagination-fresh li.paginationjs-next:focus {
  background-color: #007db3;
  color: #fff;
}

.pagination-fresh li.active a,
.pagination-fresh li.disabled a {
  border: 1px solid #f9f6f2;
  color: #bbb;
  background-color: #fff;
  cursor: default;
}

.pagination-fresh li.disabled a,
.pagination-fresh li.paginationjs-prev a,
.pagination-fresh li.paginationjs-next a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination-fresh li.paginationjs-prev a,
.pagination-fresh li.paginationjs-next a {
  height: 100%;
  width: 100%;
  border: revert;
}

.pagination-fresh li.paginationjs-prev,
.pagination-fresh li.paginationjs-next {
  border: 1px solid #f9f6f2;
  color: #bbb;
  background-color: #f3f3f3;
  cursor: default;
  padding: 7px 9px;
}

.pagination-fresh li.paginationjs-prev.disabled,
.pagination-fresh li.paginationjs-next.disabled {
  background-color: #fff;
}

.pagination-fresh li.paginationjs-prev.disabled a {
  background: url(/Static/img/icons/arrow-left-light.svg) no-repeat;
}

.pagination-fresh li.paginationjs-prev a {
  background: url(/Static/img/icons/arrow-left-dark.svg) no-repeat;
}

.pagination-fresh li:not(.disabled).paginationjs-prev:hover a {
  background: url(/Static/img/icons/arrow-left-white.svg) no-repeat;
}

.pagination-fresh li.paginationjs-next.disabled a {
  background: url(/Static/img/icons/arrow-right-light.svg) no-repeat;
}

.pagination-fresh li.paginationjs-next a {
  background: url(/Static/img/icons/arrow-right-dark.svg) no-repeat;
}

.pagination-fresh li:not(.disabled).paginationjs-next:hover a {
  background: url(/Static/img/icons/arrow-right-white.svg) no-repeat;
}

button.order-course__choice-list__button {
  text-align: left;
  color: #19162b;
  cursor: pointer;
  transition: all 0.15s ease 0s;
}

fieldset .button {
  color: #000000;
}

fieldset .button:hover {
  color: #000000;
}

.display-flex {
  display: flex;
}

.hiddenonchange {
  display: none;
}

input.readonly[type=text] {
  background-color: #dadada;
}

@media screen and (min-width: 0px) and (max-width: 959px) {
  .paddingblock {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .paddingblock {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .select.medium {
    width: calc(50.3333% - 20px);
  }
}
a.removeFacet {
  background: url(/Static/img/icons/cookiebar_close.png) no-repeat center left;
  padding-left: 15px;
  cursor: pointer;
}

.grid input.reportlabel {
  display: inline-block;
  width: 90%;
}

.grid a.reporthelp {
  display: inline-block;
}

/* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
.tooltipster-default {
  border-radius: 5px;
  border: 2px solid #000;
  background: #4c4c4c;
  color: #fff;
}

/* Use this next selector to style things like font-size and line-height: */
.tooltipster-default .tooltipster-content {
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 16px;
  padding: 8px 10px;
  overflow: hidden;
}

/* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */
.tooltipster-default .tooltipster-arrow .tooltipster-arrow-border {
  /* border-color: ... !important; */
}

/* If you're using the icon option, use this next selector to style them */
.tooltipster-icon {
  cursor: help;
  margin-left: 4px;
}

/* This is the base styling required to make all Tooltipsters work */
.tooltipster-base {
  padding: 0;
  font-size: 0;
  line-height: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999999;
  pointer-events: none;
  width: auto;
  overflow: visible;
}

.tooltipster-base .tooltipster-content {
  overflow: hidden;
}

/* These next classes handle the styles for the little arrow attached to the tooltip. By default, the arrow will inherit the same colors and border as what is set on the main tooltip itself. */
.tooltipster-arrow {
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.tooltipster-arrow span,
.tooltipster-arrow-border {
  display: block;
  width: 0;
  height: 0;
  position: absolute;
}

.tooltipster-arrow-top span,
.tooltipster-arrow-top-right span,
.tooltipster-arrow-top-left span {
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-top: 8px solid;
  bottom: -7px;
}

.tooltipster-arrow-top .tooltipster-arrow-border,
.tooltipster-arrow-top-right .tooltipster-arrow-border,
.tooltipster-arrow-top-left .tooltipster-arrow-border {
  border-left: 9px solid transparent !important;
  border-right: 9px solid transparent !important;
  border-top: 9px solid;
  bottom: -7px;
}

.tooltipster-arrow-bottom span,
.tooltipster-arrow-bottom-right span,
.tooltipster-arrow-bottom-left span {
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
  border-bottom: 8px solid;
  top: -7px;
}

.tooltipster-arrow-bottom .tooltipster-arrow-border,
.tooltipster-arrow-bottom-right .tooltipster-arrow-border,
.tooltipster-arrow-bottom-left .tooltipster-arrow-border {
  border-left: 9px solid transparent !important;
  border-right: 9px solid transparent !important;
  border-bottom: 9px solid;
  top: -7px;
}

.tooltipster-arrow-top span,
.tooltipster-arrow-top .tooltipster-arrow-border,
.tooltipster-arrow-bottom span,
.tooltipster-arrow-bottom .tooltipster-arrow-border {
  left: 0;
  right: 0;
  margin: 0 auto;
}

.tooltipster-arrow-top-left span,
.tooltipster-arrow-bottom-left span {
  left: 6px;
}

.tooltipster-arrow-top-left .tooltipster-arrow-border,
.tooltipster-arrow-bottom-left .tooltipster-arrow-border {
  left: 5px;
}

.tooltipster-arrow-top-right span,
.tooltipster-arrow-bottom-right span {
  right: 6px;
}

.tooltipster-arrow-top-right .tooltipster-arrow-border,
.tooltipster-arrow-bottom-right .tooltipster-arrow-border {
  right: 5px;
}

.tooltipster-arrow-left span,
.tooltipster-arrow-left .tooltipster-arrow-border {
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-left: 8px solid;
  top: 50%;
  margin-top: -7px;
  right: -7px;
}

.tooltipster-arrow-left .tooltipster-arrow-border {
  border-top: 9px solid transparent !important;
  border-bottom: 9px solid transparent !important;
  border-left: 9px solid;
  margin-top: -8px;
}

.tooltipster-arrow-right span,
.tooltipster-arrow-right .tooltipster-arrow-border {
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-right: 8px solid;
  top: 50%;
  margin-top: -7px;
  left: -7px;
}

.tooltipster-arrow-right .tooltipster-arrow-border {
  border-top: 9px solid transparent !important;
  border-bottom: 9px solid transparent !important;
  border-right: 9px solid;
  margin-top: -8px;
}

/* Some CSS magic for the awesome animations - feel free to make your own custom animations and reference it in your Tooltipster settings! */
.tooltipster-fade {
  opacity: 0;
  transition-property: opacity;
}

.tooltipster-fade-show {
  opacity: 1;
}

.tooltipster-grow {
  transform: scale(0, 0);
  transition-property: transform;
  -webkit-backface-visibility: hidden;
}

.tooltipster-grow-show {
  transform: scale(1, 1);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.tooltipster-swing {
  opacity: 0;
  transform: rotateZ(4deg);
  transition-property: transform;
}

.tooltipster-swing-show {
  opacity: 1;
  transform: rotateZ(0deg);
  transition-timing-function: cubic-bezier(0.23, 0.635, 0.495, 2.4);
}

.tooltipster-fall {
  top: 0;
  transition-property: top;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.tooltipster-fall.tooltipster-dying {
  transition-property: all;
  top: 0px !important;
  opacity: 0;
}

.tooltipster-slide {
  left: -40px;
  transition-property: left;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.tooltipster-slide.tooltipster-dying {
  transition-property: all;
  left: 0px !important;
  opacity: 0;
}

/* CSS transition for when contenting is changing in a tooltip that is still open. The only properties that will NOT transition are: width, height, top, and left */
.tooltipster-content-changing {
  opacity: 0.5;
  transform: scale(1.1, 1.1);
}

article .main-body ul li {
  list-style: disc;
}

article .main-body ul > li > ul > li {
  list-style: circle;
}

article .main-body ul > li > ul > li > ul > li {
  list-style: disc;
}

article .main-body ol li {
  list-style: decimal;
  margin-left: 25px;
}

/* Contact form */
a.button.button--primary.button--arrow.full-button {
  display: block;
  width: 100%;
  padding: 20px 30px;
  margin-bottom: 30px;
  background-color: #c4e3ff;
}

a.button.button--primary.button--arrow.full-button:hover {
  background-color: #9fcfff;
}

.grid.membershippicker {
  padding-top: 50px;
}

.page-content--membership {
  padding-top: 0;
}

.memberinfoarea {
  padding: 0 20px;
}

.memberinfoarea img {
  margin-bottom: 5px;
}

@media (max-width: 480px) {
  .memberinfoarea img {
    display: none;
  }
}
.readmore {
  border: none;
  float: right;
  padding-bottom: 20px;
}

.readmore:after {
  display: inline-block;
  vertical-align: top;
  width: 13px;
  height: 12px;
  background-image: url(/Static/img/sprite.png);
  background-image: url(/Static/img/sprite.svg), none;
  background-repeat: no-repeat;
  background-position: -41px -32px;
  content: "";
  margin-left: 3px;
  margin-top: 6px;
}

.memberpickarea h3 {
  margin-bottom: 40px;
}

.newcontactform {
  background-color: #fff;
}

.newcontactform .form-progression {
  margin-top: 40px;
  margin-bottom: 40px;
}

.newcontactform .form-progression__number {
  right: 57px;
  font-size: 20px;
  width: 43px;
  height: 40px;
  top: 0px;
  padding-top: 6px;
  padding-left: 3px;
  background-color: #669caf;
  color: #fff;
}

.newcontactform .form-progression__item,
.newcontactform .form-progression__item a {
  font-size: 24px;
  padding-bottom: 5px;
  color: #8c8c8c;
}

.newcontactform .form-progression__item--current {
  font-weight: bold;
  color: black;
}

.newcontactform .form-progression__item--current .form-progression__number {
  background-color: #0279ae;
}

.newcontactform .form-progression__button {
  background: none;
  font-size: 24px;
  color: inherit;
}

.newcontactform .form-progression__item--previous .form-progression__button:hover {
  color: black;
}

.newcontactform .form-progression__item--previous .form-progression__button:focus {
  outline: none;
}

.newcontactform .formsarea .form-box,
.page-content--head-sub-content .form-box {
  background-color: #f9f6f2;
}

.newcontactform .select select {
  background-color: #fff;
}

.newcontactform .subheading {
  font-weight: bold;
  margin-bottom: 10px;
}

.newcontactform .submit {
  margin-top: 20px;
}

/* Used on several forms*/
.readmorecontent {
  margin-top: 20px;
  display: none;
}

@media screen and (max-width: 640px) {
  .newcontactform .form-progression__item {
    width: 60px;
  }
}
.becomememberheader {
  margin-top: 25px;
}

/* My page */
.page-wrapper--head-alternative {
  background-color: #dff5ff;
}

.page-wrapper--head-white {
  background-color: #fff;
}

.alternative-color:after {
  background-color: #dff5ff;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-timing-function: ease;
  transition-duration: 0.35s;
  transition-property: height, visibility;
}

.collapsed i.turnaround {
  transform: rotate(180deg);
}

.turnaround {
  transition: all 0.3s linear;
}

.mypagearea .myprofileblock .form-box,
.mypageblock .col-12--lg.pad-x,
.contactschemablock .form-box {
  padding-left: 0;
  padding-right: 0;
}

@media screen and (max-width: 640px) {
  .mypagearea .myprofileblock .form-box {
    padding: 20px;
  }
}
.mypageblock .form-box {
  background-color: #dff5ff;
}

.mypageblock .form-box a.tag {
  background-color: #fff;
  color: #1d6d6d;
}

.mypageblock .form-box a.tag:after {
  content: none;
}

.mypageblock .form-box .secondarylinks a.button {
  background-color: #fff;
}

.mypageblock .form-box .secondarylinks {
  margin-top: 20px;
}

.mypageblock select {
  background-color: #fff;
}

#courseInfo .button:not(.button--primary) {
  background-color: #fff;
}

/* Scroll to top */
#toTop {
  display: none;
}

/* Link block */
.row-eq-height {
  display: flex;
  flex-wrap: wrap;
}

.linkblock {
  position: relative;
}

.linkblock.title {
  background-color: #007db3;
  color: white;
  text-align: center;
  padding: 14px 14px;
  font-weight: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 72px;
}

.linkblock.links {
  padding: 10px 10px;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}

.linkblock p {
  display: flex;
  justify-content: space-between;
}

.linkblock a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: url(/Static/img/icons/arrow--primary.svg) no-repeat;
  background-position: right center;
  padding-right: 26px;
}

.linkblock a:hover {
  background: url(/Static/img/icons/arrow--primary--hover.svg) no-repeat;
  background-size: 23px 51px;
  justify-content: space-between;
  align-items: center;
  background-position: right center;
  padding-right: 26px;
}

.grid-content {
  position: relative;
}

.page-content-icon {
  display: flex;
  background: #f9f6f2;
  transform: rotate(45deg);
  position: absolute;
  left: 20px;
  width: 20px;
  height: 20px;
  bottom: -10px;
}

.page-content-icon.blue-color {
  background: #007db3;
}

.page-content-icon.blue-color.link-block {
  left: calc(50% - 10px);
}

.page-aside,
.page-aside__behind {
  background-color: #f9f6f2;
}

.section-form {
  background-color: #f9f6f2;
  /*#D9E6EB;*/
  color: #333;
  padding-top: 0;
}

/* Front Page */
/* Updated course overview */
.new_layout_courses {
  padding-right: 25px;
  padding-left: 25px;
  padding-top: 20px;
  margin-left: 0;
  background-color: #f9f6f2;
}

.courseControll .emtypadding {
  margin-bottom: 40px;
}

.courseControll .page-content--section {
  padding-top: 0;
}

.new_layout_courses .items-filter__collapse {
  border-color: #d3d3d3;
}

.new_layout_courses .checkbox-button .checkbox-button__overlay {
  background-color: #fff;
}

.new_layout_courses .collapse-menu__header {
  background-color: #fff;
}

/* Course block */
@media screen and (min-width: 640px) {
  .ingress,
  .listing--big p,
  .search__ingress {
    font-size: 16px;
  }
}
/* Buttons */
.button {
  /*@include button-reset(); fjernet denne siden den overskriver original knappestilene til DNR
    som ligger i screen.scss*/
  margin-right: 3px;
}
.button > i {
  display: inline-block;
}

.button--transparent {
  background: none;
  border-bottom: 1px solid transparent;
  padding-left: 0;
  padding-bottom: 0;
  padding-top: 0;
  transition: none;
  box-shadow: none;
}

.button--transparent:hover {
  background: none;
}

/* Front Page */
.articles-list__title {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.articles-list__title a,
.courses-list__title a {
  border-bottom: none;
}

.articles-list__title a:hover,
.courses-list__title a:hover {
  border-bottom: 1px solid;
}

.formsarea .radio input:disabled ~ .control-indicator,
.formsarea .checkbox input:disabled ~ .control-indicator,
.shoppingcart .radio input:disabled ~ .control-indicator,
.shoppingcart .checkbox input:disabled ~ .control-indicator {
  background: white;
}

/* Employee Block start */
@media screen and (min-width: 1024px) {
  .block.employeeblock {
    width: calc(50% - 20px);
    display: inline-flex;
    justify-content: space-between;
    padding: 0;
    margin-right: 20px;
    margin-bottom: -15px;
  }
}
.block.employeeblock {
  display: inline-block;
}

.employeeBlock {
  background-color: #fff;
  border: 1px solid #dadada;
  padding: 5px;
  width: 100%;
}

.employeeImage {
  position: relative;
  width: 20%;
  display: inline;
}

.employeeImage figure {
  border: none;
}

.employeeInfo {
  width: 70%;
  top: 5px;
  left: 10%;
  display: inline;
}

.employeeInfo i {
  position: relative;
  color: #19162b;
  font-size: 14px;
  margin-right: 10px;
  top: 1px;
}

.employeeName {
  display: inline;
}

.employeeTitle {
  position: relative;
  left: 2px;
}

.employeeLink {
  border: 0;
  color: #333333;
}

.employeeIcon {
  display: inline-flex;
  position: relative;
  top: 7px;
  margin-left: 12px;
}

.employeePhone {
  display: block;
  margin-top: 10px;
  color: #000;
  border: none;
  font-size: 16px;
}

.employeeEmail {
  margin-top: 5px;
  display: block;
  word-wrap: break-word;
  color: #007db3;
  border: none;
  font-size: 14px;
}

@media screen and (max-width: 639px) {
  .employeeBlock {
    width: 90%;
    margin-bottom: 5%;
  }
}
@media screen and (max-width: 1023px) {
  .employeeInfo {
    width: 100%;
    left: 0;
    margin-bottom: 10px;
  }
}
/* Employee Block end */
/* Footer Illustration start */
/* Footer Illustration end */
/* Nav bar addition start */
/* Nav bar addition end */
.white--select select {
  background-color: #fff;
}

/*.course-progression .form-progression__button {
    background: #D9E6EB;
}*/
.course-progression .form-progression__button,
.course-progression .form-progression__item {
  font-weight: bold;
}

.course-progression .form-progression__item--previous a {
  border-bottom: none;
}

.course-progression .form-progression__number {
  font-size: 20px;
  margin-right: 5px;
  width: 43px;
  height: 40px;
  padding-top: 8px;
  padding-left: 3px;
}

.course-progression .form-progression__item--current .form-progression__number {
  background: #007db3;
}

.shoppingcart .page-wrapper--head {
  margin-bottom: 40px;
}

.page-content--head-sub-content .form-box {
  padding: 40px 40px;
}

.page-wrapper--head-white {
  background-color: #fff;
}

.page-content--head-sub-content .order-form-item {
  background-color: #d9e6eb;
  border-bottom: 20px solid #f9f6f2 !important;
}

.new-order-button {
  background-color: #d9e6eb;
}

/* Memberbenefits start */
.button--border-and-padding {
  border: 1px solid #007db3;
  margin-right: 10px;
  margin-top: 20px;
  width: 200px;
  text-align: center;
}

.active:hover {
  cursor: default;
  border-color: #007db3;
  background-color: #007db3;
}

.active:active {
  background-color: #007db3;
}

.active:focus {
  outline-color: unset;
}

.grey-background {
  margin-bottom: 25px;
  width: 100%;
  background-color: #f9f6f2;
  padding-top: 50px;
  padding-bottom: 75px;
}

.benefits-info {
  padding-bottom: 0;
}

.benefits-info .ingress {
  max-width: 60%;
}

.benefits-area {
  padding-bottom: 45px;
}

.block.memberbenefitimageblock {
  margin-top: 30px;
}

.benefit-image-blue-div {
  height: 180px;
  background-color: #1c2042;
}

.page-content-icon-benefit {
  background-color: #1c2042;
  transform: rotate(45deg);
  position: relative;
  left: calc(50% - 10px);
  display: inline-block;
  width: 20px;
  height: 20px;
  bottom: 10px;
}

.benefit-image-header {
  color: #fff;
  border: none;
  position: relative;
  top: 25px;
  left: 50px;
  width: calc(100% - 50px);
}

.benefit-image-header:hover {
  color: #fff;
}

.benefit-image-header p {
  position: absolute;
  overflow: visible;
  z-index: 1;
}

.benefit-image-header p:first-of-type {
  display: inline;
  left: 0;
  top: 0;
}

.benefit-image-header__arrow {
  content: url(/Static/img/gold_arrow.png);
  display: inline-block;
  position: relative;
  margin-left: -31.5px;
  top: 3px;
  height: 15px;
  z-index: 1;
}

.benefit-image-image {
  height: 100%;
  max-width: 75%;
  position: relative;
  bottom: 0;
  float: right;
}

.benefit-image-info {
  height: 100px;
  width: 100%;
  max-height: 100px;
  overflow: hidden;
  margin-bottom: 5px;
}

.benefit-image-link {
  border: none;
}

.benefit-image-link:hover .benefit-link__arrow {
  color: #25bef4;
}

.block.memberbenefitplainblock {
  margin-top: 25px;
}

.benefit-plain-header {
  border: none;
  cursor: default;
}

.benefit-plain-header:hover {
  color: #007db3;
}

.benefit-plain-info {
  height: 100px;
  max-height: 100px;
  overflow: hidden;
  margin-top: 5px;
  margin-bottom: 5px;
}

.benefit-plain-link {
  border: none;
  position: relative;
  top: 0;
}

.benefit-plain-link:hover .benefit-link__arrow {
  color: #25bef4;
}

.benefit-plain-link__arrow {
  margin-left: 5px;
  padding-top: 2.5px;
  color: #007db3;
  transform: scale(1.2, 1);
}

.benefits-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 100px;
}

@media (max-width: 475px) {
  .benefits-cta a {
    margin-bottom: 30px;
  }
}
@media (max-width: 380px) {
  .benefits-cta a {
    margin-right: 0;
  }
}
/* Memberbenefits end */
/* CTAButtonBlock start */
.cta-button-block--link {
  border: none;
  margin-right: 30px;
}

.cta-button-block--body {
  text-align: center;
  padding-top: 17.5px;
  width: 200px;
  height: 90px;
  background-color: #c4e3ff;
  color: #19162b;
}

.cta-button-block-link__arrow {
  margin-top: 12.5px;
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url(/Static/img/sprite.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}

/* CTAButtonBlock end */
/* Black backgrounds override end */
/* Font size override start */
.page-content h1 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.icon-title-arrow {
  left: -47px;
  top: 5px;
  transform: scale(0.75, 0.75);
}

/* Font size override end */
/* Marked chapter color override start */
.book-navigation__chapter--open {
  background-color: #fff;
}

/* Marked chapter color override end */
/* Color override start */
.conference-details-page-aside {
  background-color: #fff;
}

.page-aside--article .editorialblock {
  background-color: #fff;
  padding: 20px 20px 0 20px;
}

/* Color override end */
/* Course alert display override start */
@media screen and (min-width: 960px) {
  .schedule .tag--secondary,
  .schedule .toggle__status-tag--primary,
  .schedule .courses-list__tag--alert {
    word-wrap: break-word;
    display: block;
  }
}
/* Course alert display override end */
table {
  word-break: initial;
}

table.responsive-tables {
  width: 100% !important;
  height: auto !important;
  word-break: initial;
  table-layout: fixed;
}

@media (max-width: 767px) {
  /* Force table to not be like tables anymore */
  table.responsive-tables,
  .responsive-tables table,
  .responsive-tables thead,
  .responsive-tables tbody,
  .responsive-tables th,
  .responsive-tables td,
  .responsive-tables tr {
    display: block;
    width: 100% !important;
  }
  /* Hide table headers (but not display: none;, for accessibility) */
  .responsive-tables thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .responsive-tables tr {
    border: 1px solid #ccc;
  }
  .responsive-tables td {
    /* Behave  like a "row" */
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    white-space: normal;
    text-align: left;
    width: 100%;
  }
  .responsive-tables td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 6px;
    left: 6px;
    width: 30%;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
  }
  /*
  Label the data
  */
  .responsive-tables td:before {
    content: attr(data-title);
  }
}
@media (max-width: 767px) {
  /* Force table to not be like tables anymore */
  table.responsive-tables,
  .responsive-tables table,
  .responsive-tables thead,
  .responsive-tables tbody,
  .responsive-tables th,
  .responsive-tables td,
  .responsive-tables tr {
    display: block;
    width: 100% !important;
  }
  /* Hide table headers (but not display: none;, for accessibility) */
  .responsive-tables thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .responsive-tables tr {
    border: 1px solid #ccc;
  }
  .responsive-tables td {
    /* Behave  like a "row" */
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    white-space: normal;
    text-align: left;
    width: 100%;
  }
  .responsive-tables td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 6px;
    left: 6px;
    width: 30%;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
  }
  /*
  Label the data
  */
  .responsive-tables td:before {
    content: attr(data-title);
  }
}
/* Removing the tag for ekurs without tampering with the state logic*/
.courses-list__tag--ekurs {
  display: none;
}

.select.xlarge {
  width: 85%;
}

@media screen and (min-width: 960px) {
  input[type=text].xlarge,
  input[type=file].xlarge,
  input[type=email].xlarge,
  input[type=tel].xlarge {
    width: 85%;
  }
}
.articlepage .contact-info {
  min-width: 300px;
}

.search-button {
  border-radius: 50%;
  background-color: #ffc190;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
}
.search-button:hover {
  background-color: #fed7b5;
}

/* CSS specific to edit mode, such as help content displayed to the editor */
.alert-info {
  border-color: #B8C0C5;
  color: black;
  font-family: Verdana;
  font-size: 1em;
  font-style: italic;
  background-color: #B8C0C5;
  box-shadow: 3px 3px 5px #CCC;
  text-align: center;
}

.alert-error p {
  text-align: left;
}

.alert-error .heading {
  font-weight: bold;
  color: #ff0000;
}

.alert-error .details {
  font-size: 0.8em;
  max-height: 100px;
  overflow: scroll;
}

.header.dim {
  margin: 2% 0;
  opacity: 0.3;
}

/*Video*/
.embed {
  position: relative;
  padding-bottom: 57.25%;
  height: 0;
  overflow: hidden;
}

.embed iframe, .embed object, .embed embed, .embed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/***************************************************************
***********        CSS for Kursmal        **********************
***************************************************************/
/*
* Artikkel header
*/
.coursedetailspage .page-content h1,
.conferencedetailpage .page-content h1 {
  margin-bottom: 16px;
}

.coursedetailspage .course-subtitle,
.conferencedetailpage .course-subtitle {
  font-size: 22px;
  font-family: inherit;
}

.coursedetailspage .header__img,
.conferencedetailpage .header__img,
.conferenceschedulepage .header__img {
  max-height: 520px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*
* Artikkel kursdetaljer (grå infoboks)
*/
.coursedetailspage .order-course,
.conferenceschedulepage .order-course {
  display: flex;
  flex-wrap: wrap;
  overflow-wrap: break-word;
  margin: 20px 0 30px 0;
  padding: 16px 4px;
}

.coursedetailspage .order-course .order-course__subtitle,
.conferenceschedulepage .order-course .order-course__subtitle {
  font-size: 18px;
  max-width: 250px;
}

.coursedetailspage .order-course h3,
.conferenceschedulepage .order-course h3 {
  margin-top: 0;
}

.tag.tag--no-bg {
  background-color: transparent;
  color: #333;
  padding: 0;
}

.tag.tag--no-bg:hover {
  background-color: transparent;
  color: #333;
  text-decoration: underline;
}

/*Dato, sted, påmeldingsfrist*/
.coursedetailspage .order-course .order-course__choices,
.conferenceschedulepage .order-course .order-course__choices {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/*Antall timer per fagkategori*/
.coursedetailspage .order-course__header,
.conferenceschedulepage .order-course__header {
  width: 100%;
  padding-top: 0;
}

/*Pris for medlem,andre,oppdateringsprogrammet*/
.coursedetailspage .order-course__meta,
.conferenceschedulepage .order-course__meta {
  width: 100%;
  padding-top: 0;
  overflow-wrap: break-word;
}

.coursedetailspage .order-course__meta .order-course__price--small {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.coursedetailspage .order-course__meta .order-course__price--small strong {
  margin-right: 8px;
}

/*
* Artikkel hovedinnhold
*/
.coursedetailspage .page-content .ingress,
.conferencedetailpage .page-content .ingress {
  margin-bottom: 30px;
}

.conferenceschedulepage .page-content .ingress {
  margin-top: 20px;
  margin-bottom: 30px;
}

.coursedetailspage .main-body,
.conferencedetailpage .main-body,
.conferenceschedulepage .main-body {
  height: 180px;
  overflow: hidden;
  position: relative;
  margin-bottom: 24px;
}

.coursedetailspage .main-body::after,
.conferencedetailpage .main-body::after,
.conferenceschedulepage .main-body::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 15px;
  background: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  background-image: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  background-image: -ms-linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}

.coursedetailspage .main-body--expanded,
.conferencedetailpage .main-body--expanded,
.conferenceschedulepage .main-body--expanded {
  height: auto;
}

.link--expand {
  display: none;
  margin-bottom: 36px;
}

.link--expand .fa {
  margin-left: 8px;
}

/*
* Artikkel accoridan under hoved brødtekst
*/
.accordianblocks {
  margin: 20px 0 40px 0;
}

.accordianblocks .accordian {
  margin-bottom: 1px;
  margin-top: 1px;
}

.accordianblocks .accordian ol,
.accordianblocks .accordian ul {
  padding-left: 30px;
  margin-bottom: 16px;
}

.accordianblocks .accordian ul li {
  list-style: disc;
}

.accordianblocks .accordian ol li {
  list-style: decimal;
}

.accordianblocks .accordian .accordian__toggle {
  background-color: #015A7A;
  color: #ffffff;
  border-bottom: 0;
  margin-bottom: 0;
  display: block;
}

.accordianblocks .accordian .accordian__toggle.is-active .accordian__title > span {
  transform: rotateX(180deg);
}

.accordianblocks .accordian .accordian__toggle:hover,
.accordianblocks .accordian .accordian__toggle:focus {
  text-decoration: none;
  border-bottom: 0;
  outline: none;
}

.accordianblocks .accordian .accordian__title {
  padding: 16px 20px;
  font-weight: 400;
  margin-bottom: 0;
}

.accordianblocks .accordian .accordian__content {
  border: 1px solid #979797;
  border-top: 0;
  padding: 20px;
  padding-top: 0;
  display: none;
}

/*setter marg-topp på first child i innhold i stedet for padding i container for å unngå at innholdet flytter på seg under animering*/
.accordianblocks .accordian .accordian__content > :first-child {
  margin-top: 20px;
}

.accordianblocks .accordian .accordian__content.is-active {
  display: flex;
  flex-direction: column;
}

.accordian__title > span {
  margin-right: 20px;
  transition: 150ms ease;
  will-change: transform;
}

/*
* Artikkel aside
*/
.coursedetailspage .page-aside,
.coursedetailspage .page-aside__behind,
.conferenceschedulepage .page-aside,
.conferenceschedulepage .page-aside__behind {
  background-color: #ffffff;
  margin: 0 auto;
}

.coursedetailspage .page-aside {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  padding: 0;
}

.coursedetailspage .page-aside .order-course .js-validate {
  margin-top: 24px;
  margin-bottom: 24px;
}

/*
* Påmeldingsknapp og status
*/
.coursedetailspage .courses-list__tag,
.conferencedetailpage .courses-list__tag,
.conferenceschedulepage .courses-list__tag {
  display: block;
  margin: 6px 0 6px 0;
  padding: 6px 12px;
}

.coursedetailspage .courses-list__tag--ekurs,
.conferencedetailpage .courses-list__tag--ekurs,
.conferenceschedulepage .courses-list__tag--ekurs {
  display: none;
}

.coursedetailspage .button--primary,
.conferencedetailpage .button--primary,
.conferenceschedulepage .button--primary {
  width: 100%;
  padding-top: 16px;
  padding-bottom: 16px;
}

.js-validate.mobile-only {
  margin-bottom: 24px;
}

.mobile-only {
  display: block;
}

/*
* Påmeldingsknapp/liste flervalg
*/
.coursedetailspage .page-aside .order-course__choices,
.coursedetailspage .page-aside .order-course__choice-list__button {
  width: 100%;
}

/*
* Sitatblokk
*/
.reviewer:first-of-type {
  margin-top: 0;
}

.reviewer {
  background-color: #E6EFF2;
  padding: 20px;
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  min-width: 246px;
}

.reviewer:last-of-type {
  margin-bottom: 20px;
}

.reviewer__text {
  width: 100%;
}

.reviewer__text::before {
  content: "«";
}

.reviewer__text::after {
  content: "»";
}

.reviewer__title::before {
  content: "–";
  margin-right: 8px;
}

.reviewer__title {
  width: 65%;
  font-size: 16px;
  align-self: flex-end;
}

.reviewer__description::before {
  content: ", ";
}

.reviewer__image {
  width: 70px;
  height: 70px;
  align-self: flex-end;
  border: none;
}

.reviewer--small {
  width: 100%;
}

/*
* Media queries for mobil og opp
*/
@media screen and (min-width: 640px) {
  .reviewer--small {
    width: 31%;
    margin-right: 20px;
  }
  .coursedetailspage .order-course {
    margin: 20px 0 40px 0;
  }
  .coursedetailspage .order-course .order-course__choices {
    flex-direction: row;
  }
  .coursedetailspage .order-course__header {
    width: 66.33333%;
  }
  .coursedetailspage .order-course__meta {
    width: 33.33333%;
  }
}
/*
* Media queries for tablet og opp til stor skjerm
*/
@media screen and (min-width: 960px) {
  .reviewer:last-of-type {
    margin-bottom: 10px;
  }
  .reviewer:first-of-type {
    margin-top: 20px;
  }
  .reviewer--small {
    width: 100%;
    margin-right: 0;
  }
  .coursedetailspage .page-aside {
    flex-direction: column;
    padding-left: 20px;
  }
  .coursedetailspage .page-aside .js-validate {
    margin-top: 0;
    margin-bottom: 0;
  }
  .accordianblocks .accordian .accordian__content {
    padding: 20px 46px;
    padding-top: 0;
  }
  .mobile-only {
    display: none;
  }
}
/***************************************************************
***********        CSS for Konferansemal        ****************
***************************************************************/
/*
* Konferanse header
*/
.conferencedetailpage .page-wrapper--head {
  background-color: transparent;
}

/*
* Konferanse aside/kursdetaljer (grå boks)
*/
.conferencedetailpage .page-aside {
  padding-top: 0;
  margin-left: 0;
}

.conferencedetailpage .box {
  overflow-wrap: break-word;
  margin: 0 0 30px 0;
  padding: 36px 24px;
}

.conferencedetailpage .box .order-course__price--small {
  margin-bottom: 4px;
}

.conferencedetailpage .order-course__price small,
.coursedetailspage .order-course__price small {
  font-size: 18px;
}

.conferencedetailpage .box .order-course__subtitle {
  font-size: 18px;
  max-width: 250px;
}

.conferencedetailpage .order-course__value,
.coursedetailspage .order-course__value,
.conferenceschedulepage .order-course__value {
  max-width: 250px;
}

/*
* Konferanse hovedinnhold
*/
.conferencedetailpage .page-content--section {
  padding-top: 0;
}

.conferencedetailpage .page-content {
  padding-right: 16px;
}

/*
* Konferanseprogram
*/
.conferencedetailpage .schedule {
  background-color: transparent;
}

.conferencedetailpage .schedule__content {
  padding: 0;
}

.conferencedetailpage .schedule ol,
.conferencedetailpage .schedule ul {
  padding-left: 0;
}

.conferencedetailpage .schedule ul li,
.conferencedetailpage .schedule ol li {
  list-style: none;
}

.accordianblocks .accordian ol li {
  list-style: decimal;
}

.conferencedetailpage .schedule__day {
  border-left: 3px solid #80ACBC;
}

.conferencedetailpage .schedule__day-heading {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 20px;
}

.conferencedetailpage .schedule__listing {
  position: relative;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 20px;
}

.conferencedetailpage .schedule__listing::before {
  content: "";
  position: absolute;
  top: 20px;
  left: -11px;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background-color: #FFFFFF;
  z-index: 1;
  box-sizing: content-box;
  border: 2px solid #015A7A;
}

.conferencedetailpage .toggle-listing-bg {
  background-color: #E6EFF2;
}

.conferencedetailpage .schedule__listing:first-of-type {
  border-top: none;
  margin-top: 20px;
  padding-top: 0;
}

.conferencedetailpage .schedule__listing:first-of-type::before {
  top: -1px;
}

.conferencedetailpage .schedule__listing--multiple:first-of-type {
  padding-top: 20px;
}

.conferencedetailpage .schedule__listing--multiple:first-of-type::before {
  top: 20px;
}

.conferencedetailpage .schedule__listing:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 20px;
}

.conferencedetailpage .schedule__listing:last-of-type::before {
  top: 24px;
}

.conferencedetailpage .schedule__listing .schedule__session-title {
  margin-left: 20px;
}

/*
* Programsekvens teaser
*/
.conferencedetailpage .schedule__listing--multiple .schedule__section {
  background-color: #ffffff;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  flex: 1 0 auto;
  padding: 8px 16px;
  max-width: 300px;
  margin: 10px 10px 10px 0;
}

/*Teaser Sekvenstittel*/
.conferencedetailpage .schedule__listing--multiple .schedule__session-title {
  margin-left: 0;
}

.conferencedetailpage .schedule__listing--multiple .schedule__session-title::first-letter {
  font-size: 24px;
}

/*Teaser Fagkategorier med antall timer*/
.conferencedetailpage .schedule__section .order-course__header {
  padding: 0;
  margin-top: 20px;
  float: none;
  align-self: flex-end;
}

.conferencedetailpage .schedule__section .order-course__header .pad-bottom {
  padding-bottom: 8px;
}

.conferencedetailpage .order-course__header .order-course__subtitle {
  font-size: 14px;
}

.conferencedetailpage .order-course__header .tag--light,
.conferencedetailpage .schedule__section .tag--light {
  background-color: #F2F2F2;
  font-size: 14px;
  padding-right: 8px;
}

.conferencedetailpage .order-course__header .tag--light:hover,
.conferencedetailpage .schedule__section .tag--light:hover {
  text-decoration: underline;
  color: unset;
}

/*
* Program tidspunkt med flere sekvenser samtidig
*/
.conferencedetailpage .schedule__listing--multiple {
  display: block;
  position: relative;
  box-sizing: border-box;
  word-break: break-word;
}

.conferencedetailpage .schedule__listing--multiple .schedule__section--time {
  width: 100%;
  background-color: transparent;
  margin: 0;
  padding: 0;
  max-width: none;
  padding-left: 20px;
}

.conferencedetailpage .schedule__section--time {
  margin: 0;
  padding: 0;
  padding-left: 20px;
}

.conferencedetailpage .schedule__time time {
  font-size: 20px;
  font-weight: 700;
  margin-right: 10px;
}

/*
* Konferanse tilbakemeldingsblokk
*/
.conferencedetailpage .reviewer:last-of-type {
  margin-bottom: 20px;
}

.conferencedetailpage .reviewer {
  display: flex;
}

.conferencedetailpage .js-validate.mobile-only {
  padding: 0 20px;
}

.conferencedetailpage .article-footer {
  width: 100%;
}

/*
* Media queries for tablet og opp til stor skjerm
*/
@media screen and (min-width: 960px) {
  .conferencedetailpage .page-content {
    padding-right: 0;
  }
  .conferencedetailpage .schedule__toggle {
    display: flex;
    flex-wrap: wrap;
    margin-left: 20px;
  }
  .conferencedetailpage .schedule__listing--multiple .schedule__section {
    width: 33%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .conferencedetailpage .schedule__listing--multiple .schedule__section--time {
    width: 100%;
  }
  .conferencedetailpage .schedule__listing--multiple {
    background-color: #E6EFF2;
    display: flex;
    flex-wrap: wrap;
    border-bottom: none;
    margin: 8px 0;
    padding-bottom: 20px;
  }
  .conferencedetailpage .schedule__listing {
    border-top: none;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 10px;
  }
  .conferencedetailpage .reviewer {
    margin-right: 20px;
  }
  .conferencedetailpage .reviewer--small {
    width: 31%;
    margin-right: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .conferencedetailpage .page-content {
    padding-left: 0;
  }
}
/***************************************************************
***********    CSS for Konferanse sekvensmal    ****************
***************************************************************/
.conferenceschedulepage .page-aside {
  padding: 0;
  padding-bottom: 20px;
}

@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Black.ttf) format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Light.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Italic.ttf) format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-BlackItalic.ttf) format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-BoldItalic.ttf) format("truetype");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-LightItalic.ttf) format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-MediumItalic.ttf) format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Thin.ttf) format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-Medium.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url(/Static/fonts/Roboto-ThinItalic.ttf) format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather";
  src: url(/Static/fonts/Merriweather-Bold.woff) format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url(/Static/fonts/MerriweatherSans-Bold.woff) format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url(/Static/fonts/MerriweatherSans-Italic.woff) format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url(/Static/fonts/MerriweatherSans-Bold.woff) format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather";
  src: url(/Static/fonts/Merriweather-Italic.woff) format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather";
  src: url(/Static/fonts/Merriweather-BoldItalic.woff) format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url(/Static/fonts/MerriweatherSans-Regular.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather Sans";
  src: url(/Static/fonts/MerriweatherSans-BoldItalic.woff) format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather";
  src: url(/Static/fonts/Merriweather.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Basis Grotesque";
  src: url(/Static/fonts/basis-grotesque-light-pro.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Basis Grotesque";
  src: url(/Static/fonts/basis-grotesque-regular-pro.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Basis Grotesque";
  src: url(/Static/fonts/basis-grotesque-bold-pro.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT Alpina";
  src: url(/Static/fonts/GT-Alpina-Standard-Light.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT Alpina";
  src: url(/Static/fonts/GT-Alpina-Standard-Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT Alpina";
  src: url(/Static/fonts/GT-Alpina-Standard-Bold.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT Alpina Condensed";
  src: url(/Static/fonts/GT-Alpina-Condensed-Light.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GT Alpina Condensed";
  src: url(/Static/fonts/GT-Alpina-Condensed-Light-Italic.woff) format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
/*------------------------------------*\
    #FORMS
\*------------------------------------*/
fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  margin-bottom: 40px;
}

label {
  display: block;
  margin-bottom: 8px;
}

input[type=text],
input[type=search],
input[type=url],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  color: #333333;
  font-family: "Basis Grotesque", sans-serif;
}
input[type=text]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #969696;
  font-family: "Basis Grotesque", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input[type=text]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #969696;
  font-family: "Basis Grotesque", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input[type=text]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  color: #969696;
  font-family: "Basis Grotesque", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input[type=text]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #969696;
  font-family: "Basis Grotesque", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input[type=text]:focus, input[type=text]:hover,
input[type=search]:focus,
input[type=search]:hover,
input[type=url]:focus,
input[type=url]:hover,
textarea:focus,
textarea:hover {
  outline: none;
}
input[type=text]:focus-visible,
input[type=search]:focus-visible,
input[type=url]:focus-visible,
textarea:focus-visible {
  outline: 2px solid #9fcfff;
  outline-offset: 2px;
}

input[type=text],
input[type=url],
textarea {
  margin-bottom: 32px;
  padding: 8px;
  width: 100%;
}
input[type=text]:focus, input[type=text]:hover,
input[type=url]:focus,
input[type=url]:hover,
textarea:focus,
textarea:hover {
  padding: 7px;
}

input[type=text],
input[type=url] {
  height: 36px;
}

select {
  border: 1px solid #969696;
  border-radius: 4px;
  font-family: inherit;
  height: 39px;
  padding: 10px 20px;
  padding-right: 40px;
  transition: 300ms;
}
select:focus, select:hover {
  border-color: #007db3;
  border-width: 2px;
  outline: none;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

html {
  background-color: #ffffff;
}

/*------------------------------------*\
    #IMAGES
\*------------------------------------*/
figure {
  margin: 0;
}
svg,
img {
  max-width: 100%;
}

/*------------------------------------*\
    #LISTS
\*------------------------------------*/
ul {
  list-style: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
}

main:focus {
  outline: none;
}

.radio-selector {
  margin-left: 8px;
  margin-bottom: 8px;
}
.radio-selector input[type=radio]:checked ~ .radio-selector__checked {
  position: absolute;
  border: 1px solid #005a7a;
  width: 100%;
  min-height: 36px;
  margin-left: -36px;
  border-radius: 2px;
  top: -2px;
}
.radio-selector .radio {
  margin-top: 8px;
}
.radio-selector .radio input:focus ~ .control-indicator {
  outline: none;
}

table {
  word-break: initial;
  width: auto !important;
  height: auto !important;
}
table tr:last-child {
  border-bottom: unset;
}

/*------------------------------------*/
/* #TYPOGRAPHY
/*------------------------------------*/
/**
 * Base styling of typographic elements
 */
:root {
  --color-white: #fff;
  --color-beige-light: #f9f6f2;
  --color-beige: #f6ede2;
  --color-peach-light: #fed7b5;
  --color-peach: #ffc190;
  --color-zima-light: #c4e3ff;
  --color-zima: #9fcfff;
  --color-watermelon-light: #ff85ac;
  --color-watermelon: #f46d70;
  --color-mirage-light: #1c2042;
  --color-mirage: #19162b;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 20px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: manual;
          hyphens: manual;
  font-family: "Basis Grotesque", sans-serif;
  font-weight: 400;
  color: #19162b;
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  body {
    font-size: 16px;
    line-height: 20px;
  }
}

::-moz-selection {
  color: #333333;
  background: #d4f1fc;
}

::selection {
  color: #333333;
  background: #d4f1fc;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1-heading,
.h2-heading,
.h3-heading,
.h4-heading,
.h5-heading,
.h6-heading {
  font-weight: 700;
}

h1,
.h1-heading {
  font-size: 32px;
  line-height: 40px;
  font-family: "GT Alpina", "Georgia", serif;
  font-weight: 300;
}
@media screen and (min-width: 960px) {
  h1,
  .h1-heading {
    font-size: 52px;
    line-height: 64px;
  }
}

h2,
.h2-heading {
  font-size: 22px;
  line-height: 32px;
  font-family: "GT Alpina", "Georgia", serif;
  font-weight: 300;
}
@media screen and (min-width: 960px) {
  h2,
  .h2-heading {
    font-size: 22px;
    line-height: 32px;
  }
}

h3,
.h3-heading {
  font-size: 20px;
  line-height: 24px;
}
@media screen and (min-width: 960px) {
  h3,
  .h3-heading {
    font-size: 20px;
    line-height: 24px;
  }
}

h4,
.h4-heading {
  font-size: 16px;
  line-height: 20px;
}
@media screen and (min-width: 960px) {
  h4,
  .h4-heading {
    font-size: 16px;
    line-height: 22px;
  }
}

h5,
.h5-heading {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  margin: 0 0 10px;
}
@media screen and (min-width: 960px) {
  h5,
  .h5-heading {
    font-size: 16px;
    line-height: 22px;
  }
}

h6,
.h6-heading {
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 10px;
}

p {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: manual;
          hyphens: manual;
  margin: 0 0 20px;
  line-height: 1.65;
  font-family: "Basis Grotesque", sans-serif;
}

.ingress {
  font-size: 18px;
  line-height: 26px;
  color: #333333;
  font-weight: 400;
  font-family: "Basis Grotesque", sans-serif;
  line-height: 1.65;
}
@media screen and (min-width: 960px) {
  .ingress {
    font-size: 20px;
    line-height: 28px;
  }
}

strong {
  font-weight: 700;
}

blockquote {
  font-size: 16px;
  line-height: 28px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: manual;
          hyphens: manual;
  margin: 0 32px 32px;
  max-width: 640px;
  padding-left: 24px;
  position: relative;
}
@media screen and (min-width: 960px) {
  blockquote {
    font-size: 16px;
    line-height: 28px;
  }
}
blockquote::before {
  background-color: #005a7a;
  content: "";
  height: calc(100% - 12px);
  left: 0;
  position: absolute;
  top: 6px;
  width: 3px;
}

a {
  -webkit-text-decoration-skip: auto;
          text-decoration-skip: auto;
}

hr {
  border: none;
  height: 1px;
  margin: 0 0 32px;
  width: 100%;
}

.heading--no-arrow::before {
  display: none;
}

.grid a:not([class]),
.main-body a:not([class]) {
  box-shadow: 0 1px 0 0 #005ab5;
  color: #005ab5;
}

.l-1-col {
  max-width: 750px;
}

@media screen and (min-width: 640px) {
  .l-2-col {
    display: flex;
    margin-left: -20px;
  }
  .l-2-col > * {
    padding-left: 20px;
  }
}
.l-2-col__narrow-column {
  flex: 0 0 33.3333%;
}
@media screen and (min-width: 640px) {
  .l-2-col__narrow-column {
    max-width: 33.3333%;
  }
  .l-2-col__narrow-column > section {
    height: 100%;
  }
}
.l-2-col__wide-column {
  flex: 0 0 66.66667%;
  max-width: 750px;
}
@media screen and (min-width: 640px) {
  .l-2-col__wide-column {
    padding-right: 0;
  }
}
.l-2-col__half-column {
  flex: 0 0 50%;
  max-width: 750px;
}
@media screen and (min-width: 640px) {
  .l-2-col__half-column {
    max-width: 50%;
  }
  .l-2-col__half-column > section {
    height: 100%;
  }
}
.l-2-col__slightly-narrow-column {
  flex: 0 0 41.6666666667%;
}
@media screen and (min-width: 640px) {
  .l-2-col__slightly-narrow-column {
    max-width: 41.6666666667%;
  }
}
.l-2-col__slightly-wide-column {
  flex: 0 0 58.3333333333%;
}
@media screen and (min-width: 640px) {
  .l-2-col__slightly-wide-column {
    max-width: 58.3333333333%;
  }
}

@media screen and (min-width: 960px) {
  .l-3-col {
    display: flex;
    margin-left: -16px;
    margin-right: -16px;
  }
  .l-3-col > * {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.l-3-col__column {
  flex: 0 0 33.3333333333%;
}
@media screen and (min-width: 960px) {
  .l-3-col__column {
    max-width: 33.3333333333%;
  }
}

.l-container {
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto;
  max-width: 1148px;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .l-container {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media screen and (min-width: 960px) {
  .l-container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.l-content-box {
  padding: 24px 16px;
  border-radius: 12px;
  margin-top: 16px;
  margin-left: -9.6px;
  margin-right: -9.6px;
  background-color: #ffffff;
}
@media screen and (min-width: 640px) {
  .l-content-box {
    padding: 32px 24px;
    margin-left: 0;
    margin-right: 0;
  }
}
.l-content-box__heading {
  margin-top: 0;
  font-size: 20px;
  line-height: 20px;
}
.l-content-box a:not([class]) {
  color: #005ab5;
  box-shadow: 0 1px 0 0 #005ab5;
}
.l-content-box a:not([class]):hover {
  box-shadow: 0 2px 0 0 #005ab5;
}

section.l-content-box--auto-height {
  height: auto;
}

.l-grid {
  max-width: 1100px;
  margin: 0 auto;
}

.l-site {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
  min-height: 100vh;
}
.l-site__content {
  flex-grow: 1;
  margin-bottom: 40px;
  margin-top: 40px;
  outline: none;
}
@media screen and (min-width: 640px) {
  .l-site__content {
    margin-bottom: 100px;
  }
}
.l-site--background {
  background-color: #dff5ff;
}

.accordion-icon {
  background-color: #ffffff;
  border: 1px solid #000000;
}
.accordion-icon .toggle__img {
  max-width: 32px;
  max-height: 32px;
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 10px 6px 0;
  vertical-align: middle;
}

.article-header__heading {
  margin-bottom: 32px;
}
.article-header__timestamp {
  color: #444444;
  display: block;
  margin-bottom: 16px;
}
.article-header__timestamp.metadata {
  margin-bottom: 16px;
}
.article-header__tags {
  margin-bottom: 16px;
}

.chart {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media screen and (min-width: 640px) {
  .chart {
    flex-direction: row;
  }
}
.chart__container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 50%;
  margin-left: -10px;
}
.chart__holder {
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 640px) {
  .chart__holder {
    margin: 0;
  }
}
.chart__donut {
  width: 380px;
  height: 380px;
  position: relative;
}
.chart__donut > div {
  position: absolute;
  top: -30px;
  margin-left: -8px;
}
@media screen and (min-width: 640px) {
  .chart__donut > div {
    left: 25px;
    margin-left: -35px;
  }
}
.chart__total {
  font-size: 16px;
  line-height: 20px;
  background-color: #e6eff2;
  padding: 28px 50px;
  width: 240px;
  height: 240px;
  border-radius: 120px;
  position: absolute;
  top: 42px;
  left: 64px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 960px) {
  .chart__total {
    font-size: 16px;
    line-height: 20px;
  }
}
.chart__total-num {
  font-size: 16px;
  line-height: 28px;
  margin-top: 8px;
  font-weight: 700;
}
@media screen and (min-width: 960px) {
  .chart__total-num {
    font-size: 16px;
    line-height: 28px;
  }
}
.chart__details {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .chart__details {
    width: 50%;
  }
}
.chart__toggle {
  display: block;
  margin-top: 8px;
}
.chart__toggle.is-active .chart__toggle-icon {
  transform: rotate(-180deg);
  transition: transform 0.2s;
}
@media screen and (min-width: 640px) {
  .chart__toggle {
    display: none;
  }
}
.chart__toggle-content {
  margin-top: 16px;
  display: none;
}
.chart__toggle-content.is-active {
  display: block;
}
@media screen and (min-width: 640px) {
  .chart__toggle-content {
    display: block;
  }
}
.chart__toggle-icon {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -414px -412px;
  width: 28px;
  height: 28px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
  float: right;
  transition: transform 0.2s;
  margin-bottom: -5px;
}
.chart__list {
  display: block;
  width: 100%;
}
@media screen and (min-width: 640px) {
  .chart__list {
    width: 320px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) {
  .chart__list {
    width: 100%;
    margin: 0;
  }
}
.chart__list-item {
  position: relative;
  margin-bottom: 16px;
  margin-left: 32px;
}
@media screen and (min-width: 640px) {
  .chart__list-item {
    max-width: 360px;
    clear: both;
  }
}
.chart__list-item::before {
  position: absolute;
  top: 2px;
  margin: 0 0 0 -23px;
  width: 16px;
  height: 16px;
  background: #ccc;
  border-radius: 16px;
  content: "";
}
.chart__list-item-sum {
  margin-bottom: 32px;
}
.chart__list-item-sum::before {
  background: #fff;
}
.chart__list-item__hours {
  float: right;
}
.chart__list-item__hours-red {
  color: red;
}
.chart__list-hr {
  border-top: dotted 1px;
  margin: 20px 0;
}
.chart__explanation {
  padding-inline: 24px;
  margin-top: 16px;
  width: 100%;
  max-width: none;
}
.chart__explanation > span {
  font-weight: 700;
}
.chart__explanation__container {
  margin-top: -72px;
}
@media screen and (max-width: 639px) {
  .chart__explanation__container {
    width: 200%;
  }
}

.dot-red::before {
  background: #f46d70;
}

.dot-yellow::before {
  background: #ffc190;
}

.dot-light-yellow::before {
  background: #FDD6B4;
}

.dot-green::before {
  background: #1F6D1D;
}

.dot-bottle-green::before {
  background: #9fcfff;
}

.dot-blue::before {
  background: #1c2042;
}

.dot-light-blue::before {
  background: #C3E2FF;
}

.dot-dark-blue::before {
  background: #19162b;
}

.dot-pink::before {
  background: #ff85ac;
}

.dot-black::before {
  background: #000000;
}

.courseplanner-courses {
  margin: 0;
  padding: 0;
}
.courseplanner-courses .courses-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: -16px;
  margin-right: -16px;
}
@media screen and (min-width: 640px) {
  .courseplanner-courses .courses-list {
    margin: 0;
  }
}
.courseplanner-courses .courses-list__wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.courseplanner-courses .courses-list__course {
  padding: 16px;
  margin: 0;
  width: 100%;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  display: flex;
  justify-content: flex-start;
}
@media screen and (min-width: 640px) {
  .courseplanner-courses .courses-list__course {
    padding: 24px;
    margin: 6.4px;
    max-width: 342px;
    width: 31%;
  }
}
@media screen and (min-width: 960px) {
  .courseplanner-courses .courses-list__course {
    width: 31.9%;
  }
}
.courseplanner-courses .courses-list__course article {
  width: 100%;
}
.courseplanner-courses .courses-list__title {
  margin-top: 0;
  margin-bottom: 8px;
  color: #005a7a;
  font-size: 16px;
  line-height: 28px;
}
@media screen and (min-width: 960px) {
  .courseplanner-courses .courses-list__title {
    font-size: 16px;
    line-height: 28px;
  }
}
.courseplanner-courses .courses-list__subtitle {
  font-size: 12px;
  line-height: 14px;
  margin-top: 8px;
  margin-bottom: 8px;
}
@media screen and (min-width: 960px) {
  .courseplanner-courses .courses-list__subtitle {
    font-size: 12px;
    line-height: 14px;
  }
}
.courseplanner-courses .courses-list__details {
  margin: 0;
  width: 100%;
}
.courseplanner-courses .courses-list__ingress {
  font-weight: 700;
}
.courseplanner-courses .courses-list__ingress > .tag {
  margin-left: 8px;
}
.courseplanner-courses .courses-list__cta {
  margin-top: auto;
  align-self: flex-end;
  width: auto;
}
.courseplanner-courses .courses-list__cta .button {
  margin-bottom: 0;
}
.courseplanner-courses__total {
  font-size: 14px;
  line-height: 16px;
  margin-top: 24px;
  margin-bottom: 0;
}
@media screen and (min-width: 960px) {
  .courseplanner-courses__total {
    font-size: 14px;
    line-height: 16px;
  }
}
.courseplanner-courses__total > span {
  font-weight: 700;
}
.courseplanner-courses__total + p {
  margin-bottom: 0;
}
.courseplanner-courses a.button {
  font-size: 16px;
  line-height: 20px;
  background-color: transparent;
  border-bottom: 1px solid #005a7a;
  padding: 0;
  margin-top: 16px;
}
@media screen and (min-width: 960px) {
  .courseplanner-courses a.button {
    font-size: 16px;
    line-height: 20px;
  }
}
.courseplanner-courses a.button:hover {
  border-color: #25bef4;
}
.courseplanner-courses a.button::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -81px -80px;
  width: 25px;
  height: 24px;
}

.explanation-text {
  margin: 0;
}
.explanation-text > span {
  font-weight: 700;
}

.page-footer {
  background-color: #1c2042;
  color: #ffffff;
  padding: 40px 20px;
}
@media screen and (min-width: 640px) {
  .page-footer {
    padding: 40px 0;
  }
}
.page-footer__col {
  z-index: 3;
  position: relative;
}
@media screen and (min-width: 640px) {
  .page-footer__col {
    display: inline-block;
    padding: 0 20px;
    vertical-align: top;
    width: 50%;
  }
}
@media screen and (min-width: 960px) {
  .page-footer__col {
    width: 33.333%;
  }
}
.page-footer__menu {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.page-footer__menu-title {
  color: inherit;
  font-weight: 400;
  font-size: 1.25rem;
}
@media screen and (min-width: 640px) {
  .page-footer__menu-title {
    font-size: 1.5rem;
  }
}
.page-footer__menu-title-link {
  margin-bottom: 0.75rem;
  color: #9fcfff;
}
.page-footer__menu-title-link:hover h3 {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page-footer__menu-title-link:focus h3 {
  outline: 2px solid #9fcfff;
  outline-offset: none;
}
.page-footer__menu-link {
  font-size: 1rem;
}
@media screen and (min-width: 640px) {
  .page-footer__menu-link {
    font-size: 1.125rem;
  }
}
.page-footer__menu-link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page-footer__menu-col:nth-child(2):after {
  content: "";
}
.page-footer__footer-logo {
  border: none;
  display: block;
  margin-bottom: 10px;
}
.page-footer__global {
  padding-bottom: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-footer__global-item {
  display: inline;
  margin-right: 20px;
}
.page-footer__global-item a {
  color: #9fcfff;
}
.page-footer__global-item a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page-footer__wrapper {
  width: 100%;
}
.page-footer__search {
  margin-bottom: 1.25rem;
}
.page-footer__search form {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page-footer__search form:before, .page-footer__search form:after {
  display: none;
}
.page-footer__search form label {
  width: 100%;
}
.page-footer__search input[type=search] {
  padding: 0.75rem 1.25rem;
  max-height: 48px;
  border-radius: 99em;
  background-color: transparent;
  border: 2px solid #9fcfff;
  transition: none;
  color: #ffffff;
}
.page-footer__search input[type=search]:focus {
  outline: none;
}
.page-footer__search input[type=search]:focus-visible {
  outline: 2px solid #9fcfff;
  outline-offset: 0;
}
.page-footer__follow-title {
  font-weight: 400;
  margin-bottom: 10px;
}

.form-subject {
  width: 100%;
  margin: 0;
  margin-top: 32px;
}
.form-subject-info label {
  font-size: 14px;
  line-height: 16px;
  margin-bottom: 8px;
}
@media screen and (min-width: 960px) {
  .form-subject-info label {
    font-size: 14px;
    line-height: 16px;
  }
}
.form-subject-info input {
  width: 100%;
}
.form-subject-info__dates {
  display: flex;
  justify-content: space-between;
}
.form-subject-info__element {
  width: 100%;
  margin-right: 8px;
}
.form-subject-info__element > p {
  margin-bottom: 8px;
}
.form-subject-info__files > .form-subject-info__element {
  margin-bottom: 32px;
}
.form-subject-hours__legend {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
  border: none;
}
.form-subject-hours__legend-title {
  font-size: 14px;
  line-height: 16px;
  margin-bottom: 8px;
  font-family: "GT Alpina", "Georgia", serif;
}
@media screen and (min-width: 960px) {
  .form-subject-hours__legend-title {
    font-size: 14px;
    line-height: 16px;
  }
}
.form-subject-hours__element {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  border-bottom: 1px solid #c0c0c0;
  padding: 8px 0;
  font-family: inherit;
}
.form-subject-hours fieldset {
  margin-bottom: 16px;
}
.form-subject-hours label {
  display: flex;
  width: 80%;
  height: 100%;
  align-self: center;
  font-weight: 400;
  margin-bottom: 0;
}
.form-subject-hours input {
  display: flex;
  margin-left: 8px;
  text-align: center;
  width: 55px;
  max-width: 20%;
  height: 45px;
  align-self: center;
  margin-bottom: 0;
  font-family: inherit;
}
.form-subject-summary {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.form-subject-summary__title {
  margin-top: 0;
  margin-bottom: 24px;
}
.form-subject-summary__date {
  margin-bottom: 8px;
  font-weight: 700;
}
.form-subject-summary__organizer {
  font-weight: 700;
  margin-bottom: 0;
}
.form-subject-summary__type {
  margin-top: 32px;
  margin-botom: 16px;
}
.form-subject-summary__type-name {
  font-size: 16px;
  line-height: 20px;
  font-weight: 900;
  margin-bottom: 16px;
}
@media screen and (min-width: 960px) {
  .form-subject-summary__type-name {
    font-size: 16px;
    line-height: 20px;
  }
}
.form-subject-summary__type-list {
  width: 100%;
}
.form-subject-summary__type-list__item {
  display: flex;
  margin-left: 16px;
  margin-top: 8px;
}
.form-subject-summary__type-list__item > span {
  font-weight: 900;
  align-self: flex-end;
  margin-left: auto;
}
.form-subject-summary__footer {
  align-self: flex-end;
  margin-top: auto;
  margin-bottom: 56px;
}
.form-subject-summary__total {
  font-size: 20px;
  line-height: 24px;
  display: flex;
  width: 100%;
  font-weight: 900;
  font-family: "GT Alpina", "Georgia", serif;
}
@media screen and (min-width: 960px) {
  .form-subject-summary__total {
    font-size: 20px;
    line-height: 24px;
  }
}
.form-subject-summary__total > span {
  align-self: flex-end;
  margin-left: auto;
}
.form-subject-summary__button {
  width: 100%;
}
.form-subject-summary__button input {
  display: block;
  margin: 0 auto;
}

.history-selector {
  display: inline-block;
  width: 100%;
  height: auto;
}
.history-selector__label {
  font-size: 14px;
  line-height: 16px;
  color: #444444;
  font-weight: 400;
}
@media screen and (min-width: 960px) {
  .history-selector__label {
    font-size: 14px;
    line-height: 16px;
  }
}
.history-selector__label > .select {
  margin-top: 8px;
}
.history-selector__label > .select:first-of-type {
  margin-right: 8px;
}
.history-selector__label > .select::after {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -414px -412px;
  width: 28px;
  height: 28px;
}
.history-selector__label > .select > select {
  background-color: white;
  border: 1px solid #005a7a;
  border-radius: 2px;
  padding: 7px;
  padding-right: inherit;
}
.history-selector__link-to-report {
  margin-top: 16px;
  display: block;
}
@media screen and (min-width: 640px) {
  .history-selector__link-to-report {
    display: none;
  }
}

/*------------------------------------*/
/* #IMAGE
/*------------------------------------*/
/**
 * Styles for images with different aspect ratios, captions, and/or decorations.
 */
.image {
  margin-bottom: 32px;
}
.image__content-wrapper {
  overflow: hidden;
}
.image__img {
  display: block;
  width: 100%;
}
.image__caption {
  font-size: 12px;
  line-height: 14px;
  color: #444444;
  margin-top: 4px;
}
@media screen and (min-width: 960px) {
  .image__caption {
    font-size: 12px;
    line-height: 14px;
  }
}
.image--16x9 .image__content-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  background: #e6eff2;
}
.image--16x9 .image__content-wrapper > img, .image--16x9 .image__content-wrapper > iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 100%;
  width: 100%;
}
.image--16x9 .image__content-wrapper iframe {
  width: 100%;
  height: 100%;
}
.image--hero {
  position: relative;
}
@media screen and (min-width: 640px) {
  .image--hero {
    display: flex;
    height: 100%;
    min-height: 300px;
  }
}
.image--hero .image__mask {
  display: none;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.image--hero .image__mask > img {
  height: calc(100% + 4px);
  left: auto;
  position: absolute;
  right: -2px;
  top: -2px;
  transform: none;
  width: auto;
}
@media screen and (min-width: 640px) {
  .image--hero .image__mask {
    display: block;
  }
}
.image--hero .image__content-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  background: #e6eff2;
  border-radius: 0;
}
.image--hero .image__content-wrapper > img, .image--hero .image__content-wrapper > iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  max-width: none;
  min-width: 100%;
  width: auto;
}
.image--hero .image__content-wrapper iframe {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 640px) {
  .image--hero .image__content-wrapper {
    height: 100%;
    padding: 0;
  }
}
.image--flexible {
  height: 100%;
}
.image--flexible .image__content-wrapper {
  align-items: flex-end;
  display: flex;
  height: 100%;
}
.image--flexible .image__img {
  max-height: 100%;
  margin: 0 auto;
  width: auto;
}

.link {
  color: #005ab5;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.link:hover {
  text-decoration-thickness: 2px;
}
.link--emphasized {
  font-size: 16px;
  line-height: 20px;
  padding-bottom: 4px;
}
@media screen and (min-width: 960px) {
  .link--emphasized {
    font-size: 16px;
    line-height: 20px;
  }
}
.link--right {
  display: table;
}
@media screen and (min-width: 640px) {
  .link--right {
    margin-left: auto;
  }
}
.link--arrow::after {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -81px -80px;
  width: 25px;
  height: 24px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-left: 8px;
}
.link--arrow-down::after {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: 0 0;
  width: 25px;
  height: 24px;
}
.link--arrow-left {
  color: #005a7a;
  border: none;
}
.link--arrow-left::before {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -25px -24px;
  width: 28px;
  height: 28px;
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

/*------------------------------------*/
/* #LIST
/*------------------------------------*/
/**
 * Definition of various list styles
 */
.list, .rich-text ol:not([class]), .rich-text ul:not([class]) {
  list-style: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  margin-bottom: 32px;
  padding-left: 32px;
}
.list li, .rich-text ol:not([class]) li, .rich-text ul:not([class]) li {
  position: relative;
  padding: 0 0 0 24px;
  margin-bottom: 4px;
}
.list--ul li::before, .rich-text ul:not([class]) li::before, .list--ol ul li::before, .rich-text ol:not([class]) ul li::before {
  background: #333333;
  border-radius: 50%;
  content: "";
  display: block;
  height: 8px;
  left: 0;
  position: absolute;
  top: 0.5em;
  width: 8px;
}
.list--ul li::marker, .rich-text ul:not([class]) li::marker, .list--ol ul li::marker, .rich-text ol:not([class]) ul li::marker {
  content: "";
}
.list--ol, .rich-text ol:not([class]) {
  counter-reset: list-counter;
}
.list--ol li, .rich-text ol:not([class]) li {
  padding-left: 24px;
}
.list--ol li::before, .rich-text ol:not([class]) li::before {
  content: counter(list-counter) ".";
  counter-increment: list-counter;
  left: 0;
  position: absolute;
}
.list--ol li::marker, .rich-text ol:not([class]) li::marker {
  content: "";
}
.list--ol ul, .rich-text ol:not([class]) ul {
  /**
    *  1. Use a bogus counter so that the list items don't affect the parent's
    *     ordered list items.
    */
  /* 1 */
}
.list--ol ul li::before, .rich-text ol:not([class]) ul li::before {
  counter-increment: non-counter;
}
.list--ol ol, .rich-text ol:not([class]) ol {
  counter-reset: child-counter;
}
.list--ol ol li::before, .rich-text ol:not([class]) ol li::before {
  content: counter(child-counter) ".";
  counter-increment: child-counter;
}

/* */
.teaserblock ul li,
.main-body ul li {
  list-style: disc;
}
.teaserblock ol li,
.main-body ol li {
  list-style: decimal;
}
.teaserblock ul:not([class]),
.teaserblock ol:not([class]),
.teaserblock .list,
.teaserblock .list--numbered,
.main-body ul:not([class]),
.main-body ol:not([class]),
.main-body .list,
.main-body .list--numbered {
  line-height: 1.65;
  margin-bottom: 32px;
}
.teaserblock ul:not([class]) li,
.teaserblock ol:not([class]) li,
.teaserblock .list li,
.teaserblock .list--numbered li,
.main-body ul:not([class]) li,
.main-body ol:not([class]) li,
.main-body .list li,
.main-body .list--numbered li {
  padding: 0 0 0 24px;
  margin-bottom: 4px;
}
.teaserblock .list, .teaserblock .rich-text ol:not([class]), .rich-text .teaserblock ol:not([class]),
.teaserblock ul:not([class]),
.main-body .list,
.main-body .rich-text ol:not([class]),
.rich-text .main-body ol:not([class]),
.main-body ul:not([class]) {
  padding-left: 32px;
}
.teaserblock .list li, .teaserblock .rich-text ol:not([class]) li, .rich-text .teaserblock ol:not([class]) li,
.teaserblock ul:not([class]) li,
.main-body .list li,
.main-body .rich-text ol:not([class]) li,
.rich-text .main-body ol:not([class]) li,
.main-body ul:not([class]) li {
  margin-left: 0;
}
.teaserblock ol:not([class]),
.teaserblock .list--numbered,
.main-body ol:not([class]),
.main-body .list--numbered {
  padding-left: 32px;
}
.teaserblock ol:not([class]) li,
.teaserblock .list--numbered li,
.main-body ol:not([class]) li,
.main-body .list--numbered li {
  margin-left: 0;
}
.teaserblock ol:not([class]) li ol:not([class]),
.teaserblock ol:not([class]) li ul:not([class]),
.teaserblock ol:not([class]) li .list,
.teaserblock ol:not([class]) li .list--numbered,
.teaserblock ul:not([class]) li ol:not([class]),
.teaserblock ul:not([class]) li ul:not([class]),
.teaserblock ul:not([class]) li .list,
.teaserblock ul:not([class]) li .list--numbered,
.teaserblock .list li ol:not([class]),
.teaserblock .list li ul:not([class]),
.teaserblock .list li .list,
.teaserblock .list li .list--numbered,
.teaserblock .list--numbered li ol:not([class]),
.teaserblock .list--numbered li ul:not([class]),
.teaserblock .list--numbered li .list,
.teaserblock .list--numbered li .list--numbered,
.main-body ol:not([class]) li ol:not([class]),
.main-body ol:not([class]) li ul:not([class]),
.main-body ol:not([class]) li .list,
.main-body ol:not([class]) li .list--numbered,
.main-body ul:not([class]) li ol:not([class]),
.main-body ul:not([class]) li ul:not([class]),
.main-body ul:not([class]) li .list,
.main-body ul:not([class]) li .list--numbered,
.main-body .list li ol:not([class]),
.main-body .list li ul:not([class]),
.main-body .list li .list,
.main-body .list li .list--numbered,
.main-body .list--numbered li ol:not([class]),
.main-body .list--numbered li ul:not([class]),
.main-body .list--numbered li .list,
.main-body .list--numbered li .list--numbered {
  margin-bottom: 0;
}

.menu-sub {
  font-size: 1.25rem;
}
.menu-sub__list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 16px;
  min-height: 2lh;
}
.menu-sub__item {
  display: flex;
  border-radius: 4px;
  padding: 16px;
  background-color: #fed7b5;
  min-height: 2lh;
}
.menu-sub__item:hover {
  background-color: #ffc190;
  cursor: pointer;
}
.menu-sub__item--active {
  background-color: #ffc190;
  font-weight: bold;
}
.menu-sub__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-wrap: balance;
}
.menu-sub__icon {
  scale: 75%;
}
.menu-sub__text {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 959px) {
  .menu-sub {
    font-size: 1rem;
  }
  .menu-sub__list {
    gap: 8px;
  }
  .menu-sub__item {
    padding: 8px;
  }
}
@media screen and (max-width: calc(640px - 1px)) {
  .menu-sub {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 9000;
    font-size: 0.8rem;
    text-align: center;
    background-color: #fed7b5;
    border-top: 1px solid #1f5a78;
    min-height: 2lh;
  }
  .menu-sub__list {
    gap: 4px;
  }
  .menu-sub__item {
    padding: 4px;
    border-radius: 0;
  }
  .menu-sub__link {
    justify-content: center;
    flex-direction: column;
  }
  .menu-sub__icon {
    display: none;
  }
  .menu-sub__mobile-icon {
    display: block;
  }
}

.report {
  width: 137px;
  min-height: 155px;
  border: 1px solid #c0c0c0;
  border-radius: 2px;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: center;
  margin-bottom: 8px;
}
.report-section {
  width: 100%;
}
.report-section__heading {
  width: 100%;
  font-size: 16px;
  line-height: 20px;
  margin-top: 32px;
  margin-bottom: 16px;
}
@media screen and (min-width: 960px) {
  .report-section__heading {
    font-size: 16px;
    line-height: 22px;
  }
}
.report-section__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  max-width: 300px;
}
.report-section__list > li {
  width: 50%;
  min-width: 137px;
}
.report__label {
  background-color: #005a7a;
  color: #ffffff;
  font-size: 14px;
  line-height: 16px;
  padding: 8px 4px;
  margin-bottom: 16px;
  font-family: "GT Alpina", "Georgia", serif;
}
@media screen and (min-width: 960px) {
  .report__label {
    font-size: 14px;
    line-height: 16px;
  }
}
.report__label--secondary {
  background-color: #dadada;
  color: #333333;
}
.report__title {
  margin: 8px;
  color: #000000;
}
.report__link {
  font-size: 14px;
  line-height: 16px;
  margin: 16px;
  margin-top: auto;
  text-decoration: underline;
}
@media screen and (min-width: 960px) {
  .report__link {
    font-size: 14px;
    line-height: 16px;
  }
}

.rich-text {
  max-width: 640px;
}
.rich-text h2 + h3,
.rich-text h3 + h4 {
  margin-top: -8px;
}
.subscribed-courses__list-headings {
  display: none;
  font-size: 14px;
  line-height: 16px;
  color: #444444;
  width: 100%;
  padding: 8px 16px;
}
@media screen and (min-width: 960px) {
  .subscribed-courses__list-headings {
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (min-width: 640px) {
  .subscribed-courses__list-headings {
    display: flex;
  }
}
.subscribed-courses__list-headings > li:first-of-type {
  width: 170px;
}
.subscribed-courses__list-headings > li:nth-of-type(2) {
  width: 68%;
}
.subscribed-courses__list-headings > li:last-of-type {
  width: 225px;
}
.subscribed-courses__course-element {
  margin-left: -16px;
  margin-right: -16px;
  border-bottom: none;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element {
    margin: 0;
  }
}
.subscribed-courses__course-element .toggle__link {
  display: flex;
  border-radius: 4px;
  border: 1px solid #dadada;
  flex-wrap: wrap;
  flex-direction: row;
  background-color: #ffffff;
  padding: 16px;
  padding-right: 8px;
  cursor: pointer;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__link {
    flex-wrap: nowrap;
    padding: 8px 16px;
  }
  .subscribed-courses__course-element .toggle__link:hover {
    background-color: #dadada;
  }
}
.subscribed-courses__course-element .toggle__course-label {
  display: block;
  font-size: 14px;
  line-height: 16px;
  font-weight: 400;
  color: #444444;
  background-color: #ffffff;
  text-align: left;
  padding: 8px 0;
}
@media screen and (min-width: 960px) {
  .subscribed-courses__course-element .toggle__course-label {
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__course-label {
    display: none;
  }
}
.subscribed-courses__course-element .toggle__date {
  width: 110px;
  position: relative;
  left: 0;
  top: 0;
  order: 2;
  align-self: flex-end;
  font-weight: 700;
  font-size: 16px;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__date {
    width: 155px;
    order: unset;
    align-self: center;
  }
}
.subscribed-courses__course-element .toggle__title {
  margin: 0;
  margin-top: 8px;
  padding-right: 24px;
  width: 100%;
  order: 1;
  margin-bottom: 24px;
  font-weight: 400;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__title {
    margin: 0;
    width: 68%;
    order: unset;
    margin-bottom: 0;
    margin-left: 16px;
    align-self: center;
  }
}
.subscribed-courses__course-element .toggle__status-tag {
  width: 180px;
  text-align: center;
  order: 3;
  align-self: flex-end;
  margin-bottom: 0;
  padding: 0;
  border-radius: 2px;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__status-tag {
    padding: 3.2px 0;
    order: unset;
    align-self: flex-start;
    max-height: 28px;
  }
}
.subscribed-courses__course-element .toggle__button {
  order: 4;
  position: relative;
  top: 0;
  right: 0;
  margin-left: auto;
  padding: 0;
  align-self: flex-end;
  width: auto;
  height: auto;
}
@media screen and (min-width: 640px) {
  .subscribed-courses__course-element .toggle__button {
    padding: 0 8px;
    align-self: flex-start;
  }
}
.subscribed-courses__course-element .toggle__button > .icon-open-toggle {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -414px -412px;
  width: 28px;
  height: 28px;
}
.subscribed-courses__course-element .toggle__content {
  padding: 16px;
}
.subscribed-courses__bottom-link {
  margin-top: 24px;
  margin-bottom: 8px;
}

.status-tag--ok {
  background-color: #e5eff2;
  color: #1d5757;
}
.status-tag--confirmed {
  background-color: #dff5ff;
  color: #005a7a;
}
.status-tag--progress {
  background-color: #fff2d2;
  color: #333333;
}
.status-tag--external {
  background-color: #e0e0e0;
  color: #333333;
}

.article-footer {
  margin-top: 4rem;
  padding: 1.25rem 0 2.5rem;
  border-top: 2px solid #f2f2f2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  justify-content: space-between;
}
@media screen and (min-width: 640px) {
  .article-footer {
    flex-direction: row-reverse;
    width: 100%;
  }
}
.article-footer__print-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 4px;
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  background-color: #9fcfff;
  color: #1c2042;
}
.article-footer__print-button:hover {
  background-color: #c4e3ff;
}
.article-footer__share-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.article-footer__share-title {
  display: inline-block;
  padding-top: 6px;
  padding-right: 10px;
  font-size: 16px;
  line-height: 20px;
  font-family: "Basis Grotesque", sans-serif;
  margin: 0;
}
@media screen and (min-width: 960px) {
  .article-footer__share-title {
    font-size: 16px;
    line-height: 22px;
  }
}
.article-footer__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  word-wrap: normal;
  white-space: nowrap;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #9fcfff;
  font-size: 0;
}
.article-footer__share-link:hover {
  background-color: #c4e3ff;
}
.article-footer__share-link--linkedin:before {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -862px -860px;
  width: 28px;
  height: 28px;
}
.article-footer__share-link--facebook:before {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -610px -608px;
  width: 28px;
  height: 28px;
}
.article-footer__share-link--twitter:before {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1422px -1420px;
  width: 28px;
  height: 28px;
}
.article-footer__share-link--youtube:before {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -1702px -1700px;
  width: 28px;
  height: 28px;
}
.article-footer__share-link--instagram:before {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -806px -804px;
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 639px) {
  .article-footer {
    display: inline-flex;
    width: 100%;
  }
}

.banner-section {
  background-color: #2d3059;
  color: #ffffff;
  padding: 4rem 0 2rem 0;
  z-index: 9;
}
@media screen and (min-width: 640px) {
  .banner-section {
    padding: 8rem 0 4rem 0;
  }
}
@media screen and (max-width: 959px) {
  .banner-section .col-8--md {
    width: 100%;
  }
}
.banner-section__header {
  margin-bottom: 1rem;
}
@media screen and (min-width: 640px) {
  .banner-section__header {
    margin-bottom: 2rem;
  }
}
.banner-section__title {
  font-size: 32px;
  line-height: 40px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 960px) {
  .banner-section__title {
    font-size: 52px;
    line-height: 64px;
  }
}
.banner-section__ingress {
  margin-bottom: 0;
}
.banner-section .button--primary {
  background-color: #9fcfff;
}
.banner-section .button--primary:hover {
  background-color: #c4e3ff;
}
.banner-section .button--transparent.button--arrow {
  gap: 0.25rem;
}
.banner-section .button--transparent.button--arrow:after {
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -134px -132px;
  width: 28px;
  height: 28px;
}

.button::after {
  flex-shrink: 0;
}
.button:focus {
  outline: 2px solid black;
  box-shadow: 0 0 0 3px white;
}
.button--arrow {
  border-radius: 4px;
  padding: 0.875rem 1.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.button--arrow:not(.protected__link)::after {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
}
.button--transparent {
  padding: 0;
  border-radius: 0;
}
.button--link {
  display: flex;
}
.button--light {
  color: #19162b;
  background-color: #9fcfff;
}
.button--light:hover {
  background-color: #c4e3ff;
}
.button--primary {
  color: #19162b;
  background: #ffc190;
}
.button--primary:hover {
  background-color: #fed7b5;
}
.button--secondary {
  color: #19162b;
  background: #9fcfff;
}
.button--secondary:hover {
  background-color: #c4e3ff;
}
.button--small {
  padding: 0.5rem 1.25rem;
  font-size: 1rem;
  border-radius: 4px;
}

/*------------------ */
/* Details
/*------------------ */
details {
  width: 100%;
  padding: 1rem 0;
  display: flex;
  font-size: 1rem 1.3rem;
  flex-direction: column;
}

summary {
  font-weight: bold;
  display: flex;
  align-content: center;
  cursor: pointer;
  align-items: center;
}

details > summary::after {
  content: "";
  display: block;
  background: url(/Static/images/sprite.svg?v=1683186726235) no-repeat;
  background-size: 1758px 1756px;
  background-position: -106px -104px;
  width: 28px;
  height: 28px;
  transform: rotate(90deg);
}

details[open] > summary::after {
  transform: rotate(-90deg);
}

details > p {
  margin-top: 1rem;
  margin-left: 0.7rem;
  padding-left: 1.5rem;
  border-left: 3px solid #005a7a;
}

/* this does not work, (almost though) its just here for inspiration
  (the player is above the bottom of the video where text normally is displayed)
*/
div[id*=video-container-][id$=jwplayer_controlbar] {
  bottom: 0;
}

.main-menu {
  background-color: #ffffff;
  color: #19162b;
}
@media screen and (max-width: 639px) {
  .main-menu {
    background-color: #2d3059;
    color: #ffffff;
  }
}
body:has(main.startpage) .main-menu {
  background-color: #2d3059;
  color: #ffffff;
}
@media screen and (min-width: 640px) {
  body:has(main.startpage) .main-menu {
    background-color: #2d3059;
  }
}
.main-menu__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.main-menu__toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  border: 0;
  color: #19162b;
  position: absolute;
  z-index: 3;
  top: 20px;
  right: 20px;
  background: #ffc190;
  border-radius: 99em;
}
.main-menu__toggle i {
  flex-shrink: 0;
}
@media screen and (min-width: 750px) {
  .main-menu__toggle {
    display: none;
  }
}
.main-menu__content {
  z-index: 2;
  top: 0px;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
@media screen and (min-width: 750px) {
  .main-menu__content {
    pointer-events: auto;
    position: static;
    overflow: visible;
  }
}
@media screen and (max-width: 639px) {
  .main-menu__content--show-menu {
    pointer-events: auto;
  }
  .main-menu__content--show-menu .main-menu__list {
    opacity: 1;
    overflow: hidden;
    height: auto;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .main-menu__content--show-menu .main-menu__list li {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.35s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(1) {
    transition-delay: 0.05s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(2) {
    transition-delay: 0.1s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(3) {
    transition-delay: 0.15s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(4) {
    transition-delay: 0.2s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(5) {
    transition-delay: 0.25s;
  }
  .main-menu__content--show-menu .main-menu__list li:nth-child(6) {
    transition-delay: 0.3s;
  }
}
.main-menu__list {
  overflow: hidden;
  height: 0px;
  opacity: 0;
}
@media screen and (min-width: 750px) {
  .main-menu__list {
    overflow: visible;
    padding: 0;
    height: auto;
    opacity: 1;
    transform: translateY(0);
  }
}
.main-menu__list li {
  transform: translateY(-20px);
  opacity: 0;
  transition: all 0.25s cubic-bezier(0, 0, 0.1, 1);
}
@media screen and (min-width: 750px) {
  .main-menu__list li {
    opacity: 1;
    transform: translateY(0);
    transition: none;
  }
}
@media screen and (min-width: 750px) {
  .main-menu__item {
    display: inline-block;
  }
}
.main-menu__link {
  display: block;
  padding: 0.75rem 1rem;
  border: 0;
  color: inherit;
  font-size: 1.125rem;
  border-bottom: 2px solid transparent;
}
.main-menu__link:hover {
  color: inherit;
  border-color: currentColor;
}
body:has(main.startpage) .main-menu__link:hover {
  border-color: #ffc190;
}
.main-menu__link:empty {
  display: none;
}
@media screen and (min-width: 750px) {
  .main-menu__link.page__active {
    border-color: currentColor;
  }
  body:has(main.startpage) .main-menu__link.page__active {
    border-color: #ffc190;
  }
}
.main-menu__login-search {
  display: flex;
  flex-direction: column;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 750px) {
  .main-menu__login-search {
    padding-top: 0;
    padding-bottom: 0;
    flex-direction: row;
    align-items: center;
    position: absolute;
    top: -67px;
    right: 0;
  }
}
.main-menu__search {
  position: relative;
}
.main-menu__search form {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.main-menu__search form label {
  width: 100%;
}
.main-menu__search input[type=search] {
  padding: 0.75rem 1.25rem;
  max-height: 48px;
  border-radius: 99em;
  background-color: transparent;
  border: 2px solid #9fcfff;
  transition: none;
  color: #ffffff;
}
.main-menu__search input[type=search]:focus {
  outline: none;
}
.main-menu__search input[type=search]:focus-visible {
  outline: 2px solid #9fcfff;
  outline-offset: 0;
}
@media screen and (min-width: 750px) {
  .main-menu__user-link {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 20ch;
    display: inline-block;
    line-height: 1.2em;
  }
}
.main-menu__greeting {
  color: #ffffff;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 750px) {
  .main-menu__greeting {
    padding-left: 0;
    padding-right: 0;
  }
}

.page-header {
  color: #ffffff;
  z-index: 10;
}
@media screen and (max-width: 639px) {
  .page-header--show-menu {
    z-index: 2;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    height: 120%;
    width: 100%;
    padding-bottom: 20%;
    overflow-y: auto;
  }
}
.page-header__top {
  background-color: #1c2042;
}
.page-header__top-inner {
  padding: 1.25rem;
  display: block;
  max-width: 1100px;
  margin: 0 auto;
}
.page-header__print {
  display: none;
  padding-top: 60px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}
.page-header__branding {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  z-index: 3;
  display: flex;
  justify-self: start;
}
.page-header__branding img {
  margin: 0;
  width: 100%;
  max-width: 25vw;
  height: 100%;
  max-height: 100%;
}
@media screen and (min-width: 960px) {
  .page-header__branding img {
    max-width: 300px;
  }
}
.page-header__branding img.is-hidden--md {
  max-width: 150px;
  margin-top: 10px;
}
.page-header__branding a {
  display: block;
  border-bottom: 1px solid transparent;
}
.page-header__branding a:focus {
  border-color: transparent;
  outline-offset: 6px;
}

.teaser {
  margin-bottom: 20px;
}
.teaser .button--primary {
  display: inline-flex;
}

.teaser--blue {
  background-color: #ffc190;
  padding: 1.5rem;
}

.teaser--lightblue {
  background-color: #c4e3ff;
  padding: 1.5rem;
}

.teaser--white {
  background: #fff;
  padding: 1.5rem;
}

.teaser--lightblue .teaser__title a:hover {
  text-underline-offset: 2px;
  text-decoration: underline;
}

.teaser--blue .teaser__button {
  color: #19162b;
}

.teaser--lightblue .teaser__button {
  color: #19162b;
}

.teaser__image,
.order-form-item__image {
  width: 50%;
  max-width: 100px;
  margin-top: 10px;
  padding-right: 20px;
  margin-bottom: 20px;
}

@media screen and (min-width: 300px) {
  .teaser__image,
  .order-form-item__image {
    float: left;
    width: 33%;
  }
}
.teaser__heading {
  font-size: 1rem;
}

.teaser__title {
  font-size: 1.25rem;
}
@media screen and (min-width: 640px) {
  .teaser__title {
    font-size: 1.5rem;
  }
}
.teaser__title a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page-aside .teaser__title a:hover {
  box-shadow: none;
}
.page-aside .teaser__title a {
  box-shadow: none;
  display: inline;
  color: #19162b;
  margin-bottom: 0;
}

.teaser__price {
  color: #777;
}

@media print {
  .teaser__price {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
.teaser__price strong {
  font-size: 20px;
  font-family: "Merriweather", "Georgia", "Times New Roman", serif;
  color: #333;
}

@media print {
  .teaser__price strong {
    font-family: "Georgia", "Times New Roman", serif;
  }
}
.teaser__price small {
  color: #777;
}

.teaser__ingress {
  overflow: hidden;
}

.teaser__date {
  color: #777;
  margin-bottom: 10px;
}

@media screen and (min-width: 300px) {
  .teaser__column {
    float: left;
    width: 67%;
  }
}
.teaser--light {
  border-color: #444;
}

.teaser--light .teaser__title {
  font-weight: 400;
  font-size: 24px;
}

.teaser--light .teaser__title--large {
  font-size: 36px;
  margin-bottom: 15px;
}

.teaser--light .teaser__title a {
  color: #ffffff;
}

.teaser--light .teaser__price {
  color: #b2b2b2;
}

.teaser--light .teaser__price strong {
  color: #ffffff;
}

.teaser--light .teaser__date {
  color: #b2b2b2;
}

@media screen and (min-width: 640px) {
  .teaser--in-form {
    border-bottom: none;
  }
}
:root {
  --size: .2575;
  --cube-size: calc(var(--size) * 123px);
  --print-margin: calc(var(--size) * 5px);
  --print-size: calc(var(--cube-size) - 2 * var(--print-margin));
  --font-width: calc(var(--size) * 1273px);
  --font-height: calc(var(--size) * 146px);
  --font-top-offset: calc(var(--size) * 20px);
  --font-left-offset: calc(var(--size) * 40px);
}

@media screen and (max-width: 479px) {
  :root {
    --size: .18;
  }
}
.logo {
  margin-bottom: calc(0px * var(--size));
  background: linear-gradient(to right, #1d2040 90%, rgba(29, 32, 64, 0) 100%);
  position: relative;
  z-index: 2;
}

svg {
  fill: #9fcfff;
  padding: var(--print-margin);
  width: 100%;
  height: 100%;
}

.logo-text {
  margin-left: calc(-183px * var(--size));
  position: relative;
  top: var(--font-top-offset);
  left: var(--font-left-offset);
  display: block;
  width: var(--font-width);
  height: var(--font-height);
  opacity: 0;
  animation-duration: 1s;
  animation-delay: 0.1s;
  animation-timing-function: cubic-bezier(0.645, 0.75, 0.79, 1);
  animation-name: text-fade-in;
  animation-fill-mode: forwards;
  animation-play-state: paused;
}

.logo {
  display: flex;
  flex-direction: row;
}

.cube {
  z-index: 9000;
  position: relative;
  width: var(--cube-size);
  height: var(--cube-size);
  transform-style: preserve-3d;
  animation-duration: 0.1s;
  animation-timing-function: cubic-bezier(0.645, 0.75, 0.79, 1);
  animation-name: animate-0;
  animation-fill-mode: forwards;
  animation-play-state: paused;
}

.logo:hover .cube {
  animation-play-state: running;
}
.logo:hover .logo-text {
  animation-play-state: running;
}

.cube-container {
  margin: calc(30px * var(--size)) 0;
}

@keyframes animate-0 {
  0% {
    transform: rotateY(-45deg) rotateX(-90deg) translate3d(calc(var(--cube-size) * 1), 0px, 0px);
  }
  100% {
    transform: rotateY(-45deg) rotateX(-90deg) translate3d(calc(var(--cube-size) * 1), 0px, 0px);
  }
}
@keyframes animate-1 {
  0% {
    transform: rotateY(-45deg) rotateX(-90deg) translate3d(calc(var(--cube-size) * 1), 0px, 0px);
  }
  100% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
}
@keyframes animate-2 {
  0% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
  100% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
}
@keyframes animate-3 {
  0% {
    animation-timing-function: cubic-bezier(0.21, 0, 0.355, 0.25);
    transform: rotateX(-15deg) rotateY(45deg);
  }
  100% {
    transform: rotateX(90deg) rotateY(100deg);
  }
}
@keyframes animate-4 {
  0% {
    animation-timing-function: cubic-bezier(0.645, 0.75, 0.79, 1);
    transform: rotateX(90deg) rotateY(100deg);
  }
  100% {
    transform: rotateX(165deg) rotateY(135deg);
  }
}
@keyframes animate-5 {
  0% {
    transform: rotateX(165deg) rotateY(135deg);
  }
  100% {
    transform: rotateX(165deg) rotateY(135deg);
  }
}
@keyframes animate-6 {
  0% {
    animation-timing-function: cubic-bezier(0.21, 0, 0.355, 0.25);
    transform: rotateX(165deg) rotateY(135deg);
  }
  100% {
    transform: rotateX(270deg) rotateY(95deg);
  }
}
@keyframes animate-7 {
  0% {
    animation-timing-function: cubic-bezier(0.645, 0.75, 0.79, 1);
    transform: rotateX(-90deg) rotateY(95deg);
  }
  100% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
}
@keyframes animate-8 {
  0% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
  100% {
    transform: rotateX(-15deg) rotateY(45deg);
  }
}
@keyframes animate-9 {
  0% {
    animation-timing-function: cubic-b ezier(0.21, 0, 0.355, 0.25);
    transform: rotateX(-15deg) rotateY(45deg);
  }
  100% {
    transform: rotateX(90deg) rotateY(90deg);
  }
}
@keyframes animate-10 {
  0% {
    animation-timing-function: cubic-bezier(0.645, 0.75, 0.79, 1);
    transform: rotateX(90deg) rotateY(90deg);
  }
  100% {
    transform: rotateX(165deg) rotateY(135deg);
  }
}
.face {
  position: absolute;
  width: calc(var(--cube-size) * 1.03);
  height: calc(var(--cube-size) * 1.03);
  background: #1d2040;
}

.front {
  transform: translateZ(calc(var(--cube-size) / 2));
}

.back {
  transform: rotateY(180deg) translateZ(calc(var(--cube-size) / 2));
}

.left {
  transform: rotateY(-90deg) translateZ(calc(var(--cube-size) / 2));
}

.right {
  transform: rotateY(90deg) translateZ(calc(var(--cube-size) / 2));
}

.top {
  transform: rotateX(90deg) translateZ(calc(var(--cube-size) / 2));
}

.bottom {
  transform: rotateX(-90deg) translateZ(calc(var(--cube-size) / 2));
}

/* shapes */
.logo-rectangle {
  width: calc(var(--print-size) + var(--print-margin) / 2);
  height: calc(var(--print-size) + var(--print-margin) / 2);
  fill: #9fcfff;
}

.logo-circle {
  r: var(--print-size);
  cx: calc(var(--cube-size) - var(--print-margin) * 2);
  cy: calc(var(--print-margin) / 2);
}

.logo-small-circle {
  r: var(--print-size);
  cx: calc(var(--cube-size) - var(--print-margin) * 2);
  cy: 0px;
  transform: scaleY(0.7);
}

.logo-small-circle-upside-down {
  r: var(--print-size);
  cx: calc(var(--print-margin) / 2);
  cy: calc(var(--cube-size) - var(--print-margin) * 2);
  transform: scaleY(0.7) translateY(calc(var(--print-size) * 0.45));
}

.logo-big-circle {
  r: var(--print-size);
  cx: calc(var(--print-margin) / 2);
  cy: calc(var(--cube-size) - var(--print-margin) * 2);
  transform: scaleY(0.67);
}

.logo-big-circle-2 {
  width: calc(var(--print-size) + var(--print-margin) / 2);
  height: calc(0.37 * var(--print-size));
  transform: translateY(calc(0.69 * var(--print-size)));
}

.face-small-circle .svg-logo-container-circle {
  display: none;
}
.face-small-circle .svg-logo-container-big-circle {
  display: none;
}
.face-small-circle .svg-logo-container-rectangle {
  display: none;
}
.face-small-circle .svg-logo-container-small-circle {
  display: block;
}
.face-small-circle .svg-logo-container-small-circle-upside-down {
  display: none;
}

.face-small-circle-upside-down .svg-logo-container-circle {
  display: none;
}
.face-small-circle-upside-down .svg-logo-container-big-circle {
  display: none;
}
.face-small-circle-upside-down .svg-logo-container-rectangle {
  display: none;
}
.face-small-circle-upside-down .svg-logo-container-small-circle {
  display: none;
}
.face-small-circle-upside-down .svg-logo-container-small-circle-upside-down {
  display: block;
}

.face-big-circle .svg-logo-container-circle {
  display: none;
}
.face-big-circle .svg-logo-container-big-circle {
  display: block;
}
.face-big-circle .svg-logo-container-rectangle {
  display: none;
}
.face-big-circle .svg-logo-container-small-circle {
  display: none;
}
.face-big-circle .svg-logo-container-small-circle-upside-down {
  display: none;
}

.face-circle .svg-logo-container-circle {
  display: block;
}
.face-circle .svg-logo-container-big-circle {
  display: none;
}
.face-circle .svg-logo-container-small-circle {
  display: none;
}
.face-circle .svg-logo-container-rectangle {
  display: none;
}
.face-circle .svg-logo-container-small-circle-upside-down {
  display: none;
}

.face-square .svg-logo-container-circle {
  display: none;
}
.face-square .svg-logo-container-big-circle {
  display: none;
}
.face-square .svg-logo-container-small-circle {
  display: none;
}
.face-square .svg-logo-container-rectangle {
  display: block;
}
.face-square .svg-logo-container-small-circle-upside-down {
  display: none;
}

.face-empty .svg-logo-container-circle {
  display: none;
}
.face-empty .svg-logo-container-big-circle {
  display: none;
}
.face-empty .svg-logo-container-small-circle {
  display: none;
}
.face-empty .svg-logo-container-rectangle {
  display: none;
}
.face-empty .svg-logo-container-small-circle-upside-down {
  display: none;
}

@keyframes text-fade-in {
  0% {
    opacity: 0;
    transform: translateX(calc(var(--cube-size) * 1));
  }
  1% {
    opacity: 1;
    transform: translateX(calc(var(--cube-size) * 1));
  }
  100% {
    opacity: 1;
  }
}
.clearfix,
.grid,
.main-menu__list,
.schedule__content,
form,
.input__wrapper,
.page-footer,
.page-footer__menu-col:nth-child(2):after,
.meta,
.lecturer,
.teaser,
.toggle,
.toggle__link,
.listing,
.attachments-box,
.attachments-box__row,
.button-nav,
.order-form-item,
.order-form-item__description,
.search__field,
.search__filters,
.items-list__item,
.items-filter,
.banner-box,
.order-course,
.course-box,
.courses-list__course,
.schedule__person,
.schedule__listing,
.articles-list,
.article-box,
.questions-list {
  *zoom: 1;
}

.clearfix:before,
.grid:before,
.main-menu__list:before,
.schedule__content:before,
form:before,
.input__wrapper:before,
.page-footer:before,
.meta:before,
.lecturer:before,
.teaser:before,
.toggle:before,
.toggle__link:before,
.listing:before,
.attachments-box:before,
.attachments-box__row:before,
.button-nav:before,
.order-form-item:before,
.order-form-item__description:before,
.search__filters:before,
.items-list__item:before,
.items-filter:before,
.banner-box:before,
.order-course:before,
.course-box:before,
.courses-list__course:before,
.schedule__person:before,
.schedule__listing:before,
.articles-list:before,
.article-box:before,
.questions-list:before,
.clearfix:after,
.grid:after,
.main-menu__list:after,
.schedule__content:after,
form:after,
.input__wrapper:after,
.page-footer:after,
.page-footer__menu-col:nth-child(2):after,
.meta:after,
.lecturer:after,
.teaser:after,
.toggle:after,
.toggle__link:after,
.listing:after,
.attachments-box:after,
.attachments-box__row:after,
.button-nav:after,
.order-form-item:after,
.order-form-item__description:after,
.search__filters:after,
.items-list__item:after,
.items-filter:after,
.banner-box:after,
.order-course:after,
.course-box:after,
.courses-list__course:after,
.schedule__person:after,
.schedule__listing:after,
.articles-list:after,
.article-box:after,
.questions-list:after {
  content: " ";
  display: table;
}

.clearfix:after,
.grid:after,
.main-menu__list:after,
.schedule__content:after,
form:after,
.input__wrapper:after,
.page-footer:after,
.page-footer__menu-col:nth-child(2):after,
.meta:after,
.lecturer:after,
.teaser:after,
.toggle:after,
.toggle__link:after,
.listing:after,
.attachments-box:after,
.attachments-box__row:after,
.button-nav:after,
.order-form-item:after,
.order-form-item__description:after,
.search__field:after,
.search__filters:after,
.items-list__item:after,
.items-filter:after,
.banner-box:after,
.order-course:after,
.course-box:after,
.courses-list__course:after,
.schedule__person:after,
.schedule__listing:after,
.articles-list:after,
.article-box:after,
.questions-list:after {
  clear: both;
}

.EPiServerForms .Form__Description {
  margin-bottom: 32px;
}
.EPiServerForms .Form__MainBody .Form__Element {
  margin-bottom: 32px;
}
.EPiServerForms .Form__MainBody .Form__Element .FormTextbox__Input {
  margin-bottom: 0;
}
.EPiServerForms .Form__MainBody .Form__Element .Form__Element__Caption {
  display: block;
  margin-bottom: 8px;
}
.EPiServerForms .Form__MainBody .Form__Element .Form__Element__ValidationError {
  color: red;
  display: block;
  margin-top: 8px;
}
.EPiServerForms .Form__MainBody .Form__Element .FormResetButton,
.EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  cursor: pointer;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  /* Remove excess padding and border in Firefox 4+ */
  color: #005a7a;
  text-decoration: underline;
}
.EPiServerForms .Form__MainBody .Form__Element .FormResetButton::-moz-focus-inner,
.EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.EPiServerForms .Form__MainBody .Form__Element .FormResetButton:focus, .EPiServerForms .Form__MainBody .Form__Element .FormResetButton:hover,
.EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh:focus,
.EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh:hover {
  color: #25bef4;
}
@supports (text-decoration-color: #25bef4) {
  .EPiServerForms .Form__MainBody .Form__Element .FormResetButton:focus, .EPiServerForms .Form__MainBody .Form__Element .FormResetButton:hover,
  .EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh:focus,
  .EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Refresh:hover {
    color: #25bef4;
    text-decoration-color: #25bef4;
  }
}
.EPiServerForms .Form__MainBody .Form__Element .FormResetButton {
  margin-bottom: 32px;
}
.EPiServerForms .Form__MainBody .Form__Element .FormCaptcha__Image {
  margin-bottom: 8px;
}
.EPiServerForms .Form__MainBody .Form__Element.FormTextbox--Textarea .FormTextbox__Input {
  height: 140px;
}
.EPiServerForms .Form__MainBody .Form__Element.FormChoice > label {
  display: block;
}
.EPiServerForms .Form__MainBody .Form__Element.FormChoice > label > input {
  margin-right: 4px;
}
.EPiServerForms .Form__MainBody .Form__Element.FormRange > span:not([class]) {
  display: flex;
}
.EPiServerForms .Form__MainBody .Form__Element.FormRange .FormRange__Min {
  padding-right: 4px;
}
.EPiServerForms .Form__MainBody .Form__Element.FormRange .FormRange__Max {
  padding-left: 4px;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar {
  align-items: center;
  display: flex;
  margin-bottom: 32px;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .btnPrev, .EPiServerForms .Form__MainBody .Form__NavigationBar .btnNext {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  cursor: pointer;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  /* Remove excess padding and border in Firefox 4+ */
  color: #005a7a;
  height: auto;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .btnPrev::-moz-focus-inner, .EPiServerForms .Form__MainBody .Form__NavigationBar .btnNext::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .btnPrev:disabled, .EPiServerForms .Form__MainBody .Form__NavigationBar .btnNext:disabled {
  color: #969696;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .Form__NavigationBar__ProgressBar {
  border: 1px solid #005a7a;
  display: inline-block;
  flex-grow: 1;
  margin: 0 8px;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .Form__NavigationBar__ProgressBar .Form__NavigationBar__ProgressBar--Progress {
  background-color: #25bef4;
  height: 8px;
}
.EPiServerForms .Form__MainBody .Form__NavigationBar .Form__NavigationBar__ProgressBar .Form__NavigationBar__ProgressBar--Text {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.EPiServerForms .Form__MainBody .FormSubmitButton {
  display: table;
  margin-left: auto;
}

.FormSubmitButton {
  display: table;
  margin-left: auto;
}

/*------------------------------------*/
/*  #NOSCRIPT
/*------------------------------------*/
/**
 * Components to be shown when JS is disabled
 */
.noscript__component {
  display: none !important;
}
.noscript .noscript__component {
  display: block !important;
  width: 100%;
}
.noscript__component > *:last-child {
  margin-bottom: 0;
}
.noscript .noscript__hide {
  display: none !important;
}
.noscript [data-toggle-element] {
  display: block;
}

@media print {
  body {
    font-family: "Helvetica", "Arial", sans-serif;
  }
}
@media print {
  body {
    background: white;
    font-size: 10pt;
  }
  img {
    max-width: 350px;
  }
  @page {
    margin: 1.5cm 1.5cm;
  }
  h1 {
    font-size: 21pt;
    margin-bottom: 10px;
  }
  h2 {
    font-size: 14pt;
    margin-top: 25px;
  }
  p {
    font-size: 10pt;
    margin-bottom: 1em;
    line-height: 1.4;
  }
  .list li, .rich-text ul:not([class]) li, .rich-text ol:not([class]) li {
    line-height: 1.4;
  }
  aside h2 {
    font-size: 18pt;
  }
  blockquote,
  ul {
    margin: 0;
  }
  ul {
    list-style: none;
  }
  p a {
    word-wrap: break-word;
  }
  .table {
    font-size: 10pt;
  }
  aside {
    border-top: 1px solid #bbb;
    margin-top: 30px;
    display: block;
    page-break-before: always;
  }
  .page-header__print {
    display: block;
  }
  .breadcrumbs {
    display: none;
  }
  .page-header {
    background: none;
  }
  .page-header__top {
    display: none;
  }
  .main-menu {
    display: none;
  }
  .page-aside {
    display: none;
  }
  .page-header__print {
    padding-top: 20px;
  }
  .page-aside__behind {
    display: none;
  }
  .page-footer {
    display: none;
  }
  .article-footer {
    display: none;
  }
  .ingress,
  .listing--big p,
  .search__ingress {
    font-size: 12pt;
  }
  .tag,
  .toggle__title-tag,
  .toggle__status-tag,
  .courses-list__tag,
  .courses-list__tag--alert {
    font-size: 10pt;
    font-style: italic;
    padding: 0;
    background: none;
  }
  .section-form,
  .page-wrapper--head,
  .section-nav,
  .banner-section,
  .banner-section__link,
  .teaser--light .teaser__title a,
  .page-wrapper--head-dark {
    background: transparent;
    color: black;
  }
  aside {
    border: none;
  }
  .attachments__link {
    padding: 0;
    padding-bottom: 10px;
    font-size: 10pt;
  }
  .attachments__link:before {
    display: none;
  }
  .items-list__item {
    padding: 6px 0;
  }
  .articles-list__title,
  .articles-list__date,
  .courses-list__title {
    font-size: 10pt;
  }
  .courses-list__course {
    padding: 10px 0;
  }
  .courses-list__title {
    margin-bottom: 0;
  }
  .button,
  .collapse-menu__header,
  .checkbox-button__overlay,
  .shout-box__close,
  .items-filter__collapse-header a,
  .order-course__choice-list__button,
  .article-footer__print-button,
  .article-footer__share-link {
    display: none;
  }
  .teaser__image,
  .order-form-item__image {
    float: left;
    width: 80px;
    margin-top: 0;
  }
  .teaser__image img,
  .order-form-item__image img {
    width: 70px;
  }
  .teaser__column {
    float: none;
  }
  .order-course {
    margin: 0;
    padding: 0;
    margin-bottom: 40px;
  }
  .order-course__image {
    float: left;
    max-width: 150px;
  }
  .order-course * {
    margin-bottom: 0px !important;
  }
  .mega-quote {
    min-height: 100px;
    margin-bottom: 10px;
  }
  .mega-quote .avatar img,
  .mega-quote .schedule__avatar img {
    width: 100px;
  }
  .course-box__content {
    padding: 0;
  }
  .page-content {
    padding-top: 0;
  }
  .button-nav {
    display: none;
  }
  .listing__item {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 10px;
  }
  .search {
    display: none;
  }
  .article-box__content {
    padding: 0;
  }
  .article-box {
    margin: 0;
  }
  .button__wrapper {
    display: none;
  }
  .banner-section__title {
    margin: 0;
  }
  .teaser {
    margin-bottom: 0;
  }
  .teaser__title {
    margin-top: 0;
  }
  .items-filter {
    display: none;
  }
  .page-wrapper > .grid > .col-8--lg,
  .page-wrapper > .main-menu__list > .col-8--lg,
  .page-wrapper > .schedule__content > .col-8--lg,
  .page-wrapper > .grid > .listing__image + .listing__text-wrapper,
  .page-wrapper > .main-menu__list > .listing__image + .listing__text-wrapper,
  .page-wrapper > .schedule__content > .listing__image + .listing__text-wrapper {
    float: none;
    width: auto;
  }
  .page-wrapper > .grid > .col-4--lg,
  .page-wrapper > .main-menu__list > .col-4--lg,
  .page-wrapper > .schedule__content > .col-4--lg,
  .page-wrapper > .grid > .listing__image,
  .page-wrapper > .main-menu__list > .listing__image,
  .page-wrapper > .schedule__content > .listing__image,
  .page-wrapper > .grid > .schedule__section--medium,
  .page-wrapper > .main-menu__list > .schedule__section--medium,
  .page-wrapper > .schedule__content > .schedule__section--medium {
    float: none;
    width: auto;
  }
  .col-6--md,
  .listing__image,
  .listing__image + .listing__text-wrapper,
  .attachments-box__item,
  .order-course__meta,
  .order-course__choices,
  .inquire__category {
    float: left;
    position: relative;
    width: 50%;
  }
}
/*------------------------------------*/
/*  #REDUCED MOTION
/*------------------------------------*/
/**
 * Removes transitions/animations for users who have enabled "Reduced Motion"
 * in their browser
 */
@media screen and (prefers-reduced-motion) {
  * {
    animation: none !important;
    transition: none !important;
  }
  .appears {
    opacity: 1;
  }
}
/*------------------------------------*\
    #SHAME
\*------------------------------------*/
/**
 * The thing that should not be.
 * Your 1-stop place for all nasty hacks and overrides that are
 * sometimes necessary for the greater good.
 *
 * This file should be as small as possible and should be routinely reviewed
 * in order to refactor out unecessary hacks.
 */
/*------------------------------------*/
/* #UTILITY-CLASSES
/*------------------------------------*/
/**
 * Utility classes (single purpose classes that override defaults)
 * Prefixed u-
 */
.u-hidden {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.u-relative {
  position: relative;
}

.u-align-right {
  text-align: right;
}

.u-mg-top-0 {
  margin-top: 0px;
}

.u-mg-top-1 {
  margin-top: 8px;
}

.u-mg-top-2 {
  margin-top: 16px;
}

.u-mg-top-3 {
  margin-top: 24px;
}

.u-mg-top-4 {
  margin-top: 32px;
}

.u-mg-top-5 {
  margin-top: 40px;
}

.u-mg-top-6 {
  margin-top: 48px;
}

.u-mg-top-7 {
  margin-top: 56px;
}

.u-mg-top-8 {
  margin-top: 64px;
}

.u-mg-top-9 {
  margin-top: 72px;
}

.u-mg-top-10 {
  margin-top: 80px;
}

@media screen and (min-width: 640px) {
  .u-mg-top-0-md-up {
    margin-top: 0px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-1-md-up {
    margin-top: 8px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-2-md-up {
    margin-top: 16px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-3-md-up {
    margin-top: 24px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-4-md-up {
    margin-top: 32px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-5-md-up {
    margin-top: 40px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-6-md-up {
    margin-top: 48px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-7-md-up {
    margin-top: 56px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-8-md-up {
    margin-top: 64px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-9-md-up {
    margin-top: 72px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-top-10-md-up {
    margin-top: 80px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-0-lg-up {
    margin-top: 0px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-1-lg-up {
    margin-top: 8px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-2-lg-up {
    margin-top: 16px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-3-lg-up {
    margin-top: 24px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-4-lg-up {
    margin-top: 32px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-5-lg-up {
    margin-top: 40px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-6-lg-up {
    margin-top: 48px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-7-lg-up {
    margin-top: 56px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-8-lg-up {
    margin-top: 64px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-9-lg-up {
    margin-top: 72px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-top-10-lg-up {
    margin-top: 80px;
  }
}

.u-mg-bottom-0 {
  margin-bottom: 0px;
}

.u-mg-bottom-1 {
  margin-bottom: 8px;
}

.u-mg-bottom-2 {
  margin-bottom: 16px;
}

.u-mg-bottom-3 {
  margin-bottom: 24px;
}

.u-mg-bottom-4 {
  margin-bottom: 32px;
}

.u-mg-bottom-5 {
  margin-bottom: 40px;
}

.u-mg-bottom-6 {
  margin-bottom: 48px;
}

.u-mg-bottom-7 {
  margin-bottom: 56px;
}

.u-mg-bottom-8 {
  margin-bottom: 64px;
}

.u-mg-bottom-9 {
  margin-bottom: 72px;
}

.u-mg-bottom-10 {
  margin-bottom: 80px;
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-0-md-up {
    margin-bottom: 0px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-1-md-up {
    margin-bottom: 8px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-2-md-up {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-3-md-up {
    margin-bottom: 24px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-4-md-up {
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-5-md-up {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-6-md-up {
    margin-bottom: 48px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-7-md-up {
    margin-bottom: 56px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-8-md-up {
    margin-bottom: 64px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-9-md-up {
    margin-bottom: 72px;
  }
}

@media screen and (min-width: 640px) {
  .u-mg-bottom-10-md-up {
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-0-lg-up {
    margin-bottom: 0px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-1-lg-up {
    margin-bottom: 8px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-2-lg-up {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-3-lg-up {
    margin-bottom: 24px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-4-lg-up {
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-5-lg-up {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-6-lg-up {
    margin-bottom: 48px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-7-lg-up {
    margin-bottom: 56px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-8-lg-up {
    margin-bottom: 64px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-9-lg-up {
    margin-bottom: 72px;
  }
}

@media screen and (min-width: 960px) {
  .u-mg-bottom-10-lg-up {
    margin-bottom: 80px;
  }
}
/*# sourceMappingURL=source\css\style.css.map */
