@charset "UTF-8";
/* css reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 62.5%;
  font: inherit;
  vertical-align: baseline;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*

    The definitions.scss file contains all css definitions and variables to be used inside project.

*/
/*
    color definitions
 */
/*
    general settings
 */
@-webkit-keyframes swing {
  0% {
    margin-left: 0.25rem;
    margin-right: 1rem;
  }
  45% {
    margin-left: 1rem;
    margin-right: 0.25rem;
  }
  50% {
    margin-left: 1rem;
    margin-right: 0.25rem;
  }
  100% {
    margin-left: 0.25rem;
    margin-right: 1rem;
  }
}
@keyframes swing {
  0% {
    margin-left: 0.25rem;
    margin-right: 1rem;
  }
  45% {
    margin-left: 1rem;
    margin-right: 0.25rem;
  }
  50% {
    margin-left: 1rem;
    margin-right: 0.25rem;
  }
  100% {
    margin-left: 0.25rem;
    margin-right: 1rem;
  }
}
/*
    colorscheme
 */
.color-mute, .color-mute * {
  color: #dddddd !important;
}
@media (prefers-color-scheme: dark) {
  .color-mute, .color-mute * {
    color: #505050 !important;
  }
}
.color-mute-intense, .color-mute-intense * {
  color: #AAA !important;
}
.color-white {
  color: #FFF !important;
}
@media (prefers-color-scheme: dark) {
  .color-white {
    color: #333 !important;
  }
}
.color-accent {
  color: #00a4b7;
}
.color-accent-dark {
  color: #007684;
}
.color-accent-light {
  color: #51edff;
}
.color-upgrade {
  color: #9A3F50;
}
.color-upgrade-dark {
  color: #883847;
}
.color-upgrade-light {
  color: #c87786;
}
.color-base {
  color: #333 !important;
  border-color: rgba(51, 51, 51, 0.5);
}
@media (prefers-color-scheme: dark) {
  .color-base {
    color: #F0F0F0 !important;
  }
}
.color-base > a {
  border-color: rgba(51, 51, 51, 0.5);
}
.color-grey {
  color: #AAA;
}
.color-grey > a {
  border-color: #AAA;
}
.color-grey-dark {
  color: #505050;
}
.color-grey-dark > a {
  border-color: #505050;
}
.color-grey-light {
  color: #dddddd;
}
.color-grey-light > a {
  border-color: #dddddd;
}
.color-red {
  color: #FF456B;
}
.color-red > a {
  border-color: #FF456B;
}
.color-red-dark {
  color: #65212f;
}
.color-red-dark > a {
  border-color: #65212f;
}
.color-red-light {
  color: #ffabbc;
}
.color-red-light > a {
  border-color: #ffabbc;
}
.color-yellow {
  color: #ffcf3f;
}
.color-yellow > a {
  border-color: #ffcf3f;
}
.color-yellow-dark {
  color: #ffc20c;
}
.color-yellow-dark > a {
  border-color: #ffc20c;
}
.color-yellow-light {
  color: #ffe9a5;
}
.color-yellow-light > a {
  border-color: #ffe9a5;
}
.color-green {
  color: #a0c5a1;
}
.color-green > a {
  border-color: #a0c5a1;
}
.color-green-dark {
  color: #769479;
}
.color-green-dark > a {
  border-color: #769479;
}
.color-green-light {
  color: #dfece0;
}
.color-green-light > a {
  border-color: #dfece0;
}
.color-copper {
  color: #B76544;
}
.color-copper > a {
  border-color: #B76544;
}
.color-copper-dark {
  color: #6d3c28;
}
.color-copper-dark > a {
  border-color: #6d3c28;
}
.color-copper-light {
  color: #d4a18d;
}
.color-copper-light > a {
  border-color: #d4a18d;
}

.box-white-fill {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  /* Color Scheme Settings -- End */
}
.box-white-fill .message-button {
  color: #00a4b7 !important;
}
.box-white-fill .message-button:hover {
  color: #333 !important;
}
@media (prefers-color-scheme: dark) {
  .box-white-fill {
    background: #333;
    color: #FFF;
  }
  .box-white-fill .message-button {
    color: #00a4b7 !important;
  }
  .box-white-fill .message-button:hover {
    color: #FFF !important;
  }
}
.box-accent {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 1px solid #00a4b7;
  color: #00a4b7;
  /* Color Scheme Settings -- End */
}
.box-accent .message-button {
  color: #00a4b7 !important;
}
.box-accent .message-button:hover {
  color: #333 !important;
}
@media (prefers-color-scheme: dark) {
  .box-accent {
    background: #333;
    border: 1px solid #00a4b7;
    color: #00a4b7;
  }
  .box-accent .message-button {
    color: #00a4b7 !important;
  }
  .box-accent .message-button:hover {
    color: #FFF !important;
  }
}
.box-accent-fill {
  background: #00a4b7;
  color: #FFF;
}
.box-base {
  background: #333;
  color: #FFF;
}
.box-base .message-button:hover {
  color: #FFF !important;
}
.box-grey {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 1px solid #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .box-grey {
    background: #505050;
    border: 1px solid #FFF;
  }
}
.box-mute-intense {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 1px solid #AAA;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .box-mute-intense {
    background: #AAA;
  }
}
.box-mute {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .box-mute {
    background: #AAA;
    border: 1px solid #FFF;
  }
}
.box-red {
  /* Color Scheme Settings -- Begin */
  background: #FF456B !important;
  /* Color Scheme Settings -- End */
  color: #FFF;
}
@media (prefers-color-scheme: dark) {
  .box-red {
    background: #65212f !important;
  }
}
.box-yellow {
  /* Color Scheme Settings -- Begin */
  background: #ffcf3f !important;
  /* Color Scheme Settings -- End */
  color: #333;
}
@media (prefers-color-scheme: dark) {
  .box-yellow {
    background: #ffc20c !important;
  }
}
.box-yellow .button, .box-yellow .button:hover {
  color: #333;
  border: 1px solid #333;
}
.box-green {
  /* Color Scheme Settings -- Begin */
  background: #a0c5a1 !important;
  color: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .box-green {
    background: #769479 !important;
  }
}

.border-mute, .border-mute * {
  border-color: #dddddd;
}
@media (prefers-color-scheme: dark) {
  .border-mute, .border-mute * {
    border-color: #505050 !important;
  }
}
.border-background, .border-background * {
  border-color: #F0F0F0;
}
@media (prefers-color-scheme: dark) {
  .border-background, .border-background * {
    border-color: #3F3F3F !important;
  }
}
.border-mute-intense, .border-mute-intense * {
  border-color: #AAA !important;
}

/*
    styles that are necessary to build the skeleton of the project
 */
*::-moz-selection {
  background: rgba(0, 164, 183, 0.85) !important;
  color: #FFF !important;
}
*::selection {
  background: rgba(0, 164, 183, 0.85) !important;
  color: #FFF !important;
}

.highlight, .highlight * {
  color: #00a4b7 !important;
}

.tag {
  display: inline-block;
  padding: 0.5rem;
  border-radius: 0.5rem;
  border: 1px solid #AAA;
}
@media (prefers-color-scheme: dark) {
  .tag {
    border: 1px solid #505050;
  }
}

hr + hr {
  display: none !important;
}

.upgrade, .licence-required {
  /* Color Scheme Settings -- Begin */
  color: #eca4cc !important;
  /* Color Scheme Settings -- End */
  position: relative;
}
@media (prefers-color-scheme: dark) {
  .upgrade, .licence-required {
    color: #A36F8C !important;
  }
}
.upgrade:hover:after, .licence-required:hover:after {
  content: "Es ist ein Upgrade notwendig, um dieses Feature zu nutzen.";
  pointer-events: none;
  z-index: 100000;
  display: block;
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 200px;
  text-align: left;
  font-size: small;
  line-height: 1.2;
  padding: 0.5rem;
  border-radius: 0.25rem;
  /* Color Scheme Settings -- Begin */
  background: #333;
  color: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .upgrade:hover:after, .licence-required:hover:after {
    background: #F0F0F0;
    color: #333;
  }
}
.upgrade *, .licence-required * {
  /* Color Scheme Settings -- Begin */
  color: #eca4cc !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .upgrade *, .licence-required * {
    color: #A36F8C !important;
  }
}
.upgrade:hover, .licence-required:hover {
  /* Color Scheme Settings -- Begin */
  border-color: #eca4cc !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .upgrade:hover, .licence-required:hover {
    border-color: #A36F8C !important;
  }
}

.permission-required {
  position: relative;
  /* Color Scheme Settings -- Begin */
  color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .permission-required {
    color: #505050 !important;
  }
}
.permission-required:hover:after {
  content: 'Es wird die Berechtigung "' Attr(data-permission-name) '"  benötigt, um diese Aktion durchzuführen.';
  pointer-events: none;
  z-index: 100000;
  display: block;
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 200px;
  text-align: left;
  font-size: small;
  line-height: 1.2;
  padding: 0.5rem;
  border-radius: 0.25rem;
  /* Color Scheme Settings -- Begin */
  background: #333;
  color: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .permission-required:hover:after {
    background: #F0F0F0;
    color: #333;
  }
}
.permission-required * {
  /* Color Scheme Settings -- Begin */
  color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .permission-required * {
    color: #505050 !important;
  }
}
.permission-required:hover {
  /* Color Scheme Settings -- Begin */
  border-color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .permission-required:hover {
    border-color: #505050 !important;
  }
}

.feature-planned {
  position: relative;
  /* Color Scheme Settings -- Begin */
  color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .feature-planned {
    color: #505050 !important;
  }
}
.feature-planned > *, .feature-planned * {
  /* Color Scheme Settings -- Begin */
  color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .feature-planned > *, .feature-planned * {
    color: #505050 !important;
  }
}
.feature-planned:hover:after {
  content: "Das Feature wird demnächst freigeschalten.";
  pointer-events: none;
  z-index: 100000;
  display: block;
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 200px;
  text-align: left;
  font-size: small;
  line-height: 1.2;
  padding: 0.5rem;
  border-radius: 0.25rem;
  /* Color Scheme Settings -- Begin */
  background: #333;
  color: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .feature-planned:hover:after {
    background: #F0F0F0;
    color: #333;
  }
}

body, html {
  margin: 0;
  padding: 0;
  font-size: 14px;
  z-index: 1;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: "IBM Plex Sans", sans-serif;
  -moz-user-select: text;
   -ms-user-select: text;
       user-select: text;
  -webkit-user-select: text;
  /* Color Scheme Settings -- Begin */
  background: #F0F0F0;
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  body, html {
    background: #3F3F3F;
    color: #FFF;
  }
}

