html {
 width:100%;
 height:100%;

 scroll-behavior:smooth;

 --button-gap:5px;
 --button-size:34px;

 --global-border-radius:3px;
 --grid-aside-columns-gap:7.5px;
 --input-height:32px;

 --lighter-blue:#c9e0ee;
 --light-blue:#c1d5e1;
 --mid-blue:#6caed4;
 --dark-blue:#1d4672;

 --lighter-gray:#f0f0f0;
 --light-gray:#e0e0e0;
 --mid-gray:#808080;

 --error-color:#f44336;
 --warning-color:#ff9800;
 --info-color:#2196f3;
 --success-color:#4caf50;

 --edit-focus-color:var(--lighter-blue);
 --edit-fail-focus-color:#ffdddd;
 --edit-fail-color:#ff9999;
 --edit-readonly-color:var(--light-gray);

 --background-color:var(--light-blue);
 --primary-color:var(--dark-blue);
 --form-primary-color:var(--light-blue);
}

*:focus {
 outline:none;
}

:root {
 color-scheme:only light;
}

body {
 margin:0;
 padding:0;

 color:var(--primary-color);
 font-family:Verdana,Arial,Helvetica,sans-serif;
 font-size:14px;
 font-weight:normal;
 letter-spacing:0;
 line-height:18px;
}

a {
 color:var(--primary-color);
}

a img {
 border:0;
}

span[onClick] {
 cursor:pointer;
}

.alert, .alert a,
.error, .error a,
.suspended {
 color:var(--error-color);
 font-weight:bold;
}

.br {
 margin-bottom:var(--input-height)!important;
}

.hide {
 display:none!important;
}

.link {
 text-decoration:underline;
}

.monospace {
 font-family:'Courier New',Courier,monospace;
}

.nowrap {
 white-space:pre-wrap;
 word-wrap:break-word;
}

.passive {
 opacity:.5!important;
 cursor:not-allowed!important;
}

h1 {
 margin:var(--input-height) 0 var(--grid-aside-columns-gap);

 font-size:16px;
 line-height:18px;
 width:100%;
}

fieldset h1:first-of-type,
body > h1:first-of-type {
 margin-top:var(--grid-aside-columns-gap);
}

div.box h1:first-of-type,
td h1:first-of-type {
 margin-top:0;
}

h2 {
 margin:var(--grid-aside-columns-gap) 0 0;

 font-size:14px;
 line-height:18px;
 width:100%;
}

p {
 margin:var(--grid-aside-columns-gap) 0;
 padding:0;

 hyphens:auto;
}

p.info {
 margin:0;
 padding-left:22px;

 background-image:url('icon/blue/info.svg');  /* Default ICON */
 background-position:0 1px;
 background-repeat:no-repeat;
 background-size:auto 18px;

 min-height:24px;
}

p.info.error {
 background-image:url('icon/red/error.svg');
}

p.info:empty {
 display:none;
}

div.green,
div.green a {
 color:var(--success-color);
}

pre, tt {
 margin:var(--grid-aside-columns-gap) 0;
 padding:0;

 font-family:'Courier New',Courier,monospace;
 font-weight:bold;
 font-size:16px;
 line-height:17px;
 white-space:pre-wrap;
 word-wrap:break-word;
}

progress {
 height:var(--input-height);
 width:100%;
}

/* List - BEGIN */

dl,
ol,
ul {
 margin:var(--grid-aside-columns-gap) 0;
 padding:0;
}

dt,
dd,
li {
 padding:0;
 margin:0;

 hyphens:auto;
}

li {
 margin-left:21px;
}

dt {
 font-weight:bold;
}

dt + dd,
li + li {
 margin-top:.5em;
}

dd + dt {
 margin-top:1em;
}

dl.faq dd::before {
 content:'A: ';

 font-weight:bold;
}

dl.faq dd {
 margin-left:1em;
}

dl.faq dt::before {
 content:'Q: ';
}

dl.faq dt:lang(de)::before {
 content:'F: ';
}

/* List - END */

/* AC - BEGIN */

.AC {
 margin:-1px 0 0;
 border:1px solid var(--form-primary-color);
 border-radius:var(--global-border-radius);
 padding:0;

 background-color:white;
 cursor:default;
 left:0;
 position:absolute;
 top:0;
 width:auto;
 z-index:1100;
}

