html {
    font-family: 'Gantari', 'Helvetica Neue', 'Arial', 'sans-serif';
    font-size: 100%;
    box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
    margin: 0;
}

.top-banner {
    display: flex;
    justify-content: space-between;
    padding: 20px 40px;
    border-bottom: 1px solid #DADADA;
    margin-bottom: 50px;
}

.payplug-logo {
    width: 130px;
}

.main-wrapper {
    width: 65%;
    margin: auto;
    margin-bottom: 100px;
}

.main-title {
    max-width: 80%;
    margin-bottom: 13px;
}

.main-content {
    display: flex;
    justify-content: space-between;
}

.main-form, .response-wrapper {
    width: 43%;
    max-width: 440px;
}

.form-notice {
    margin-top: 0;
    font-size: 0.85rem;
}

.form-inputs {
    margin-top: 30px;
}

.form-row {
    display: flex;
    align-items: flex-end;
    margin-bottom: 10px;
}

.form-col {
    width: 50%;
}

.form-col:not(:last-child) {
    margin-right: 10px;
}

.form-col.form-card-input {
    width: 100%;
}

.main-form .label {
    display: block;
    font-size: 0.8rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.main-form .label .small {
    font-size: 0.7em;
    font-weight: normal;
}

.main-form .input {
    border: 1px solid #D9D9D9;
    width: 100%;
    height: 35px;
    padding-left: 8px;
}

.main-form .input:focus {
    border-color: #DADADA;
}

.card-input-container {
    display: flex;
    align-items: center;
}

.card-input-container .card-logo {
    margin-right: 10px;
    height: 37px;
}

.card-logo, .lock-logo {
    flex-shrink: 0;
}

.captcha {
    margin-bottom: 10px;
}

.submit-form {
    display: flex;
    align-items: center;
}

.lock-logo {
    height: 1em;
    margin-bottom: -2px;  /* to align with text */
}

.submit-form-button {
    cursor: pointer;
    width: 120px;
    height: 40px;
    color: white;
    font-weight: bold;
    background-color: #0555EB;
    border: none;
    border-radius: 3px;
    transition: background-color 0.5s ease-out;
    font-size: 1.03rem;
}

.submit-form-button:hover {
    background-color: #0347C9;
}

.notice {
    font-size: 0.75em;
}

.submit-comment {
    margin-left: 12px;
}

.expired-comment {
    margin-bottom: 10px;
}

.highlight {
    font-weight: bold;
    background-color: #FFD908;
}

.response-panel {

    background-color: #FCFFFD;
    padding: 30px;
    border: 1px solid #D6D6D6;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
}

.response-panel .data-title {
    margin-top: 0;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-size: 0.85rem;
}

.response-panel .notice-title {
    font-size: 0.8rem;
    margin-bottom: 3px;
}

.response-header {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 17px;
}

.response-header-company-name {
    max-width: 60%;
}

.response-panel .result-value {
    color: #6999F3;
    font-size: 1.1rem;
    overflow-wrap: break-word;
}

.response-panel .contact-info {
    font-size: 0.8rem;
}

.response-panel .contact-info a {
    color: #6F7070;
    overflow-wrap: break-word;
}

.response-panel .text {
    font-size: 0.8rem;
    margin-top: 0;
}

.response-panel .text a {
    color: #6F7070;
}

.response-panel .failed-to-find-notice {
    margin: 40px 0;
}

.error-notice {
    color: #F62D3C;
    font-size: 0.8em;
}


@media (max-width: 1100px) {
    /*
       Enlarge the width of the main wrapper to make more room available for
       the result. Remove width restriction on the main title and the margin
       below the banner to keep the whole thing "rectangular".
    */
    .top-banner {
        margin-bottom: 0;
    }

    .main-wrapper {
        width: 75%;
    }

    .main-title {
        max-width: none;
    }
}


@media (max-width: 830px) {
    /*
       Put the response panel under the form because there is just not enough
       room for both.
    */
    .main-content {
        display: block;
    }

    .main-form {
        width: 100%;
    }

    .response-wrapper {
        width: unset;
        margin-top: 50px;
    }
}


@media (max-width: 450px) {
    /* 
       Put every form input on its own row and size them to 100% width, and
       reduce some other sizes.
    */
    .top-banner {
        padding-left: 0;
    }

    .main-wrapper {
        width: 90%;
    }

    .main-title {
        max-width: none;
        font-size: 1.5em;
    }

    .main-form {
        margin-right: 0;
    }

    .form-row {
        display: block;
    }

    .form-col {
        width: 100%;
        margin: 10px 10px 10px 0;
    }

    .main-form .input {
        width: 100%;
    }
}
