/*	————————————————————————————————————————————————————————————————
	layout
	———————————————————————————————————————————————————————————————— */

*, ::before, ::after {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
}

main {
    display: block;
}

main:focus {
    outline: none;
}

body > * > :not(#teaser):not(#header-image) {
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 62em) {
    body > * > :not(#teaser):not(#header-image) {
        padding-left: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2);
        padding-right: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2);
        padding-right: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2 - var(--scrollbar-width, 0px));
    }
}

/*	————————————————————————————————————————————————————————————————
	typography
	———————————————————————————————————————————————————————————————— */

@font-face {
    font-family: 'Source Sans Variable';
    font-style: normal;
    font-weight: 200 900;
    src: url('/assets/fonts/SourceSansVariable-Roman.woff2') format('woff2-variations');
    font-display: fallback;
}

body {
    font-family: 'Source Sans Variable', Calibri, sans-serif;
    font-weight: 400;
    font-weight: 360;
    line-height: 1.4;
}

body,
h4 {
    font-size: 18px;
    font-size: calc((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16);
}

h1 {
    font-size: 35px;
    font-size: calc((35 - 26) / 640 * 100vw + (26 - (35 - 26) / 2) * 1rem / 16);
    margin-top: 1.5em;
}

h2,
h1 .subtitle,
.anfrage-steps > li:not(.current) {
    font-size: 26px;
    font-size: calc((26 - 20) / 640 * 100vw + (20 - (26 - 20) / 2) * 1rem / 16);
    margin-top: 1.2em;
}

h3 {
    font-size: 20px;
    font-size: calc((20 - 18) / 640 * 100vw + (18 - (20 - 18) / 2) * 1rem / 16);
}

h1,
h2,
h3,
h4,
.anfrage-steps > li:not(.current) {
    font-weight: 650;
    line-height: 1.2;
}

.subtitle {
    display: block;
}

main > footer {
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
}

address {
    font-style: normal;
}

b,
strong {
    font-weight: 650;
}

/*
.offices b
{
	font-weight: 650;
}
*/

a[href] {
    color: #2862A1;
}

#breadcrumb-nav,
#pagefooter {
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
}

#breadcrumb-nav {
    font-weight: 666;
}

#pagefooter-menu ul {
    font-weight: 555;
}

#pagefooter-menu p {
    font-weight: 400;
    font-weight: 360;
}

ol,
ul {
    padding-left: 1em;
}

/*	————————————————————————————————————————————————————————————————
	hidden
	———————————————————————————————————————————————————————————————— */

[hidden] {
    display: none !important;
}

.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

.visually-hidden a:focus,
.visually-hidden input:focus,
.visually-hidden button:focus {
    position: static;
    width: auto;
    height: auto;
}

/*	————————————————————————————————————————————————————————————————
	images
	———————————————————————————————————————————————————————————————— */

img,
svg {
    max-width: 100%;
}

svg {
    width: auto;
    height: auto;
    fill: currentColor;
}

#header-image {
    background: #f1f1f1;
}

#header-image img {
    display: block;
    margin: auto;
    width: 100%;
    max-width: 90rem;
}

figure {
    margin-left: 0;
    margin-right: 0;
}

figcaption {
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
}

a img {
    border: none;
}

/*	————————————————————————————————————————————————————————————————
	page header
	———————————————————————————————————————————————————————————————— */

[data-main-nav-position="sticky"] #pageheader {
    display: inline;
}

[data-main-nav-position="sticky"] #main-nav {
    position: sticky;
}

[data-main-nav-position="fixed"] #main-nav {
    position: fixed;
    width: 100%;
}

[data-main-nav-position="fixed"] body {
    padding-top: 5em; /* magic number, overwritten with JavaScript */
}

[data-main-nav-position] #main-nav {
    top: 0;
    z-index: 1;
    background: white;
    border-bottom: thin solid #eaeaea;
}

#main-nav {
    padding-top: 1em;
    padding-bottom: 1em;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    color: #2c639f;
    font-weight: 500;
}