.AC ul {
 pointer-events:none;
}

.AC li {
 margin:0;
 padding:4px 10px;

 cursor:pointer;
 font-size:16px;
 line-height:20px;
 list-style:none;
}

.AC li.focus {
 background-color:var(--mid-blue)!important;
 color:white;
}

.AC li:hover {
 background-color:var(--light-gray);
}

.AC li.focus:first-of-type,
.AC li:first-of-type:hover {
 border-radius:var(--global-border-radius) var(--global-border-radius) 0 0;
}

.AC li.focus:last-child,
.AC li:last-child:hover {
 border-radius:0 0 var(--global-border-radius) var(--global-border-radius);
}

/* AC - END */

tt.result {
 background-repeat:no-repeat;
 background-position:0 center;
 background-size:32px;

 display:block;
 min-height:32px;
}

tt.result span {
 margin-left:40px;
 display:inline-block;
}

tt.error {
 background-image:url('icon/red/error.svg');
}

tt.warning {
 background-image:url('icon/orange/warning.svg');
}

tt.info {
 background-image:url('icon/blue/info.svg');
}

tt.success {
 background-image:url('icon/green/success.svg');
}

q {
 quotes:'\201C' '\201D' '\2018' '\2019';
}

q:lang(de) {
 quotes:'\201E' '\201C' '\201A' '\2018';
}

/* Snackbar - BEGIN */

#snackbar {
 position:fixed;
 z-index:2000;

 display:grid;
 align-items:center;

 left:15px;
 right:15px; 
 bottom:10px;
 height:auto;

 pointer-events:none;
}

#snackbar ol {
 margin:0 auto;

 width:750px;
 max-width:80vw!important;
}

#snackbar li {
 margin:0;

 pointer-events:all;
}

#snackbar li + li {
 margin-top:10px;
}

#snackbar button {
 height:auto;
 min-height:var(--button-size);
 width:100%;

 color:white;
 text-align:left;
}

#snackbar button.icon {
 background-position:6px center;
 background-size:auto 24px;
}

#snackbar button.error {
 background-color:var(--error-color);
}

#snackbar button.warning {
 background-color:var(--warning-color);
}

#snackbar button.info {
 background-color:var(--info-color);
}

#snackbar button.success {
 background-color:var(--success-color);
}

#snackbar button span {
 white-space:unset;
}

#snackbar span.insert {
 display:inline-block;
 padding-left:unset;
}

#snackbar span.insert:empty {
 display:none;
}

/* Snackbar - ENDE */

/* Status - BEGIN */

col.status,
th.status {
 width:131px;
}

th.status:last-child {
 width:136px;
}

th.status.ctot,
th.status.timer {
 width:69px;
}

span.status {
 padding:6px 0 0 24px;
 border:2px var(--success-color) solid;
 border-radius:var(--global-border-radius);

 background-image:url('icon/green/check.svg');
 background-position:3px center;
 background-repeat:no-repeat;
 background-size:auto 14px;

 height:24px;
 width:108px;

 display:inline-block;

 color:var(--success-color);
 font-variant:small-caps;
 text-align:left;
}

span.status.arrived,
span.status.departed {
 background-image:url('icon/green/departed.svg');
 background-size:20px;
}

span.status.arrived {
 background-image:url('icon/green/arrived.svg');
}

span.status.cancelled,
span.status.expired,
span.status.replaced,
table.other span.status.arrived,
table.other span.status.rejected {
 border-color:var(--mid-gray);

 color:var(--mid-gray);
}

table.other span.status.arrived {
 background-image:url('icon/gray/arrived.svg');
}

span.status.cancelled,
span.status.replaced,
table.other span.status.rejected {
 background-image:url('icon/gray/reset.svg');
 background-position:6px;
}

span.status.expired {
 background-image:url('icon/gray/expired.svg');
 background-size:auto 18px;
}

span.status.cancelling,
span.status.inprogress,
span.status.pending,
span.status.queued,
span.status.reserved {
 border-color:var(--info-color);

 background-image:url('icon/blue-info/hourglass.svg');
 background-position:6px;
 background-size:auto 18px;

 color:var(--info-color);
}

span.status.alert,
span.status.ctot,
span.status.rejected,
span.status.suspended,
span.status.timedout,
span.status.timer {
 border-color:var(--error-color);

 background-image:url('icon/red/fail.svg');
 background-position:6px;

 color:var(--error-color);
}