body {
  min-height: 100vh;
  overflow: visible;
}

html {
  height: 100vh;
}

.condensed {
  font-family: "IBM PLex Sans Condensed", sans-serif;
}

.hasBackground {
  /* Color Scheme Settings -- Begin */
  background: #F0F0F0;
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .hasBackground {
    background: #3F3F3F;
    color: #FFF;
  }
}

.hasWhiteBackground {
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .hasWhiteBackground {
    background: #333;
    color: #FFF;
  }
}

.wrapper {
  padding: 0 1rem;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .wrapper {
    padding: 0 0.5rem;
  }
}

main {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 1rem 0 4rem;
  height: auto;
}

title {
  display: none;
}

.fullsize {
  height: 100%;
}

/*
    general layout details and screen visibility
 */
.remove-padding {
  padding: 0 !important;
}

.position-sticky {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
}

@media screen and (max-width: 800px) {
  .noSmallScreen {
    display: none !important;
  }
}

.onlySmallScreen {
  display: none !important;
}
@media screen and (max-width: 800px) {
  .onlySmallScreen {
    display: inherit !important;
  }
}

hr {
  border: 0;
  /* Color Scheme Settings -- Begin */
  border-bottom: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  hr {
    border-bottom: 1px solid #505050;
  }
}

.padding {
  padding: 1rem;
}
.padding-2x {
  padding: 2rem;
}
.padding-half {
  padding: 0.5rem;
}

.margin {
  margin: 1rem;
}
.margin-2x {
  margin: 2rem;
}
.margin-half {
  margin: 0.5rem;
}

.border-fat {
  border-width: 8px;
}

.border-left {
  border-left-width: 1px;
  border-left-style: solid;
}

.border-right {
  border-right-width: 1px;
  border-right-style: solid;
}

.border-top {
  border-top-width: 1px;
  border-top-style: solid;
}

.border-bottom {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.border-2x {
  border-width: 2px;
}

.margin-right {
  margin-right: 1rem;
}

.margin-left {
  margin-left: 1rem;
}

.margin-bottom {
  margin-bottom: 1rem;
}

.margin-top {
  margin-top: 1rem;
}

.remove-margin {
  margin-left: 0;
  margin-right: 0;
}

.no-margin {
  margin: 0;
}

.text-wrapper {
  max-width: 768px;
  width: 100%;
  display: block;
  margin: 0 auto;
}

/*
    mapbox layout details
 */
.map a, .mapboxgl-ctrl, .mapboxgl-ctrl-attrib, .mapboxgl-compact {
  display: none !important;
  width: 0;
  height: 0;
  overflow: hidden;
}

/*
    message container
 */
.message {
  width: 100%;
  z-index: 10;
  position: relative;
}
.message .wrapper {
  display: flex;
  flex-direction: row;
  padding: 0.5rem 1rem;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: space-between;
}
.message .message-button {
  display: inline-flex;
  border: 0;
  margin-left: auto;
  color: #FFF;
  cursor: pointer;
  text-align: right;
}
.message .message-button:hover {
  color: #333;
}

.hasShadow {
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.hide {
  display: none;
}

/*
    pagination settings
 */
.pagination {
  display: flex;
  flex-direction: row;
  margin-top: 0.5rem;
  justify-content: center;
}
.pagination li {
  margin: 0.5rem 2px;
}
.pagination .prev-link {
  margin-right: 1rem;
}
.pagination .next-link {
  margin-left: 1rem;
}

/*
    table layouts
*/
table {
  width: 100%;
}
table thead * {
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.75rem;
}
table *:not(thead) tr:nth-child(odd) {
  /* Color Scheme Settings -- Begin */
  background-color: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  table *:not(thead) tr:nth-child(odd) {
    background-color: #333;
    color: #FFF;
  }
}
table *:not(thead) tr:nth-child(even) {
  /* Color Scheme Settings -- Begin */
  background-color: #F0F0F0;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  table *:not(thead) tr:nth-child(even) {
    background-color: #3F3F3F;
    color: #FFF;
  }
}
table *:not(thead) tr {
  transition: background 250ms ease;
}
table *:not(thead) tr:hover {
  background: rgba(0, 164, 183, 0.25);
}
table td {
  padding: 0.5rem 1rem;
  vertical-align: middle;
}
table .strike {
  transition: all 250ms ease;
  opacity: 0.25;
}
table .strike:hover {
  opacity: 1;
}
table .strike td:not(.no-strike) {
  position: relative;
}
table .strike td:not(.no-strike):before {
  content: "";
  position: absolute;
  display: block;
  border-top: 1px solid #AAA;
  margin-left: -1rem;
  top: 50%;
  width: 100%;
}
table .hasError {
  border: 2px solid #65212f !important;
  background: rgba(255, 171, 188, 0.2) !important;
}

.make-it-right {
  margin-left: auto;
}

.loader {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: fixed;
  background: rgba(255, 255, 255, 0.7);
}

svg > .accent {
  fill: #00a4b7;
}

.strikethrough {
  position: relative;
  color: #dddddd;
}
.strikethrough:before {
  content: "";
  transition: all 250ms ease;
  position: absolute;
  display: block;
  top: 48%;
  left: 0;
  right: 0;
  width: 100%;
  margin-left: 0;
}
.strikethrough:hover:before {
  transition: all 250ms ease;
}

#dashboard {
  background: #FFF;
}
@media (prefers-color-scheme: dark) {
  #dashboard {
    background: #333;
    color: #FFF;
  }
}

/*
    styles for the header elements
 */
header:not(.hasNoShadow) {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
}

header {
  box-sizing: border-box;
  border-top: 3px solid #00a4b7;
  position: sticky;
  position: -webkit-sticky;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  font-family: "IBM Plex Sans";
  font-weight: 500;
  background: #FFF;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
@media (prefers-color-scheme: dark) {
  header {
    background: #333;
    color: #FFF;
  }
}
header .wrapper {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
}
header .header-menu {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  vertical-align: center;
}
header .header-menu li {
  text-align: center;
  flex-basis: 250px;
  flex-shrink: 1;
  vertical-align: center;
}
header .header-menu a {
  padding-top: 0.5rem;
  display: inline-block;
  letter-spacing: 1px;
  text-transform: uppercase;
}
header .header-menu a:hover span:after,
header .header-menu a:focus span:after,
header .header-menu .menu-active span:after {
  transform: translate3d(0, 0, 0);
}
header .header-menu a span {
  position: relative;
  overflow: hidden;
  padding-bottom: 4px;
  display: inline-block;
}
header .header-menu a span:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #00a4b7;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate3d(-100%, 0, 0);
  transition: transform 300ms ease;
}

.header-submenu {
  margin: 0.5rem 0;
  width: 100%;
}
.header-submenu a:hover {
  opacity: 0.8;
  transition: all 250ms ease;
}
.header-submenu li {
  align-self: center;
}
.header-submenu li:not(:last-of-type) {
  margin-right: 2rem;
}

.logo {
  height: 40px;
  margin: 12px 0;
  width: 40px;
}
.logo svg {
  height: 40px;
  width: auto;
}
.logo svg * {
  fill: #00a4b7;
}

.divider {
  border-top: 1px solid #dddddd;
}

/*
    text styling
*/
.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.bold, strong {
  font-weight: bold;
}

.light {
  font-weight: 200;
}

.italic {
  font-style: italic;
}

.uppercase {
  text-transform: uppercase;
}

main a {
  color: inherit;
  border-bottom: 2px solid #00a4b7;
}
main a:hover {
  /* Color Scheme Settings -- Begin */
  border-bottom: 2px solid #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  main a:hover {
    border-bottom: 2px solid #FFF;
  }
}

.no-border {
  border: 0 !important;
}
.no-border:hover {
  border: 0 !important;
}

.hover-accent:hover {
  color: #00a4b7;
}

p {
  margin: 0 0 1rem 0;
}

.small {
  font-size: 0.75rem;
}

.letterspacing {
  letter-spacing: 1px;
}

.separated-list {
  display: inline-block;
}
.separated-list.comma:not(:last-of-type):after {
  content: ",";
}

.code {
  font-family: monospace;
}

/*
    headings and title styles
*/
h1, h2, h3, h4, .heavy, .h1, .h2, .h3, .h4 {
  /*text-transform: uppercase;*/
  font-family: "IBM Plex Sans";
  font-weight: bold;
  display: block;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
    color: #FFF;
  }
}

h1, .h1 {
  font-size: 2rem;
  margin: 2rem 0;
}
@media screen and (max-width: 700px) {
  h1, .h1 {
    font-size: 1.75rem;
    margin: 1.75rem 0;
  }
}

h2, .h2 {
  font-size: 1.5rem;
  margin: 1.5rem 0;
}
@media screen and (max-width: 700px) {
  h2, .h2 {
    font-size: 1.25rem;
    margin: 1.25rem 0;
  }
}

h3, .h3 {
  font-size: 1.25rem;
  margin: 1.25rem 0;
}
@media screen and (max-width: 700px) {
  h3, .h3 {
    font-size: 1.125rem;
    margin: 1.125rem 0;
  }
}

h4, .h4 {
  font-size: 0.875rem;
  margin: 0.875rem 0;
  /*letter-spacing: 1px;*/
}

.heavy {
  margin: 1.125rem 0 0 0;
  /*letter-spacing: 1px;*/
  font-size: 0.875rem;
  color: #00a4b7;
}

.heavy + h1, .heavy + h2, .heavy + h3, .heavy + h4 {
  margin-top: 0;
  line-height: 1;
}

/*
    flex settings
 */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-grow {
  flex-grow: 1;
}

.flex-column {
  flex-direction: column !important;
}

.flex-switch {
  flex-direction: row;
}
@media screen and (max-width: 800px) {
  .flex-switch {
    flex-direction: column;
  }
}
.flex-switch-inverse {
  flex-direction: column;
}
@media screen and (max-width: 800px) {
  .flex-switch-inverse {
    flex-direction: row;
  }
}

.flex-row {
  flex-direction: row;
}

.flex-start {
  justify-content: flex-start;
}

.flex-space-between {
  justify-content: space-between;
}

.flex-space-around {
  justify-content: space-around;
}

.flex-center {
  justify-content: center;
}

.flex-align-center {
  align-items: center;
}

.self-align-baseline {
  align-self: baseline;
}

.self-align-center {
  align-self: center;
}

/*
    grid settings
 */
