@import url(https://fonts.googleapis.com/css?family=PT+Sans:400, 700);
.clearfix: after {
    content: "";
    display: table;
    clear: both;
}
.left {
    float: left;
}
.right {
    float: right;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}
audio, canvas, video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] {
    display: none;
}
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%}
body {
    margin: 0;
}
a:focus {
    outline: thin dotted;
}
a:active, a:hover {
    outline: 0;
}
h1 {
    font-size: 2em;
    margin: .67em 0;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b, strong {
    font-weight: 700;
}
dfn {
    font-style: italic;
}
hr {
    box-sizing: content-box;
    height: 0;
}
mark {
    background: #ff0;
    color: #000;
}
code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre-wrap;
}
q {
    quotes: "\201C" "\201D" "\2018" "\2019"}
small {
    font-size: 80%}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -.5em;
}
sub {
    bottom: -.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em;
}
legend {
    border: 0;
    padding: 0;
}
button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}
button, input {
    line-height: normal;
}
button, select {
    text-transform: none;
}
button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled], html 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;
}
body {
    font-family: 'PT Sans', sans-serif;
}
h2 {
    font-weight: 400;
    margin: 0;
    text-align: center;
    font-size: 1.9em;
}
a {
    color: #669933;
    text-decoration: none;
}
.front h2 {
    color: rgba(0, 0, 0, .8);
    text-shadow: 1px 4px 6px whitesmoke, 0 0 0 black, 1px 4px 6px #f5f5f5;
    opacity: .5;
}
.no-touch .front:hover h2, .touch .front h2 {
    opacity: .8;
}
.back h2, .back p {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .7);
}
.back p {
    margin-top: .5em;
    color: rgba(255, 255, 255, .9);
    text-align: center;
    font-size: .9em;
    line-height: 1.4em;
}
.back a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}
#film h2, #software h2 {
    letter-spacing: -1px;
}
footer {
    font-size: .8em;
    color: #999;
    text-align: center;
}
footer a {
    color: #999;
}
.no-touch footer a:hover, .touch footer a {
    color: #666;
}
@font-face {
    font-family: pictograms;
    src: url(../../../fonts/pictograms.woff) format("woff"), url(../../../fonts/pictograms.ttf) format("truetype");
}
i {
    font-family: pictograms;
    font-style: normal;
    display: block;
    color: rgba(0, 0, 0, .8);
    text-shadow: 1px 4px 6px whitesmoke, 0 0 0 black, 1px 4px 6px #f5f5f5;
}
.pictogram {
    text-align: center;
    margin: 0 auto;
    padding-top: 14px;
    font-size: 6em;
    opacity: .5;
}
.no-touch .front:hover .pictogram, .touch .front .pictogram {
    opacity: .8;
}
.email:after {
    content: "\e00a";
    font-size: .7em;
}
.email:hover:after {
    color: #4491d9;
}
.schedule:after {
    content: "\e008";
    font-size: 1em;
}
.schedule:hover:after {
    color: #669933; /* Change this to your desired hover color */
}
.studweb:after {
    content: "\e006";
    font-size: 1.1em;
}
.studweb:hover:after {
    color: #22478d;
}
.dinner:after {
    content: "\e00f"
}
.map:after {
    content: "\e000";
    font-size: 1.1em;
}
.map:hover:after {
    color: #e3703f;
}
.filesender:after {
    content: "\e002";
    font-size: 1.2em;
}
.grades:after {
    content: "\e00b"
}
.grades:hover:after {
    color: #3982c2;
}
.romres:after {
    content: "\e005";
    font-size: 1.1em;
}
.romres:hover:after {
    color: #3c76b7;
}
.software:after {
    content: "\e600";
    font-size: .9em;
}
.farm:after {
    content: "\e010";
    font-size: .9em;
}
.kundesenteret:after {
    content: "\e011";
    font-size: .9em;
}
.info:after {
    content: "\e003"}
.question:after {
    content: "\e004"}
.warning:after {
    content: "\e00c"}
.cogwheel:after {
    content: "\e00d"}
.close:after {
    content: "\e001"}
.fire:after {
    content: "\e012"}
.megaphone:after {
    content: "\e015"}
.github:after {
    content: "\e019"}
.twitter:after {
    content: "\e01c"}
.lego:after {
    content: "\e01d"}
.emailcircle:after {
    content: "\e01e"}
.chat:after {
    content: "\e01f"}
.film:after {
    content: "\e603"}
.training:after {
    content: "\e601";
    font-size: .85em;
}
.training:hover:after {
    color: #a14d5a;
}
.bartebuss:after {
    content: "\e602"}
