@charset "UTF-8";
*, *:before, *:after {
  box-sizing: inherit; }

html {
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  padding: 0; }

body {
  position: relative;
  height: 100%;
  min-height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #FFF;
  color: #000;
  font-family: serif;
  display: flex;
  flex-flow: column; }

#menu_bar {
  flex-grow: 0;
  display: flex;
  flex-wrap: wrap;
  flex-flow: row;
  justify-content: space-between;
  align-items: baseline;
  position: relative;
  color: #CCC;
  background: #2255AA;
  font-family: "Jost", "Open Sans", sans-serif;
  font-size: 100%;
  position: relative;
  z-index: 100001; }
  @media print {
    #menu_bar {
      display: none; } }
  @media (min-width: 1024px) {
    #menu_bar {
      padding-left: 1.2rem;
      padding-right: 1.2rem; } }
  #menu_bar > .long {
    display: none; }
    @media (min-width: 1024px) {
      #menu_bar > .long {
        display: inline;
        position: relative;
        top: 0;
        z-index: inherit; }
        #menu_bar > .long a {
          display: inline-block; } }
  #menu_bar a.bar, #menu_bar .menu_item {
    white-space: nowrap;
    margin: 0;
    padding: 0.4rem;
    color: #FFF;
    align-self: baseline; }
    @media (pointer: coarse) {
      #menu_bar a.bar, #menu_bar .menu_item {
        font-size: 120%; } }
    #menu_bar a.bar:hover, #menu_bar .menu_item:hover {
      background: #2b6ad5; }
    #menu_bar a.bar:first-child, #menu_bar .menu_item:first-child {
      padding-left: 0.8rem; }
  #menu_bar .title {
    margin: 0;
    padding: 0.4rem;
    flex-grow: 10; }
    @media (pointer: coarse) {
      #menu_bar .title {
        font-size: 120%; } }
  #menu_bar .help {
    display: inline;
    flex-grow: 10;
    white-space: nowrap;
    margin: 0;
    padding: 0 0.4em;
    text-align: right; }
  #menu_bar .languages {
    display: inline;
    flex-grow: 0;
    white-space: nowrap;
    margin: 0;
    padding: 0 0.4em;
    text-align: right; }
    #menu_bar .languages form {
      display: inline; }
    #menu_bar .languages .flag {
      height: 0.9rem; }
  #menu_bar .login-bar {
    flex-grow: 0;
    align-self: baseline;
    white-space: nowrap;
    display: none; }
    @media (min-width: 600px) {
      #menu_bar .login-bar {
        display: inline; } }
    #menu_bar .login-bar .login-info {
      display: inline;
      margin: 0;
      padding: 0 0.4em;
      text-align: right; }

#menu {
  color: #CCC;
  padding: 0.4rem 0rem;
  display: none;
  position: absolute;
  background: #2255AA;
  z-index: 100000;
  font-family: "Jost", "Open Sans", sans-serif;
  box-shadow: 0.8em 0.8em 4em 0 #444;
  min-width: 20em; }
  #menu.active {
    display: block; }
  @media print {
    #menu {
      display: none; } }
  @media (max-width: 768px) {
    #menu {
      width: 100%; } }
  #menu .long {
    display: block; }
    @media (min-width: 1024px) {
      #menu .long {
        display: none; } }
  #menu a {
    color: #FFF; }
    #menu a:hover {
      color: #FFF;
      background: #2b6ad5; }
  #menu .menu_header {
    color: #CCC;
    font-size: 80%; }
  #menu .menu_item_current {
    color: #CCC; }
  #menu a, #menu .menu_item_current {
    font-size: 120%;
    display: block;
    margin: 0 -0.8rem;
    padding: 0 0.8rem; }
    @media (min-width: 1024px) {
      #menu a, #menu .menu_item_current {
        margin: 0 -1.2rem;
        padding: 0 1.2rem; } }
    @media (pointer: coarse) {
      #menu a, #menu .menu_item_current {
        font-size: 120%;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem; } }
  #menu .menu_section {
    padding: 0 0.8rem;
    padding-bottom: 0.4rem;
    padding-top: 0.4rem;
    border-top: 1px solid #CCC; }
    @media (min-width: 1024px) {
      #menu .menu_section {
        padding-left: 1.2rem;
        padding-right: 1.2rem; } }
    #menu .menu_section:first-child {
      padding-top: 0;
      border-top: 0; }
    #menu .menu_section:last-child {
      padding-bottom: 0; }
  #menu .menu_subsection {
    padding-bottom: 0.4rem;
    padding-top: 0.4rem;
    border-top: 1px dashed #CCC; }
    #menu .menu_subsection:first-child {
      padding-top: 0;
      border-top: 0; }
  @media (min-width: 600px) {
    #menu .menu_login {
      display: none; } }

#nav {
  flex-grow: 0;
  padding: 0 0.8em;
  font-family: "Jost", "Open Sans", sans-serif;
  background: #FFF; }
  @media print {
    #nav {
      display: none; } }
  @media (min-width: 1024px) {
    #nav {
      padding: 0 2em; } }
  #nav a, #nav .menu_item_current {
    display: inline; }

#top {
  background: #FFF; }

#document {
  flex-grow: 10;
  padding: 0.8rem;
  max-width: 100rem;
  background: #FFF; }
  @media (min-width: 1024px) {
    #document {
      padding: 0.8rem 2rem; } }