.grid-item {
  display: inline-flex;
  align-content: flex-start;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  text-align: center;
  word-wrap: break-word;
  width: 120px;
  height: 120px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 0.5rem;
  padding: 1rem;
  transition: all 250ms ease;
}
.grid-item:hover {
  border: 1px solid #dddddd;
  background: rgba(0, 164, 183, 0.25);
}
.grid-item .thumbnail {
  height: 60px;
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: bottom;
  text-align: center;
  display: flex;
  align-content: center;
  justify-content: center;
}
.grid-item .info {
  align-self: stretch;
}
@media screen and (max-width: 800px) {
  .grid-item {
    height: 100px;
    line-height: 1.1;
    font-size: small;
  }
}

/* Chat-Bubble */
.chat {
  position: relative;
}

.bubble-answer:before {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  /* Color Scheme Settings -- Begin */
  border-top: 10px solid #FFF;
  border-left: 10px solid #FFF;
  /* Color Scheme Settings -- End */
  right: -20px;
  top: 6px;
}
@media (prefers-color-scheme: dark) {
  .bubble-answer:before {
    border-left: 10px solid #333;
    border-top: 10px solid #333;
  }
}

.bubble-question:before {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  border-left: 10px solid transparent;
  /* Color Scheme Settings -- Begin */
  border-right: 10px solid #FFF;
  border-top: 10px solid #FFF;
  /* Color Scheme Settings -- End */
  border-bottom: 10px solid transparent;
  left: -19px;
  top: 6px;
}
@media (prefers-color-scheme: dark) {
  .bubble-question:before {
    border-right: 10px solid #333;
    border-top: 10px solid #333;
  }
}

.list ul, .list ol {
  margin-left: 2rem;
}

.full-width {
  max-width: unset;
  width: 100%;
  min-width: 100%;
}

.link-box {
  max-width: 32.6666666667%;
  padding: 1rem;
  width: 100%;
  align-self: stretch !important;
  margin: 2px;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 2px solid #FFF;
  /* Color Scheme Settings -- End */
}
@media (max-width: 768px) {
  .link-box {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 2px 0;
  }
}
@media (prefers-color-scheme: dark) {
  .link-box {
    background: #333;
    border: 2px solid #333;
  }
}
.link-box-description {
  color: #AAA;
  transition: color 250ms ease;
}
.link-box-title {
  font-weight: 500;
  font-family: "IBM Plex Sans";
  /*letter-spacing: 1px;*/
  /*text-transform: uppercase;*/
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
  display: block;
}
@media (prefers-color-scheme: dark) {
  .link-box-title {
    color: #FFF;
  }
}
.link-box-icon {
  transition: color 250ms ease;
  color: #dddddd;
}
.link-box:hover {
  border: 2px solid #00a4b7;
  transition: color 250ms ease;
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .link-box:hover {
    color: #FFF;
  }
}
.link-box:hover .link-box-icon {
  color: #00a4b7;
}
.link-box:hover .link-box-title, .link-box:hover .link-box-description {
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .link-box:hover .link-box-title, .link-box:hover .link-box-description {
    color: #FFF;
  }
}
.link-box-special, .link-box-special * {
  color: #00a4b7;
}
.link-box-container {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .link-box-container {
    flex-direction: column;
  }
}

menu .link-box, .menu .link-box {
  border: unset;
  padding: 0 0.5rem;
  margin: 1rem 0;
}
menu .link-box:hover, .menu .link-box:hover {
  border: unset;
}
menu .link-box .link-box-title, menu .link-box .link-box-description, .menu .link-box .link-box-title, .menu .link-box .link-box-description {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  menu .link-box .link-box-title, menu .link-box .link-box-description, .menu .link-box .link-box-title, .menu .link-box .link-box-description {
    font-size: 1rem;
  }
}

menu {
  width: 100%;
  min-height: 100vh;
  height: auto;
  z-index: 1000000;
  position: absolute;
  padding-bottom: 4rem;
  left: 0;
  right: 0;
  overflow: auto;
  top: 0;
  display: none;
  border-top: 3px solid #00a4b7;
  /* Color Scheme Settings -- Begin */
  background-color: #FFF;
  /* Color Scheme Settings -- End */
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
@media (prefers-color-scheme: dark) {
  menu {
    color: #FFF;
    background-color: #333;
  }
}
menu .text-wrapper {
  padding: 0 1rem;
}
menu a {
  transition: padding 250ms ease;
}
menu a:hover {
  color: #00a4b7;
}

#menu-nav {
  height: 64px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
#menu-nav ul {
  display: flex;
  flex-direction: row;
  height: 64px;
  vertical-align: middle;
}
#menu-nav ul li {
  vertical-align: middle;
  line-height: 64px;
  height: 64px;
  margin-left: 1rem;
}

.menu-button, .search-button {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: right;
  cursor: pointer;
  transition: all 500ms ease;
}
.menu-button .icon-hover, .search-button .icon-hover {
  display: none;
}
.menu-button .icon-standard, .search-button .icon-standard {
  display: inline-block;
}
.menu-button .close-button, .search-button .close-button {
  transition: all 500ms ease;
}
.menu-button:hover > .close-button, .search-button:hover > .close-button {
  transition: all 500ms ease;
  transform: rotate(90deg);
}
@media (min-width: 768px) {
  .menu-button:hover .icon-hover, .search-button:hover .icon-hover {
    display: inline-block;
  }
  .menu-button:hover .icon-standard, .search-button:hover .icon-standard {
    display: none;
  }
}

.shortcut {
  z-index: 1;
  width: 300px;
  margin-right: 1rem;
}
.shortcut .shortcut-menu {
  z-index: auto;
  position: fixed;
  top: 80px;
  min-height: 100vh;
  height: auto;
  line-height: 2;
}
.shortcut .shortcut-active {
  transition: color 250ms ease;
  border-left: 2px solid #FFF !important;
  color: #FFF !important;
}
@media (prefers-color-scheme: dark) {
  .shortcut .shortcut-active {
    color: #FFF !important;
    border-left: 2px solid #333 !important;
  }
}
.shortcut a {
  display: block;
  border-left: 2px solid rgba(255, 255, 255, 0);
  margin-left: -1rem;
  padding-left: 1rem;
}
.shortcut a:hover {
  border-left-width: 2px;
}
.shortcut .normal {
  border: 0;
}
.shortcut .normal:hover .fa-fw {
  opacity: 1;
  transition: opacity 250ms ease;
}
.shortcut .normal .fa-fw {
  margin-left: 1rem;
  opacity: 0;
  transition: opacity 250ms ease;
}
.shortcut a:not(.heavy):not(.normal) {
  border: 0;
  border-left: 2px solid rgba(255, 255, 255, 0);
  display: block;
  /* Color Scheme Settings -- Begin */
  color: #333 !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .shortcut a:not(.heavy):not(.normal) {
    color: #FFF !important;
  }
}
.shortcut a:not(.heavy):not(.normal) .fa-fw {
  margin-left: 1rem;
  opacity: 0;
  transition: opacity 250ms ease;
}
.shortcut a:not(.heavy):not(.normal):hover {
  border: 0;
  border-left: 2px solid rgba(255, 255, 255, 0);
  color: #AAA;
}
@media (prefers-color-scheme: dark) {
  .shortcut a:not(.heavy):not(.normal):hover {
    color: #dddddd;
  }
}
.shortcut a:not(.heavy):not(.normal):hover .fa-fw {
  opacity: 1;
  transition: opacity 250ms ease;
}

#top-menu a:hover {
  color: #00a4b7;
}

.card {
  padding: 1rem;
  border-radius: 0.5rem;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  /* Color Scheme Settings -- End */
  min-width: 200px;
  overflow-x: hidden;
}
@media screen and (max-width: 600px) {
  .card {
    padding: 0.5rem;
  }
}
@media (prefers-color-scheme: dark) {
  .card {
    color: #FFF;
    background: #333;
  }
}

.floaty-box-title {
  position: -webkit-sticky;
  position: sticky;
  width: 300px;
  height: 300px;
  background: none;
  z-index: 10 !important;
  margin-top: 60px;
  top: 140px;
}
@media screen and (max-width: 700px) {
  .floaty-box-title {
    position: relative;
    top: 0;
    margin: 0;
    width: 100%;
    height: auto;
    display: block;
    border: 0;
    margin-bottom: 180px;
  }
  .floaty-box-title div + div {
    margin-top: 2rem;
  }
}

.floaty-box-address {
  margin-top: -200px;
  width: 300px;
  height: 300px;
  background: none;
  z-index: 15 !important;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 700px) {
  .floaty-box-address {
    position: relative;
    width: 100%;
    padding: 1rem;
    height: auto;
    display: block;
    border: 0;
    margin: -160px auto 0;
  }
  .floaty-box-address h1 {
    text-align: left !important;
  }
  .floaty-box-address div + div {
    margin-top: 2rem;
  }
  .floaty-box-address .noTinyScreen {
    display: none;
  }
}

.floaty-map {
  width: 100%;
  max-width: 1000px;
  height: 300px;
  z-index: 1 !important;
  margin: 0 auto;
  top: 140px;
  position: -webkit-sticky;
  position: sticky;
}
@media screen and (max-width: 700px) {
  .floaty-map {
    position: absolute;
    margin-top: 180px;
    width: 100%;
    display: block;
    top: auto;
  }
}

.rounded {
  border-radius: 0.5rem !important;
}

.button,
button,
input[type=submit],
input[type=reset],
input[type=button] {
  display: inline-block;
  height: 38px;
  padding: 0 1rem;
  text-align: center;
  font-size: 0.9em;
  font-weight: 500;
  line-height: 38px;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 300ms ease, background 300ms ease, box-shadow 300ms ease;
  cursor: pointer;
  margin: 0 0 0.25em;
  box-sizing: border-box;
  /* Color Scheme Settings -- Begin */
  color: #333;
  background-color: transparent;
  border: 1px solid #AAA;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button,
button,
input[type=submit],
input[type=reset],
input[type=button] {
    color: #FFF;
    background-color: transparent;
    border: 1px solid #AAA;
  }
}
.button > i, .button > svg,
button > i,
button > svg,
input[type=submit] > i,
input[type=submit] > svg,
input[type=reset] > i,
input[type=reset] > svg,
input[type=button] > i,
input[type=button] > svg {
  display: inline-block;
  line-height: inherit;
}
.button:after,
button:after,
input[type=submit]:after,
input[type=reset]:after,
input[type=button]:after {
  clear: both;
}

.button.button-big {
  display: inline-block;
  height: 58px;
  line-height: 58px;
  padding: 0 2rem;
  text-align: center;
  font-size: 0.9em;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 300ms ease, background 300ms ease, box-shadow 300ms ease;
  cursor: pointer;
  margin: 0 0 0.25em;
  box-sizing: border-box;
}

.button:hover,
button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
.button:focus,
button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
input[type=button]:focus {
  border-width: 1px !important;
  outline: 0;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.25);
  /* Color Scheme Settings -- Begin */
  color: #333;
  border-color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button:hover,