span.status.ctot,
span.status.timedout,
span.status.timer {
 background-image:url('icon/red/clock.svg');
 background-position:3px;
 background-size:auto 18px;
}

span.status.ctot,
span.status.timer {
 width:46px;
}

/* Status - ENDE */

/* Hilfe - BEGIN */

div.helper {
 margin:37px 0 0;
 padding:0;

 position:absolute;
 z-index:1;

 display:grid;
 align-items:center;

 pointer-events:none;
}

div.helper > div {
 margin:0 auto 35px;
 border-radius:var(--global-border-radius);

 width:100%;
 max-width:890px;

 background-color:var(--lighter-gray);
 cursor:help;
 pointer-events:all;
}

div.helper > div div {
 padding:var(--grid-aside-columns-gap);
}

div.helper button.close {
 width:26px;
 height:26px;

 background-color:transparent!important;
 background-image:url('icon/blue/close.svg');
 background-repeat:no-repeat;
 cursor:pointer;
}

div.helper h2 {
 margin-top:calc(var(--grid-aside-columns-gap) * 2);
}

div.helper p.info {
 margin:-32px 41px 0 var(--grid-aside-columns-gap);

 font-weight:bold;
}

div.helper q {
 quotes:'' '' '' '';

 color:var(--error-color);
 font-style:italic;
}

/* Hilfe - ENDE */

/* NAV - BEGIN */

nav ol,
nav ul {
 margin:0;

 list-style:none;
}

nav a {
 text-decoration:none;
}

[data-context] {
 margin:3px 0 0;
 border-radius:var(--global-border-radius);
 border-right:3px solid var(--dark-blue);
 border-left:3px solid var(--dark-blue);

 background-color:white;

 position:absolute;
 z-index:1;
}

[data-context]:not([data-template-id]) {
 display:none;
}

[data-context] ul li {
 margin:0;
}

[data-context] ul li + li {
 margin-top:3px;
}

[data-context] ul li button {
 margin:0;
 border-radius:0;

 text-align:left;
 width:100%;
}

/* NAV - ENDE */

/* Form - BEGIN  */

fieldset {
 margin:0 0 var(--grid-aside-columns-gap);
 border:0;
 padding:0;

 width:auto;
 height:auto;
}

fieldset nav ul {
 padding-bottom:0;
 padding-left:unset; 
}

fieldset legend {
 margin:0;
 border-radius:var(--global-border-radius);
 padding:0;

 font-size:16px;
 font-weight:bold;
}

[data-accordion]:not(.expanded) > *:not(legend) {
 display:none;
}

[data-accordion] > legend {
 padding:.65em 35px .65em 1em;
 background-color:var(--form-primary-color);

 line-height:23.2px;

 width:100%;
 box-sizing:border-box;
 cursor:pointer;
 position:relative;
}

[data-accordion] > legend span.number {
 position:absolute;
 right:35px;
}

[data-accordion] > legend span.dot {
 border-radius:50%;

 background-color:var(--success-color);
 color:white;
 text-align:center;
 line-height:var(--button-size);

 position:absolute;
 height:var(--button-size);
 right:calc(var(--button-size) * -.5);
 top:calc(var(--button-size) * -.5);
 width:var(--button-size);
}

[data-accordion].other > legend {
 background-color:var(--light-gray);
}

[data-accordion].special > legend {
 background-color:var(--primary-color);
 color:white; 
}

[data-accordion] > legend::after {
 background-image:url('icon/blue/pfeil.svg');
 background-size:100%;
 background-position:100% 50%;
 background-repeat:no-repeat;

 content:' ';
 display:block;
 position:absolute;
 right:10px;
 top:50%;
 width:20px;
 height:20px;
 transform:translateY(-50%);
}

[data-accordion].special > legend::after {
 background-image:url('icon/white/pfeil.svg');
}

[data-accordion].expanded > legend::after {
 transform:translateY(-50%) rotate(90deg);
}

[data-accordion] fieldset legend {
 font-size:inherit;
}

/* Tabellen - BEGIN */ 

table {
 margin:var(--grid-aside-columns-gap) 0;
 border:0;
 border-collapse:collapse;
 border-spacing:0;
 padding:0;

 table-layout:fixed;

 width:100%;
}

table + table {
 margin-top:var(--input-height);
}