#foot {
  flex-grow: 0;
  border-top: 1px solid #DDD;
  padding: 0.8rem;
  background: #FFF;
  display: flex;
  flex-flow: row;
  position: relative;
  color: #888; }
  @media print {
    #foot {
      display: none; } }
  @media (min-width: 1024px) {
    #foot {
      padding: 0.8rem 2rem; } }
  #foot .logo {
    padding-right: 0.8rem; }
    #foot .logo > img {
      height: 2.45rem; }

body {
  max-width: 80rem;
  margin: 0 auto 0 auto;
  background: url(/static/images/sky.jpeg) #FFF;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover; }

a {
  color: #5588EE;
  text-decoration: none; }
  a:hover {
    color: #1450c9; }

a.standalone {
  font-family: "Jost", "Open Sans", sans-serif; }

a[href^="//"]:after,
a[href^="http://"]:after,
a[href^="https://"]:after {
  border: 1px solid #5588EE;
  margin-left: 0.1em;
  content: "⇗"; }

a.plain[href^="//"]:after,
a.plain[href^="http://"]:after,
a.plain[href^="https://"]:after {
  border: 0;
  margin-left: 0;
  content: ""; }

a[href^="//"]:hover:after,
a[href^="http://"]:hover:after,
a[href^="https://"]:hover:after {
  border: 1px solid #1450c9;
  margin-left: 0.1em;
  content: "⇗"; }

a.plain[href^="//"]:hover:after,
a.plain[href^="http://"]:hover:after,
a.plain[href^="https://"]:hover:after {
  border: 0;
  margin-left: 0;
  content: ""; }

.intro {
  font-size: 80%; }

.passive {
  color: #888; }

.email {
  display: none; }

h1, h2, h3, h4, h5, h6, .header {
  color: #2255AA;
  font-family: "Jost", "Open Sans", sans-serif;
  margin: 0.8rem 0 0 0;
  line-height: 115%;
  padding: 0; }
  h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, .header:first-child {
    margin: 0; }
  tr td h1:first-child, tr td h2:first-child, tr td h3:first-child, tr td h4:first-child, tr td h5:first-child, tr td h6:first-child, tr td .header:first-child {
    margin: 0.4rem 0 0.1rem 0; }
  tr:first-child td h1:first-child, tr:first-child td h2:first-child, tr:first-child td h3:first-child, tr:first-child td h4:first-child, tr:first-child td h5:first-child, tr:first-child td h6:first-child, tr:first-child td .header:first-child {
    margin: 0; }

h1 {
  margin: 1.6rem 0 0 0;
  font-size: 200%;
  font-weight: normal; }
  h1:first-child {
    margin: 0 0 0 0; }
  @media (min-width: 480px) {
    h1 {
      font-size: 250%; } }
  @media (min-width: 768px) {
    h1 {
      font-size: 300%; } }

h1 > .intro {
  display: block;
  font-size: 40%;
  line-height: 0.5em; }

h2 {
  margin: 1.6rem 0 0 0;
  font-weight: normal;
  font-size: 150%; }
  @media (min-width: 480px) {
    h2 {
      font-size: 170%; } }
  @media (min-width: 768px) {
    h2 {
      font-size: 200%; } }

h3 {
  margin: 1.6rem 0 0 0;
  font-weight: normal;
  font-size: 115%; }
  @media (min-width: 480px) {
    h3 {
      font-size: 120%; } }
  @media (min-width: 768px) {
    h3 {
      font-size: 140%; } }

.list-head {
  font-family: "Jost", "Open Sans", sans-serif;
  font-size: 120%; }

p.large, .p-large {
  margin: 1.6rem 0 0 0; }
  p.large:first-child, .p-large:first-child {
    margin: 0; }
  h1 + p.large, h1 + .p-large, h2 + p.large, h2 + .p-large, h3 + p.large, h3 + .p-large, h4 + p.large, h4 + .p-large, h5 + p.large, h5 + .p-large, h6 + p.large, h6 + .p-large, .header + p.large, .header + .p-large {
    margin: 0; }

p, .p, dl, .form-sub, .form-messagelist, .messagelist, .errorlist, .warninglist, .form-messagelist li, .messagelist li, .errorlist li, .warninglist li {
  margin: 0.8rem 0 0 0; }
  p:first-child, .p:first-child, dl:first-child, .form-sub:first-child, .form-messagelist:first-child, .messagelist:first-child, .errorlist:first-child, .warninglist:first-child, .form-messagelist li:first-child, .messagelist li:first-child, .errorlist li:first-child, .warninglist li:first-child {
    margin: 0; }
  h1 + p, h1 + .p, h1 + dl, h1 + .form-sub, h1 + .form-messagelist, h1 + .messagelist, h1 + .errorlist, h1 + .warninglist, .form-messagelist h1 + li, .messagelist h1 + li, .errorlist h1 + li, .warninglist h1 + li, h2 + p, h2 + .p, h2 + dl, h2 + .form-sub, h2 + .form-messagelist, h2 + .messagelist, h2 + .errorlist, h2 + .warninglist, .form-messagelist h2 + li, .messagelist h2 + li, .errorlist h2 + li, .warninglist h2 + li, h3 + p, h3 + .p, h3 + dl, h3 + .form-sub, h3 + .form-messagelist, h3 + .messagelist, h3 + .errorlist, h3 + .warninglist, .form-messagelist h3 + li, .messagelist h3 + li, .errorlist h3 + li, .warninglist h3 + li, h4 + p, h4 + .p, h4 + dl, h4 + .form-sub, h4 + .form-messagelist, h4 + .messagelist, h4 + .errorlist, h4 + .warninglist, .form-messagelist h4 + li, .messagelist h4 + li, .errorlist h4 + li, .warninglist h4 + li, h5 + p, h5 + .p, h5 + dl, h5 + .form-sub, h5 + .form-messagelist, h5 + .messagelist, h5 + .errorlist, h5 + .warninglist, .form-messagelist h5 + li, .messagelist h5 + li, .errorlist h5 + li, .warninglist h5 + li, h6 + p, h6 + .p, h6 + dl, h6 + .form-sub, h6 + .form-messagelist, h6 + .messagelist, h6 + .errorlist, h6 + .warninglist, .form-messagelist h6 + li, .messagelist h6 + li, .errorlist h6 + li, .warninglist h6 + li, .header + p, .header + .p, .header + dl, .header + .form-sub, .header + .form-messagelist, .header + .messagelist, .header + .errorlist, .header + .warninglist, .form-messagelist .header + li, .messagelist .header + li, .errorlist .header + li, .warninglist .header + li {
    margin: 0; }

p.small, .p-small, li, dt, .form-field {
  margin: 0.4rem 0 0 0; }
  p.small:first-child, .p-small:first-child, li:first-child, dt:first-child, .form-field:first-child {
    margin: 0; }
  h1 + p.small, h1 + .p-small, h1 + li, h1 + dt, h1 + .form-field, h2 + p.small, h2 + .p-small, h2 + li, h2 + dt, h2 + .form-field, h3 + p.small, h3 + .p-small, h3 + li, h3 + dt, h3 + .form-field, h4 + p.small, h4 + .p-small, h4 + li, h4 + dt, h4 + .form-field, h5 + p.small, h5 + .p-small, h5 + li, h5 + dt, h5 + .form-field, h6 + p.small, h6 + .p-small, h6 + li, h6 + dt, h6 + .form-field, .header + p.small, .header + .p-small, .header + li, .header + dt, .header + .form-field {
    margin: 0; }

.service-icon-align {
  margin: 0.2rem 0 0 0; }
  .service-icon-align:first-child {
    margin: 0; }
  h1 + .service-icon-align, h2 + .service-icon-align, h3 + .service-icon-align, h4 + .service-icon-align, h5 + .service-icon-align, h6 + .service-icon-align, .header + .service-icon-align {
    margin: 0; }

.pr {
  margin: 0.8rem 0 0 0;
  padding: 0.8rem;
  border: 1px solid #DDD;
  background: #FFF; }
  .pr:first-child {
    margin: 0; }
  .pr.direct {
    margin: 0;
    border-top: 0; }

.pr_area {
  margin: 0.8rem 0 0 0;
  padding: 0.8rem;
  border: 1px solid #DDD;
  background: #FFF; }
  .pr_area:first-child {
    margin: 0; }
  .pr_area.direct {
    margin: 0;
    border-top: 0; }
  .pr_area.continue {
    border-bottom: 0; }

.columns {
  columns: 20rem;
  max-width: 65rem; }

.columns-small {
  columns: 10rem; }

@media (min-width: 1024px) {
  .flex-columns {
    display: flex;
    align-items: flex-start; }
    .flex-columns > * {
      margin-top: 0;
      margin-left: 1.6rem; }
    .flex-columns > *:first-child {
      margin-left: 0; } }

.fixed-columns > .first {
  order: -1; }
@media (min-width: 1024px) {
  .fixed-columns {
    display: flex;
    flex-flow: row wrap;
    align-items: start; }
    .fixed-columns.form > * {
      margin-bottom: 0; }
    .fixed-columns > * {
      margin: 0 1rem 1rem 0;
      width: 20em;
      min-width: 15em;
      flex: 1 1; }
      .fixed-columns > *:first-child {
        margin-right: 1rem; }
    .fixed-columns > .double {
      width: 40rem;
      max-width: 40rem;
      flex: 2 1; }
    .fixed-columns > .first {
      order: 0; } }

/* ---- listor ---- */
ul, ol {
  margin: 0;
  margin: 0;
  padding-left: 1em; }

li {
  padding: 0; }

dt {
  color: #2255AA;
  font-family: "Jost", "Open Sans", sans-serif; }
  .document dt {
    color: #2255AA; }

dd {
  margin: 0 0.2em 0 0;
  display: inline; }

img.inline {
  display: inline-block;
  height: 1em; }

img.full {
  width: 100%;
  max-width: 100%; }

.flag-sprite.flag-c.flag-_t {
  background-position-x: 0;
  background-position-y: 0;
  background-image: url("/static/images/flag-ct.png"); }

table {
  border-collapse: collapse; }
  table .symbol {
    white-space: nowrap; }
  table .number {
    text-align: right; }

tr.group th, tr.group td {
  padding-top: 0.8rem; }

tr.head {
  border-bottom: 1px solid #DDD; }

tr.odd {
  background: #F8F8F8; }

th, td {
  text-align: left;
  padding-left: 3px;
  padding-right: 0.8em; }
  table.data th, table.data td {
    vertical-align: top; }
  th.group, td.group {
    border-left: 1px solid #DDD;
    padding-left: 0;
    padding-right: 0; }
    th.group:first-child, td.group:first-child {
      border-left: 0; }
  th:first-child, td:first-child {
    padding-left: 2px; }

th {
  text-align: left;
  color: #2255AA;
  font-weight: normal;
  font-family: "Jost", "Open Sans", sans-serif;
  white-space: nowrap;
  vertical-align: baseline; }
  th.major {
    font-size: 130%; }

td.amount, th.amount {
  white-space: nowrap;
  text-align: right; }

table.data th, table.data td {
  padding-right: 0.2rem;
  padding-left: 0.2rem; }
table.data thead tr {
  border-bottom: 1px solid #000; }
table.data thead th {
  padding-right: 0.4rem; }
  table.data thead th.sort {
    cursor: pointer; }
table.data tbody tr:last-child {
  border-bottom: none; }

label {
  color: #2255AA;
  font-family: "Jost", "Open Sans", sans-serif;
  display: block; }

form input[type=text], form input[type=url], form input[type=email], form input[type=tel], form input[type=number], form input[type=time], form input[type=password], form textarea, form input[type=submit], form select, form .mini_button, form .button, form button {
  border: 1px solid #DDD; }
form label.optional:after {
  font-family: "Jost", "Open Sans", sans-serif;
  font-size: 70%;
  color: #888;
  content: " frivillig"; }
form label.optional:lang(EN):after {
  content: " optional"; }
form .required input[type=text], form .required input[type=url], form .required input[type=email], form .required input[type=tel], form .required input[type=number], form .required input[type=time], form .required input[type=password], form .required textarea, form .required input[type=submit], form .required select, form .required .mini_button, form .required .button, form .required button {
  border: 1px solid #5e5e5e; }
form .error label, form .required.error label {
  color: red; }
form label {
  font-size: 100%; }
form .data label {
  padding: 0;
  line-height: 80%; }
form .help {
  font-family: "Jost", "Open Sans", sans-serif;
  font-size: 80%;
  color: #888; }

.form-advanced {
  display: none; }

.form-pair > .form-field {
  display: inline-block;
  vertical-align: first-baseline; }

.form-field {
  display: block; }
  .form-field label {
    padding: 0 5px 0 0; }
  @media (max-width: 480px) {
    .form-field {
      width: 100%; } }

.form-messagelist, .messagelist, .errorlist, .warninglist {
  display: block;
  border: 1px solid #DDD;
  padding: 0.5em; }
  .field .form-messagelist, .field .messagelist, .field .errorlist, .field .warninglist {
    font-size: 80%;
    border: 0;
    margin: 0;
    padding: 0; }
    .field .form-messagelist li, .field .messagelist li, .field .errorlist li, .field .warninglist li {
      display: inline-block;
      margin: 0 0 0.5em 0;
      padding: 0; }
  .form-messagelist li, .messagelist li, .errorlist li, .warninglist li {
    display: block; }

.messagelist {
  display: block;
  border: 1px solid #60C060; }

.errorlist {
  color: red;
  display: block;
  border: 1px solid red; }

.warninglist {
  color: orange;
  display: block;
  border: 1px solid orange; }

input[type=text], input[type=url], input[type=email], input[type=tel], input[type=number], input[type=time], input[type=password], textarea, input[type=submit], select, .mini_button, .button, button {
  border-radius: 0.2rem;
  color: #000;
  border: 1px solid #DDD; }
  input[type=text]:disabled, input[type=url]:disabled, input[type=email]:disabled, input[type=tel]:disabled, input[type=number]:disabled, input[type=time]:disabled, input[type=password]:disabled, textarea:disabled, input[type=submit]:disabled, select:disabled, .mini_button:disabled, .button:disabled, button:disabled {
    border: 1px solid rgba(255, 255, 255, 0); }
  @media (pointer: coarse) {
    input[type=text], input[type=url], input[type=email], input[type=tel], input[type=number], input[type=time], input[type=password], textarea, input[type=submit], select, .mini_button, .button, button {
      font-size: 120%;
      padding: 0.4em; } }
  @media (max-width: 480px) {
    input[type=text], input[type=url], input[type=email], input[type=tel], input[type=number], input[type=time], input[type=password], textarea, input[type=submit], select, .mini_button, .button, button {
      width: 100%; } }

.checkbox input[type=checkbox], .radio input[type=checkbox], .checkbox input[type=radio], .radio input[type=radio] {
  position: absolute;
  visibility: hidden; }
.checkbox label, .radio label {
  color: #000;
  font-size: inherit;
  padding: 0;
  display: flex;
  align-items: first baseline;
  cursor: pointer;
  line-height: inherit; }
  @media (pointer: coarse) {
    .checkbox label, .radio label {
      align-items: center; } }
.checkbox .box, .radio .box {
  flex: 0 0 1em;
  border: 1px solid #DDD;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1em;
  width: 1em;
  margin-right: 0.4em;
  user-select: none;
  -moz-user-select: none; }
  .checkbox .box:hover, .radio .box:hover {
    background: #EEE; }
  @media (pointer: coarse) {
    .checkbox .box, .radio .box {
      flex: 0 0 2em;
      top: 0;
      height: 2em;
      width: 2em; } }
.checkbox .check, .radio .check {
  font-size: 80%;
  color: #000;
  display: block;
  visibility: hidden;
  user-select: none; }
  @media (pointer: coarse) {
    .checkbox .check, .radio .check {
      font-size: 160%; } }
.checkbox .text, .radio .text {
  flex: 1 1;
  display: inline-block; }
@media (pointer: coarse) {
  .long.checkbox label, .long.radio label {
    align-items: flex-start; } }
.checkbox input[type=checkbox][required] + label .box, .radio input[type=checkbox][required] + label .box, .checkbox input[type=radio][required] + label .box, .radio input[type=radio][required] + label .box {
  border: 1px solid #5e5e5e; }
.checkbox input[type=checkbox]:disabled + label, .radio input[type=checkbox]:disabled + label, .checkbox input[type=radio]:disabled + label, .radio input[type=radio]:disabled + label {
  cursor: inherit; }
  .checkbox input[type=checkbox]:disabled + label .box, .radio input[type=checkbox]:disabled + label .box, .checkbox input[type=radio]:disabled + label .box, .radio input[type=radio]:disabled + label .box {
    border: 1px solid #EEE; }
    .checkbox input[type=checkbox]:disabled + label .box:hover, .radio input[type=checkbox]:disabled + label .box:hover, .checkbox input[type=radio]:disabled + label .box:hover, .radio input[type=radio]:disabled + label .box:hover {
      background: inherit; }
    .checkbox input[type=checkbox]:disabled + label .box .check, .radio input[type=checkbox]:disabled + label .box .check, .checkbox input[type=radio]:disabled + label .box .check, .radio input[type=radio]:disabled + label .box .check {
      color: #888;
      border: 1px solid #EEE; }
  .checkbox input[type=checkbox]:disabled + label .text, .radio input[type=checkbox]:disabled + label .text, .checkbox input[type=radio]:disabled + label .text, .radio input[type=radio]:disabled + label .text {
    color: #888; }
.checkbox input[type=checkbox]:checked + label .check, .radio input[type=checkbox]:checked + label .check, .checkbox input[type=radio]:checked + label .check, .radio input[type=radio]:checked + label .check {
  visibility: visible; }

.checkbox .box {
  position: relative;
  bottom: 0.1em;
  border-radius: 0.2rem; }
@media (pointer: coarse) {
  .checkbox .check {
    padding: 0.3em 0.2em 0.2em 0.2em; } }

.radio .box {
  position: relative;
  bottom: 0.15rem;
  border-radius: 0.5rem; }
  @media (pointer: coarse) {
    .radio .box {
      border-radius: 1rem; } }
.radio .check {
  position: relative;
  top: -0.02rem;
  left: 0.02rem;
  font-size: 50%; }
  @media (pointer: coarse) {
    .radio .check {
      top: 0;
      padding: 0.5rem 0.2rem 0.2rem 0.2rem; } }

.mini_button, .button, button, input[type=submit] {
  font-family: "Jost", "Open Sans", sans-serif;
  font-size: 100%;
  background: #EEE;
  border-radius: 0.4rem;
  display: inline-block; }
  .mini_button:hover, .button:hover, button:hover, input[type=submit]:hover {
    color: #000;
    background: white; }
  .mini_button:enabled, .button:enabled, button:enabled, input[type=submit]:enabled {
    background: #EEE;
    cursor: pointer; }
    .mini_button:enabled:hover, .button:enabled:hover, button:enabled:hover, input[type=submit]:enabled:hover {
      background: white; }
  .mini_button:disabled, .mini_button.passive, .button:disabled, .button.passive, button:disabled, button.passive, input[type=submit]:disabled, input[type=submit].passive {
    color: #888;
    background: #FFF;
    border-color: #EEE; }
  .mini_button.copied, .button.copied, button.copied, input[type=submit].copied {
    background: #2255AA;
    border-color: #2255AA; }
  .mini_button.normal, .button.normal, button.normal, input[type=submit].normal {
    transition: background-color 1000ms ease,border-color 1000ms ease; }

.mini_button, input[type=submit].mini_button {
  display: inline-block;
  padding: 0.2rem 0.3rem; }
  @media (pointer: coarse) {
    .mini_button, input[type=submit].mini_button {
      padding: 0.4rem 0.6rem; } }

.micro_button, input[type=submit].micro_button {
  display: inline-block;
  padding: 0.0rem 0.3rem; }
  @media (pointer: coarse) {
    .micro_button, input[type=submit].micro_button {
      padding: 0.4rem 0.6rem; } }

.button, button, input[type=submit] {
  padding: 0.4rem; }

.buttons {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.4rem;
  margin-bottom: -0.4rem; }
  .buttons .mini_button, .buttons .button, .buttons button, .buttons input[type=submit] {
    margin-right: 0.4rem;
    margin-bottom: 0.4rem; }

.copy_text {
  font-family: "Jost", "Open Sans", sans-serif; }

.copy_button.copied {
  background: #60C060;
  border-color: #60C060; }
.copy_button.normal {
  transition: background-color 1000ms ease,border-color 1000ms ease; }

@media (min-width: 1024px) {
  .legend-first {
    display: flex;
    align-items: flex-start; }
    .legend-first > * {
      margin-top: 0; }
    .legend-first > .legend {
      order: 2;
      margin: 0 0 0.8rem 1.6rem; } }

#checkin {
  font-family: "Jost", "Open Sans", sans-serif;
  background: #FFC;
  padding: 0 0.8rem; }
  @media (min-width: 1024px) {
    #checkin {
      padding-left: 2rem;
      padding-right: 2rem; } }

.counter {
  font-family: courier, fixed; }

form.register #id_profile-country_code, form.register #id_country_code {
  max-width: 12em; }
form.register #id_acp_code {
  width: 20em;
  max-width: 20em; }

#cardApp {
  flex-grow: 10;
  position: relative;
  --dialog-right: 0px; }
  #cardApp.card-visible {
    --dialog-right: 20rem; }
  #cardApp #mainRows {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column; }
  #cardApp #switch {
    pointer-events: auto;
    width: 100%; }
    #cardApp #switch .links {
      display: flex;
      background: rgba(255, 255, 255, 0.8);
      border-bottom: 1px solid #2255AA; }
    #cardApp #switch .selected {
      background: #FFFFE0; }
    #cardApp #switch a:hover, #cardApp #switch .selected:hover {
      background: #FFF; }
    #cardApp #switch .switch_content {
      display: flex;
      width: 8rem;
      font-family: "Jost", "Open Sans", sans-serif;
      padding: 0.8rem 0.8rem 0.8rem 0.8rem;
      justify-content: center; }
    #cardApp #switch #switch_card {
      display: none; }
    #cardApp #switch #switch_map_selected {
      display: none; }
    #cardApp #switch .space {
      flex-grow: 1; }
    #cardApp #switch #gps_status {
      display: flex;
      padding-right: 0.8rem;
      justify-content: center;
      align-items: center; }
      #cardApp #switch #gps_status .gps_status:hover {
        background: inherit; }
      #cardApp #switch #gps_status .gps_status > span {
        display: flex;
        justify-content: center;
        align-items: center; }
        #cardApp #switch #gps_status .gps_status > span img, #cardApp #switch #gps_status .gps_status > span svg {
          max-width: 1.6rem;
          max-height: 1.6rem; }
        #cardApp #switch #gps_status .gps_status > span .label {
          font-family: "Jost", "Open Sans", sans-serif;
          padding-left: 0.4rem; }
      #cardApp #switch #gps_status #gps_status_working {
        display: none; }
      #cardApp #switch #gps_status #gps_status_on {
        display: none; }
      #cardApp #switch #gps_status #gps_status_error {
        display: none; }
  #cardApp #status {
    display: none;
    position: absolute;
    background: #FFFFFF;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20000;
    padding: 0.8rem;
    pointer-events: none;
    border-bottom: 1px solid #2255AA; }
    #cardApp #status .error {
      font-family: "Jost", "Open Sans", sans-serif;
      color: red;
      display: block;
      margin-bottom: 0.4rem; }
    #cardApp #status .warning {
      font-family: "Jost", "Open Sans", sans-serif;
      color: orange;
      display: block;
      margin-bottom: 0.4rem; }
  #cardApp #log {
    display: none;
    position: absolute;
    background: #FFFFFF;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20000;
    padding: 0.8rem;
    pointer-events: auto;
    overflow-y: auto; }
    #cardApp #log .close {
      color: #000;
      position: absolute;
      right: 0.8rem;
      top: 0.8rem;
      width: 2.5em;
      height: 2.5em;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #000;
      font-size: 120%; }
  #cardApp #cardRow {
    pointer-events: none;
    position: relative;
    flex: 1; }
  #cardApp #card {
    pointer-events: auto;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    box-shadow: none;
    width: 20rem; }
    @media (max-width: 640px) {
      #cardApp #card {
        width: 100%; } }
    #cardApp #card h1, #cardApp #card h2, #cardApp #card h3 {
      color: #000; }
    #cardApp #card h1 {
      font-size: 180%; }
    #cardApp #card h2 {
      font-size: 120%; }
    #cardApp #card .content {
      padding: 0.8rem 0.8rem 0.8rem 0.8rem;
      overflow-y: auto;
      max-height: 100%;
      background: #FFFFE0;
      box-shadow: 0.5rem 0.5rem 0.5rem #00000044; }
      #cardApp #card .content .logo_row {
        display: flex;
        align-items: last baseline; }
        #cardApp #card .content .logo_row .club {
          font-size: 80%; }
        #cardApp #card .content .logo_row img.club-logo {
          max-height: 2.1rem;
          padding-right: 0.4rem; }
      #cardApp #card .content #sync_area {
        font-family: "Jost", "Open Sans", sans-serif;
        display: none; }
        #cardApp #card .content #sync_area #offline_warning {
          font-size: 80%;
          display: none; }
        #cardApp #card .content #sync_area #stored_warning {
          font-size: 80%;
          display: none; }
      #cardApp #card .content .control {
        padding: 1.6rem 0 1.6rem 0;
        border-top: 1px solid #FFDD55; }
        #cardApp #card .content .control .title_row {
          display: flex;
          align-items: last baseline;
          line-height: 100%; }
          #cardApp #card .content .control .title_row .nr {
            font-family: "Jost", "Open Sans", sans-serif;
            font-size: 320%;
            padding-right: 0.4rem; }
          #cardApp #card .content .control .title_row .title_column {
            line-height: 140%; }
            #cardApp #card .content .control .title_row .title_column .title {
              font-family: "Jost", "Open Sans", sans-serif;
              font-size: 140%;
              font-weight: 500; }
            #cardApp #card .content .control .title_row .title_column .zoom {
              color: #000; }
        #cardApp #card .content .control .times {
          font-size: 90%; }
        #cardApp #card .content .control .stamp_area {
          display: flex;
          flex-direction: column;
          align-items: start;
          justify-content: center;
          height: 8rem; }
          #cardApp #card .content .control .stamp_area .stamp_report {
            display: none;
            padding-left: 2rem;
            padding-right: 2rem;
            width: 100%; }
          #cardApp #card .content .control .stamp_area .stamping {
            padding-left: 2rem;
            padding-right: 2rem;
            width: 100%; }
            #cardApp #card .content .control .stamp_area .stamping button {
              padding-left: 2rem;
              padding-right: 2rem;
              width: 100%; }
              #cardApp #card .content .control .stamp_area .stamping button img.active {
                display: inline; }
              #cardApp #card .content .control .stamp_area .stamping button img.passive {
                display: none; }
              #cardApp #card .content .control .stamp_area .stamping button:disabled img.active {
                display: none; }
              #cardApp #card .content .control .stamp_area .stamping button:disabled img.passive {
                display: inline; }
            #cardApp #card .content .control .stamp_area .stamping .message_outside, #cardApp #card .content .control .stamp_area .stamping .message_passed, #cardApp #card .content .control .stamp_area .stamping .message_later, #cardApp #card .content .control .stamp_area .stamping .message_stamping, #cardApp #card .content .control .stamp_area .stamping .message_gps {
              display: none; }
    #cardApp #card .topFade {
      display: block;
      height: 1rem;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      background: linear-gradient(#FFFFFFFF, #FFFFFF00);
      pointer-events: none; }
    #cardApp #card .bottomFade {
      display: block;
      height: 1rem;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(#FFFFFF00, #FFFFFFFF);
      pointer-events: none; }
  #cardApp #mapContainer {
    margin: 0;
    padding: 0;
    flex: 1;
    min-height: 0;
    background: #FFF;
    width: 100%; }
    @media (min-width: 1024px) {
      #cardApp #mapContainer {
        margin-left: 20rem; } }
  #cardApp #map {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    background: #FFF; }
    #cardApp #map .placeholder {
      display: none; }
      @media (min-width: 1024px) {
        #cardApp #map .placeholder {
          display: block;
          margin-top: 5rem;
          margin-left: 20rem; } }
    #cardApp #map .ol-zoom {
      top: 3.6rem;
      right: 0.4rem;
      left: auto; }
    #cardApp #map .ol-rotate {
      top: 8.8rem;
      right: 0.4rem;
      left: auto; }
    #cardApp #map .ol-scale-bar {
      left: calc(var(--dialog-right) + 0.8rem);
      bottom: 1.6rem; }
    #cardApp #map .ol-attribution {
      right: auto;
      left: calc(var(--dialog-right) + 0.8rem);
      bottom: 0; }
      #cardApp #map .ol-attribution a:after {
        border: 0;
        margin-left: 0;
        content: ""; }