button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
.button:focus,
button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
input[type=button]:focus {
    color: #FFF;
    background-color: rgba(255, 255, 255, 0.2);
    border: 1px solid #FFF;
  }
}

.button.button-primary,
button.button-primary,
input[type=submit].button-primary,
input[type=reset].button-primary,
input[type=button].button-primary {
  color: #FFF;
  background-color: #00a4b7;
  border-color: #00a4b7;
}

.button.button-primary:hover,
button.button-primary:hover,
input[type=submit].button-primary:hover,
input[type=reset].button-primary:hover,
input[type=button].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type=submit].button-primary:focus,
input[type=reset].button-primary:focus,
input[type=button].button-primary:focus {
  /* Color Scheme Settings -- Begin */
  color: #FFF;
  border-color: #007684;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-primary:hover,
button.button-primary:hover,
input[type=submit].button-primary:hover,
input[type=reset].button-primary:hover,
input[type=button].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type=submit].button-primary:focus,
input[type=reset].button-primary:focus,
input[type=button].button-primary:focus {
    color: #FFF;
    background-color: #007684;
    border: 1px solid #FFF;
  }
}

.button.button-primary-invert,
button.button-primary-invert,
input[type=submit].button-primary-invert,
input[type=reset].button-primary-invert,
input[type=button].button-primary-invert {
  /* Color Scheme Settings -- Begin */
  color: #00a4b7;
  background-color: #FFF;
  border-color: #00a4b7;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-primary-invert,
button.button-primary-invert,
input[type=submit].button-primary-invert,
input[type=reset].button-primary-invert,
input[type=button].button-primary-invert {
    color: #00a4b7;
    background-color: #505050;
    border-color: #00a4b7;
  }
}

.button.button-primary-invert:hover,
button.button-primary-invert:hover,
input[type=submit].button-primary-invert:hover,
input[type=reset].button-primary-invert:hover,
input[type=button].button-primary-invert:hover,
.button.button-primary-invert:focus,
button.button-primary-invert:focus,
input[type=submit].button-primary-invert:focus,
input[type=reset].button-primary-invert:focus,
input[type=button].button-primary-invert:focus {
  color: #333;
  background-color: #FFF;
  border-color: #007684;
}

.button.button-warning,
button.button-warning,
input[type=submit].button-warning,
input[type=reset].button-warning,
input[type=button].button-warning {
  color: #FFF;
  background-color: #FF456B;
  border-color: #FF456B;
}

.button.button-warning:hover,
button.button-warning:hover,
input[type=submit].button-warning:hover,
input[type=reset].button-warning:hover,
input[type=button].button-warning:hover,
.button.button-warning:focus,
button.button-warning:focus,
input[type=submit].button-warning:focus,
input[type=reset].button-warning:focus,
input[type=button].button-warning:focus {
  color: #FFF;
  border-color: #FF456B;
  /* Color Scheme Settings -- Begin */
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-warning:hover,
button.button-warning:hover,
input[type=submit].button-warning:hover,
input[type=reset].button-warning:hover,
input[type=button].button-warning:hover,
.button.button-warning:focus,
button.button-warning:focus,
input[type=submit].button-warning:focus,
input[type=reset].button-warning:focus,
input[type=button].button-warning:focus {
    border-color: #FFF;
    background: #ff1242;
  }
}

.button.button-warning-inverse,
button.button-warning-inverse,
input[type=submit].button-warning-inverse,
input[type=reset].button-warning-inverse,
input[type=button].button-warning-inverse {
  color: #FF456B;
  border-color: #FF456B;
}

.button.button-warning-inverse:hover,
button.button-warning-inverse:hover,
input[type=submit].button-warning-inverse:hover,
input[type=reset].button-warning-inverse:hover,
input[type=button].button-warning-inverse:hover,
.button.button-warning-inverse:focus,
button.button-warning-inverse:focus,
input[type=submit].button-warning-inverse:focus,
input[type=reset].button-warning-inverse:focus,
input[type=button].button-warning-inverse:focus {
  color: #FFF;
  background-color: #FF456B;
  border-color: #FF456B;
}

.button.button-base,
button.button-base,
input[type=submit].button-base,
input[type=reset].button-base,
input[type=button].button-base {
  /* Color Scheme Settings -- Begin */
  color: #FFF;
  background-color: #333;
  border-color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-base,
button.button-base,
input[type=submit].button-base,
input[type=reset].button-base,
input[type=button].button-base {
    color: #333;
    background-color: #FFF;
    border: 1px solid #AAA;
  }
}

.button.button-base:hover,
button.button-base:hover,
input[type=submit].button-base:hover,
input[type=reset].button-base:hover,
input[type=button].button-base:hover,
.button.button-base:focus,
button.button-base:focus,
input[type=submit].button-base:focus,
input[type=reset].button-base:focus,
input[type=button].button-base:focus {
  /* Color Scheme Settings -- Begin */
  color: #FFF;
  background-color: #505050;
  border-color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-base:hover,
button.button-base:hover,
input[type=submit].button-base:hover,
input[type=reset].button-base:hover,
input[type=button].button-base:hover,
.button.button-base:focus,
button.button-base:focus,
input[type=submit].button-base:focus,
input[type=reset].button-base:focus,
input[type=button].button-base:focus {
    color: #FFF;
    border: 1px solid #FFF;
  }
}

.button.button-white,
button.button-white,
input[type=submit].button-white,
input[type=reset].button-white,
input[type=button].button-white {
  /* Color Scheme Settings -- Begin */
  color: #333;
  background-color: #FFF;
  border-color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-white,
button.button-white,
input[type=submit].button-white,
input[type=reset].button-white,
input[type=button].button-white {
    color: #FFF;
    background-color: #333;
    border: 1px solid #AAA;
  }
}

.button.button-white:hover,
button.button-white:hover,
input[type=submit].button-white:hover,
input[type=reset].button-white:hover,
input[type=button].button-white:hover,
.button.button-white:focus,
button.button-white:focus,
input[type=submit].button-white:focus,
input[type=reset].button-white:focus,
input[type=button].button-white:focus {
  /* Color Scheme Settings -- Begin */
  color: #FFF;
  background-color: #333;
  border-color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .button.button-white:hover,
button.button-white:hover,
input[type=submit].button-white:hover,
input[type=reset].button-white:hover,
input[type=button].button-white:hover,
.button.button-white:focus,
button.button-white:focus,
input[type=submit].button-white:focus,
input[type=reset].button-white:focus,
input[type=button].button-white:focus {
    color: #333;
    background-color: #F0F0F0;
    border-color: #505050;
  }
}

.button.tiny {
  height: 2rem;
  line-height: 2rem;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type=email],
input[type=number],
input[type=search],
input[type=text],
input[type=date],
input[type=time],
input[type=tel],
input[type=url],
input[type=password],
textarea,
select {
  height: 38px;
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  /* Color Scheme Settings -- Begin */
  background-color: #FFF;
  border: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
  font-size: 1em;
  margin: 0 0 0.5em;
  border-radius: 4px;
  width: 100%;
  box-shadow: none;
  box-sizing: border-box;
}
@media (prefers-color-scheme: dark) {
  input[type=email],
input[type=number],
input[type=search],
input[type=text],
input[type=date],
input[type=time],
input[type=tel],
input[type=url],
input[type=password],
textarea,
select {
    color: #FFF;
    border: 1px solid #3F3F3F;
    background: #505050;
  }
}

/* Removes awkward default styles on some inputs for iOS */
input[type=email],
input[type=number],
input[type=search],
input[type=text],
input[type=tel],
input[type=date],
input[type=time],
input[type=url],
input[type=password],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px;
}

input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=text]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  /* Color Scheme Settings -- Begin */
  border: 1px solid #AAA;
  /* Color Scheme Settings -- End */
  outline: 0;
}
@media (prefers-color-scheme: dark) {
  input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=text]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
    border: 1px solid #dddddd;
  }
}

label,
legend {
  /* Color Scheme Settings -- Begin */
  color: #505050;
  /* Color Scheme Settings -- End */
  display: block;
  margin-bottom: 0.5rem;
}
@media (prefers-color-scheme: dark) {
  label,
legend {
    color: #FFF;
  }
}

fieldset {
  padding: 0;
  border-width: 0;
}

input[type=checkbox],
input[type=radio] {
  display: inline;
}

label > .label-body {
  display: inline-block;
  margin-left: 0.5rem;
  font-weight: normal;
}

.disabled, .disabled:hover {
  background: none;
  box-shadow: 0 0 0 0;
  cursor: inherit;
  pointer-events: none;
  /* Color Scheme Settings -- Begin */
  border: 1px solid #dddddd;
  color: #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .disabled, .disabled:hover {
    border: 1px solid #505050;
    color: #505050;
  }
}

.form-group.background-white {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  background: #FFF;
  border-radius: 4px;
}
.form-group + .button {
  float: right;
}
.form-group + .button + .button {
  float: right;
  margin-right: 1rem;
}

.invalid-feedback {
  margin: 0 0 1rem 0;
  display: inline-block;
  color: #FF456B;
  border-color: #FF456B !important;
}

label > .invalid-feedback {
  margin: 0;
  display: inline;
}

.checkbox, .radio {
  display: inline-flex;
  width: 100%;
  cursor: pointer;
  font-size: 18px;
}
.checkbox .fa-fw, .radio .fa-fw {
  display: inline-block;
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  margin-top: 0.5rem;
  margin-right: 1rem;
}
.checkbox span, .radio span {
  font-size: 14px;
  display: inline-block;
  width: auto;
}

.checkbox-label {
  flex-grow: unset;
  max-width: 85%;
}