th {
 padding:.65em 5px;

 font-size:16px;
 text-align:left;
}

th:first-child {
 border-radius:var(--global-border-radius) 0 0 0;
 padding-left:10px;
}

th:last-child {
 border-radius:0 var(--global-border-radius) 0 0;
}

th:only-child {
 border-radius:var(--global-border-radius) var(--global-border-radius) 0 0;
}

col.oneButton,
th.oneButton {
 width:var(--button-size);
}

col.button,
th.button {
 width:calc(var(--button-size) + var(--button-gap) + var(--button-size));
}

th.icon {
 padding-left:44px;

 background-image:url('icon/blue/check.svg');  /* Default ICON */
 background-position:13px center;
 background-repeat:no-repeat;
 background-size:auto 18px;
}

th.aircraft {
 background-image:url('icon/blue/aircraft.svg');
}

th.approach {
 background-image:url('icon/blue/approach.svg');
}

th.customer {
 background-image:url('icon/blue/customer.svg');
}

th.favourite {
 background-image:url('icon/blue/favourite.svg');
}

th.flightplan {
 background-image:url('icon/blue/flightplan.svg');
}

th.group {
 background-image:url('icon/blue/group.svg');
}

th.notam {
 background-image:url('icon/blue/publish_notam.svg');
}

th.route {
 background-image:url('icon/blue/route.svg');
}

th.search {
 background-image:url('icon/blue/search.svg');
}

th.share {
 background-image:url('icon/blue/share.svg');
}

th.validate {
 background-image:url('icon/blue/validate.svg');
}

th.view {
 background-image:url('icon/blue/view.svg');
 background-size:18px auto;
}

td {
 padding:0 5px;

 vertical-align:top;
 text-align:left;
}

td.load,
div.load:empty {
 background-image:url('icon/blue/loader.svg');
 background-position:center center;
 background-repeat:no-repeat;
 height:32px;
}

td.load button,
td.load span {
 display:none;
}

td.right {
 text-align:right;
}

table.other tr,
table.own tr,
table.search tr {
 height:44px;
}

table tr.action {
 background-color:var(--edit-fail-focus-color)!important;
}

table.other td,
table.own td,
table.search td {
 vertical-align:middle;
}

table.other tr.mark {
 background-color:var(--lighter-gray);
}

table.other th,
table.search th {
 background-color:var(--light-gray);
}

table.other td,
table.search td {
 border-bottom:1px var(--light-gray) solid;
}

table.own tr.mark {
 background-color:var(--lighter-blue);
}

table.own th {
 background-color:var(--light-blue);
}

table.own td {
 border-bottom:1px var(--light-blue) solid;
}

table.official {
 margin-bottom:2em;

 font-weight:bold;
}

table.official td {
 width:33%;
}

table.official td:nth-child(2) {
 font-size:18px;
 text-align:center;
 vertical-align:middle;
}

table.official td:last-child {
 text-align:right;
}

table.BlockedSlots tfoot,
table.BlockedSlots tbody:empty ~ thead {
 display:none;
}


table.BlockedSlots tbody:empty ~ tfoot {
 display:table-cell;
}

/* Tabellen - END */ 

/* Input Form - BEGIN */

input,
select,
textarea {
 border:1px solid var(--form-primary-color);
 border-radius:var(--global-border-radius);
 padding:0 10px;

 background-color:white;
 color:var(--primary-color);
 font-family:Verdana,Arial,Helvetica,sans-serif;
 font-size:16px;
 font-weight:normal;
 letter-spacing:0;
 text-align:left;
 text-decoration:none;

 flex:1;
 height:var(--input-height);
 min-width:20px;
 width:100%;
}

textarea {
 padding-top:10px;
 padding-right:44px;

 height:6em;
 resize:none;

 overflow:auto;
}

textarea[rows='2'] {
 height:3em;
}

textarea[rows='15'] {
 height:15em;
}

select {
 height:calc(var(--input-height) + 2px);
}

option {
 background-color:white;
 color:var(--primary-color);
 font-family:Verdana,Arial,Helvetica,sans-serif;
 font-size:16px;
 line-height:20px!important;
}

option[disabled='disabled'] {
 color:var(--light-gray);
}

optgroup[label] {
 background-color:white;
 color:var(--primary-color);
 font-family:Verdana,Arial,Helvetica,sans-serif;
 font-size:16px;
 font-style:normal;
 font-weight:bold;
 line-height:20px!important;
}