#site-logo {
    width: calc(379.45 / 63.72 * 3.5em);
    width: calc((5 - 3.5) / 640 * 100vw + (3.5 - (5 - 3.5) / 2) * 379.45 / 63.72 * 1em);
    height: 3.5em;
    height: calc((5 - 3.5) / 640 * 100vw + (3.5 - (5 - 3.5) / 2) * 1em);
    transform: translate(-0.2em, 0.2em);
    margin-right: 2em;
}

#main-nav ul {
    list-style: none;
    margin-left: -0.5em;
    margin-right: -0.5em;
    padding: 0;
}

#main-nav li {
    display: inline;
}

#main-nav ul a {
    padding: 0.5em;
    color: inherit;
    text-decoration: none;
}

#main-nav ul a[aria-current] {
    background: #2862a1;
    color: white;
}

#main-nav ul a:focus,
#main-nav ul a:hover {
    background: #11447b;
    color: white;
}

#main-nav ul ul {
    display: none;
}

#skip-link {
    position: absolute;
    left: 0;
    top: 0;
    background: #11447b;
    color: white;
    text-decoration: none;
    padding: 1em !important;
    transform: translateY(-100%);
    transition: 0.1s transform;
    z-index: 1;
}

@media (min-width: 62em) {
    #skip-link {
        margin-left: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2);
    }
}

#skip-link:focus {
    transform: translateY(0);
}

#breadcrumb-nav {
    background: #eaeaea;
    color: #696969;
    margin: 0;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#breadcrumb-nav ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

#breadcrumb-nav li {
    display: inline;
}

#breadcrumb-nav li:not(:last-child)::after {
    content: '❯';
    display: inline-block;
    padding: 0 0.25em 0 0.5em;
    transform: scaleY(0.6);
}

#breadcrumb-nav a {
    color: inherit;
    text-decoration: none;
}

#breadcrumb-nav li:not(:last-child) a {
    color: #343434;
}

/*	————————————————————————————————————————————————————————————————
	content
	———————————————————————————————————————————————————————————————— */

#section-service-erfolgsgeschichten h3 + p {
    margin-top: 0.5em;
}

/*	————————————————————————————————————————————————————————————————
	forms
	———————————————————————————————————————————————————————————————— */

.anfrage-steps {
    list-style: none;
}

.anfrage-steps > li:not(.current) {
    color: #919191;
}

.anfrage-steps > li:not(:last-child) {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: thin solid #808080;
}

.anfrage-steps li > a {
    text-decoration: none;
}

.anfrage-steps a svg {
    width: 0.6em;
    height: 0.6em;
    margin-left: 0.3em;
}

form > div,
.seamless > div {
    background: #f1f1f1;
    padding: 1em;
    margin: 1em 0;
}

form > .seamless {
    background: transparent;
    padding: 0;
}

@media (min-width: 36em) {
    .anfrage-steps > li.current {
        padding-left: 10%;
        padding-right: 10%;
    }

    .anfrage-steps > li.current h2 {
        margin-left: -12.5%;
        margin-right: -12.5%;
    }
}

form > h3:not(:first-of-type) {
    margin-top: 2em;
}

.compound {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

#container-requestCity,
#container-requestStreet {
    flex: 1 60%;
    margin-right: 2em;
}

#container-requestZip,
#container-requestHouseNo {
    flex: 1 30%;
}

.compound > div {
    flex: 1 100%;
}

legend,
label {
    margin-bottom: 1em;
    display: inline-block;
    font-weight: 650;
}

.label-for-radio,
.label-for-checkbox {
    font-weight: 400;
    font-weight: 360;
}

label[for="form_requestGender_placeholder"] {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

#form_requestGender label,
#form_requestCountry label {
    margin-right: 1em;
}

input:not([type]),
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select {
    display: block;
    width: 100%;
    background: transparent;
    font: inherit;
    border: thin #808080;
    border-style: none none solid;
    border-radius: 0;
}

