article, aside, details, figcaption, figure, footer,
header, main, menu, nav, section, summary {
display: block;
}
audio, canvas, progress, video {
display: inline-block;
}
video {
max-width: 100%;
}
audio:not([controls]) {
display: none;
height: 0;
}
progress {
vertical-align: baseline;
}
[hidden],
template {
display: none;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
outline-width: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
b,
strong {
font-weight: inherit;
font-weight: bolder;
}
dfn {
font-style: italic;
}
mark {
background-color: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
img {
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
code, kbd, pre, samp {
font-family: monospace, monospace;
font-size: 1em;
white-space: pre-wrap;       
white-space: -moz-pre-wrap;  
white-space: -pre-wrap;      
white-space: -o-pre-wrap;    
word-wrap: break-word;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
button, input, optgroup, select, textarea {
font: inherit;
margin: 0;
}
optgroup {
font-weight: 700;
}
button, input {
overflow: visible;
}
button, select {
text-transform: none;
}
[type="reset"],
[type="submit"],
button,
html [type="button"] {
-webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
border-style: none;
padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
border: 1px solid silver;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
textarea {
overflow: auto;
}
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
html {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
color: hsla(0, 0%, 0%, 0.8);
font-weight: normal;
word-wrap: break-word;
font-kerning: normal;
}
html, body, hgroup, ul, ol, dl, dd, p, pre, figure, table, fieldset, blockquote, form, noscript, iframe, hr, address, img,
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}
img {
max-width: 100%;
margin-bottom: 1.45rem;
}
h1, h2, h3, h4, h5, h6 {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
color: inherit;
font-weight: bold;
line-height: 1.1;
}
h1 {
margin-bottom: 1.45rem;
font-size: 2.25rem;
}
h2 {
margin-bottom: 1.45rem;
font-size: 1.62671rem;
}
h3 {
margin-bottom: 1.45rem;
font-size: 1.38316rem;
}
h4 {
margin-bottom: 1.45rem;
font-size: 1rem;
}
h5 {
margin-bottom: 1.45rem;
font-size: 0.85028rem;
}
h6 {
margin-bottom: 1.45rem;
font-size: 0.78405rem;
}
hgroup {
margin-bottom: 1.45rem;
}
ul {
margin-left: 1.45rem;
margin-bottom: 1.45rem;
list-style-position: outside;
list-style-image: none;
}
ol {
margin-left: 1.45rem;
margin-bottom: 1.45rem;
list-style-position: outside;
list-style-image: none;
}
dl {
margin-bottom: 1.45rem;
}
dd {
margin-bottom: 1.45rem;
}
p {
margin-bottom: 1.45rem;
}
figure {
margin-bottom: 1.45rem;
}
pre {
margin-bottom: 1.45rem;
font-size: 0.85rem;
line-height: 1.42;
background: hsla(0, 0%, 0%, 0.04);
border-radius: 3px;
overflow: auto;
word-wrap: normal;
padding: 1.45rem;
}
table {
margin-bottom: 1.45rem;
font-size: 1rem;
line-height: 1.45rem;
border-collapse: collapse;
width: 100%;
}
fieldset {
margin-bottom: 1.45rem;
}
blockquote {
margin-left: 1.45rem;
margin-right: 1.45rem;
margin-bottom: 1.45rem;
}
form {
margin-bottom: 1.45rem;
}
noscript {
margin-bottom: 1.45rem;
}
iframe {
margin-bottom: 1.45rem;
}
hr {
margin-bottom: calc(1.45rem - 1px);
background: hsla(0, 0%, 0%, 0.2);
border: none;
height: 1px;
}
address {
margin-bottom: 1.45rem;
}
b, strong, dt, th {
font-weight: bold;
}
li {
margin-bottom: calc(1.45rem / 2);
}
ol li, ul li {
padding-left: 0;
}
li > ol {
margin-left: 1.45rem;
margin-bottom: calc(1.45rem / 2);
margin-top: calc(1.45rem / 2);
}
li > ul {
margin-left: 1.45rem;
margin-bottom: calc(1.45rem / 2);
margin-top: calc(1.45rem / 2);
}
blockquote *:last-child, li *:last-child, p *:last-child {
margin-bottom: 0;
}
li > p {
margin-bottom: calc(1.45rem / 2);
}
code {
font-size: 0.85rem;
line-height: 1.45rem;
}
kbd {
font-size: 0.85rem;
line-height: 1.45rem;
}
samp {
font-size: 0.85rem;
line-height: 1.45rem;
}
abbr, acronym, abbr[title] {
border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);
cursor: help;
}
abbr[title] {
text-decoration: none;
}
thead {
text-align: left;
}
td,
th {
text-align: left;
border-bottom: 1px solid hsla(0, 0%, 0%, 0.12);
font-feature-settings: "tnum";
-moz-font-feature-settings: "tnum";
-ms-font-feature-settings: "tnum";
-webkit-font-feature-settings: "tnum";
padding-left: 0.96667rem;
padding-right: 0.96667rem;
padding-top: 0.725rem;
padding-bottom: calc(0.725rem - 1px);
}
th:first-child,
td:first-child {
padding-left: 0;
}
th:last-child,
td:last-child {
padding-right: 0;
}
tt,
code {
background-color: hsla(0, 0%, 0%, 0.04);
border-radius: 3px;
font-family: "SFMono-Regular", Consolas, "Roboto Mono", "Droid Sans Mono",
"Liberation Mono", Menlo, Courier, monospace;
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
}
pre code {
background: none;
line-height: 1.42;
}
code:before,
code:after,
tt:before,
tt:after {
letter-spacing: -0.2em;
content: " ";
}
pre code:before,
pre code:after,
pre tt:before,
pre tt:after {
content: "";
}
@media only screen and (max-width: 480px) {
html {
font-size: 100%;
}
}
.simple-columns {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
margin-bottom: 1em;
gap: 16pt;
}
.simple-columns p {
text-align: justify;
text-justify: inter-word;
}
.simple-columns img {
border: 1px solid black;
}
.simple-columns * {
flex-wrap: nowrap;
width: 100%;
background: solid blue;
padding: 0;
margin: 0;
}
.float img {
float:left;
padding-right: 16pt;
}
.float-right img {
float:right;
padding-left: 16pt;
}
.column-grid {
border: 1px solid black;
padding: 1em;
}
.column-grid > * {
margin: 1em;
}
.twocolumns {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
gap: 16pt;
width: 100%;
}
.twocolumns * {
padding: 0;
margin: 0;
width: 100%;
flex-grow: 1;
flex-basis: 50%;
}
.twocolumns img {
width: 49vw;
}
.columns {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 16pt;
}
.columns p, .columns div {
padding: 0;
margin: 0;
flex-basis: 30vw;
flex-grow: 1;
background: solid blue;
margin-bottom: 1em;
text-align: justify;
text-justify: inter-word;
}
.columns img {
border: 1px solid black;
}
@media only screen and (max-width: 1100px) {
.columns p, .columns div {
flex-basis: 35vw;
}
}
@media only screen and (min-width: 2400px) {
.columns p, .columns div {
flex-basis: 15vw;
}
}
div.goals {
background-color: rgba(var(--colorUtu2d), 0.5);
border: 1px solid var(--colorUtu5);
border-radius: 15px;
padding: 8px;
}
div.goals h3 {
width: 100%;
background-color: rgba(var(--colorUtu1d), 0.5);
border-radius: 15px;
padding: 8px;
text-align: center;
}
div.goals h3::before, div.goals ul li::before {
content: "🎓 "
}
div.goals h3::after {
content: " 🎓"
}
div.goals ul {
list-style: none;
}
div.important, span.important {
background-color: rgba(var(--colorUtu3d), 0.3);
border: 1px solid var(--colorUtu5);
border-radius: 15px;
padding: 8px;
margin-top: 8px;
margin-bottom: 8px;
}
div.important > *:first-child::before {
content: "❗ "
}
div.important > *:last-child::after {
content: " ❗"
}
div.nicetoknow {
background-color: rgba(var(--colorUtu4d), 0.1);
border: 1px solid var(--colorUtu5);
border-radius: 15px;
padding: 8px;
margin-top: 8px;
margin-bottom: 8px;
}
div.nicetoknow > *:first-child::before {
content: "💡 Nice to know 💡\A ";
font-weight: bold;
}
:root {
--pageWidth: 894px;
--backgroundColor: #fff;
--colorUtu1: #8b5dcb;
--colorUtu2: #78c8d2;
--colorUtu3: #f8485e;
--colorUtu4: #adcb00;
--colorUtu5: #000;
--colorUtu6: #868686;
--colorUtu7: #b1b1b0;
--colorUtu8: #d9d9d9;
--colorUtu9: #ffffff;
--colorUtu1d: 139, 93, 203;
--colorUtu2d: 120, 200, 210;
--colorUtu3d: 248, 72, 94;
--colorUtu4d: 173, 203, 0;
}
.external-nav * {
font-weight: bold;
padding-left: 0.5em;
padding-right: 0.5em;
border-radius: 25px;
}
.nav-separator {
display: none;
}
.toplogo {
width: 7.020rem;
height: 2rem;
margin: 0;
padding: 0;
margin-top:0.2em;
margin-right: 1em;
margin-left: 20px;
}
.topnav {
padding-bottom: 0.5em;
border-bottom: 1px solid var(--colorUtu8);
}
header {
margin: 0;
padding: 0;
background-color: var(--colorUtu9);
}
header .topbar {
background-color: var(--colorUtu1);
color: var(--colorUtu9);
padding: 8px;
display: flex;
justify-content: space-between;
}
header .topbar div {
display: flex;
justify-content: center;
align-items: top;
}
header .topbar div * {
padding-right: 0.2em;
color: var(--colorUtu9);
}
header a:hover {
text-decoration: underline solid var(--colorUtu9);
}
header .page-section {
font-size: 2em;
}
header a, footer a {
text-decoration: none;
}
header .sectiontitle {
font-size: 150%;
}
header a {
color: var(--colorUtu5);
}
.header-content {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
}
footer {
background: var(--colorUtu5);
color: var(--colorUtu9);
font-size: 87.4975%;
padding-left: 3.25rem;
padding-bottom: 1.475rem;
padding-right: 3.25rem;
padding-top: 1.475rem;
}
footer .copyright {
padding-top: 0.3em;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
text-transform: uppercase;
}
footer .licenses img {
width: 2.5em;
height: 2.5em;
margin: 0;
padding: 0;
}
footer .licenses {
white-space: nowrap;
padding-top: 0.3em;
width: 100%;
display: flex;
justify-content: flex-end;
}
footer .external-nav {
border-bottom: 1px solid var(--colorUtu9);
}
footer .external-nav {
margin: 0;
padding: 0;
text-transform: uppercase;
}
footer .external-nav .active {
background: var(--colorUtu4);
}
footer .external-nav a:hover {
background: var(--colorUtu1);
}
footer a {
color: var(--colorUtu9);
}
footer a:hover {
text-decoration: underline solid var(--colorUtu9);
}
.footer-right {
max-width: 50%;
}
.footer-content {
width: 100%;
max-width: 1920px;
margin-left: auto;
margin-right: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
footer #site-status {
background-color: var(--colorUtu3);
color: var(--colorUtu9);
mid-width: 2em;
position: fixed;
bottom: 0;
left: 0;
border-radius: 0px 6px 0px 0px;
}
footer #site-status .tooltip {
background-color: var(--colorUtu1);
color: var(--colorUtu9);
visibility: hidden;
min-width: 3em;
min-height: 3em;
border-radius: 6px;
padding: 4px;
position: fixed;
bottom: 1em;
left: 1em;
z-index: 1;
}
footer #site-status:hover .tooltip {
visibility: visible;
}
footer #site-status p {
padding: 4px;
margin: 0;
color: var(--colorUtu9);
}
footer #site-info {
background-color: var(--colorUtu3);
color: var(--colorUtu9);
width: 100%;
padding: 0;
position: fixed;
bottom: 0;
left: 0;
}
footer #site-info p {
padding-top: 8px;
padding-right: 0.2em;
color: var(--colorUtu9);
}
.sitebranding {
width: 14.040rem;
height: 3.967rem;
flex: 0 0 auto;
flex-shrink: 0;
margin: 0;
}
header .topbar .homelink {
display: none;
}
@media (min-width:50em) {
.sitebranding {
width: 15.100rem;
height: 4.267rem;
}
}
@media (min-width:60em) {
.sitebranding {
width: 16.400rem;
height: 4.634rem;
}
}
@media (min-width:80em) {
.sitebranding {
width: 17.700rem;
height: 5.002rem;
}
}
@media only screen and (max-width: 780px) {
footer .external-nav {
display: flex;
justify-content: center;
margin: 0;
padding:0;
}
footer, footer div {
display: block;
padding:0;
padding-top: 1em;
}
.sitebranding {
display: block;
margin-left: auto;
margin-right: auto;
}
footer .copyright {
display: flex;
justify-content: center;
}
footer .licenses {
justify-content: center;
}
.footer-content {
display: block;
padding:0;
flex-wrap: wrap;
justify-content: center;
}
.footer-right {
margin-left: auto;
margin-right: auto;
}
footer .copyright * {
text-align: center;
}
header .topbar .profilelink span {
display:none;
}
header .topbar .profilelink:after {
content: "👤";
}
header .topbar .helplink span {
display:none;
}
header .topbar .helplink:after {
content: "❔";
}
header .topbar .homelink {
display:block;
}
.toplogo {
display: none;
}
}
html {
font: 120% brother-1816, sans-serif;
box-sizing: border-box;
overflow-y: scroll;
}
.layout {
background-color: var(--colorUtu9);
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
justify-content: top;
justify-content: space-between;
align-items: top;
min-height: 100vh;
}
.page-layout {
background-color: var(--colorUtu8);
display: flex;
justify-content: center;
flex-grow: 1;
}
.page-container {
background-color: var(--colorUtu9);
max-width: 1920px;
padding: 1em;
}
.thesis-layout {
background-color: var(--colorUtu8);
display: flex;
}
.thesis-layout .infobar {
background-color: var(--colorUtu9);
margin: 0.5em;
padding: 0.5em;
padding-top: 1em;
padding-bottom: 1em;
}
.thesis-layout .infobar th {
background-color: var(--colorUtu2);
border-bottom: 1px solid black;
padding: 0;
margin: 0;
}
.thesis-layout .infobar td {
padding: 0em;
padding-left: 0.3em;
margin: 0;
}
.thesis-layout .infobar table {
border: 2pt solid black;
}
.site-nav {
margin: 0;
padding-top: 1em;
padding-bottom: 1em;
}
.site-nav ul, .site-nav li {
margin: 0;
padding: 0;
list-style: none;
}
.site-nav a {
display: block;
text-decoration: none;
color: var(--colorUtu5);
height: 4em;
background-color: var(--colorUtu2);
font-family: "Comic Sans Ms";
font-weight: bold;
border-radius: 5px;
text-align: center;
padding: 6px;
}
.site-nav ul {
display: flex;
align-items: center;
flex-flow: row wrap;
justify-content: space-between;
}
.site-nav ul.section {
padding: 2px;
display: flex;
align-items: center;
border: var(--colorUtu1) dotted;
flex-flow: nowrap;
border-radius: 10px;
}
.site-nav ul li {
flex: 1;
}
.site-nav ul li a.home {
width: 100%;
line-height: 3em;
}
.site-nav ul.section:hover {
background-color: var(--colorUtu1);
}
.site-nav ul li a.active {
background: var(--colorUtu1);
}
.site-nav ul li a:hover {
background: var(--colorUtu4);
}
.site-nav ul.section li + li {
margin-left: 10px;
}
.site-nav li.section + li.section {
margin-left: 10px;
}
.site-nav ul.fi li a.part:before {
content: "Osa "; display: block;
}
.site-nav ul.en li a.part:before {
content: "Part "; display: block;
}
.site-nav ul.fi li a.home:before {
content: ""
}
.site-nav ul.en li a.home:before {
content: ""
}
.page-header {
padding-top: 0.5em;
padding-bottom: 0.5em;
margin-bottom: 1em;
margin-top: 1em;
border-top: 2px solid var(--colorUtu2);
border-bottom: 2px solid var(--colorUtu2);
border-right: 2px solid var(--colorUtu2);
}
.page-header span {
font-size: 2em;
margin: 0.67em 0;
}
.page-header * {
text-decoration: none;
}
.main-content section {
border-top: 1px solid var(--colorUtu8);
padding-top: 8px;
}
.section-header {
border-bottom: solid 1px #eee;
display: flex;
justify-content: space-between;
padding-top: 0;
padding-bottom: 0;
width: 100%;
}
.section-header h2 {
padding: 0;
margin: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
}
.section-header h2.isolated {
padding-top: 2.5em;
}
@media only screen and (max-width: 780px) {
.page-container, .main-lecture pre {
padding: 0;
}
.page-container {
max-width: 100vw;
}
.main-lecture a, .page-header span, .main-lecture pre {
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
.page-layout {
padding: 4px;
}
.site-nav {
margin: 0;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.site-nav a {
display: block;
height: auto;
font-weight: normal;
border-radius: 0px;
padding: 6px;
}
.site-nav.fi:before {
content: "Osat:"
}
.site-nav.en:before {
content: "Parts:"
}
.site-nav ul.fi li a.part:before {
content: ""
}
.site-nav ul.en li a.part:before {
content: ""
}
.site-nav ul a {
height: auto;
border-radius: 10px;
}
.site-nav ul.section a {
height: auto;
}
.site-nav ul li a.home {
width: 100%;
line-height: inherit;
}
.site-nav ul.section {
padding: 4px;
margin: 2px;
background-color: rgba(var(--colorUtu2d), 0.5);
border: 0px;
border-radius: 5px;
}
}
.cards {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
width: 100%;
}
.card {
display: flex;
flex-direction: column;
justify-content: space-between;
border: solid 1.5px var(--colorUtu7);
padding: 8px;
border-radius: 15px;
}
.course-card {
background-color: #fcfcfc;
width: 400px;
margin: 8px;
}
.course-card.hide {
display: none;
}
.course-card h3 {
margin-top: 0;
}
.course-card img {
width: 382px;
height: 152px;
margin-bottom: 0.5em;
}
.course-card a {
text-decoration: none;
color: var(--colorUtu5);
}
.course-card a:hover {
text-decoration: underline solid var(--colorUtu5);
}
.course-card .card-footer {
background-color: rgba(var(--colorUtu2d), 0.25);
border-radius: 8px;
padding-right: 4px;
padding-left: 4px;
margin-top: 1em;
width: 100%;
min-height: 48px;
display: flex;
justify-content: center;
flex-direction: column;
}
.course-card .organizer {
text-align: center;
text-decoration: none;
color: var(--colorUtu5);
}
.course-card .card-operation {
text-align: center;
text-decoration: none;
color: var(--colorUtu5);
cursor: hand;
cursor: pointer;
}
.course-card .card-operation:hover {
background: var(--colorUtu1);
}
@media only screen and (max-width: 780px) {
.course-card {
width: 100%;
border: 1;
margin: 0;
padding: 0;
padding-top: 8px;
margin-bottom: 16px;
}
.course-card img {
width: 100%;
height: auto;
}
.course-card .card-body, .course-card .card-footer {
text-align: center;
}
}
.page-container {
background-color: #f8f8f8;
max-width: 1920px;
padding: 1em;
}
h1.title {
font-size: 4rem;
margin-bottom: 8pt;
}
.columns {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: nowrap;
gap: 1rem;
width: 100%;
max-width: 1920px;
}
@media only screen and (max-width: 95rem) {
.columns {
display: block;
width: 100%;
}
.columns div {
flex-grow: 1;
margin: 0;
width: 100%;
}
}
@media only screen and (min-width: 2000px) and (max-width: 115rem) {
.columns div {
flex-grow: 1;
margin: 0;
}
}
.main-menu {
border-radius: 10px;
background-color: var(--colorUtu9);
box-shadow: 0 10px 6px -6px #777;
}
.main-menu .title {
color: var(--colorUtu6);
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 3.5rem;
font-weight: bolder;
text-transform: uppercase;
text-shadow: 1.0rem 0.5rem rgb(245,245,245);
margin-left: 15px;
margin-right: 15px;
}
.main-menu a:hover {
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
border-left: 10px solid var(--colorUtu1);
-webkit-transition: 0.5s ease-out;
-moz-transition: 0.5s ease-out;
-o-transition: 0.5s ease-out;
transition: 0.5s ease-out;
}
.main-menu a {
display: flex;
align-items: flex-start;
flex-wrap: nowrap;
color: var(--text-color);
text-decoration: none;
font-size: 0.8rem;
border-radius: 5px;
background: var(--colorUtu9);
margin-bottom: 4pt;
margin-top: 4pt;
padding: 10px 25px;
border-left: 10px solid var(--colorUtu9);
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
text-wrap: wrap;
height: 7rem;
}
.main-menu a div {
margin: 0;
}
.main-menu .icon {
margin: 0;
border: 0;
width: 10vw;
max-width: 5rem;
padding-right: 1rem;
}
.main-menu a div :nth-child(1) {
font-size: 1.5rem;
font-weight: bold;
}
.main-menu a div :nth-child(2) {
font-size: 1.5rem;
font-weight: 300;
white-space: wrap;
text-overflow: ellipsis;
overflow: hidden;
}
.portal-header {
padding-top: 3em;
padding-bottom: 3em;
padding-left: 2em;
margin-bottom: 1em;
margin-top: 0em;
background-color: var(--colorUtu2);
border-radius: 15px;
}
.portal-header span {
font-size: 2.5em;
margin: 0.67em 0;
}
.course-info-container {
display: grid;
grid-template-columns: 50% auto;
}
.course-info-container .course-info:first-child {
padding-right: 2em;
}
.material {
background-color: var(--colorUtu8);
padding: 8px;
border-radius: 5px;
margin-top: 1em;
display: flex;
justify-content: flex-start;
}
.materials a {
text-decoration: none;
}
.material * {
display:block;
margin: 0;
padding: 0;
color: var(--colorUtu5);
}
.material img {
aspect-ratio: attr(width) / attr(height);
width: 4em;
height: auto;
margin: 0;
padding: 0;
margin-right: 1em;
}
.material .material-title {
font-weight: bolder;
}
.material .material-description {
font-style: italic;
}
.material:hover {
background: var(--colorUtu1);
}
.activities {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
width: 100%;
}
.activity-header {
display: flex;
width: 100%;
justify-content: space-between;
}
.activity-header h3 {
display: inline;
}
.activity {
width: 100%;
border: solid 1.5px var(--colorUtu7);
background-color: #fcfcfc;
margin-bottom: 4em;
padding: 8px;
border-radius: 5px;
}
.activity-description {
font-style: italic;
}
.activity .lecture {
background-color: var(--colorUtu4);
}
.activity .tutorial {
background-color: var(--colorUtu4);
}
.activity .exercise {
background-color: var(--colorUtu2);
}
.activity .deadline {
background-color: var(--colorUtu3);
}
.activity .exam {
background-color: var(--colorUtu1);
color: var(--colorUtu9);
}
.activity .event-typestatus {
font-weight: bolder;
}
.events a {
text-decoration: none;
color: var(--colorUtu5);
}
.events a *:hover {
background: var(--colorUtu1);
}
.event-entry img {
aspect-ratio: attr(width) / attr(height);
width: 4em;
height: auto;
margin: 0;
padding: 0;
margin-right: 1em;
}
.event-right {
text-align: right;
}
.event-description {
display: flex;
justify-content: flex-start;
width: 75%;
}
.event-entry {
background-color: var(--colorUtu8);
padding: 8px;
border-radius: 5px;
margin-top: 1em;
display: flex;
flex-flow: row wrap;
width: 100%;
justify-content: space-between;
}
.hidebutton.en::before {
content: "[Collapse]";
}
.showbutton.en::before {
content: "[Expand]";
}
.hidebutton.fi::before {
content: "[Piilota]";
}
.showbutton.fi::before {
content: "[Laajenna]";
}
.activitycheckbox {
display: none;
}
.activitycheckbox:not(:checked) ~ div div .showbutton,
.activitycheckbox:checked ~ div div .hidebutton,
.activitycheckbox:checked ~ .stuff {
display: none;
}
.activitycheckbox:checked ~ div div .showbutton,
.activitycheckbox:not(:checked) ~ div div .hidebutton {
display: block;
}
.action-list {
margin: 0;
padding: 0;
}
.action-list a {
text-decoration: none;
color: var(--colorUtu5);
}
.action-list li  {
font-weight: bolder;
margin: 0;
display: block;
min-width: 50%;
background-color: var(--colorUtu1);
margin-bottom: 20px;
padding: 8px;
border-radius: 15px;
}
.action-list li:hover, .builtin li:hover {
background: var(--colorUtu1);
}
.action-list li.highlight {
background-color: var(--colorUtu3);
cursor: pointer;
}
.watch-list li {
background-color: var(--colorUtu8);
}
h2.hide {
display: none;
}
.url-list li {
background-color: var(--colorUtu8);
}
.url-list.builtin li {
background-color: var(--colorUtu2);
}
.url-list li::before, .url-list.builtin li::before {
content: "🌐 ";
padding-right: 0.5em;
}
.url-list.builtin li::before {
content: "🗎 ";
}
ul li.even {
background-color: var(--colorUtu8);
}
ul li.odd {
background-color: var(--colorUtu2);
}
ul.changes {
margin: 0;
padding: 0;
}
ul.changes li {
display: block;
margin-bottom: 20px;
padding: 8px;
border-radius: 15px;
}
ul.changes li span.past {
text-decoration: line-through;
color: var(--colorUtu6);
}
ul.changes li span.next {
font-weight: bolder;
}
ul.changes li span::before {
content: "🕓 ";
padding-right: 0.5em;
}
ul.changes li span.timer::before {
content: "";
}
ul.changes li span.next::before {
content: "⏰ ";
}
ul.changes li span.future::before {
content: "📅 ";
}
#coursestatus {
margin: 0;
padding: 0;
}
#coursestatus a {
text-decoration: none;
color: var(--colorUtu5);
}
#coursestatus li {
font-weight: bolder;
margin: 0;
display: block;
min-width: 50%;
background-color: var(--colorUtu8);
margin-bottom: 20px;
padding: 8px;
border-radius: 15px;
}
#coursestatus li::before {
content: "▶  Currently active:";
padding-right: 0.5em;
}
#coursestatus li.future::before {
content: "⏰  Starting soon:";
}
#coursestatus.fi li::before {
content: "▶  Aktiivinen toteutus:";
}
#coursestatus.fi li.future::before {
content: "⏰  Pian alkava toteutus:";
}
#coursestatus li.nothing::before {
content: "🛑 ";
}
#coursestatus li:hover {
background: var(--colorUtu1);
}
.modal {
display: none; 
display: block; 
position: fixed; 
z-index: 100; 
left: 0;
top: 0;
width: 100%; 
height: 100%; 
overflow: auto; 
background-color: rgb(0,0,0); 
background-color: rgba(0,0,0,0.4); 
}
.modal-content {
background-color: #fefefe;
margin: 15% auto; 
padding: 20px;
border: 1px solid #888;
width: 80%; 
z-index: 101; 
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
ol.toc {
padding: 16px;
border: 1px solid var(--colorUtu5);
border-radius: 15px;
list-style-position: inside;
margin: 0;
margin-bottom: 20px;
counter-reset: section;
list-style-type: none;
}
.toc ol {
counter-reset: section;
list-style-type: none;
}
.toc li:before {
counter-increment: section;
content: counters(section, ".") ". ";
}
.youtube-embedded {
width: 94vw;
height: 53vw;
display: block;
margin-left: auto;
margin-right: auto;
}
.codetabs {
margin: 20px;
width: 80%;
}
.codetabs .state {
display: none;
}
.codetabs .tabs {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.codetabs .panel {
background-color: #fff;
padding: 20px;
height: auto;
display: none;
width: 100%;
flex-basis: auto;
}
.codetabs .tab {
flex-grow: 1;
max-height: 40px;
display: inline-block;
padding: 10px;
vertical-align: top;
background-color: #eee;
cursor: hand;
cursor: pointer;
border-left: 10px solid #ccc;
}
.codetabs .tab:hover {
background-color: #fff;
}
input:nth-child(1):checked ~ .tabs .tab:nth-child(1),
input:nth-child(2):checked ~ .tabs .tab:nth-child(2),
input:nth-child(3):checked ~ .tabs .tab:nth-child(3),
input:nth-child(4):checked ~ .tabs .tab:nth-child(4),
input:nth-child(5):checked ~ .tabs .tab:nth-child(5),
input:nth-child(6):checked ~ .tabs .tab:nth-child(6),
input:nth-child(7):checked ~ .tabs .tab:nth-child(7),
input:nth-child(8):checked ~ .tabs .tab:nth-child(8),
input:nth-child(9):checked ~ .tabs .tab:nth-child(9) {
background-color: #fff;
cursor: default;
border-left-color: #69be28;
}
input:nth-child(1):checked ~ .tabs .panel:nth-child(1),
input:nth-child(2):checked ~ .tabs .panel:nth-child(2),
input:nth-child(3):checked ~ .tabs .panel:nth-child(3),
input:nth-child(4):checked ~ .tabs .panel:nth-child(4),
input:nth-child(5):checked ~ .tabs .panel:nth-child(5),
input:nth-child(6):checked ~ .tabs .panel:nth-child(6),
input:nth-child(7):checked ~ .tabs .panel:nth-child(7),
input:nth-child(8):checked ~ .tabs .panel:nth-child(8),
input:nth-child(9):checked ~ .tabs .panel:nth-child(9) {
display: block;
}
.hand-list li:before {
font-size: 1.5em;
content: "☞ ";
list-style: none;
}
.hand-list ul {
list-style: none;
padding: 0;
margin: 0;
}
.lecture-grid-container .grid p {
margin: 0;
margin-left: auto;
margin-right: auto;
width: 100%;
padding: 0;
display: flex;
flex-wrap: wrap;
margin-bottom: 16px;
}
.lecture-grid-container h2 {
width: 100%;
background-color: rgba(var(--colorUtu1d), 0.5);
margin: 0;
margin-top: 15px;
margin-bottom: 6px;
padding: 8px;
text-align: center;
border-radius: 15px 15px 0 0;
}
.lecture-grid-container h2 ~ p, .lecture-grid-container h2 ~ ol, .lecture-grid-container h2 ~ ul {
width: 100%;
background-color: rgba(var(--colorUtu2d), 0.5);
margin: 0;
margin-top: -6px;
margin-bottom: 6px;
padding: 10px;
padding-top: 16px;
list-style-position: inside;
}
.lecture-grid-container p ~ p {
margin-top: -6px;
}
.lecture-grid-container * * a {
width: 50%;
background-color: rgba(var(--colorUtu2d), 0.5);
padding: 8px;
text-decoration: none;
color: var(--colorUtu5);
}
.lecture-grid-container a:hover {
background: var(--colorUtu1);
text-decoration: underline;
color: var(--colorUtu9);
}
.lecture-grid-container a img {
max-width:100%;
height: 15vh;
margin: 0;
margin-left: auto;
margin-right: auto;
display: block;
background: var(--colorUtu9);
}
.lecture-grid-container .grid p a span {
width: 100%;
margin: 0;
padding: 8px;
text-align: center;
font-weight: bold;
display: block;
}
@media only screen and (max-width: 1120px) {
.event-description {
width: 50%;
}
}
@media only screen and (max-width: 780px) {
.hidebutton.en::before, .hidebutton.fi::before {
content: "[-]";
}
.showbutton.en::before, .showbutton.fi::before {
content: "[+]";
}
.course-info-container {
display: block;
}
.activity {
border: 2px solid var(--colorUtu7);
border-left: 0px;
border-right: 0px;
background-color: #fcfcfc;
margin-bottom: 4em;
padding: 3px;
border-radius: 0px;
}
.material {
padding: 3px;
border-radius: 0px;
display: block;
}
.material * {
display:block;
}
.material .material-title {
text-align: center;
width: 100%;
border-bottom: 1px solid var(--colorUtu5);
}
.material img {
margin: 0;
padding: 0;
margin-right: auto;
margin-left: auto;
}
.event-entry {
padding: 3px;
border-radius: 0px;
display: block;
}
.events a {
text-decoration: none;
color: var(--colorUtu5);
}
.event-entry img {
margin: 0;
padding: 0;
margin-right: auto;
margin-left: auto;
}
.event-right {
text-align: center;;
}
.event-description {
text-align: center;
display: block;
width: 100%;
}
ul.changes {
margin: 0;
padding: 2px;
}
ul.changes li {
font-weight: normal;
display: block;
margin-bottom: 1em;
padding: 3px;
border-radius: 0px;
}
ul.changes li::before {
padding-right: 0.2em;
}
.url-list, .url-list.builtin {
margin: 0;
padding: 2px;
}
.url-list li::before, .url-list.builtin li::before {
padding-right: 0.2em;
}
.url-list li, .url-list.builtin li  {
font-weight: normal;
display: block;
margin: 0;
margin-bottom: 1em;
min-width: inherit;
width: 100%;
padding: 3px;
border-radius: 0px;
}
.portal-header {
padding: 0;
margin: 0;
box-shadow: 0;
background-color: var(--colorUtu2);
}
.portal-header {
text-align: center;
}
}
.widget-view .controls {
background: var(--colorUtu2);
justify-content: space-between;
display: flex;
margin: 0;
padding: 10px;
}
.widget-view .info {
align-self: center;
margin: 0;
font-size: 0.6em;
}
.widget-view .controls-left * {
margin-right: 8px;
}
.widget-view .controls-right *{
margin-left: 8px;
}
.widget-view .controls button {
background-color: var(--colorUtu1);
border: none;
color: var(--colorUtu9);
text-align: center;
text-decoration: none;
display: inline-block;
padding: 0.2em 0.4em;
font-size: 0.6em;
}
.widget-view .controls button:disabled {
background-color: var(--colorUtu6);
}
@media (min-width:50em) {
.widget-view .controls button {
padding: 0.3em 0.7em;
font-size: 0.7em;
}
.pdf-area .info, .video-area .info {
font-size: 0.7em;
}
}
@media (min-width:60em) {
.widget-view .controls button {
padding: 0.4em 0.8em;
font-size: 0.8em;
}
.widget-view .info {
font-size: 0.8em;
}
}
@media (min-width:80em) {
.widget-view .controls button {
padding: 0.5em 1em;
font-size: 0.9em;
}
.widget-view .info {
font-size: 1em;
}
}
.pdf-area canvas {
width: 100%;
margin: 0 auto;
display: block;
cursor: pointer;
border: 0;
border-left: 1px solid var(--colorUtu2);
border-right: 1px solid var(--colorUtu2);
border-bottom: 1px solid var(--colorUtu2);
}
.video-area video, .video-area iframe {
width: 100%;
margin: 0 auto;
display: block;
border: 0;
border-left: 1px solid var(--colorUtu2);
border-right: 1px solid var(--colorUtu2);
border-bottom: 1px solid var(--colorUtu2);
}
.calendar-section {
display: flex;
justify-content: space-between;
width: 100%;
flex-wrap: wrap;
}
.calendar {
width: 49%;
display: grid;
grid-template-columns: repeat(8, 1fr);
padding: 0.5em;
}
.calendar.active {
border: 2px dashed var(--colorUtu3);
border-radius: 15px;
}
.calendar tr, .calendar tbody {
width: 100%;
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-column: 1 / -1;
}
.calendar > caption {
text-align: center;
grid-column: 1 / -1;
font-size: 130%;
font-weight: bold;
padding: 10px 0;
display: flex;
justify-content: space-between;
cursor: pointer;
}
.calendar > caption button {
background-color: var(--colorUtu1);
border: none;
color: var(--colorUtu9);
text-align: center;
text-decoration: none;
display: inline-block;
padding: 0.2em 0.8em;
font-size: 0.6em;
cursor: pointer;
}
.calendar > caption button:disabled {
background-color: var(--colorUtu6);
}
.calendar a {
color: var(--colorUtu5);
text-decoration: underline;
}
.calendar td, .calendar th {
padding: 5px;
box-sizing: border-box;
text-align: center;
border-top: 1px solid var(--colorUtu7);
border-left: 1px solid var(--colorUtu7);
}
.calendar .weekdays, .calendar .weeknum {
background: var(--colorUtu1);
color: var(--colorUtu9);
}
.calendar .weekdays th, .calendar .weeknum  {
text-transform: uppercase;
line-height: 20px;
border: none !important;
padding: 10px 6px;
font-size: 13px;
}
.calendar .today span {
border: 1px solid black;
border-radius: 15px;
padding: 3px;
}
.calendar .past, .schedule-container .past {
text-decoration: line-through;
}
.calendar td {
min-height: 60px;
}
.calendar .other-month {
background: var(--colorUtu8);
color: var(--colorUtu7);
}
.calendar .event {
background: var(--colorUtu7);
}
.calendar .cancelled { background: var(--colorUtu6); }
.calendar .e1 { background: var(--colorUtu1); border-left: 11px solid var(--colorUtu1); }
.calendar .e4 { background: var(--colorUtu4); border-bottom: 11px solid var(--colorUtu4); }
.calendar .e2 { background: var(--colorUtu2); border-right: 11px solid var(--colorUtu2); }
.calendar .e3 { background: var(--colorUtu3); border-top: 11px solid var(--colorUtu3); }
.calendar .e1.cancelled {
background:conic-gradient(
var(--colorUtu6),
var(--colorUtu1)
);
}
.calendar .e2.cancelled {
background:conic-gradient(
var(--colorUtu6),
var(--colorUtu2)
);
}
.calendar .e3.cancelled {
background:conic-gradient(
var(--colorUtu6),
var(--colorUtu3)
);
}
.calendar .e4.cancelled {
background:conic-gradient(
var(--colorUtu6),
var(--colorUtu4)
);
}
.calendar .today {
border: 3px dashed var(--colorUtu5);
border-radius: 5px;
font-weight: bold;
}
.calendar-details {
display: none;
position: fixed;
z-index: 99;
padding: 0;
margin: 0;
left: 1em;
top: 1em;
width: 30em;
height: 20em;
max-width: 40%;
max-height: 40%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
border: 1px solid black;
border-radius: 1em;
}
.calendar-details .content {
display: block;
width: 100%;
height: 100%;
margin: 0;
position: relative;
background-color: #fefefe;
}
.calendar-details .content .modal-header, .modal-footer {
font-weight: bold;
margin: 0;
padding: 0;
padding: 1em;
padding: 8pt;
background-color: #306245;
color: white;
display: flex;
align-items: center;
justify-content: space-between;
}
.calendar-details .content .model-header span {
margin: 0;
padding: 0;
font-size: 30px;
}
.modal-body {
padding: 0.5em;
}
@media(max-width: 750px) {
.calendar-section {
display: block;
width: inherit;
padding: 2px;
}
.calendar {
width: 99%;
padding: 0;
}
.calendar.active {
border: 2px dashed var(--colorUtu3);
border-radius: 10px 10px 0px 0px;
}
}
.gantchart {
width: 100%;
border: 1px solid black;
}
.gantchart .line {
width: 100%;
display: flex;
justify-content: space-between;
border-bottom: 1px solid black;
padding-top: 2pt;
padding-bottom: 2pt;
}
.gantchart .line .task {
width: 90%;
}
.gantchart .line .event {
width: 90%;
}
.gantchart .line .description {
width: 10%;
}
.gantchart .line .header {
width: 90%;
display: flex;
text-align: center;
justify-content: space-between;
}
.gantchart .line .header span {
background: var(--colorUtu2);
text-align: center;
flex-grow: 10;
}
.gantchart .line .task span {
background: var(--colorUtu2);
text-align: center;
flex-grow: 10;
display: block;
width: 90%;
}
.gantchart .line .event span {
display: block;
width:1em;
}
.gantchart .line .event span span {
display: block;
width:1em;
margin-left: -0.5em;
background: none;
}
.gantchart .line .header span.odd {
background: var(--colorUtu4);
}
.event-cards {
justify-content: space-between;
}
.event-card {
background-color: var(--colorUtu8);
margin-bottom: 20px;
width: 24%;
}
.event-card .event-typestatus {
font-weight: bolder;
margin-top: 1em;
}
.event-cards .lecture {
background-color: var(--colorUtu4);
}
.event-cards .tutorial {
background-color: var(--colorUtu4);
}
.event-cards .exercise {
background-color: var(--colorUtu2);
}
.event-cards .deadline {
background-color: var(--colorUtu3);
}
.event-cards .exam {
background-color: var(--colorUtu1);
}
.event-cards .cancelled {
background-color: var(--colorUtu6);
text-decoration: line-through;
opacity: 80%;
}
.event-card .event-title {
font-weight: bolder;
margin-bottom: 1em;
}
@media only screen and (max-width: 780px) {
.event-card {
display: flex;
flex-direction: column;
min-width: inherit;
width: 100%;
margin: 0px;
margin-bottom: 1em;
padding: 3px;
border-radius: 0px;
border: solid 1.5px var(--colorUtu7);
background-color: var(--colorUtu8);
}
.event-cards {
display:block;
width: 100%;
padding: 2px;
}
}
.quiz {
width: 100%;
display: flex;
justify-content: space-between;
flex-direction: column;
margin-bottom: 1em;
}
.quiz .header {
width: 100%;
display: flex;
justify-content: space-between;
flex-direction: column;
}
.quiz .title {
border-radius: 8px 8px 0 0;
background-color: var(--colorUtu2);
padding: 0.2em;
}
.quiz .title + div {
background-color: rgba(var(--colorUtu2d), 0.3);
padding: 0.2em;
border-bottom: 2px solid var(--colorUtu2);
}
.quiz ul {
margin: 0;
padding: 0;
padding: 0.5em;
background-color: rgba(var(--colorUtu2d), 0.3);
}
.quiz .footer {
padding: 0.5em;
border-radius: 0 0 8px 8px;
background-color: rgba(var(--colorUtu2d), 0.3);
display: flex;
justify-content: space-between;
align-items: center;
}
.quiz .footer button {
background-color: var(--colorUtu2);
margin: 0;
border: 0;
padding: 0.2em;
padding-left: 0.5em;
padding-right: 0.5em;
border-radius: 8px;
}
.quiz .score {
margin: 0;
border: 0;
padding: 0.2em;
padding-left: 0.5em;
padding-right: 0.5em;
margin-left: 1em;
border-radius: 8px;
}
.quiz li {
display: block;
background-color: var(--colorUtu2);
margin: 0;
padding: 0.2em;
margin-top: 0.5em;
border-radius: 8px;
}
.quiz li.wrong {
background-color: var(--colorUtu3);
}
.quiz li.wrong.active, .quiz .score.wrong {
background-color: rgba(var(--colorUtu3d), 0.5);
}
.quiz li.correct, .quiz .score.correct {
background-color: var(--colorUtu4);
}
.quiz .passive:before {
content: "☐ ";
}
.quiz .active:before {
content: "☑ ";
}
.quiz li:hover, .quiz .footer button:hover {
text-decoration: underline solid var(--colorUtu5);
background-color: rgba(var(--colorUtu1d), 0.5);
}
.navarea {
display: flex;
justify-content: space-between;
}
#canvas-wrapper {
width: 100%;
display:  flex;
justify-content: center;
align-items: center;
}
#the-canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
border: 1px solid gray;
direction: ltr;
}
#details2 {
display: none;
}
input[type=checkbox] {
display: none;
}
input[type=checkbox] ~ label {
display: block;
}
.content {
display: none;
}
input[type=checkbox]:checked ~ label ~ .content {
display: block;
}
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:1px}pre[class*=language-]>code{position:relative;z-index:1;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}code[class*=language-]{max-height:inherit;height:inherit;padding:0 1em;display:block;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}:not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}pre[class*=language-]:after,pre[class*=language-]:before{content:'';display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}pre[class*=language-]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7d8b99}.token.punctuation{color:#5f6364}.token.boolean,.token.constant,.token.deleted,.token.function-name,.token.number,.token.property,.token.symbol,.token.tag{color:#c92c2c}.token.attr-name,.token.builtin,.token.char,.token.function,.token.inserted,.token.selector,.token.string{color:#2f9c0a}.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.class-name,.token.keyword{color:#1990b8}.token.important,.token.regex{color:#e90}.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}.token.important{font-weight:400}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.7}@media screen and (max-width:767px){pre[class*=language-]:after,pre[class*=language-]:before{bottom:14px;box-shadow:none}}pre[class*=language-].line-numbers.line-numbers{padding-left:0}pre[class*=language-].line-numbers.line-numbers code{padding-left:3.8em}pre[class*=language-].line-numbers.line-numbers .line-numbers-rows{left:0}pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}pre[data-line] code{position:relative;padding-left:4em}pre .line-highlight{margin-top:0}
pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}
pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}