.check {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.check div + div {
  margin-left: 4rem;
}
.check-amount {
  margin: 0 2rem 0 0;
}
@media screen and (max-width: 1200px) {
  .check {
    flex-direction: column;
  }
  .check div + div {
    margin: 0 0 1rem 0;
  }
}

.hasSwing .swing {
  margin-left: 0.25rem;
  margin-right: 1rem;
}
.hasSwing:hover .swing {
  -webkit-animation: swing 1s infinite;
          animation: swing 1s infinite;
}

form:after, .form:after {
  content: " ";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
}
form label, .form label {
  display: block;
}
form input ~ label, .form input ~ label {
  margin-top: 0.5rem;
}
form input ~ div:not(.checkbox), form input ~ div:not(.radio), .form input ~ div:not(.checkbox), .form input ~ div:not(.radio) {
  margin-top: 0.5rem;
}
form input[type=checkbox] ~ label, .form input[type=checkbox] ~ label {
  display: inline-block;
  margin-left: 1rem;
}
form .flex > div + div, .form .flex > div + div {
  margin-left: 0.5rem;
}
form .flex ~ .flex, .form .flex ~ .flex {
  margin-top: 0.5rem;
}
form .card, .form .card {
  margin-bottom: 3rem;
}

.searchform {
  display: flex;
  flex-wrap: nowrap;
  margin: 2rem 0;
}
.searchform input, .searchform input[type=search], .searchform .searchfield, .searchform button, .searchform .searchbutton {
  line-height: 1.2rem;
  /* Color Scheme Settings -- Begin */
  border-color: #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .searchform input, .searchform input[type=search], .searchform .searchfield, .searchform button, .searchform .searchbutton {
    background: #333;
    border-color: #dddddd;
  }
}
.searchform input {
  padding: 0.5rem;
  max-width: 100%;
  min-width: 100px;
  width: 100%;
  display: inline-block;
  box-sizing: border-box;
  border-right: 0;
  flex-grow: 1;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.searchform input:hover, .searchform input:focus, .searchform input:hover + button, .searchform input:focus + button {
  border-color: #AAA;
}
.searchform input:hover, .searchform input:focus {
  border-right: 0;
}
@media screen and (max-width: 768px) {
  .searchform input {
    font-size: 1rem;
    padding-left: 0.5rem;
  }
}
.searchform button {
  /* Color Scheme Settings -- Begin */
  border-color: #dddddd;
  /* Color Scheme Settings -- End */
  padding: 0.5rem 1rem 0.5rem 1rem;
  border-left: 0;
  line-height: 1rem;
  font-size: 1.25rem;
  display: inline-block;
  box-sizing: border-box;
  flex-grow: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media (prefers-color-scheme: dark) {
  .searchform button {
    background: #333;
    border-color: #dddddd;
  }
}
@media screen and (max-width: 768px) {
  .searchform button {
    font-size: 1rem;
    padding: 0.5rem;
  }
}
.searchform button:hover, .searchform button:focus {
  box-shadow: none;
  border-left: 0;
  color: #00a4b7;
}

.checkbox-button .title {
  font-weight: bold;
  /*text-transform: uppercase;*/
  /*letter-spacing: 1px;*/
  font-family: "IBM Plex Sans", serif;
  display: block;
}
.checkbox-button .description {
  color: #AAA;
}
.checkbox-button + .checkbox-button {
  margin-top: 1rem;
}

.settings-button {
  cursor: pointer;
}

.button-group {
  display: inline-flex;
  flex-direction: row;
}
.button-group .button {
  border-radius: 0;
}
.button-group .button:not(:first-child) {
  border-left: 0;
}
.button-group .button:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-left-radius: 0.25rem;
}
.button-group .button:last-child {
  border-left: 0 !important;
  border-bottom-right-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.button-group .button:last-child:hover, .button-group .button:last-child:focus {
  border-left: 0;
}
.button-group:not(:last-of-type) {
  margin-right: 1rem;
}

.hasNumbers {
  text-align: right !important;
}

.font-size {
  background: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  height: auto !important;
  width: 40px !important;
  color: #FFF;
  padding: 0 !important;
}

.one-button {
  display: flex;
}
.one-button:focus-within > *, .one-button:hover > * {
  /* Color Scheme Settings -- Begin */
  border-color: #AAA !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .one-button:focus-within > *, .one-button:hover > * {
    border-color: #dddddd !important;
  }
}
.one-button input:focus:not(:first-child):not(:last-child),
.one-button button:focus:not(:first-child):not(:last-child),
.one-button .button:focus:not(:first-child):not(:last-child) {
  border-right: 0;
  border-left: 0;
}
.one-button input:first-child, .one-button button:first-child, .one-button .button:first-child {
  border-right-width: 0 !important;
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
  border-top-right-radius: 0;
  border-left-width: 1px;
  border-bottom-right-radius: 0;
}
.one-button input, .one-button button, .one-button .button {
  border-right-width: 0;
  border-left-width: 0;
  border-radius: 0;
  border-color: #dddddd;
  /* Color Scheme Settings -- Begin */
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .one-button input, .one-button button, .one-button .button {
    background: #505050;
    border-color: #333;
  }
}
.one-button input:last-child, .one-button button:last-child, .one-button .button:last-child {
  border-left: 0 !important;
  border-top-left-radius: 0;
  border-right-width: 1px;
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0;
  /* Color Scheme Settings -- Begin */
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .one-button input:last-child, .one-button button:last-child, .one-button .button:last-child {
    background: #505050;
  }
}
.one-button .disabled {
  /* Color Scheme Settings -- Begin */
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .one-button .disabled {
    color: #FFF;
  }
}

.scorecard input:not([type=checkbox]) {
  width: 70px;
  text-align: right;
}
.scorecard input {
  margin: 0;
  display: inline-block;
}
.scorecard .checkbox > * {
  margin: 0;
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.progress-container {
  border-radius: 2px;
  height: 0.5rem;
  width: 100%;
  border: 1px solid #dddddd;
  overflow: hidden;
}

.progress-bar {
  width: 1%;
  height: 100%;
  background: #00a4b7;
  opacity: 0.3;
}

input:disabled {
  /* Color Scheme Settings -- Begin */
  background: #F0F0F0;
  color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  input:disabled {
    background: #3F3F3F;
    color: #AAA;
  }
}

.plan-compare {
  display: flex;
  flex-direction: row;
  padding-left: 0;
  padding-right: 0;
  justify-content: center;
  margin: 0 0 4rem;
}
.plan-compare h1 {
  margin: 0;
}
.plan-compare ul {
  margin-top: 2rem;
}
.plan-compare:not(.no-highlight) .plan-data:nth-of-type(2) {
  border-color: #00a4b7;
}
.plan-compare:not(.no-highlight) .plan-data:nth-of-type(2):before {
  color: #00a4b7;
  /*text-transform: uppercase;*/
  font-weight: bold;
  text-align: center;
  font-family: "IBM Plex Sans";
  display: block;
  content: "Unsere Empfehlung";
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .plan-compare {
    flex-direction: column;
    align-items: center;
  }
  .plan-compare .plan-data {
    align-self: center;
    margin: 1rem 0 0 0 !important;
  }
}

.plan-data {
  width: 100%;
  max-width: 400px;
  align-self: flex-start;
  padding: 1rem;
  border-radius: 4px;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  /* Color Scheme Settings -- End */
  margin: 0.5rem;
}
@media (prefers-color-scheme: dark) {
  .plan-data {
    background: #333;
  }
}
.plan-data li {
  margin-bottom: 0.5rem;
}
.plan-data .plan-price {
  font-size: 4em;
  text-align: center;
  font-family: "IBM Plex Sans";
  line-height: 1.1;
  font-weight: bold;
  margin: 2rem 0;
}
.plan-data .plan-price span {
  font-family: "IBM Plex Sans";
  display: block;
  letter-spacing: 0;
}
.plan-data .plan-choose {
  font-size: 1.25rem;
  padding: 1rem 0 0 0;
  color: #AAA;
  text-align: center;
  border-top: 2px solid #dddddd;
}

.notifier {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  /* Color Scheme Settings -- Begin */
  background: rgba(240, 240, 240, 0.9);
  /* Color Scheme Settings -- End */
  z-index: 10000000;
  align-content: center;
  flex-grow: 0;
  justify-content: center;
  display: flex;
}
@media (prefers-color-scheme: dark) {
  .notifier {
    background: rgba(51, 51, 51, 0.9);
  }
}
.notifier .notifier-wrapper {
  height: 100%;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.2);
  width: 100%;
  min-width: 400px;
  border-radius: 0.25rem;
  align-self: center;
  /* Color Scheme Settings -- Begin */
  background: #F0F0F0;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .notifier .notifier-wrapper {
    background: #3F3F3F;
  }
}
.notifier .notifier-wrapper .notifier-content {
  padding: 1rem 3rem;
  box-sizing: border-box;
}
.notifier .notifier-wrapper .notifier-button {
  width: 40px;
  line-height: 20px;
  text-align: right;
  margin: 2rem;
  cursor: pointer;
  float: right;
  right: 0;
}
.notifier .notifier-wrapper .notifier-button .icon-hover {
  display: none;
  transition: all 500ms ease;
}
.notifier .notifier-wrapper .notifier-button .icon-standard {
  display: inline-block;
  transition: all 500ms ease;
}
.notifier .notifier-wrapper .notifier-button .fa-times {
  color: #AAA;
}
.notifier .notifier-wrapper .notifier-button:hover > .fa-times {
  /* Color Scheme Settings -- Begin */
  color: #505050;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .notifier .notifier-wrapper .notifier-button:hover > .fa-times {
    color: #FFF;
  }
}
@media (min-width: 768px) {
  .notifier .notifier-wrapper .notifier-button:hover > .icon-hover {
    display: inline-block;
  }
  .notifier .notifier-wrapper .notifier-button:hover > .icon-standard {
    display: none;
  }
  .notifier .notifier-wrapper .notifier-button .fa-times {
    transition: all 500ms ease;
    transform: scale(1.5);
    color: #AAA;
  }
  .notifier .notifier-wrapper .notifier-button:hover > .fa-times {
    transition: all 500ms ease;
    transform: rotate(90deg) scale(1.5);
    /* Color Scheme Settings -- Begin */
    color: #505050;
    /* Color Scheme Settings -- End */
  }
}
@media (min-width: 768px) and (prefers-color-scheme: dark) {
  .notifier .notifier-wrapper .notifier-button:hover > .fa-times {
    color: #FFF;
  }
}

.onlySmallScreen {
  display: none !important;
}
@media screen and (max-width: 800px) {
  .onlySmallScreen {
    display: flex !important;
  }
}