select {
    width: auto;
    border-style: solid;
}

input[name^="form[requestBirthDate]"] {
    -moz-appearance: textfield;
}

input[name^="form[requestBirthDate]"]::-webkit-outer-spin-button,
input[name^="form[requestBirthDate]"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#form_type label {
    display: inline-block;
}

#form_type svg {
    vertical-align: middle;
}

.has-error {
    background: #fed8d8 !important;
    color: #CA020F !important;
}

.error-list,
.has-error ul {
    padding: 1em;
    background: #fed8d8;
    color: #CA020F;
    font-weight: 650;
    list-style: none;
}

div.has-error > ul,
.has-error div > ul,
div > .error-list,
fieldset > .error-list,
.seamless > label > .error-list {
    margin-bottom: 1em;
    padding: 0;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
}

.seamless > label > .error-list {
    padding: 1rem 1rem 0;
}

.flash-error {
    background-color: red;
    color: white;
    padding-top: 20px;
    padding-bottom: 20px;
}

#form_requestBirthDate input {
    display: inline;
    text-align: right;
    padding-left: 0;
    padding-right: 0;
}

#form_requestBirthDate_day,
#form_requestBirthDate_month {
    width: 3ch;
}

#form_requestBirthDate_year {
    width: 5ch;
}

/*	————————————————————————————————————————————————————————————————
	express-auskunft
	———————————————————————————————————————————————————————————————— */

#express-auskunft {
    padding: 4rem 0;
    background: #2c639f;
    color: white;
}

#express-auskunft h2 {
    margin-top: 0;
}

@media (min-width: 52em) {
    #express-auskunft form {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 1rem 2rem;
    }
}

#express-auskunft form > div {
    margin: 1em 0;
    background: #11447B;
    padding: 1rem 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#express-auskunft form > div:first-child {
    padding: 1rem 0 1rem 1rem;
}

#express-auskunft input {
    border-color: white;
}

fieldset,
legend {
    border: none;
    padding: 0;
}

#express-auskunft input:not([type="radio"]) {
    display: block;
    color: inherit;
}

#express-auskunft button {
    grid-column: 1 / -1;
}

/*	————————————————————————————————————————————————————————————————
	main content footer
	———————————————————————————————————————————————————————————————— */

main > footer,
.office-list {
    margin-top: 3rem;
    padding-top: 2em;
    padding-bottom: 2em;
    background: #F1F1F1;
    line-height: 1.2;
}

main > footer {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
    grid-gap: 2em;
}

main > footer h2,
.office-list h2 {
    font-size: 1em;
}

main > footer ul,
.office-list ul {
    list-style: none;
    padding: 0;
}

main > footer li {
    page-break-inside: avoid; /* Firefox */
    break-inside: avoid;
}

main > footer li:first-child {
    margin-top: 0;
}

main > footer li:last-child {
    margin-bottom: 0;
}

.office-list ul {
    margin: 0;
    column-width: 20em;
    column-gap: 2em;
}

.office-list li:first-child {
    margin-top: 0;
}

.office-list li:last-child {
    margin-bottom: 0;
}

main > footer li,
.office-list li {
    margin: 1em 0;
}

main > footer a,
.office-list a {
    text-decoration: none !important;
}

/*	————————————————————————————————————————————————————————————————
	page footer
	———————————————————————————————————————————————————————————————— */

#pagefooter-trust {
    padding-top: 2em;
    padding-bottom: 2em;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18em, 1fr));
    grid-gap: 2em;
}

#pagefooter-trust > * {
    display: flex;
    flex-flow: row wrap;
    flex: 1 1 50%;
}

#pagefooter-trust p {
    flex: 1 100%;
    font-weight: 666;
}

#pagefooter-trust ul {
    margin: 0;
    list-style: none;
    padding-left: 0;
    display: flex;
    font-weight: 400;
}

#pagefooter-service .icon-trust {
    width: 4em;
    height: 4em;
    margin: 0 0.5em 0 -0.5em;
}