input[type='file'] {
 opacity:0;
}

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

input:focus,
input[readonly]:focus,
select:focus,
textarea:focus,
textarea[readonly]:focus {
 background-color:var(--edit-focus-color);
}

input.fail:focus,
select.fail:focus,
textarea.fail:focus {
 background-color:var(--edit-fail-focus-color);
}

input:invalid,
input.fail,
select:invalid,
select.fail,
textarea:invalid,
textarea.fail {
 background-color:var(--edit-fail-color);
}

input[readonly],
input[type='checkbox']:disabled + label::before,
input[type='radio']:disabled + label::before,
select[disabled],
textarea[readonly] {
 background-color:var(--edit-readonly-color);
}

button {
 border:0 none;
 border-radius:var(--global-border-radius);
 padding:0 1em;

 display:inline-block;
 overflow:hidden;

 background-color:var(--primary-color);
 color:white;
 cursor:pointer;
 font-size:14px;
 font-weight:bold;
 text-align:center;
}

button.green {
 background-color:var(--success-color);
}

button:disabled {
 background-color:rgba(29, 70, 114, .5);
}

button + button {
 margin-left:var(--button-gap)!important;
}

div.tiles button.huge span {
 background-repeat:no-repeat;
 background-position:left center;
 background-size:auto;
 background-image:url('icon/white/delete.svg');

 cursor:pointer;
}

div.tiles button.huge.passive span {
 background-image:none;

 cursor:default;
}

button.icon {
 background-image:url('icon/white/check.svg');  /* Default ICON */
 background-position:8px center;
 background-repeat:no-repeat;
 background-size:auto 18px;

 height:var(--button-size);
 min-width:120px;
}

button.icon span {
 padding-left:22px;
 display:block;

 white-space:nowrap;
}

button.context,
button.only {
 width:var(--button-size);
 min-width:unset;
}

button.full {
 margin-left:0;

 background-size:auto 24px;

 height:44px;
 width:100%;
}

button.huge {
 margin-left:0;

 background-position:center 15px;
 background-size:auto 85px;

 height:136px;
 width:100%;
}

button.huge span {
 margin-top:100px;
 padding-left:0;
}

button.w100 {
 width:100%;
}

button.accept,
button.ok {
 background-image:url('icon/white/check.svg');
}

button.aircraft {
 background-image:url('icon/white/aircraft.svg');
}

button.airdrone {
 background-image:url('icon/white/airdrone.svg');
}

button.approach {
 background-image:url('icon/white/approach.svg');
}

button.arrival {
 background-image:url('icon/white/arrival.svg');
}

button.atfmx {
 background-image:url('icon/white/atfmx.svg');
}

button.back {
 background-image:url('icon/white/back.svg');
}

button.balloon {
 background-image:url('icon/white/balloon.svg');
}

button.briefing_aip {
 background-image:url('icon/white/briefing_aip.svg');
}

button.briefing_aup {
 background-image:url('icon/white/briefing_aup.svg');
}

button.briefing_bulletin {
 background-image:url('icon/white/briefing_bulletin.svg');
}

button.briefing_fra {
 background-image:url('icon/white/briefing_fra.svg');
}

button.briefing_notam {
 background-image:url('icon/white/briefing_notam.svg');
}

button.cancel {
 background-image:url('icon/white/cancel.svg');
}

button.change {
 background-image:url('icon/white/change.svg');
}

button.icon.change {
 background-position-x:6px;
}

button.contact24 {
 background-image:url('icon/white/contact24.svg');
}

button.context {
 background-image:url('icon/white/context.svg');
}

button.flightplan {
 background-image:url('icon/white/flightplan.svg');
}

button.parachute {
 background-image:url('icon/white/parachute.svg');
}

button.preferences {
 background-image:url('icon/white/preferences.svg');
}

button.probes {
 background-image:url('icon/white/probes.svg');
}

button.clear {
 background-image:url('icon/white/clear.svg');
}

button.continue {
 background-image:url('icon/white/continue.svg');
}

button.delay {
 background-image:url('icon/white/delay.svg');
}

button.departure {
 background-image:url('icon/white/departure.svg');
}

button.photo {
 background-image:url('icon/white/photo.svg');
}

