@font-face {
    font-family: 'Myriad Pro';
    font-style: normal;
    font-weight: 400;
    src: url('/fonts/MYRIADPRO-REGULAR.woff') format('woff');
}

@font-face {
    font-family: 'Myriad Pro';
    font-style: normal;
    font-weight: 300;
    src: url('/fonts/MyriadPro-Light.woff') format('woff');
}

@font-face {
    font-family: 'Myriad Pro';
    font-style: normal;
    font-weight: 600;
    src: url('/fonts/MYRIADPRO-SEMIBOLD.woff') format('woff');
}

@font-face {
    font-family: 'Myriad Pro';
    font-style: normal;
    font-weight: 700;
    src: url('/fonts/MYRIADPRO-BOLD.woff') format('woff');
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.bestbrands-public-body {
    margin-bottom: 0;
    background: #fff;
}

.bestbrands-public-shell {
    font-family: 'Myriad Pro', Arial, sans-serif;
}

.bestbrands-public-header {
    min-height: 97px;
    padding: 0 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.bestbrands-logo-link {
    display: inline-flex;
    align-items: center;
}

.bestbrands-logo {
    display: block;
    width: auto;
    height: 70px;
}

.bestbrands-public-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
}

.bestbrands-public-navigation > a:not(.bestbrands-language-link) {
    color: #6c757d;
    text-decoration: none;
}

.bestbrands-public-navigation > a:not(.bestbrands-language-link):hover,
.bestbrands-public-navigation > a:not(.bestbrands-language-link):focus {
    color: #212529;
    text-decoration: underline;
}

.bestbrands-language-link {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem;
    border: 1px solid transparent;
    border-radius: 0.2rem;
    opacity: 0.8;
}

.bestbrands-language-link.active {
    border-color: #7a3c79;
    opacity: 1;
}

.bestbrands-language-link img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: cover;
}

.bestbrands-banner-link {
    display: block;
}

.bestbrands-home-page {
    padding: 1rem 0.75rem 3rem;
    font-family: 'Myriad Pro', Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.45;
}

.bestbrands-home-page p {
    margin-bottom: 1.2rem;
}

.bestbrands-home-page a {
    color: #2f6da1;
}

.registration-page {
    padding: 1.5rem 0 3rem;
    font-family: 'Myriad Pro', Arial, sans-serif;
    font-weight: 400;
}
    .registration-page h1, .registration-page h2, .registration-page h3 {
        font-weight: 700;
    }
    .registration-page legend {
        font-weight: 600;
    }
    .registration-page .form-check-label {
        font-weight: 300;
    }

        .registration-shell {
            max-width: 860px;
            margin: 0 auto;
            background: #fff;
        }

        .registration-banner {
            display: block;
            width: 100%;
            height: auto;
        }

        .registration-content {
            --registration-button-color: #7a3c79;
            --registration-button-hover-color: #633162;
            max-width: 760px;
            margin: 0 auto;
        }

            .registration-content h1 {
                margin-bottom: 1rem;
            }

            .registration-content fieldset {
                border: 0;
                padding: 0;
            }

            .registration-content .form-check-label {
                line-height: 1.45;
            }
            /* Schaltflächen der Teilnehmerregistrierung */
            .registration-content .registration-button {
                border-radius: 4px;
                border-width: 1px;
                font-family: 'Myriad Pro', Arial, sans-serif;
                font-weight: 600;
                line-height: 1.2;
                padding: 0.75rem 1.5rem;
                transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
            }

            .registration-content .registration-button-primary {
                background-color: var(--registration-button-color);
                border-color: var(--registration-button-color);
                color: #fff;
            }

            .registration-content .registration-button-primary:hover,
            .registration-content .registration-button-primary:focus,
            .registration-content .registration-button-primary:active {
                background-color: var(--registration-button-hover-color) !important;
                border-color: var(--registration-button-hover-color) !important;
                color: #fff !important;
            }

            .registration-content .registration-button-secondary {
                background-color: #fff;
                border-color: var(--registration-button-color);
                color: var(--registration-button-color);
            }

            .registration-content .registration-button-secondary:hover,
            .registration-content .registration-button-secondary:focus,
            .registration-content .registration-button-secondary:active {
                background-color: var(--registration-button-color) !important;
                border-color: var(--registration-button-color) !important;
                color: #fff !important;
            }

            .registration-content .registration-button:focus,
            .registration-content .registration-button:active:focus,
            .registration-content .registration-button:focus-visible {
                box-shadow: 0 0 0 0.25rem rgba(122, 60, 121, 0.25);
            }

            .registration-content .form-check-input:checked {
                background-color: var(--registration-button-color);
                border-color: var(--registration-button-color);
            }

            .registration-content .form-check-input:focus {
                border-color: #b67ab5;
                box-shadow: 0 0 0 0.25rem rgba(122, 60, 121, 0.2);
            }
            .registration-content .validation-summary-valid,
            .registration-content .field-validation-valid {
                display: none;
            }

            .registration-content .input-validation-error {
                border-color: #dc3545;
            }

            .registration-content .form-check-input.input-validation-error {
                border-color: #dc3545;
            }

            .registration-content .form-check-input.input-validation-error:focus,
            .registration-content .input-validation-error:focus {
                border-color: #dc3545;
                box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
            }

            .registration-content .field-validation-error {
                display: block;
                margin-top: 0.25rem;
            }

        .form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
            color: var(--bs-secondary-color);
            text-align: end;
        }

        .form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
            text-align: start;
        }

@media (max-width: 767.98px) {
    .bestbrands-public-header {
        min-height: auto;
        padding: 0.75rem;
        align-items: flex-start;
    }

    .bestbrands-logo {
        height: 56px;
    }

    .bestbrands-public-navigation {
        gap: 0.55rem;
        flex-wrap: wrap;
    }

    .bestbrands-public-navigation > a:not(.bestbrands-language-link) {
        width: 100%;
        text-align: right;
        font-size: 0.9rem;
    }

    .registration-page {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}
