* {
    padding: 0;
    margin: 0;
    border: 0;
    outline: 0;
    font-style: normal;
    font-weight: normal;
    font-optical-sizing: auto;
}
*, *::before, *::after {
    box-sizing: border-box;
}
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    scroll-behavior: smooth !important;
/*
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-print-color-adjust: exact;
*/
}


h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { /* HACK */
    font-weight: bold;
    /*word-break: break-all;*/
    word-break: break-word;
}


a, a:visited, .active {
    text-decoration: none;
    cursor: pointer;
}
.active {
}
a, a:visited {
}
a:hover {
}
.underline, .underline *, *.underline { text-decoration: underline;
}
.no-underline, .no-underline *, *.no-underline { text-decoration: none; border-bottom: 0;
}


strong, .bold, b, em/*, .error, .warn*/ {
    font-weight: bold;
}


.error, .error i {
    color: #c00;
}
.warn, .warn i {
    color: #fdac1e;
}
.notice, .notice i {
    color: #0c0;
}
.error i, .warn i, .notice i {
}


.pointer {
    cursor: pointer;
}
.default-cursor {
    cursor: default;
}

.date {
}


.postfix {
    padding-left: 2px;
}


.bold { font-weight: bold; /* 700 */
}
.non-bold { font-weight: normal; /* 400 */
}


.center {
    text-align: center;
/*
    margin-left: auto;
    margin-right: auto;
*/
}


.flex {
    display: flex;
}
.display-none {
    display: none;
}
.display-block {
    display: block;
}
.display-inline-block {
    display: inline-block;
}


hr {
    height: 1px;
    border: 0;
}
.separator {
    padding: 6px 0 6px 0;
}
.separator, hr {
    width: 100%;
    margin: 4px 0 6px 0;
}


.floating li {
    float: left;
}
.floating li:not(:first-child) {
    padding-left: 8px; /* NOTE disabled @since 23.08.2024 */
}
.floating li:before {
    content: none;
}
.blank li { list-style-type: none; }
.blank li:before, .toc li:before { content: ""; padding-right: 0; }
.toc li span {
/*
    width: 160px;
    display: inline-block;
*/
    padding-right: 20px;
    text-align: right;
}