.timeline {
  list-style-type: none;
  display: flex;
  align-items: left;
  justify-content: center;
  margin: 2rem 0;
  white-space: nowrap;
  /* Color Scheme Settings -- Begin */
  color: #dddddd;
  /* Color Scheme Settings -- End */
  font-size: 12px;
}
@media (prefers-color-scheme: dark) {
  .timeline {
    color: #505050;
  }
}
.timeline .content {
  margin-bottom: 1rem;
  padding: 0px 2rem 0px 0px;
  display: flex;
  flex-direction: column;
  align-items: left;
}
.timeline .status {
  padding: 1rem 0 0;
  display: flex;
  /* Color Scheme Settings -- Begin */
  border-top: 4px solid #dddddd;
  /* Color Scheme Settings -- End */
  position: relative;
  z-index: 1;
}
@media (prefers-color-scheme: dark) {
  .timeline .status {
    border-top: 4px solid #505050;
  }
}
.timeline .status:before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 14px;
  /* Color Scheme Settings -- Begin */
  background-color: #dddddd;
  border: 2px solid #FFF;
  /* Color Scheme Settings -- End */
  position: absolute;
  top: -11px;
}
@media (prefers-color-scheme: dark) {
  .timeline .status:before {
    background-color: #505050;
    border: 2px solid #333;
  }
}
.timeline .startpoint .status {
  /* Color Scheme Settings -- Begin */
  border-top: 4px solid #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .startpoint .status {
    border-top: 4px solid #505050;
  }
}
.timeline .startpoint .status:before {
  background-color: #00a4b7;
  /* Color Scheme Settings -- Begin */
  border: 2px solid #FFF !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .startpoint .status:before {
    border: 2px solid #333 !important;
  }
}
.timeline .complete {
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .complete {
    color: #FFF;
  }
}
.timeline .complete .status {
  border-top: 4px solid #00a4b7;
}
.timeline .complete .status:before {
  background-color: #00a4b7 !important;
  /* Color Scheme Settings -- Begin */
  border: 2px solid #FFF !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .complete .status:before {
    border: 2px solid #333 !important;
  }
}
.timeline .incomplete {
  /* Color Scheme Settings -- Begin */
  color: #333;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .incomplete {
    color: #FFF;
  }
}
.timeline .incomplete .status {
  border-top: 4px dashed #00a4b7;
}
.timeline .incomplete .status:before {
  background-color: #00a4b7 !important;
  /* Color Scheme Settings -- Begin */
  border: 2px solid #FFF !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .incomplete .status:before {
    border: 2px solid #333 !important;
  }
}
.timeline .placeholder {
  width: 25px;
}
.timeline .placeholder .status:before {
  border: 2px solid #00a4b7;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .timeline .placeholder .status:before {
    background: #333;
  }
}
.timeline li:last-of-type .status {
  border-top: 4px solid rgba(0, 0, 0, 0);
}

.hasDropdown {
  overflow: visible;
  height: 18px;
  width: 80px;
}
.hasDropdown .dropdown-title {
  height: 25px;
  display: block;
  cursor: pointer;
  overflow: hidden;
}
.hasDropdown:hover > .dropdown {
  display: block;
}

.ruler {
  overflow: hidden;
}
.ruler.horizontal {
  background: linear-gradient(90deg, #333, #333 1%, rgba(255, 255, 255, 0) 1%, rgba(255, 255, 255, 0) 49%, #000 49%, #000 51%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0) 99%, #333 99%, #333 100%);
  background-size: 10mm 10mm;
  height: 2mm;
  width: 100%;
  position: relative;
}
.ruler.horizontal .slider {
  border-left: 1px solid #00a4b7;
  width: 1px;
  height: 100%;
  position: absolute;
}
.ruler.vertical {
  background: linear-gradient(0deg, #333, #333 1%, rgba(255, 255, 255, 0) 1%, rgba(255, 255, 255, 0) 49%, #000 49%, #000 51%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0) 99%, #333 99%, #333 100%);
  background-size: 10mm 10mm;
  width: 2mm;
  height: 100%;
  position: relative;
}
.ruler.vertical .slider {
  border-bottom: 1px solid #00a4b7;
  height: 1px;
  width: 100%;
  position: absolute;
}

.dropdown {
  display: none;
  height: auto;
  width: 200px;
  max-height: 50vh;
  /*overflow-y: scroll;*/
  z-index: 10000 !important;
  overflow-x: hidden;
  text-align: left;
  margin-left: -12px;
  letter-spacing: normal;
  box-sizing: border-box;
  /* Color Scheme Settings -- Begin */
  border: 1px solid #dddddd;
  border-top: 0;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .dropdown {
    border: 1px solid #505050;
    border-top: 0;
  }
}
.dropdown:hover {
  display: block;
}
.dropdown li {
  padding: 4px 0.5rem;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  /* Color Scheme Settings -- End */
  width: 200px;
  position: relative;
  transition: background 250ms ease;
  display: block;
}
@media (prefers-color-scheme: dark) {
  .dropdown li {
    background: #333;
  }
}
.dropdown li .fa-fw {
  margin-right: 0.5rem;
  width: 1.5rem;
}
.dropdown li .noIcon {
  opacity: 0;
}
.dropdown li.divider {
  /* Color Scheme Settings -- Begin */
  border-top: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .dropdown li.divider {
    border-top: 1px solid #505050;
  }
}
.dropdown li.bold {
  /* Color Scheme Settings -- Begin */
  background: #FFF !important;
  /* Color Scheme Settings -- End */
  cursor: default !important;
}
@media (prefers-color-scheme: dark) {
  .dropdown li.bold {
    background: #333 !important;
  }
}
.dropdown li:hover {
  /* Color Scheme Settings -- Begin */
  background: #F0F0F0 !important;
  /* Color Scheme Settings -- End */
  cursor: pointer;
  transition: background 250ms ease;
}
@media (prefers-color-scheme: dark) {
  .dropdown li:hover {
    background: #3F3F3F !important;
  }
}

.paper {
  position: relative;
  background-color: transparent;
}
.paper .active {
  border: 1px dotted #00a4b7 !important;
}
.paper .item {
  display: block;
  position: absolute;
  cursor: move;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 200px;
  height: 100px;
  background: 0;
  border: 1px dotted rgba(0, 0, 0, 0);
  border: 1px dotted #dddddd;
  -webkit-user-select: text !important;
     -moz-user-select: text !important;
      -ms-user-select: text !important;
          user-select: text !important;
}
.paper .item.graphic {
  background-size: contain;
  background-repeat: no-repeat;
}
.paper .item.graphic.left {
  background-position: left;
}
.paper .item.graphic.center {
  background-position: center;
}
.paper .item.graphic.right {
  background-position: right;
}
.paper .item input, .paper .item input:hover, .paper .item input:focus {
  display: block;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  font-family: inherit;
  text-align: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  color: inherit;
  overflow: visible;
  background: transparent;
  line-height: 100%;
  height: auto;
  width: 100%;
  position: absolute;
}

.workspace {
  margin-bottom: 2cm;
  display: flex;
  justify-content: center;
}
.workspace .ruler {
  opacity: 1;
}
.workspace.active .ruler {
  opacity: 1;
}
.workspace.a4 {
  height: 29.7cm;
}
.workspace.a4 .page-container {
  width: 21cm;
}
.workspace.a4 .page {
  background: #FFF;
  height: 29.7cm;
  width: 21cm;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2cm 2cm 2cm 2cm;
  flex-grow: 0;
  position: absolute;
}
.workspace.a4 .paper {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #00a4b7;
  background: #FFF;
}

.window {
  width: 250px;
  overflow: hidden;
  z-index: 3;
  /* Color Scheme Settings -- Begin */
  color: #333;
  background: #FFF;
  border: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
  position: absolute;
  top: 80px;
}
@media (prefers-color-scheme: dark) {
  .window {
    color: #FFF;
    background: #333;
    border: 1px solid #505050;
  }
}
.window .content {
  height: auto;
  max-height: 220px;
  overflow: auto;
  height: auto;
}
.window .graphics-container {
  /* Color Scheme Settings -- Begin */
  border: 1px solid #dddddd;
  background-color: #F0F0F0;
  /* Color Scheme Settings -- End */
  cursor: pointer;
  background-size: cover;
  background-repeat: no-repeat;
  display: inline-block;
  width: 70px;
  height: 70px;
  border-radius: 2px;
}
@media (prefers-color-scheme: dark) {
  .window .graphics-container {
    border: 1px solid #AAA;
    background-color: #3F3F3F;
  }
}
.window .graphics-container:hover {
  /* Color Scheme Settings -- Begin */
  border: 1px solid #AAA;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .window .graphics-container:hover {
    border: 1px solid #dddddd;
  }
}
.window .title {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  font-weight: bold;
  padding: 0.5rem;
  font-family: "IBM Plex Sans";
  /* Color Scheme Settings -- Begin */
  border-bottom: 1px solid #dddddd;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .window .title {
    border-bottom: 1px solid #505050;
  }
}
.window .title .fa-fw:not(.fa-times) {
  margin-right: 0.5rem;
}
.window .title .fa-times {
  opacity: 0;
}
.window .title .fa-times:hover {
  opacity: 1 !important;
}
.window:hover .title .fa-times {
  opacity: 0.5;
  cursor: pointer;
}
.window .content {
  padding: 0.5rem;
}

#rgb::before {
  display: block;
  background: pink;
  content: "öa ";
}

.no-footprint {
  margin: 0 !important;
  background: 0 !important;
  border: 0 !important;
  height: auto !important;
  padding: 0 !important;
  width: auto !important;
  display: inline-block;
}

.on {
  background: #dddddd !important;
}
@media (prefers-color-scheme: dark) {
  .on {
    background: #505050 !important;
  }
}

.line {
  position: absolute;
  display: block;
  border: 0;
  z-index: 1;
}
.line.vertical {
  border-right: 1px solid #00a4b7;
  width: 1px !important;
  height: 100%;
}
.line.horizontal {
  border-bottom: 1px solid #00a4b7;
  height: 1px !important;
  width: 100%;
}

#modal {
  position: fixed;
  display: flex;
  align-content: center;
  justify-content: center;
  left: 0;
  top: 0;
  right: 0;
  background: rgba(51, 51, 51, 0.7);
  z-index: 100;
  width: 100%;
  height: 100%;
  text-align: center;
}
#modal .content {
  width: 400px;
  align-self: center;
}
#modal .content .window {
  display: block;
  position: inherit;
  width: 400px;
}

#sqcm {
  width: 100mm !important;
  height: 100mm !important;
  background: #09F;
  display: none;
}

.choose-item:hover {
  background: rgba(0, 164, 183, 0.25);
}

