@font-face { font-family: 'Transit'; font-weight: normal; font-style: normal; src: url('../fonts/TransitWeb.woff') format('woff'); }
@font-face { font-family: 'Transit'; font-weight: normal; font-style: italic; src: url('../fonts/TransitWeb-Italic.woff') format('woff'); }
@font-face { font-family: 'Transit'; font-weight: bold; font-style: normal; src: url('../fonts/TransitWeb-Bold.woff') format('woff'); }
@font-face { font-family: 'Transit'; font-weight: bold; font-style: italic; src: url('../fonts/TransitWeb-BoldItalic.woff') format('woff'); }

:root {
    font-size: 62.5%; /* 10px rem base, change rem values if using a different base, ie 16px */
    font-family: 'Transit', sans-serif;
}

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-family: 'Transit', sans-serif;
}

/* header */
.PlainHeader {
    background-color: #ffffff;
    box-shadow: 0 1px 10px #0000001a;
}

.PlainHeader a {
    display: inline-flex;
    height: 4.4rem;
    margin: 1.1rem 0;
    text-decoration: none;
}

.PlainHeader a:focus-visible {
    outline: .2rem solid #f0d722;
    outline-offset: .2rem;
}

.PlainHeader a img {
    border: none;
    max-height: 100%;
    width: 4.4rem;
}

/* footer */
.FooterMetaBar {
    background-color: #373632;
    color: #bbb9b4;
    line-height: 4.4rem;
}

.FooterMetaBar a:focus-visible {
    outline: .2rem solid #f0d722;
    outline-offset: .2rem;
}

/* header und footer */
.header-sticky {
    position: sticky;
    top: 0;
    z-index: 1;
}

.header-dark {
    background-color: #373632;
    line-height: 2.2rem;
}

.header-dark a, .FooterMetaBar a {
    margin: 0 1.1rem;
    padding: .5rem;
    text-decoration: none;
    transition: .25s color ease-out;
    color: #bbb9b4;
}

.FooterMetaBar a {
    white-space: nowrap;
}

.header-dark a:hover, .FooterMetaBar a:hover {
    color: #ffffff;
}

/* input */
input, select {
    width: 100%;
    padding: 1.5rem;
    border: 1px solid #bbb9b4;
    border-radius: 8px;
    margin-bottom: 1rem;
}

label {
    margin-bottom: 1rem;
}

.bvg-label {
    display: flex;
    align-items: center;
}

/* ul, ol */
ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bvg-badge {
    background: #e1e1e1;
    color: #757575;
    margin-right: 1rem;
}

.bvg-badge-active {
    background: #f0d722;
    margin-right: 1rem;
}

.bvg-progress {
    font-size: 1.75rem;
    color: #757575;
}

.step-active {
    font-weight: 700;
    color: #000000;
}

/* button */
button, .button {
    font-size: 2rem;
    line-height: 3rem;
    background-color: #f0d722;
    border-radius: 8px;
    border: .2rem solid #f0d722;
    font-weight: 700;
    padding: .9rem 4rem;
    transition: box-shadow .1s ease-out;
}

.webchat-root button,
.webchat-root .button {
    all: revert;
}
webchat-buttons-template-header,.webchat-buttons-template-header  {
    line-height: revert !important;
}
#webchatWindow .webchat-buttons-template-header,
#webchatWindow .regular-message {
    line-height: 1.3em !important;
    box-shadow: none !important;
}

button.disabled, .button.disabled {
    background-color: #373632;
    color: #bbb9b4;
    border: none;
}

button.smaller, .button.smaller {
    padding: .5rem 2rem;
    font-size: 1.5rem;
}

button.navbar-toggler {
    background: #f0d722;
}

button:hover:not(button.close):not(button.disabled), .button:hover:not(.button.disabled) {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .35);
}

a {
    color: #3156c9;
}

a.button {
    display: inline-block;
    color: #000000;
    text-decoration: none;
}

a.button:not(:last-child) {
    margin-right: 2rem;
}

.button.button-max-size {
    width: 100%;
    max-width: 300px;
    text-align: center;
}

/* card */
.card {
    border-radius: 8px;
}