.round-8 {
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}
.round-8-top {
    border-top-left-radius: 8px; border-top-right-radius: 8px;
    border-bottom-right-radius: 0; border-bottom-left-radius: 0;
}
.round-8-bottom {
    border-top-left-radius: 0; border-top-right-radius: 0;
    border-bottom-right-radius: 8px; border-bottom-left-radius: 8px;
}
.round-16 { border-radius: 16px;
}
.round-16-top {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.round-16-bottom {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 16px;
    border-bottom-left-radius: 16px;
}
.round-24 { border-radius: 24px;
}
.round-32 { border-radius: 32px;
}


.text-align-left { text-align: left;
}
.text-align-center { text-align: center;
}
.text-align-right { text-align: right;
}


.clear { clear: both;
}
.clear-mobile {
}
.clear-micro-mobile {
}
.break { clear: both; min-height: <?= $config['base_font_size'] ?>px;
}
.l, .float-l, .float-left { float: left;
}
.r, .float-r, .float-right { float: right; text-align: right;
}


.w100, .100-percent-wide { width: 100%;
}
.w50 { width: 50%;
}
.w25 { width: 25%;
}
.w10 { width: 10%;
}
.w66 { width: 66%;
}
.w33 { width: 33%;
}
.w45 { width: 45%;
}


.padding-0 { padding: 0;
}
.padding-4 { padding: 4px;
}
.padding-8 { padding: 8px;
}
.padding-16 { padding: 16px;
}
.padding-24 { padding: 24px;
}
.padding-32 { padding: 32px;
}
.padding-64 { padding: 64px;
}

.padding-top-0 { padding-top: 0;
}
.padding-top-4px { padding-top: 4px;
}
.padding-top-8px { padding-top: 8px;
}
.padding-top-16px { padding-top: 16px;
}
.padding-bottom-4px { padding-bottom: 4px;
}
.padding-bottom-8px { padding-bottom: 8px;
}
.padding-bottom-16px { padding-bottom: 16px;
}
.padding-left-4px { padding-left: 4px;
}
.padding-left-8px { padding-left: 8px;
}
.padding-left-16px { padding-left: 16px;
}
.padding-right-4px { padding-right: 4px;
}
.padding-right-8px { padding-right: 8px;
}
.padding-right-16px { padding-right: 16px;
}


.margin-top-0 { margin-top: 0;
}
.margin-top-4px { margin-top: 4px;
}
.margin-top-8px { margin-top: 8px;
}
.margin-top-16px { margin-top: 16px;
}
.margin-top-24px { margin-top: 24px;
}
.margin-top-32px { margin-top: 32px;
}
.margin-top-64px { margin-top: 64px;
}
.margin-bottom-4px { margin-bottom: 4px;
}
.margin-bottom-8px { margin-bottom: 8px;
}
.margin-bottom-16px { margin-bottom: 16px;
}
.margin-bottom-24px { margin-bottom: 24px;
}
.margin-bottom-32px { margin-bottom: 32px;
}
.margin-bottom-64px { margin-bottom: 64px;
}
.margin-left-4px { margin-left: 4px;
}
.margin-left-8px { margin-left: 8px;
}
.margin-left-16px { margin-left: 16px;
}
.margin-left-24px { margin-left: 24px;
}
.margin-left-32px { margin-left: 32px;
}
.margin-left-64px { margin-left: 64px;
}
.margin-right-4px { margin-right: 4px;
}
.margin-right-8px { margin-right: 8px;
}
.margin-right-16px { margin-right: 16px;
}
.margin-right-24px { margin-right: 24px;
}
.margin-right-32px { margin-right: 32px;
}
.margin-right-64px { margin-right: 64px;
}


.column-count-1 {
    column-count: 1;
}
.column-count-2 {
    column-count: 2;
}
.column-count-3 {
    column-count: 3;
}
.column-count-4 {
    column-count: 4;
}

.column-left, .column-right { margin-bottom: 1em;
}
.column-left {
    float: left;
    /*width: 52.7%*/;
    /*width: 59.331%;*/
    width: 53%;
}
.column-left {
    padding-right: 16px; /* MUST be in pixels */
    margin-right: 16px; /* MUST be in pixels */
}
.column-left-25 {
    float: left;
    width: 25%;
}

.column-right {
    float: left;
    /*width: 42.3%;*/
    /*width: 36.669%;*/
    width: 36%;
}
.column-right-75 {
    float: right;
    width: 75%;
}

.column3-left, .column3-center, .column3-right {
    float: left;
    width: 29.7%;
    margin-right: 19px;
    padding: 8px;
}


/**
 * Google Maps
 * @see https://www.labnol.org/internet/embed-responsive-google-maps/28333/
 */
.google-maps {
    position: relative;
    padding-bottom: 75%; /* aspect ratio */
    height: 0;
    overflow: hidden;
}
.google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

/*
 * Colour Palettes, Effects, ...
 */

a { text-decoration: none; border: none; }

.sunken {
}
.protruding {
}

::placeholder { color: #707088;
}
::-webkit-input-placeholder { color: #707088;
}
::-moz-placeholder { color: #707088;
}
:-moz-placeholder { color: #707088;
}
:-ms-input-placeholder { color: #707088;
}
::-ms-input-placeholder { color: #707088;
}

::selection {
    color: #fff;
    background-color: #006fb0;
}
::-moz-selection {
    color: #fff;
    background-color: #006fb0;
}

.juice { color: #396c05 }
.bg-juice { background-color: #396c05 }

.error, .error i { color: #c00 }
.warn, .warn i, .warning, .warning i { color: #fdac1e }
.notice, .notice i { color: #0c0 }

.white, .white *, * .white, .white a, .white a:visited, .white:visited { color: #ffffff; }

.default, .default:visited,
.black, .black *, * .black, .black a, .black a:visited, .black:visited { color: #151818; border-bottom-color: #151818; }

.light-black { color: #151818 }
.grey, .grey *, * .grey, .grey a, .grey a:visited, .grey:visited { color: #838996; /*#707088;*/ }
.dark-grey, .dark-grey *, * .dark-grey, .dark-grey a, .dark-grey a:visited, .dark-grey:visited { color: #505663; border-bottom-color: #505663; }
.light-grey, .light-grey a { color: #f0f0f0 }
.bright-red { color: #bf0000 }
.dark-red { color: #8f0000 }
.blue { color: #006fb0; /*#4f82c7;*/ }
.banana { color: #f8e149 }
.lime { color: #20fe20 }
.dark-lime { color: #00ba00 }
.orange/*, .fa-star*/ { color: #fdac1e }
.turquoise { color: #58c4bc }
.aluminium { color: #838996 }
.olive { color: #798779 }
.pink { color: #fb7bff }
.yellow { color: yellow }
.brown { color: brown }
.ancient-bronze { color: #8c6d4a }
.gold { color: #febd2f }
.blueish-green { color: #02b075 }

.bg-white { background: none; background-color: #ffffff }
.bg-black { background: none; background-color: #151818 }
.bg-light-black { background: none; background-color: #151818 }
.bg-grey { background: none; background-color: #838996 }
.bg-light-grey { background: none; background-color: #f0f0f0 }
.bg-dark-grey { background: none; background-color: #505663 }

.bg-bright-red { background: linear-gradient(#bf0000, #8f0000) }
.bg-dark-red { background: linear-gradient(#8f0000, #4f0000) }

.bg-blue { background: linear-gradient(#006fb0, #1c5084) }
.bg-blue:hover { background: linear-gradient(#117fc1, #2d6195) }

.bg-banana { background-color: #f8e149 }
.bg-lime { background: linear-gradient(#20fe20, #86ff86) }
.bg-dark-lime { background: linear-gradient(#00ba00, #86ff86) }
.bg-orange { background: linear-gradient(#fdac1e, #db8a0c) }
.bg-turquoise { background: linear-gradient(#58c4bc, #36a28a) }
.bg-aluminium { background: linear-gradient(#838996, #616774) }
.bg-olive { background: none; background-color: #798779 }
.bg-olive * { color: #151818 }
.bg-yellow { background: linear-gradient(yellow, yellow) }
.bg-red { background: linear-gradient(#bf0000, #8f0000) }
.bg-ancient-bronze { background: linear-gradient(#8c6d4a, #6a4b27) }
.bg-gold { background: linear-gradient(#febd2f, #dc8b0d) }
.bg-blueish-green { background: linear-gradient(#02b075, #009053) }
.bg-pink { background-color: #fb7bff }

.bg-bright-picture * { color: #151818 }
.bg-dark-picture * { color: #fefefe }