@font-face {
  font-family: "Acta Display";
  font-style: normal;
  font-weight: bold;
  src: url(/assets/fonts/ActaDisplay-Black.woff2?92837d555304d4e1bb75a092ede5890f) format("woff2"), url(/assets/fonts/ActaDisplay-Black.woff?3cf1441e2a4f0488769c1c46e1d257a6) format("woff");
}
@font-face {
  font-family: "Acta Display";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/ActaDisplay-Medium.woff2?9ba91faaff4adeab368175ae0f2dcfa1) format("woff2"), url(/assets/fonts/ActaDisplay-Medium.woff?f0f4b04dfe48b8e9cf3ed8eb3aeee131) format("woff");
}
@font-face {
  font-family: "Franziska Pro";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/franziska.ttf?63e4a16a5233e182b3283bda32b7f59e) format("ttf");
}
@font-face {
  font-family: "Franziska Pro";
  font-style: normal;
  font-weight: bold;
  src: url(/assets/fonts/franziskab.ttf?3598d73450ade3c54ffba7a84c69b11c) format("ttf");
}
@font-face {
  font-family: "Futura";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/futura.ttf?bfcad8d78076b8e501d8ef6c06f4108d) format("ttf");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: bold;
  src: url(/assets/fonts/JosefinSans-Bold.ttf?e0cb2acb71791870e8ef568f02b24573) format("ttf");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: bold;
  src: url(/assets/fonts/JosefinSans-BoldItalic.ttf?c758bbc662259b1eddceafcecef91223) format("ttf");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/JosefinSans-Regular.ttf?9d392d939ce34ab9dc2af9bd72f5e646) format("ttf");
}
@font-face {
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: normal;
  src: url(/assets/fonts/JosefinSans-Italic.ttf?9c23dc3ecb06738cd68dd9ae28c3c9b8) format("ttf");
}
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/Merriweather-Regular.ttf?55c73e48e04ec926ebfecb04ed87e53f) format("ttf");
}
@font-face {
  font-family: "Merriweather";
  font-style: italic;
  font-weight: normal;
  src: url(/assets/fonts/Merriweather-Italic.ttf?4d1e263e7adb8896f8a5fec3a8380c7d) format("ttf");
}
@font-face {
  font-family: "Merriweather";
  font-style: italic;
  font-weight: bold;
  src: url(/assets/fonts/Merriweather-BoldItalic.ttf?c8747cb98a7f3d8feaac6752d5c51345) format("ttf");
}
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: bold;
  src: url(/assets/fonts/Merriweather-Bold.ttf?7b45103bea0f9642b818d62d02963d9d) format("ttf");
}
@font-face {
  font-family: "SignPainter";
  font-style: normal;
  font-weight: normal;
  src: url(/assets/fonts/signpainter.ttf?b3d7d7733f6eeb3c8b65ff92fbec0708) format("ttf");
}
.features .feature-item {
  background: #FFF;
  transition: 250ms ease;
}
.features .flex:hover .feature-item {
  background: rgba(255, 255, 255, 0.4);
}

/*
    contains styles for the landing page
 */
.landing-container {
  width: 100%;
  height: auto;
  padding: 2rem 0 2rem;
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 800px) {
  .landing-container {
    flex-direction: column-reverse;
    padding: 0 0 2rem;
  }
}
.landing-container .landing-text {
  max-width: 400px;
  width: 100%;
  align-self: center;
}
@media screen and (max-width: 800px) {
  .landing-container .landing-text {
    max-width: 100%;
    padding: 1rem;
    order: 2;
  }
}
.landing-container .landing-image {
  width: 100%;
  padding: 1rem;
}
.landing-container .landing-image img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 800px) {
  .landing-container .landing-image {
    order: 1;
  }
}
.landing-container .landing-icon {
  transition: color 500ms ease;
  color: #AAA;
}
.landing-container .landing-icon:hover {
  color: #00a4b7;
}

#schedule {
  background: linear-gradient(#AAA 0%, transparent 1%) 0 60px;
  background-size: 100% 60px;
  display: flex;
  flex-direction: row;
  flex-wrap: 0;
  justify-content: space-between;
}
#schedule .column {
  margin-top: -2rem;
  height: 2rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}
#schedule .column input {
  padding: 0;
  margin: 0;
  border: 0;
  font-size: 0.8rem;
  background: 0 !important;
  text-align: left;
}
#schedule .column .fa-fw {
  color: #AAA;
  cursor: pointer;
}
#schedule .column .fa-fw:hover {
  color: #333;
}
#schedule .schedule-time {
  padding: 0 1rem 0 0;
  color: #AAA;
}
#schedule .schedule-time li {
  height: 60px;
}
#schedule .schedule-container {
  width: 100%;
  display: inline-flex;
  justify-content: space-around;
}
#schedule .event-container {
  position: relative;
  max-width: 300px;
  width: 40%;
}
#schedule .event-container:not(:last-of-type) {
  margin-right: 0.5rem;
}
#schedule .event {
  width: 100% !important;
  padding: 0.5rem;
  position: absolute;
  box-sizing: border-box;
  overflow: hidden;
}
#schedule .event .ui-resizable-handle {
  opacity: 0;
}
#schedule .event:hover > .picker {
  display: block;
  opacity: 1;
}
#schedule .event .picker {
  text-align: right;
  margin-top: 0;
  float: right;
  opacity: 0;
  height: 0;
  padding: 0;
  box-sizing: border-box;
  transition: all 250ms ease;
}
#schedule .event .time {
  display: block;
  font-size: 10px;
}
#schedule .event.yellow {
  background: #ffcf3f;
  border-bottom: 4px solid #ffc20c;
}
#schedule .event.yellow .color-yellow {
  display: none;
}
#schedule .event.accent {
  background: #00a4b7;
  border-bottom: 4px solid #007684;
}
#schedule .event.accent .color-accent {
  display: none;
}
#schedule .event.red {
  background: #FF456B;
  border-bottom: 4px solid #65212f;
}
#schedule .event.red .color-red {
  display: none;
}
#schedule .event.white {
  background: #FFF;
  color: #333;
  border-bottom: 4px solid #dddddd;
}
#schedule .event.white .color-white {
  display: none;
}
#schedule .event.white input {
  color: #333;
}
#schedule .event.green {
  background: #a0c5a1;
  border-bottom: 4px solid #769479;
}
#schedule .event.green .color-green {
  display: none;
}
#schedule .event input {
  background: 0 !important;
  border: 0;
  line-height: 1;
  height: 18px;
  margin: 0;
  padding: 0;
}

.result-item {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  /* Color Scheme Settings -- Begin */
  background: #FFF;
  border: 1px solid #FFF;
  /* Color Scheme Settings -- End */
}
.result-item:not(:first-of-type) {
  margin-top: 1rem;
}
@media (prefers-color-scheme: dark) {
  .result-item {
    background: #333;
    border: 1px solid #333;
  }
}
.result-item:hover {
  /* Color Scheme Settings -- Begin */
  border: 1px solid #dddddd;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .result-item:hover {
    border: 1px solid #AAA;
    box-shadow: none;
  }
}
.result-item .title {
  font-weight: bold;
  /*text-transform: uppercase;*/
  font-size: 1.5rem;
}
@media screen and (max-width: 700px) {
  .result-item .title {
    font-size: 1.25rem;
  }
}
.result-item .description {
  display: block;
  color: #AAA;
}
.result-item span {
  line-height: 1.5em;
}
.result-item .date {
  display: flex;
  margin-left: auto;
  padding-left: 1rem;
  justify-content: flex-end;
}
.result-item .date .day {
  font-weight: 800;
  font-family: "IBM Plex Sans";
  font-size: 2.5rem;
}
.result-item .date .month {
  /*text-transform: uppercase;*/
  font-weight: 800;
  font-family: "IBM Plex Sans";
  padding: 0;
  width: 120px;
}
.result-item .date .time {
  color: #AAA;
  padding: 0;
}
.result-item .date .datetime {
  display: inline-flex;
  padding-left: 0.5rem;
  flex-direction: column;
  align-self: center;
}
.result-item:hover .icon {
  color: #00a4b7;
  width: auto;
  padding: 0 1rem;
  transition: all 250ms ease;
}
@media screen and (max-width: 700px) {
  .result-item:hover .icon:not(.visible) {
    display: none;
  }
}
.result-item .icon {
  color: #dddddd;
  align-self: center;
  font-size: 2rem;
  overflow: hidden;
  width: 0;
  transition: all 250ms ease;
}
@media screen and (max-width: 700px) {
  .result-item .icon:not(.visible) {
    display: none;
  }
}
.result-item .icon.visible {
  padding: 0 1rem;
  overflow: auto;
  width: auto;
}
.result-item .item {
  padding: 0 1rem;
}
.result-item .read-indicator {
  width: 30px;
}

.isOver *, .isRead * {
  /* Color Scheme Settings -- Begin */
  color: #dddddd !important;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .isOver *, .isRead * {
    color: #505050 !important;
  }
}
.isOver:hover *, .isRead:hover * {
  color: inherit !important;
}

.search-term {
  background: rgba(0, 164, 183, 0.2);
}

.no-shadow, .no-shadow:hover {
  box-shadow: none !important;
}

.support-compare {
  display: flex;
  flex-direction: row;
  padding-left: 0;
  padding-right: 0;
  justify-content: center;
  margin: 0 0 4rem;
}
.support-compare h1 {
  margin: 0;
}
.support-compare .support-data {
  width: 100%;
  max-width: 400px;
  align-self: flex-start;
  padding: 1rem;
  border-radius: 4px;
  /* Color Scheme Settings -- Begin */
  border: 2px solid #dddddd;
  background: #FFF;
  /* Color Scheme Settings -- End */
}
@media (prefers-color-scheme: dark) {
  .support-compare .support-data {
    border: 2px solid #505050;
    background: #333;
  }
}
.support-compare .support-data:not(:first-of-type) {
  margin: 0 0 0 1rem;
}
.support-compare .support-data:hover {
  border-color: #00a4b7;
}
@media screen and (max-width: 1200px) {
  .support-compare {
    flex-direction: column;
    align-items: center;
  }
  .support-compare .support-data {
    align-self: center;
    margin: 1rem 0 0 0 !important;
  }
}

/*! jQuery UI - v1.13.2 - 2022-07-29
* http://jqueryui.com
* Includes: draggable.css, core.css, resizable.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-draggable-handle {
  touch-action: none;
}

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  /* support: IE8 */
}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none;
}

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-resizable {
  position: relative;
}

.ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  display: block;
  touch-action: none;
}

.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
  display: none;
}

.ui-resizable-n {
  cursor: n-resize;
  height: 7px;
  width: 100%;
  top: -5px;
  left: 0;
}

.ui-resizable-s {
  cursor: s-resize;
  height: 7px;
  width: 100%;
  bottom: -5px;
  left: 0;
}

.ui-resizable-e {
  cursor: e-resize;
  width: 7px;
  right: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-w {
  cursor: w-resize;
  width: 7px;
  left: -5px;
  top: 0;
  height: 100%;
}

.ui-resizable-se {
  cursor: se-resize;
  width: 12px;
  height: 12px;
  right: 1px;
  bottom: 1px;
}

.ui-resizable-sw {
  cursor: sw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  bottom: -5px;
}

.ui-resizable-nw {
  cursor: nw-resize;
  width: 9px;
  height: 9px;
  left: -5px;
  top: -5px;
}

.ui-resizable-ne {
  cursor: ne-resize;
  width: 9px;
  height: 9px;
  right: -5px;
  top: -5px;
}

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333;
}