button.csv {
 background-image:url('icon/white/pdf.svg');
}

button.delete {
 background-image:url('icon/white/delete.svg');
}

button.deny {
 background-image:url('icon/white/deny.svg');
}

button.edit {
 background-image:url('icon/white/edit.svg');
}

button.error {
 background-image:url('icon/white/error.svg');
}

button.favourite,
button.unknown {
 background-image:url('icon/white/favourite.svg');
}

button.hidden {
 background-image:url('icon/white/hidden.svg');
}

button.info {
 background-image:url('icon/white/info.svg');
}

button.key {
 background-image:url('icon/white/key.svg');
 background-size:18px auto;
}

button.key.full {
 background-size:24px auto;
}

button.kml {
 background-image:url('icon/white/kml.svg');
}

button.map {
 background-image:url('icon/white/map.svg');
}

button.new {
 background-image:url('icon/white/plus.svg');
}

button.pdf {
 background-image:url('icon/white/pdf.svg');
}

button.print {
 background-image:url('icon/white/print.svg');
}

button.publish_notam {
 background-image:url('icon/white/publish_notam.svg');
}

button.publish_notam_cancel {
 background-image:url('icon/white/publish_notam_cancel.svg');
}

button.publish_notam_change {
 background-image:url('icon/white/publish_notam_change.svg');
}

button.publish_notam_create {
 background-image:url('icon/white/publish_notam_create.svg');
}

button.register {
 background-image:url('icon/white/register.svg');
}

button.route {
 background-image:url('icon/white/route.svg');
}

button.save {
 background-image:url('icon/white/save.svg');
}

button.search {
 background-image:url('icon/white/search.svg');
}

button.send {
 background-image:url('icon/white/send.svg');
}

button.share {
 background-image:url('icon/white/share.svg');
}

button.skylantern {
 background-image:url('icon/white/skylantern.svg');
}

button.success {
 background-image:url('icon/white/success.svg');
}

button.validate {
 background-image:url('icon/white/validate.svg');
}

button.warning {
 background-image:url('icon/white/warning.svg');
}

button.view {
 background-image:url('icon/white/view.svg');
 background-size:18px auto;
}

input.help[type='button'],
input.wizard[type='button'] {
 margin:0;
 border-radius:0 var(--global-border-radius) var(--global-border-radius) 0;
 padding:0;

 color:rgba(0, 0, 0, 0);  /* FAKE */
 background-color:var(--form-primary-color);
 background-position:center;
 background-repeat:no-repeat;
 background-size:auto 18px;
 background-image:url('icon/blue/help.svg');

 cursor:help;
 height:var(--button-size);
 width:var(--button-size);

 align-self:flex-start;
 align-items:center;
 flex:unset;
}

label + input.help[type='button'],
label + input.wizard[type='button'] {
 border-radius:var(--global-border-radius);
}

input.wizard[type='button'],
th.wizard {
 background-image:url('icon/blue/wizard.svg');
}

input[name$='_SEARCH'] {
 padding-right:32px;
}

span.reset {
 margin-left:calc(var(--button-size) * -1);

 background-position:center;
 background-repeat:no-repeat;
 background-size:12px;
 background-image:url('icon/blue/reset.svg');

 height:var(--button-size);
 width:var(--button-size);
}

input:read-only + span.reset,
input:placeholder-shown + span.reset {
 display:none;
}

textarea + input[id$='_HELP_BTN'] {
 margin-left:calc(var(--button-size) * -1)!important;
 margin-top:1px!important;
 border-radius:0 var(--global-border-radius)!important;
}

input[readonly] + input[id$='_HELP_BTN'],
input[readonly] + span + input[id$='_HELP_BTN'],
textarea[readonly] + input[id$='_HELP_BTN'] {
 display:none;
}

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

input[type='checkbox'] + label,
input[type='radio'] + label {
 padding:0;

 align-items:center;
 display:inline-flex;

 font-weight:normal!important;
 width:auto;
}

br + input[type='checkbox'] + label,
br + input[type='radio'] + label {
 width:100%;
}

input[type='checkbox'] + label::before,
input[type='radio'] + label::before {
 margin-right:.6em;
 border-radius:var(--global-border-radius);
 border:1px solid var(--form-primary-color);

 content:'';
 min-width:var(--input-height);
 height:var(--input-height);

 background-repeat:no-repeat;
 background-color:white;
 background-position:center center;
 background-size:24px;
}

