.homepage-popup {
    position: fixed;
    z-index: 10000;
    inset: 50% auto auto 50%;
    width: min(680px, calc(100% - 32px));
    max-width: 680px;
    max-height: calc(100% - 32px);
    margin: 0;
    padding: 0;
    overflow: visible;
    color: #fff;
    background: #a31620;
    border: 0;
    border-radius: 2px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    transform: translate(-50%, -50%);
}

.homepage-popup::backdrop {
    background: transparent;
}

.homepage-popup__content {
    position: relative;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
}

.homepage-popup__body {
    padding: 48px 40px 40px;
}

.homepage-popup__body,
.homepage-popup__body h1,
.homepage-popup__body h2,
.homepage-popup__body h3,
.homepage-popup__body h4,
.homepage-popup__body h5,
.homepage-popup__body h6,
.homepage-popup__body label,
.homepage-popup__body legend {
    color: #fff;
}

.homepage-popup__body p, .homepage-popup__content .powermail_fieldwrap_type_text div, .homepage-popup__content .mandatory {
    color: #fff;
}

.homepage-popup__body a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.homepage-popup__body a:hover,
.homepage-popup__body a:focus-visible {
    color: #fff;
    text-decoration-thickness: 2px;
}

.homepage-popup__body legend,
.homepage-popup__body hr {
    border-color: rgba(255, 255, 255, 0.45);
}

.homepage-popup__body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.homepage-popup__body select,
.homepage-popup__body textarea {
    color: #333;
    background: #fff;
    border-color: #fff;
}

.homepage-popup__body input::placeholder,
.homepage-popup__body textarea::placeholder {
    color: transparent;
    opacity: 0;
}

.homepage-popup__body input[type="checkbox"],
.homepage-popup__body input[type="radio"] {
    accent-color: #a31620;
}

.homepage-popup__body .btn-primary,
.homepage-popup__body input[type="submit"],
.homepage-popup__body button[type="submit"] {
    color: #a31620;
    background: #fff;
    border: 2px solid #fff;
}

.homepage-popup__body .btn-primary:hover,
.homepage-popup__body .btn-primary:focus-visible,
.homepage-popup__body input[type="submit"]:hover,
.homepage-popup__body input[type="submit"]:focus-visible,
.homepage-popup__body button[type="submit"]:hover,
.homepage-popup__body button[type="submit"]:focus-visible {
    color: #fff;
    background: transparent;
    border-color: #fff;
}

.homepage-popup__body .help-block,
.homepage-popup__body .text-danger,
.homepage-popup__body .powermail_field_error,
.homepage-popup__body .powermail_message_error {
    color: #fff;
    font-weight: 700;
}

.homepage-popup__body > :first-child,
.homepage-popup__body > :first-child > :first-child {
    margin-top: 0;
}

.homepage-popup__body > :last-child,
.homepage-popup__body > :last-child > :last-child {
    margin-bottom: 0;
}

.homepage-popup__close {
    position: absolute;
    z-index: 2;
    top: 8px;
    right: 10px;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #a31620;
    background: #fff;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
}

.homepage-popup__close svg {
    display: block;
    width: 30px;
    height: 30px;
    margin: auto;
    fill: currentColor;
}

.homepage-popup__close:hover,
.homepage-popup__close:focus-visible {
    color: #a31620;
    background: #fff;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media (min-width: 768px) {
    .homepage-popup {
        inset: auto 24px 24px auto;
        transform: none;
    }
}