.ui-widget-content a {
  color: #333333;
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold;
}

.ui-widget-header a {
  color: #333333;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none;
}

.ui-visual-focus {
  box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620;
}

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: 0.7;
  -ms-filter: "alpha(opacity=70)";
  /* support: IE8 */
  font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  -ms-filter: "alpha(opacity=35)";
  /* support: IE8 */
  background-image: none;
}

.ui-state-disabled .ui-icon {
  -ms-filter: "alpha(opacity=35)";
  /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
}

/* positioning */
/* Three classes needed to override `.ui-button:hover .ui-icon` */
.ui-icon-blank.ui-icon-blank.ui-icon-blank {
  background-image: none;
}

.ui-icon-caret-1-n {
  background-position: 0 0;
}

.ui-icon-caret-1-ne {
  background-position: -16px 0;
}

.ui-icon-caret-1-e {
  background-position: -32px 0;
}

.ui-icon-caret-1-se {
  background-position: -48px 0;
}

.ui-icon-caret-1-s {
  background-position: -65px 0;
}

.ui-icon-caret-1-sw {
  background-position: -80px 0;
}

.ui-icon-caret-1-w {
  background-position: -96px 0;
}

.ui-icon-caret-1-nw {
  background-position: -112px 0;
}

.ui-icon-caret-2-n-s {
  background-position: -128px 0;
}

.ui-icon-caret-2-e-w {
  background-position: -144px 0;
}

.ui-icon-triangle-1-n {
  background-position: 0 -16px;
}

.ui-icon-triangle-1-ne {
  background-position: -16px -16px;
}

.ui-icon-triangle-1-e {
  background-position: -32px -16px;
}

.ui-icon-triangle-1-se {
  background-position: -48px -16px;
}

.ui-icon-triangle-1-s {
  background-position: -65px -16px;
}

.ui-icon-triangle-1-sw {
  background-position: -80px -16px;
}

.ui-icon-triangle-1-w {
  background-position: -96px -16px;
}

.ui-icon-triangle-1-nw {
  background-position: -112px -16px;
}

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px;
}

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px;
}

.ui-icon-arrow-1-n {
  background-position: 0 -32px;
}

.ui-icon-arrow-1-ne {
  background-position: -16px -32px;
}

.ui-icon-arrow-1-e {
  background-position: -32px -32px;
}

.ui-icon-arrow-1-se {
  background-position: -48px -32px;
}

.ui-icon-arrow-1-s {
  background-position: -65px -32px;
}

.ui-icon-arrow-1-sw {
  background-position: -80px -32px;
}

.ui-icon-arrow-1-w {
  background-position: -96px -32px;
}

.ui-icon-arrow-1-nw {
  background-position: -112px -32px;
}

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px;
}

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px;
}

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px;
}

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px;
}

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px;
}

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px;
}

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px;
}

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px;
}

.ui-icon-arrowthick-1-n {
  background-position: 1px -48px;
}

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px;
}

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px;
}

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px;
}

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px;
}

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px;
}

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px;
}

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px;
}

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px;
}

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px;
}

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px;
}

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px;
}

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px;
}

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px;
}

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px;
}

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px;
}

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px;
}

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px;
}

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px;
}

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px;
}

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px;
}

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px;
}

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px;
}

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px;
}

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px;
}

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px;
}

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px;
}

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px;
}

.ui-icon-arrow-4 {
  background-position: 0 -80px;
}

.ui-icon-arrow-4-diag {
  background-position: -16px -80px;
}

.ui-icon-extlink {
  background-position: -32px -80px;
}

.ui-icon-newwin {
  background-position: -48px -80px;
}

.ui-icon-refresh {
  background-position: -64px -80px;
}

.ui-icon-shuffle {
  background-position: -80px -80px;
}

.ui-icon-transfer-e-w {
  background-position: -96px -80px;
}

.ui-icon-transferthick-e-w {
  background-position: -112px -80px;
}

.ui-icon-folder-collapsed {
  background-position: 0 -96px;
}

.ui-icon-folder-open {
  background-position: -16px -96px;
}

.ui-icon-document {
  background-position: -32px -96px;
}

.ui-icon-document-b {
  background-position: -48px -96px;
}

.ui-icon-note {
  background-position: -64px -96px;
}

.ui-icon-mail-closed {
  background-position: -80px -96px;
}

.ui-icon-mail-open {
  background-position: -96px -96px;
}

.ui-icon-suitcase {
  background-position: -112px -96px;
}

.ui-icon-comment {
  background-position: -128px -96px;
}

.ui-icon-person {
  background-position: -144px -96px;
}

.ui-icon-print {
  background-position: -160px -96px;
}

.ui-icon-trash {
  background-position: -176px -96px;
}

.ui-icon-locked {
  background-position: -192px -96px;
}

.ui-icon-unlocked {
  background-position: -208px -96px;
}

.ui-icon-bookmark {
  background-position: -224px -96px;
}

.ui-icon-tag {
  background-position: -240px -96px;
}

.ui-icon-home {
  background-position: 0 -112px;
}

.ui-icon-flag {
  background-position: -16px -112px;
}

.ui-icon-calendar {
  background-position: -32px -112px;
}

.ui-icon-cart {
  background-position: -48px -112px;
}

.ui-icon-pencil {
  background-position: -64px -112px;
}

.ui-icon-clock {
  background-position: -80px -112px;
}

.ui-icon-disk {
  background-position: -96px -112px;
}

.ui-icon-calculator {
  background-position: -112px -112px;
}

.ui-icon-zoomin {
  background-position: -128px -112px;
}

.ui-icon-zoomout {
  background-position: -144px -112px;
}

.ui-icon-search {
  background-position: -160px -112px;
}

.ui-icon-wrench {
  background-position: -176px -112px;
}

.ui-icon-gear {
  background-position: -192px -112px;
}

.ui-icon-heart {
  background-position: -208px -112px;
}

.ui-icon-star {
  background-position: -224px -112px;
}

.ui-icon-link {
  background-position: -240px -112px;
}

.ui-icon-cancel {
  background-position: 0 -128px;
}

.ui-icon-plus {
  background-position: -16px -128px;
}

.ui-icon-plusthick {
  background-position: -32px -128px;
}

.ui-icon-minus {
  background-position: -48px -128px;
}

.ui-icon-minusthick {
  background-position: -64px -128px;
}

.ui-icon-close {
  background-position: -80px -128px;
}

.ui-icon-closethick {
  background-position: -96px -128px;
}

.ui-icon-key {
  background-position: -112px -128px;
}

.ui-icon-lightbulb {
  background-position: -128px -128px;
}

.ui-icon-scissors {
  background-position: -144px -128px;
}

.ui-icon-clipboard {
  background-position: -160px -128px;
}

.ui-icon-copy {
  background-position: -176px -128px;
}

.ui-icon-contact {
  background-position: -192px -128px;
}

.ui-icon-image {
  background-position: -208px -128px;
}

.ui-icon-video {
  background-position: -224px -128px;
}

.ui-icon-script {
  background-position: -240px -128px;
}

.ui-icon-alert {
  background-position: 0 -144px;
}

.ui-icon-info {
  background-position: -16px -144px;
}

.ui-icon-notice {
  background-position: -32px -144px;
}

.ui-icon-help {
  background-position: -48px -144px;
}

.ui-icon-check {
  background-position: -64px -144px;
}

.ui-icon-bullet {
  background-position: -80px -144px;
}

.ui-icon-radio-on {
  background-position: -96px -144px;
}

.ui-icon-radio-off {
  background-position: -112px -144px;
}

.ui-icon-pin-w {
  background-position: -128px -144px;
}

.ui-icon-pin-s {
  background-position: -144px -144px;
}

.ui-icon-play {
  background-position: 0 -160px;
}

.ui-icon-pause {
  background-position: -16px -160px;
}

.ui-icon-seek-next {
  background-position: -32px -160px;
}

.ui-icon-seek-prev {
  background-position: -48px -160px;
}

.ui-icon-seek-end {
  background-position: -64px -160px;
}

.ui-icon-seek-start {
  background-position: -80px -160px;
}

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
  background-position: -80px -160px;
}

.ui-icon-stop {
  background-position: -96px -160px;
}

.ui-icon-eject {
  background-position: -112px -160px;
}

.ui-icon-volume-off {
  background-position: -128px -160px;
}

.ui-icon-volume-on {
  background-position: -144px -160px;
}

.ui-icon-power {
  background-position: 0 -176px;
}

.ui-icon-signal-diag {
  background-position: -16px -176px;
}

.ui-icon-signal {
  background-position: -32px -176px;
}

.ui-icon-battery-0 {
  background-position: -48px -176px;
}

.ui-icon-battery-1 {
  background-position: -64px -176px;
}

.ui-icon-battery-2 {
  background-position: -80px -176px;
}

.ui-icon-battery-3 {
  background-position: -96px -176px;
}

.ui-icon-circle-plus {
  background-position: 0 -192px;
}

.ui-icon-circle-minus {
  background-position: -16px -192px;
}

.ui-icon-circle-close {
  background-position: -32px -192px;
}

.ui-icon-circle-triangle-e {
  background-position: -48px -192px;
}

.ui-icon-circle-triangle-s {
  background-position: -64px -192px;
}

.ui-icon-circle-triangle-w {
  background-position: -80px -192px;
}

.ui-icon-circle-triangle-n {
  background-position: -96px -192px;
}

.ui-icon-circle-arrow-e {
  background-position: -112px -192px;
}

.ui-icon-circle-arrow-s {
  background-position: -128px -192px;
}

.ui-icon-circle-arrow-w {
  background-position: -144px -192px;
}

.ui-icon-circle-arrow-n {
  background-position: -160px -192px;
}

.ui-icon-circle-zoomin {
  background-position: -176px -192px;
}

.ui-icon-circle-zoomout {
  background-position: -192px -192px;
}

.ui-icon-circle-check {
  background-position: -208px -192px;
}

.ui-icon-circlesmall-plus {
  background-position: 0 -208px;
}

.ui-icon-circlesmall-minus {
  background-position: -16px -208px;
}

.ui-icon-circlesmall-close {
  background-position: -32px -208px;
}

.ui-icon-squaresmall-plus {
  background-position: -48px -208px;
}

.ui-icon-squaresmall-minus {
  background-position: -64px -208px;
}

.ui-icon-squaresmall-close {
  background-position: -80px -208px;
}

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px;
}

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px;
}

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px;
}

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px;
}

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px;
}

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px;
}

/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa;
  opacity: 0.3;
  -ms-filter: Alpha(Opacity=30);
  /* support: IE8 */
}

.ui-widget-shadow {
  box-shadow: 0px 0px 5px #666666;
}