.ibok:after {
    content: "\e604"}
.floppy:after {
    content: "\e007"}
.office:after {
    content: "\e605"}
.blackboard:after {
    content: "\e900"
}
.blackboard:hover:after {
    color: #1e2343;
}
.email {
    padding-top: 4px;
}
.studweb {
    padding-top: 9px;
}
.dinner {
    padding-left: 10px;
}
.map, .romres {
    padding-top: 9px;
}
.well .filesender {
    font-size: 2.5em;
}
.well .grades {
    font-size: 2.7em;
}
.well .floppy {
    font-size: 3.2em;
}
.flip-button {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 1.5em;
    cursor: pointer;
    opacity: .4;
}
.no-touch .flip-button:hover {
    opacity: .7;
}
#schedule-settings-button, .front .flip-button {
    display: none;
}
.no-touch .front:hover #schedule-settings-button, .no-touch .front:hover .flip-button, .touch #schedule-settings-button, .touch .flip-button {
    display: block;
}
.back .flip-button {
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .7);
}
#schedule-settings-button {
    position: absolute;
    bottom: 9px;
    left: 10px;
    font-size: 1.5em;
    cursor: pointer;
    opacity: .4;
}
.no-touch #schedule-settings-button:hover {
    opacity: .7;
}
#about-button {
    position: absolute;
    top: 18px;
    right: 10px;
    font-size: 3em;
    cursor: pointer;
    opacity: .4;
}
@media (max-width:640px) {
    #about-button {
    top: -7px;
}
}.no-touch #about-button:hover {
    opacity: .7;
}
.header i {
    position: absolute;
    bottom: -10px;
    right: 50px;
    opacity: .2;
    font-size: 3.2em;
    transform: rotate(-25deg);
}
@media (max-width:640px) {
    .header i {
    right: 20px;
    font-size: 2.6em;
    bottom: -8px;
}
}@media (max-width:640px) {
    .header i.question {
    right: 30px;
}
}.header i.chat {
    transform: rotate(-10deg);
    font-size: 3.1em;
    bottom: -8px;
}
@media (max-width:640px) {
    .header i.chat {
    font-size: 2.4em;
    bottom: -6px;
}
}.header i.fire {
    font-size: 3.6em;
}
@media (max-width:640px) {
    .header i.fire {
    font-size: 2.9em;
}
}.header i.lego {
    transform: rotate(0);
    font-size: 2.9em;
    bottom: -8px;
    right: 40px;
}
@media (max-width:640px) {
    .header i.lego {
    right: 15px;
    font-size: 2.3em;
}
/* Smallest devices (by default, let's assume mobile-first approach) */
}.card {
    float: left;
    display: block;
    position: relative;
    width: 210px;
    height: 210px;
    padding: 0 10px 10px 0;
    width: 50%; /* two cards per row on narrow screens */
}
/* Clear every 2nd card for mobile, if necessary */
@media (max-width: 480px) {
    .card:nth-of-type(2n+1) {
        clear: both;
    }
}
/* Medium devices (e.g., tablets) - if 3 cards per row are needed */
@media (min-width: 481px) {
    .card {
        width: 33.33%; /* three cards per row between these widths */
    }
}
/* Desktop styles */
@media (min-width: 851px) { /* 981px */
    .card {
        width: 25%; /* four cards per row on wide screens */
    }
    .card:nth-of-type(4n+1) {
        clear: left;
    }
}
}.card.active {
    top: 2px;
    left: 1px;
}
.card .content {
    width: 100%;
    height: 100%;
    position: relative;
}
.cardface {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}
.cardface.front a {
    display: block;
    text-decoration: none;
    background: #f5f5f5;
    width: 100%;
    height: 100%;
    padding: 20px 10px;
}
.no-touch .cardface.front:hover a {
    background: #eee;
}
.cardface.back {
    padding: 20px 10px;
    background: #666;
    color: #fff;
    display: none;
}
.csstransforms3d.csstransformspreserve3d .card {
    perspective: 800px;
}
.csstransforms3d.csstransformspreserve3d .card .content {
    transform-style: preserve-3d;
    transition: .4s;
}
.csstransforms3d.csstransformspreserve3d .card .content.flipped {
    transform: rotateY(-180deg);
}
.csstransforms3d.csstransformspreserve3d .card .content .cardface {
    backface-visibility: hidden;
}
.csstransforms3d.csstransformspreserve3d .card .content .front {
    z-index: 1;
}
.csstransforms3d.csstransformspreserve3d .card .content .back {
    transform: rotateY(-180deg);
    z-index: 2;
}
header {
    background: #fafafa;
    height: 100px;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}