.spinner {
  animation: rotate 2s linear infinite;
  width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 0; }
  .spinner .path {
    stroke: #DDD;
    animation: dash 1.5s ease-in-out infinite; }

@keyframes rotate {
  100% {
    transform: rotate(360deg); } }
@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124; } }
table.calc tr.even {
  border-bottom: 1px solid #DDD; }
table.calc td.input {
  background: #FFF;
  border: 1px solid #000; }
  table.calc td.input input, table.calc td.input input:hover, table.calc td.input input:focus {
    outline: 0;
    padding: 0;
    border: 0;
    margin: 0;
    text-align: right; }
table.calc td.derived {
  border: 1px dashed #DDD; }
table.calc td.early {
  background: #F0E0FF; }
table.calc td.ok {
  background: #E0FFE0; }
table.calc td.warning {
  background: #FFFFE0; }
table.calc td.late {
  background: #FFD0D0; }
table.calc td.bed {
  background: #E0F8FF; }
  table.calc td.bed input:hover, table.calc td.bed input:focus {
    background: #E0F8FF; }

.calc_changeable {
  position: relative;
  z-index: 5; }
  .calc_changeable input {
    background: rgba(255, 255, 255, 0); }
  .calc_changeable .default {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding-top: 1px;
    padding-left: 0.3rem;
    color: #888;
    z-index: -2;
    font-size: 95%; }

.club-logo {
  max-width: 10rem; }

.ride_date {
  width: 50rem;
  max-width: 100%;
  border-bottom: 1px solid #2255AA;
  font-family: "Jost", "Open Sans", sans-serif;
  color: #2255AA; }

.ride {
  width: 50rem;
  max-width: 100%;
  display: flex;
  align-items: flex-start; }
  .ride .logo {
    width: 2.55rem;
    margin-right: 0.4rem;
    min-width: 2.55rem; }
    .ride .logo img {
      max-width: 100%; }
  .ride .info {
    flex-grow: 1; }
  .ride .title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    line-height: 150%; }
    .ride .title .main {
      margin-right: 0.4rem;
      font-size: 140%; }
    .ride .title .subtitle {
      font-size: 140%;
      font-weight: 200; }
  .ride .details {
    line-height: 120%;
    white-space: nowrap; }
    @media (min-width: 540px) {
      .ride .details {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap; } }
    .ride .details .club_details {
      display: flex;
      align-items: baseline;
      flex-grow: 1; }
      .ride .details .club_details .club {
        flex-grow: 1;
        margin-right: 0.4rem; }
      .ride .details .club_details .city {
        margin-right: 0.4rem;
        text-align: right; }
    .ride .details .dist_details {
      display: flex;
      align-items: baseline; }
      .ride .details .dist_details .dist {
        margin-right: 0.4rem;
        width: 5em;
        display: flex;
        align-items: last baseline;
        white-space: nowrap; }
        .ride .details .dist_details .dist .value {
          flex-grow: 1;
          text-align: right; }

.legend-gradient {
  display: flex;
  flex-flow: column; }
  .legend-gradient .range {
    font-size: 80%;
    font-family: "Jost", "Open Sans", sans-serif;
    display: flex;
    flex-flow: row;
    align-items: flex-start; }
    .legend-gradient .range .box {
      width: 2em;
      height: 2em; }
    .legend-gradient .range .value {
      flex-grow: 1;
      padding: 0 0 0 0.4em;
      text-align: right; }

.gallery-previews {
  display: flex;
  flex-flow: row wrap;
  align-items: start;
  margin: -0.2rem -0.2rem -0.2rem -0.2rem; }

.gallery-hidden {
  display: none; }

.gallery-preview {
  height: 4rem;
  margin: 0.2rem; }

.gallery-more {
  display: inline-flex;
  height: 4rem;
  width: 4rem;
  border: 1px solid #DDD;
  align-items: center;
  justify-content: center;
  margin: 0.2rem; }
  .gallery-more > * {
    text-align: center; }

.report_images {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: -0.8rem;
  margin-right: -0.8rem; }
  .report_images .report {
    margin-bottom: 0.8rem;
    margin-right: 0.8rem; }
    .report_images .report .report_image {
      object-fit: cover;
      object-position: center center;
      width: 8rem;
      height: 8rem; }

tr.last td {
  padding-bottom: 0.5rem; }

tr.dns td {
  opacity: 0.2; }

tr.dnf td.status {
  text-decoration: line-through; }

tr.finished td.status {
  background: #DFD; }

tr.ot td.status {
  background: #FFD; }

.message {
  font-style: italic; }

.others {
  font-size: 80%; }

table.estimates td.slot {
  vertical-align: bottom;
  padding: 0;
  margin: 0; }
  table.estimates td.slot .rider {
    display: block;
    height: 0.8rem;
    width: 2rem;
    color: #FFF;
    font-size: 50%;
    text-align: center; }
    table.estimates td.slot .rider.report {
      background: #F00; }
    table.estimates td.slot .rider.estimate {
      background: #2255AA; }
table.estimates td.time {
  vertical-align: top; }
table.estimates td.day {
  border-left: 1px solid #DDD; }
  table.estimates td.day:first-child {
    border-left: 0; }
  table.estimates td.day .day {
    display: block;
    font-size: 80%; }

img.mondido_pay {
  height: 2rem; }

.beds.free {
  color: #006600; }
.beds.half {
  color: #CC8000; }
.beds.full {
  color: #FF0000; }

.bed.expired {
  color: #FF0000; }
.bed.expiring {
  color: #CC8000; }

.comments {
  clear: both;
  max-width: 20rem; }

.comment_head {
  display: flex;
  font-size: 80%;
  border-bottom: 1px solid #DDD; }
  .comment_head > .actions {
    text-align: right;
    flex: 1; }

.comment_indent {
  padding-left: 0.8rem; }

table.info td.time {
  vertical-align: top; }

.control_days {
  min-width: 10rem; }

.service-icon-align {
  display: flex;
  align-items: center; }

div.service-icon {
  position: relative;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  margin-right: 0.3rem; }
  div.service-icon img {
    height: 1.5rem;
    position: absolute; }
  div.service-icon + div.service-icon {
    margin-left: -0.3rem; }

.stamp_report .stamp {
  opacity: 0.6;
  font-family: courier, monospace;
  position: relative; }
  .stamp_report .stamp img {
    height: 3rem; }
  .stamp_report .stamp .title {
    position: absolute;
    font-size: 120%;
    top: 0.4rem; }
.stamp_report .status {
  font-size: 80%; }

.map-container {
  flex-grow: 2;
  display: flex;
  width: 100%;
  min-width: 100%; }
  .map-container #search {
    max-width: 15rem; }
  .map-container .legend {
    flex-grow: 1;
    flex-shrink: 0;
    max-height: calc(100dvh - 5rem);
    overflow-y: scroll;
    position: relative;
    padding: 0.8rem 0.8rem 0.8rem 0.8rem;
    border-right: 1px solid #DDD; }
    @media (min-width: 1024px) {
      .map-container .legend {
        padding: 0.8rem 2rem 0.8rem 2rem; } }
    .map-container .legend:last-child {
      border-right: 0px; }
    .map-container .legend .close {
      position: absolute;
      top: 0.8rem;
      right: 0.8rem;
      font-size: 100%;
      cursor: pointer; }
      @media (min-width: 1024px) {
        .map-container .legend .close {
          right: 2rem; } }

.map {
  flex-grow: 2;
  box-sizing: border-box;
  height: 100%;
  min-height: 20rem;
  width: 100%;
  position: relative; }
  @media (min-width: 320px) {
    .map {
      min-height: 25rem; } }
  @media (min-width: 1024px) {
    .map {
      min-height: 45rem; } }
  .map.full {
    min-height: 0;
    flex-grow: 10; }
  .map.small {
    min-height: 20rem; }
    @media (min-width: 480px) {
      .map.small {
        min-height: 25rem; } }
    @media (min-width: 1024px) {
      .map.small {
        min-height: 30rem; } }
  .map.wide {
    min-height: 15rem; }
    @media (min-width: 320px) {
      .map.wide {
        min-height: 20rem; } }
    @media (min-width: 1024px) {
      .map.wide {
        min-height: 25rem; } }
  .map .legend {
    z-index: 10001;
    position: absolute;
    display: none;
    top: 4rem;
    left: 0;
    padding: 0.8rem;
    background: rgba(255, 255, 255, 0.6);
    font-size: 100%; }
  .map .status {
    z-index: 10002;
    position: absolute;
    display: none;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.4rem;
    background: rgba(255, 255, 255, 0.9);
    font-size: 100%; }
    @media (min-width: 480px) {
      .map .status {
        font-size: 120%; } }
    @media (min-width: 1024px) {
      .map .status {
        padding-left: 1.6rem;
        padding-right: 1.6rem; } }
  .map .placeholder {
    position: absolute;
    z-index: 1000;
    padding-left: 3rem;
    padding-top: 0.4rem; }
  .map .map_cover {
    position: absolute;
    z-index: 10001;
    width: 100%;
    height: 100%;
    transition: all 1s ease-out; }
    .map .map_cover.triggered {
      background: rgba(0, 0, 0, 0.1);
      transition: all 0s ease-out;
      opacity: 1; }
  .map .ol-attribution {
    bottom: 0; }

.pr {
  border-radius: 0.4rem; }

@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  src: url("/static/fonts/jost-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  src: url("/static/fonts/jost-normal-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {
  font-family: 'Jost';
  font-style: italic;
  font-weight: 100 900;
  src: url("/static/fonts/jost-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/*# sourceMappingURL=base.css.map */