@media (max-width: 575px) {
    .homepage-popup {
        inset: 55% auto auto 50%;
        width: calc(100% - 20px);
        max-height: calc(90% - 20px);
    }

    .homepage-popup__content {
        max-height: calc(90vh - 20px);
    }

    .homepage-popup__body {
        padding: 41px 20px 21px;
    }

    .homepage-popup__body,
    .homepage-popup__body p,
    .homepage-popup__body div {
        font-size: 14px;
        line-height: 1.4;
    }

    .homepage-popup__body a {
        font-size: 14px;
        line-height: 1.4;
    }

    .homepage-popup__content .powermail_fieldwrap_type_input label,
    .homepage-popup__content .powermail_fieldwrap_type_textarea label,
    .homepage-popup__content .powermail_fieldwrap_type_select label {
        display: none !important;
    }

    .homepage-popup__body input::placeholder,
    .homepage-popup__body textarea::placeholder {
        color: #666;
        opacity: 1;
    }

    .homepage-popup__body .btn-primary,
    .homepage-popup__body input[type="submit"],
    .homepage-popup__body button[type="submit"] {
        font-size: 16px;
    }

    .homepage-popup__content .powermail_fieldwrap_marker_02,
    .homepage-popup__content .fieldwrap_marker_02,
    .homepage-popup__content #fieldwrap_marker_02 {
        display: none !important;
    }

    .homepage-popup__body h2 {
        width: 85%;
        margin-top: 0;
        margin-bottom: 14px;
        font-size: 22px;
        line-height: 1.2;
    }

    .homepage-popup__body h3 {
        margin-top: 16px;
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.25;
    }
}

/*
 * Optional compact style for the regular company website.
 * Activate with the body class "popup-style-mobile". This applies the mobile
 * presentation to the popup on desktop as well.
 */
body.popup-style-mobile .homepage-popup {
    inset: 55% auto auto 50%;
    width: calc(100% - 20px);
    max-height: calc(90% - 20px);
    transform: translate(-50%, -50%);
}

body.popup-style-mobile .homepage-popup__content {
    max-height: calc(90vh - 20px);
}

body.popup-style-mobile .homepage-popup__body {
    padding: 41px 20px 21px;
}

body.popup-style-mobile .homepage-popup__body,
body.popup-style-mobile .homepage-popup__body p,
body.popup-style-mobile .homepage-popup__body div,
body.popup-style-mobile .homepage-popup__body a {
    font-size: 14px;
    line-height: 1.4;
}

body.popup-style-mobile .homepage-popup__content .powermail_fieldwrap_type_input label,
body.popup-style-mobile .homepage-popup__content .powermail_fieldwrap_type_textarea label,
body.popup-style-mobile .homepage-popup__content .powermail_fieldwrap_type_select label {
    display: none !important;
}

body.popup-style-mobile .homepage-popup__body input::placeholder,
body.popup-style-mobile .homepage-popup__body textarea::placeholder {
    color: #666;
    opacity: 1;
}

body.popup-style-mobile .homepage-popup__body .btn-primary,
body.popup-style-mobile .homepage-popup__body input[type="submit"],
body.popup-style-mobile .homepage-popup__body button[type="submit"] {
    font-size: 16px;
}

body.popup-style-mobile .homepage-popup__content .powermail_fieldwrap_marker_02,
body.popup-style-mobile .homepage-popup__content .fieldwrap_marker_02,
body.popup-style-mobile .homepage-popup__content #fieldwrap_marker_02 {
    display: none !important;
}

body.popup-style-mobile .homepage-popup__body h2 {
    width: 85%;
    margin-top: 0;
    margin-bottom: 14px;
    font-size: 22px;
    line-height: 1.2;
}

body.popup-style-mobile .homepage-popup__body h3 {
    margin-top: 16px;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.25;
}

@media (min-width: 768px) {
    body.popup-style-mobile .homepage-popup {
        inset: auto 24px 24px auto;
        width: min(440px, calc(100% - 48px));
        max-width: 440px;
        max-height: calc(100vh - 48px);
        transform: none;
    }

    body.popup-style-mobile .homepage-popup__content {
        max-height: calc(100vh - 48px);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .homepage-popup[open] {
        animation: homepage-popup-in 180ms ease-out;
    }

    @keyframes homepage-popup-in {
        from {
            opacity: 0;
        }
    }
}