@media (max-width:640px) {
    header {
    height: 60px;
}
}#logo {
    width: 100px;
    height: 100px;
    opacity: 1;
    float: left;
    margin-left: 10px;
}
@media (max-width:640px) {
    #logo {
    width: 60px;
    height: 70px;
}
}.svg #logo {
    background: url(../../../img/logo.png) no-repeat top left;
    background-size: 100px 100px;
}
@media (max-width:640px) {
    .svg #logo {
    background-size: 60px 60px;
}
}.no-svg #logo {
    background: url(../../../img/logo.png) no-repeat top left;
}
@media (max-width:640px) {
    .no-svg #logo {
    background-size: 60px 70px;
}
}#headertext {
    float: left;
}
#headertext h1, #headertext h3 {
    opacity: .7;
    margin: 0 15px;
}
#headertext h1 {
    font-size: 2.5em;
}
@media (max-width:640px) {
    #headertext h1 {
    font-size: 2em;
}
}#headertext h3 {
    font-weight: 400;
}
@media (max-width:850px) {
    #headertext h3 {
    font-size: 1em;
}
}@media (max-width:640px) {
    #headertext h3 {
    display: none;
}
}@media (max-width:640px) {
    #about-button {
    margin-top: 3px;
}
}body, html {
    height: 100%}
#pagewrap {
    min-height: 100%;
    margin: 0 auto -2em;
}
#headerwrap {
    margin: 0 auto;
    position: relative;
}
@media (min-width:1270px) {
    #headerwrap {
    max-width: 850px;
}
}@media (max-width:1270px) {
    #headerwrap {
    max-width: 850px;
}
}@media (max-width:850px) {
    #headerwrap {
    max-width: 640px;
}
}@media (max-width:640px) {
    #headerwrap {
    width: 100%}
}.push, footer {
    height: 2em;
}
#grid {
    margin: 0 auto;
}
@media (min-width:1270px) {
    #grid {
    width: 850px;
    padding: 20px 0 0 10px;
}
}@media (max-width:1270px) {
    #grid {
    width: 850px;
    padding: 20px 0 0 10px;
}
}@media (max-width:850px) {
    #grid {
    width: 640px;
    padding: 10px 0 0 10px;
}
}@media (max-width:640px) {
    #grid {
    width: 100%;
    padding: 10px 0 0 10px;
}
}[class*=col-] {
    float: left;
}
.col-1-2 {
    width: 50%}
@media (max-width:640px) {
    .col-1-2 {
    width: 100%}
}.col-1-3 {
    width: 33.33%}