#pagefooter-service svg.icon-check {
    width: 0.75em;
    height: 0.6675em;
}

#pagefooter-service ul {
    flex-flow: column nowrap;
}

@media (min-width: 60em) {
    #pagefooter-service .icon-trust {
        margin-top: -0.5em;
    }

    #pagefooter-service ul {
        flex-flow: row wrap;
        align-items: center;
    }
}

@media (min-width: 20em) {
    #pagefooter-payment {
        padding-right: 2em;
    }
}

#pagefooter-trust li {
    display: inline;
}

#pagefooter-payment li:not(:last-child) {
    margin-right: 1em;
}

#pagefooter-service li:not(:last-child) {
    margin-right: 0.5em;
}

#pagefooter-menu {
    padding-top: 1em;
    padding-bottom: 1em;
    background: #2c639f;
    color: white;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

#pagefooter-menu ul,
#pagefooter-menu p {
    margin: 0;
    white-space: nowrap;
}

#pagefooter-menu ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-flow: row wrap;
}

#pagefooter-menu li {
    display: inline;
    padding-right: 1em;
}

@media (max-width: 26em) {
    #pagefooter-menu,
    #pagefooter-menu ul {
        flex-flow: column nowrap;
    }
}

#pagefooter-menu a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}

#pagefooter-menu a,
#pagefooter-menu p {
    padding: 0.5em 0;
}

#pagefooter-payment ul {
    align-items: center;
}

svg.logo-paypal {
    width: calc(124 / 30.2 * 1.2em);
    height: 1.2em;
}

svg.logo-sofortueberweisung {
    width: calc(1422 / 448 * 1.4em);
    height: 1.4em;
}

svg.logo-visa {
    width: calc(100 / 32.5 * 1.2em);
    height: 1.2em;
}

svg.logo-mastercard {
    width: calc(200 / 156 * 2.2em);
    height: 2.2em;
}

/*	————————————————————————————————————————————————————————————————
	buttons, call-to-action buttons/links
	———————————————————————————————————————————————————————————————— */

button,
a.call-to-action {
    display: inline-block;
    border: none;
    color: white;
    font-family: inherit;
    font-weight: 650;
    text-decoration: none;
    transition: background-color .2s ease-out;
}

button {
    background: #2c639f;
    padding: 0.5em 1em;
    font-size: 18px;
    font-size: calc((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16);
}

button:focus,
button:hover {
    background: #154579;
}

form button:not([type]),
form button[type="submit"],
a.call-to-action,
button.call-to-action {
    padding: 1em 1.5em;
    font-size: 22px;
    font-size: calc((22 - 18) / 640 * 100vw + (18 - (22 - 18) / 2) * 1rem / 16);
    background: #33AB12;
}

form button:not([type]):focus,
form button[type="submit"]:focus,
a.call-to-action:focus,
button.call-to-action:focus:hover,
form button:not([type]):hover,
form button[type="submit"]:hover,
a.call-to-action:hover,
button.call-to-action:hover {
    background: #008C1E;
}

form button:not([type]),
form button[type="submit"] {
    display: block;
    margin-left: auto;
}

form button:not([type]) svg,
form button[type="submit"] svg,
.call-to-action svg {
    margin-left: 0.5em;
    height: 1.1em;
    width: 1.1em;
    vertical-align: text-bottom;
}

form button[disabled] {
    background: #ccc;
    cursor: not-allowed;
}

form button[disabled]:hover {
    background: #ccc;
}

.complex-compound {
    background: #BBE198;
}

.complex-compound > div {
    background: transparent;
}

.complex-compound--address {
    margin-bottom: 0;
}

.complex-compound--birth-date {
    margin-top: 0;
}

.conjunction {
    margin: 10px 0;
}

.footnote {
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
    font-style: italic;
    display: flex;
}

.footnote-marker {
    font-style: normal;
}

label.required::after,
fieldset.required legend::after {
    content: '*';
}

#form_requestGender label.required::after,
#form_requestCountry label.required::after {
    content: none;
}