input[type='checkbox'][data-required='true'].fail + label::before,
input[type='radio'][data-required='true'].fail + label::before {
 background-color:var(--edit-fail-color);
}

input[type='checkbox'] + label:empty,
input[type='radio'] + label:empty {
 width:var(--input-height);
}

input[type='checkbox'] + label::after,
input[type='radio'] + label::after {
 margin-right:1.2em;
 content:'';
}

input[type='checkbox']:checked + label::before {
 background-image:url('icon/blue/check.svg');
}

input[type='radio']:checked + label::before {
 background-image:url('icon/blue/radiocheck.svg');
}

label {
 display:inline-block;
 vertical-align:top;
 width:100%;
}

label[for] {
 cursor:pointer;
}

label.min {
 width:unset!important;
}

label.need::after,
p.need::before,
span.need::after {
 color:var(--error-color);
 content:'*';
}

label + input[id$='_HELP_BTN'] {
 margin-left:calc(var(--button-size) * -1)!important;
}

div.buttonbar {
 padding-top:var(--input-height);
 padding-bottom:.5em;
}

div.bar {
 margin:0 0 0 auto;

 align-self:end;
 text-align:right;
}

div.buttonbar p.need,
div.buttonbar button {
 margin-bottom:calc(var(--grid-aside-columns-gap) * 2);
}

div.box.auto div.buttonbar button {
 margin-bottom:calc(var(--grid-aside-columns-gap) * -1);

 min-width:100px;
}

/* Form - ENDE  */

div.box {
 margin:0;
 border:1px solid var(--primary-color);
 border-radius:var(--global-border-radius);
 padding:10px;

 overflow:auto;

 background-color:white;
 flex:auto;
 position:relative;
 min-height:114px;
 height:auto;
 max-height:585px;
 width:auto;
}

div.box + div.box {
 margin-top:15px;
}

div.box p {
 font-weight:bold;
}

div.box table {
 margin:0;
}

div.box div.buttonbar {
 padding:0;
}

div.auto {
 min-height:auto;
}

div.center {
 text-align:center;
}

div.plain {
 padding:0!important;
}

div.px136 {
 overflow:hidden;

 height:114px;
}

div.px438 {
 overflow:hidden;

 height:416px;
}

/* Header - BEGIN */

header {
 height:150px;
}

header nav.logo {
 padding:15px 0 11px;

 text-align:center;
}

header div.banner {
 height:48px;

 background-color:var(--mid-blue);
}

header div.banner div {
 margin:0 auto;
 padding:0 40px;

 display:grid;
 grid-template-columns:1fr 1fr;

 max-width:915px;
}

header div.banner div span.title {
 padding-left:5px;
 padding-top:15px;

 color:white; 
 font-size:16px;
 font-weight:bold;
 line-height:18px;

 white-space:nowrap;
}

header div.banner div span.config {
 padding-right:5px;
 padding-top:8px;

 text-align:right;
}

header a + a {
 margin-left:5px;
}

/* Header - ENDE */

/* Content - BEGIN */

main {
 margin:0 auto;
 padding:15px 40px 0;

 min-height:782px;
 max-width:915px;
}

div.application,
div.confirmation {
 flex-grow:1;
}

div.left,
div.right {
 padding:0 0 15px;

 flex-grow:1;
 width:auto;
}

div.right {
 max-width:450px;
}

div.left img,
div.right img {
 margin:20px 0;
 border:0 none;

 position:relative;
 width:450px;
}

div.left img.resize,
div.right img.resize {
 max-width:450px;
 width:100%;
}

div.left img.px136,
div.right img.px136 {
 height:136px;
}

div.left img.px438,
div.right img.px438 {
 height:438px;
}

/* Content - ENDE */

/* Footer - BEGIN */

footer {
 border-width:25px 0 250px;
 border-style:solid;
 border-color:white;

 background-color:var(--primary-color);
}

footer div {
 margin:0 auto;
 border:0 none;
 padding:0 40px;

 display:flow-root;
 min-height:30px;
 max-width:915px;

 color:white;
 font-size:11px;
 line-height:26px;
}

footer div nav {
 float:right;
}

footer div nav a {
 color:white;
 text-decoration:underline;
}

footer a + a {
 margin-left:20px;
}

/* Footer - ENDE */