@media (max-width:640px) {
    .col-1-3 {
    width: 100%}
}@media (max-width:640px) {
    h2 {
    font-size: 1.9em;
}
.back p {
    line-height: 1.3em;
    font-size: .9em;
    margin-top: 5px;
}
.cardface.back {
    padding: 15px 10px;
}
.flip-button {
    bottom: 7px;
    right: 7px;
}
#schedule-settings-button {
    bottom: 6px;
    left: 7px;
}
.pictogram {
    font-size: 5em;
}
}@media (max-width:625px) {
    h2 {
    font-size: 1.7em;
}
.back p {
    font-size: .8em;
    margin-top: 2px;
}
.cardface.back {
    padding: 10px;
}
}@media (max-width:540px) {
    h2 {
    font-size: 1.5em;
}
.back p {
    line-height: 1.1em;
    font-size: .75em;
    margin-top: 0;
}
.flip-button {
    bottom: 4px;
    right: 4px;
}
#schedule-settings-button {
    bottom: 3px;
    left: 4px;
}
.pictogram {
    font-size: 4em;
    position: relative;
    top: -3px;
}
}@media (max-width:480px) {
    h2 {
    font-size: 1.9em;
}
.back p {
    line-height: 1.3em;
    font-size: .9em;
    margin-top: 5px;
}
.cardface.back {
    padding: 15px 10px;
}
.flip-button {
    bottom: 7px;
    right: 7px;
}
#schedule-settings-button {
    bottom: 6px;
    left: 7px;
}
.pictogram {
    font-size: 5em;
}
}@media (max-width:425px) {
    h2 {
    font-size: 1.7em;
}
.back p {
    font-size: .8em;
    margin-top: 2px;
}
.cardface.back {
    padding: 10px;
}
}@media (max-width:370px) {
    h2 {
    font-size: 1.5em;
}
.back p {
    line-height: 1.1em;
    font-size: .75em;
    margin-top: 0;
}
.flip-button {
    bottom: 4px;
    right: 4px;
}
#schedule-settings-button {
    bottom: 3px;
    left: 4px;
}
.pictogram {
    font-size: 4em;
    position: relative;
    top: -3px;
}
}.modal {
    position: absolute;
    left: 50%;
    top: 0;
    margin: 10px;
    margin-left: -300px;
    max-width: 600px;
    z-index: 11000;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 0 4px rgba(0, 0, 0, .7);
    display: none;
}
@media (max-width:640px) {
    .modal {
    left: 0;
    margin-left: 10px;
}
}.modal .spacer {
    height: 10px;
    margin: 0 0 -10px 0;
    background: 0 0;
}
.modal-section .header {
    background-color: #f5f5f5;
    margin-top: 10px;
    padding: 10px 20px 5px;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    position: relative;
    overflow: hidden;
}
.modal-section .header h2 {
    font-weight: 700;
    text-align: left;
    opacity: .8;
}
@media (max-width:640px) {
    .modal-section .header h2 {
    font-size: 1.4em;
}
}.modal-section:first-child .header {
    border-radius: 5px 5px 0 0;
    border-top: 0;
    margin-top: 0;
}
.modal-section .content {
    padding: 15px 20px;
}
.modal-section .content li {
    margin-left: 20px;
}
.modal-section .content p {
    margin-bottom: 10px;
}
.modal-section .content p:last-child {
    margin-bottom: 0;
}
#lean_overlay {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #000;
}
.modal_close {
    position: absolute;
    display: block;
    top: 10px;
    right: 17px;
    width: 14px;
    height: 14px;
    z-index: 2;
    cursor: pointer;
    font-size: 1.5em;
    opacity: .6;
}
.no-touch .modal_close:hover {
    opacity: .9;
}
#about-button {
    text-decoration: none;
}
.well {
    border-radius: 5px;
    padding: 10px;
    transition: .15s ease;
    display: block;
}
.well p {
    color: #000;
    margin-bottom: 0;
}
.well h3 {
    color: #000;
}
.well .img {
    position: relative;
    width: 50px;
    height: 50px;
    margin: 4px 10px 0 0;
    opacity: .8;
    float: left;
}
.well .img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    transition: opacity .15s ease-in-out;
}
.well i {
    width: 50px;
    height: 50px;
    margin: 4px 10px 0 0;
    opacity: .6;
    font-size: 3em;
    float: left;
}
.no-touch .well:hover {
    background-color: #eee;
}
.no-touch .well:hover .img:after {
    opacity: 1;
}
.no-touch .well:hover i {
    opacity: .9;
}
.protip i {
    display: inline;
    position: relative;
    top: 2px;
    text-shadow: none;
}
.social .well i {
    display: inline;
    position: relative;
    top: 5px;
    font-size: 3em;
    opacity: .5;
    transition: .15s ease;
    margin-right: 10px;
    float: left;
}
.no-touch .well:hover .twitter {
    opacity: 1;
    color: rgba(83, 149, 174, .9);
}
.no-touch .well:hover .github {
    opacity: 1;
    color: rgba(151, 53, 53, .9);
}
.no-touch .well:hover .emailcircle {
    opacity: 1;
    color: rgba(108, 150, 58, .9);
}
.bartebuss {
    background: url(../../../img/bartebuss-sprite-1x.png);
}
.bartebuss:after {
    background: url(../../../img/bartebuss-sprite-1x.png) 0 50px;
}
.notifier {
    background: url(../../../img/notifier-sprite-1x.png);
}
.notifier:after {
    background: url(../../../img/notifier-sprite-1x.png) 0 50px;
}
@media (-webkit-min-device-pixel-ratio:1.5), (min-resolution:144dpi) {
    .bartebuss {
    background: url(../../../img/bartebuss-sprite-2x.png);
}
.bartebuss:after {
    background: url(../../../img/bartebuss-sprite-2x.png) 0 50px;
}
.notifier {
    background: url(../../../img/notifier-sprite-2x.png);
}
.notifier:after {
    background: url(../../../img/notifier-sprite-2x.png) 0 50px;
}
.bartebuss, .bartebuss:after, .notifier, .notifier:after {
    background-size: 50px 100px;
}
}#schedule_settings {
    max-width: 400px;
    margin-left: -200px;
}
@media (max-width:640px) {
    #schedule_settings {
    left: 50%}
}@media (max-width:425px) {
    #schedule_settings {
    left: 0;
    margin-left: 10px;
}
}#schedule_settings .annotation {
    color: #777;
    font-size: .8em;
}
#schedule_settings .annotation i {
    display: inline;
    color: #777;
}
.alert {
    margin: 0 10px 20px 0;
    padding: 10px 30px 10px 65px;
    box-shadow: 0 1px 3px rgba(49, 112, 143, .7);
    background-color: #d9edf7;
    color: #31708f;
    position: relative;
    display: none;
}
.alert .alert-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
    width: 45px;
    height: 45px;
}
.alert .close {
    position: absolute;
    top: 7px;
    right: 5px;
    text-shadow: none;
    cursor: pointer;
    font-size: 1.5em;
    color: #31708f;
}
.alert .close:hover {
    color: #354f5d;
}
.alert .alert-inline-icon {
    display: inline;
    color: #31708f;
    text-shadow: none;
    position: relative;
    top: 2px;
}
.alert a {
    color: #31708f;
    text-decoration: underline;
}
#grid.alert-padding {
    padding-top: 20px;
}
@media (max-width:425px) {
    #grid.alert-padding {
    padding-top: 10px;
}
.alert {
    margin-bottom: 12px;
    padding-left: 12px;
}
.alert .alert-icon {
    display: none;
}
}* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
::selection {
    background: #ff69b4;
    color: #fff;
    text-shadow: none;
}
.touch {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#ie-warning {
    display: none;
}
.button {
    -webkit-appearance: none;
    border: none;
    position: relative;
    vertical-align: middle;
    padding: 8px 16px;
    margin: 4px 0;
    background-color: #aaa;
    color: #fff;
    font-size: 1.1em;
    font-weight: 700;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .15);
    letter-spacing: 1px;
    outline: 0;
    border-radius: 5px;
    transition: background-color .15s ease-in-out;
    box-shadow: 0 4px 0 0 #777;
}
@media (max-width:640px) {
    .button {
    width: 100%}
}.no-touch .button:hover {
    background-color: #bbb;
}
.button:active {
    box-shadow: 0 2px 0 0 #777;
    top: 2px;
}
.button.button-primary {
    background-color: #3f8abf;
    box-shadow: 0 4px 0 0 #2c6085;
}
.no-touch .button.button-primary:hover {
    background-color: #4795cc;
}
.button.button-primary:active {
    box-shadow: 0 2px 0 0 #2c6085;
}
.button.button-success {
    background-color: #4fca74;
    box-shadow: 0 4px 0 0 #3b9e59;
}
.no-touch .button.button-success:hover {
    background-color: #51d479;
}
.button.button-success:active {
    box-shadow: 0 2px 0 0 #3b9e59;
}
.button.button-warning {
    background-color: #f6cc68;
    box-shadow: 0 4px 0 0 #ddb24d;
}
.no-touch .button.button-warning:hover {
    background-color: #fad375;
}
.button.button-warning:active {
    box-shadow: 0 2px 0 0 #ddb24d;
}
.button.button-danger {
    background-color: #e0433e;
    box-shadow: 0 4px 0 0 #b0201c;
}
.no-touch .button.button-danger:hover {
    background-color: #e94641;
}
.button.button-danger:active {
    box-shadow: 0 2px 0 0 #b0201c;
}
input[type=text] {
    padding: 5px 10px;
    margin: 10px 0;
    width: 100%;
    border: 1px solid #777;
    font-size: 1.3em;
    outline: 0;
    transition: all .1s ease-in-out;
    border-radius: 5px;
    box-shadow: inset 0 2px 3px rgba(0, 0, 0, .1);
}
input[type=text]:focus {
    border-color: #53aded;
    box-shadow: inset 0 2px 3px rgba(0, 0, 0, .1), 0 0 6px rgba(83, 173, 237, .15);
}
input[type=text].success {
    border-color: #4fca74;
    background: #e3ffeb;
    box-shadow: inset 0 2px 3px rgba(79, 202, 116, .2);
}
input[type=text].success:focus {
    box-shadow: inset 0 2px 3px rgba(79, 202, 116, .2), 0 0 6px rgba(79, 202, 116, .4);
}
input[type=text].error {
    border-color: #e0433e;
    background: #fff1f1;
    box-shadow: inset 0 2px 3px rgba(224, 67, 62, .2);
}
input[type=text].error:focus {
    box-shadow: inset 0 2px 3px rgba(224, 67, 62, .2), 0 0 6px rgba(224, 67, 62, .4);
}