.card-header {
    background: #f0d722;
}

.card-header:first-child {
    border-radius: 8px 8px 0 0;
    border-bottom: none;
}

.card a {
    color: #252424;
}

.card a:hover {
    opacity: .7;
}

.hide, .hidden {
    display: none;
}

#landkreiseSVG {
    max-height: 65rem;
}

/* breadcrumb */
.breadcrumb {
    background: transparent;
    margin: 2rem 0 0;
    padding-left: 0;
}

.breadcrumb li {
    display: inline-block;
}

.breadcrumb li:not(:last-child):after {
    content: '\003E';
    margin: 0 .25rem;
}

.breadcrumb li a {
    color: #252424;
    text-decoration: none;
}

.breadcrumb li a:hover {
    text-decoration: underline;
    opacity: .7;
}

.breadcrumb li > span {
    font-weight: 700;
}

/* parsley */
.parsley-required {
    color: #8c0006;
}

.nowrap {
    white-space: nowrap;
}

.help-icon {
    height: 2.5rem;
    width: 2.5rem;
    vertical-align: initial;
}

.help-icon:hover {
    cursor: pointer;
}

.h3-align-middle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

/* Bildverarbeitung */
#portrait-container {
    position: relative;
    cursor: pointer;
}

#portrait-container.grabbable {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

#portrait-container.grabbable:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

#defaultCanvas, #portrait-container-data {
    border: 1px solid lightgray;
    width: 100%;
    max-width: 410px;
}

#portrait-container, #portrait-container img {
    margin: auto;
    width: 100%;
    max-width: 410px;
    overflow: hidden;
}

#controls {
    margin: auto;
    overflow: hidden;
    width: 200px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#controls ul {
    height: 50px;
    margin: 0;
    padding: 0;
}

#controls ul li {
    text-align: center;
    cursor: pointer;
    font-size: 1.6em;
    float: left;
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: block;
    width: 20%;
    height: 80%;
    background-color: #2A2A2A;
    color: #f0d722;
    line-height: 2em;
}

#controls ul li span {
    padding: 7px;
}

.background-transparent-50 {
    background: rgba(0, 0, 0, .5);
}

.video {
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.login-error {
    width: 75%;
    margin-top: 2rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.login-container .card {
    border: none;
}

.login-container .help-icon {
    height: 2.5rem;
    width: 2.5rem;
}

.login-container .help-icon:hover {
    cursor: initial;
}

#noscript {
    position: sticky;
    text-align: center;
    width: 100%;
    font-size: larger;
    z-index: 1000;
    top: 0;
    left: 0;
    padding: 5px;
}

.w-40 {
    width: 40%;
}

label.fontsize-bigger, em.fontsize-bigger, span.fontsize-bigger, p.fontsize-bigger {
    font-size: 1.75rem;
}

label.address-error-hint {
    background: #ffdad1;
    color: #8c0006;
    padding-left: 2.75rem;
    padding-right: .5rem;
}

label.info-icon:before {
    width: 1.5rem;
    height: 1.5rem;
    background: url('../img/info.svg') center no-repeat;
    background-size: cover;
    content: '';
    position: absolute;
    top: 40%;
    left: 2rem;
    transform: translateY(-50%);
}

input[type=checkbox].checkbox-bigger {
    height: 1.5rem;
    width: 1.5rem;
}

#userData-error {
    font-size: inherit;
}

.btn.position-top {
    position: absolute;
    top: .1em;
    right: .3em;
}

.button_klein {
    font-size: inherit;
    line-height: inherit;
}

.reset-font-size {
    font-size: initial;
}

.bg-primary {
    background-color: #d8e3ef !important;
    color: #004573 !important;
}

@media screen and (max-device-width: 768px) {
    .login-container {
        position: relative;
        left: initial;
        top: initial;
        transform: none;
        margin: 0;
        padding: 0;
    }
}

@media screen and (max-device-width: 375px) and (orientation: portrait) {
    .w-40 {
        width: auto !important;
    }
}

@media screen and (max-device-width: 414px) and (orientation: portrait) {
    .w-40 {
        width: auto !important;
    }
}