/*	————————————————————————————————————————————————————————————————
	offices
	———————————————————————————————————————————————————————————————— */

.offices {
    margin-top: 4em;
    padding-top: 3em;
    padding-bottom: 3em;
    background: #2c639f;
    color: white;
    display: grid;
    grid-template-columns: repeat(1, minmax(15em, 1fr));
    grid-gap: 2em;
    list-style: none;
}

.offices li {
    /*white-space: pre-wrap;*/
}

.offices li span {
    display: inline-block;
    width: 2em;
    margin-right: .5em;
    font-weight: bold;
}

.offices a {
    color: #fff;
    text-decoration: none;
}

@media (min-width: 700px) {
    .offices {
        grid-template-columns: repeat(2, minmax(15em, 1fr));
    }
}
/*	————————————————————————————————————————————————————————————————
	info boxes
	———————————————————————————————————————————————————————————————— */

.product-info,
.process-info {
    padding: 1em;
    margin: 1em 0;
}

.product-info {
    background: #2c639f;
    color: white;
    overflow: hidden;
}

.product-info::after {
    content: '';
    display: block;
    clear: both;
}

.product-info a {
    color: inherit;
}

.product-info b {
    font-weight: bold;
    font-weight: 650;
    float: left;
}

.product-info .price {
    float: right;
    font-size: 35px;
    font-size: calc((35 - 26) / 640 * 100vw + (26 - (35 - 26) / 2) * 1rem / 16);
    font-weight: bold;
    font-weight: 650;
}

.product-info small {
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
    clear: left;
    float: left;
    font-weight: 400;
    font-weight: 360;
}

.product-info--portal {
    background: #eaeaea;
    color: #343434;
}

.product-info--portal a {
    color: #2862a1;
    text-decoration: none;
}
.product-info--portal a:hover {
    text-decoration: underline;
}

.product-info--portal .price {
    display: flex;
    align-items: baseline;
}
.product-info--portal .price small {
    margin-right: .35em;
    line-height: 1;
}

.product-info--portal > small {
    margin-top: 1em;
}

.process-info {
    background: #BBE198;
}

@media (min-width: 330px) {
    .product-info--portal .price small {
        margin-right: 1em;
    }

    .product-info--portal > small {
        margin-top: 0;
    }
}

/*	————————————————————————————————————————————————————————————————
	pages
	———————————————————————————————————————————————————————————————— */

#page-home main > footer ul {
    columns: 13em 2;
    column-gap: 1em;
}

#page-service main > footer,
#page-faq main > footer {
    grid-template-columns: 1fr;
    grid-gap: 2em 4em;
}

@media (min-width: 40em) {
    #page-faq main > footer {
        grid-template-columns: 1fr;
    }

    #page-service main > footer {
        grid-template-columns: 3fr 1fr;
    }
}

#page-service main > footer ul {
    columns: 12em;
    column-gap: 1em;
}

#page-faq main > footer ul {
    columns: 24em;
    column-gap: 1em;
}

/*#page-faq #express-auskunft {*/
    /*margin-top: 3rem;*/
/*}*/

.flash-error {
    background-color: red;
    color: white;
    padding-top: 20px;
    padding-bottom: 20px;
}

#faq-nav ul {
    list-style: none;
    padding: 0;
}

#faq-nav li {
    margin-top: 15px;
}


#faq-nav a {
    text-decoration: none;
}

/*	————————————————————————————————————————————————————————————————
	Customer Portal Teaser
	———————————————————————————————————————————————————————————————— */

#portal-teaser {
    background: #2862a1;
    color: #fff;
    padding-top: 1em;
    padding-bottom: 1em;

    display: flex;
    flex-wrap:wrap;
    align-items: center;
}

#portal-teaser > div {
    padding-top: .56em;
}

#portal-teaser svg {
    width: 11.1em;
    height: 2.5em;
}

#portal-teaser p {
    margin: .3em 0 .3em auto;
}

#portal-teaser div + p {
    padding-left: 1em;
    padding-right: 1em;
}

#portal-teaser a {
    color: #2862a1;
    background: #fff;
    text-decoration: none;
    font-weight: bold;

    padding: .5em .8em;

    transition: background-color .2s ease-out;

    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
}

#portal-teaser a:hover {
    background: #ccc;
}

/*	————————————————————————————————————————————————————————————————
	loading spinner
	———————————————————————————————————————————————————————————————— */

.lds-roller {
    display: block;
    position: relative;
    width: 64px;
    height: 64px;
    margin: auto;
}

.lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 32px 32px;
}

.lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2c639f;
    margin: -3px 0 0 -3px;
}

.lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
    top: 50px;
    left: 50px;
}

.lds-roller div:nth-child(2) {
    animation-delay: -0.072s;
}

.lds-roller div:nth-child(2):after {
    top: 54px;
    left: 45px;
}

.lds-roller div:nth-child(3) {
    animation-delay: -0.108s;
}

.lds-roller div:nth-child(3):after {
    top: 57px;
    left: 39px;
}

.lds-roller div:nth-child(4) {
    animation-delay: -0.144s;
}

.lds-roller div:nth-child(4):after {
    top: 58px;
    left: 32px;
}

.lds-roller div:nth-child(5) {
    animation-delay: -0.18s;
}

.lds-roller div:nth-child(5):after {
    top: 57px;
    left: 25px;
}

.lds-roller div:nth-child(6) {
    animation-delay: -0.216s;
}

.lds-roller div:nth-child(6):after {
    top: 54px;
    left: 19px;
}

.lds-roller div:nth-child(7) {
    animation-delay: -0.252s;
}

.lds-roller div:nth-child(7):after {
    top: 50px;
    left: 14px;
}

.lds-roller div:nth-child(8) {
    animation-delay: -0.288s;
}

.lds-roller div:nth-child(8):after {
    top: 45px;
    left: 10px;
}

@keyframes lds-roller {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* enable font Antialiasing on specific backgrounds (blue, green) */
.offices, .product-info, .call-to-action, .menu_level_1,
#main-nav ul a:focus, #main-nav ul a:hover, #main-nav ul li.current a,
#form_save, #express-auskunft, #pagefooter-menu, #portal-teaser {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}



/*	————————————————————————————————————————————————————————————————
	Top Portal Menu
	———————————————————————————————————————————————————————————————— */
ul#portal-nav-list {
    list-style: none;
    margin: 0;
    font-size: 16px;
    font-size: calc((16 - 15) / 640 * 100vw + (15 - (16 - 15) / 2) * 1rem / 16);
    position: absolute;
    right: .6rem;
    top: .2em;
}

ul#portal-nav-list a {
    color: #343434;
    font-weight: 400;
}

ul#portal-nav-list a:hover,
ul#portal-nav-list a:focus {
    color: #343434;
    text-decoration: underline;
    background: none;
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
}

ul#portal-nav-list a:not(:hover) {
    text-decoration: none;
}

ul#portal-nav-list li:first-child {
    margin-right: 1.5em;
}

@media (min-width: 62em) {
    ul#portal-nav-list {
        right: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2 - .4rem);
        right: calc((100vw - 50 * ((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16)) / 2 - var(--scrollbar-width, 0px) - .4rem);
    }
}

.inquiry-summary {
    font-size: 18px;
    font-size: calc((18 - 16) / 640 * 100vw + (16 - (18 - 16) / 2) * 1rem / 16);
    font-weight: 400;
    font-weight: 360;
    line-height: 1.3;
    color: #000;
    margin-bottom: 0;
}

.payment-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.payment-summary div:nth-child(2n+1) {
    flex-basis: 70%;
}

.payment-summary div:nth-child(2n) {
    text-align: right;
    flex-basis: 30%;
}

#card-errors {
    color: #ca020f;
    font-weight: 400;
    padding-top: 12px;
}
