.container {
    margin-top: 4vh;
    display: flex;
    justify-content: center;
    width: 100%;

    >div {
        >.card-body {
            padding: 2.25rem;
            background: var(--background);
            border-radius: 5px;
            width: 500px;
            max-width: 90vw;
            box-shadow: var(--box-shadow);
            margin-bottom: 30px;
        }

        >.text-muted {
            margin-bottom: 1rem;
        }
    }
}

.title {
    text-align: center;
    margin-bottom: 2.25rem;

    >h4 {
        font-weight: 700;
        margin-bottom: 10px;
        font-size: 1.125rem;
        color: var(--routine);
    }

    >p {
        color: var(--seat);
    }
}

.form-group {
    margin-bottom: 1.5rem;

    >label {
        color: var(--routine);
        font-weight: 600;
        display: inline-block;
        margin-bottom: .5rem;
    }

    >a {
        float: right;
        color: var(--minor);
    }
}

.form-control {
    display: block;
    width: 100%;
    padding: .45rem .9rem;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--routine);
    background: var(--background);
    border: 2px solid var(--classA);
    border-radius: .1rem;
    transition: 0.3s;

    &:focus {
        border-color: var(--theme);
    }
}

.btn {
    text-align: center;
    font-weight: 400;
    white-space: nowrap;
    user-select: none;
    font-size: .875rem;
    transition: 0.3s;

    &-light {
        display: block;
        padding: .45rem 1.2rem;
        line-height: 1.5;
        border-radius: .15rem;
        color: #fff;
        background: var(--back-line-right);
        border-color: var(--classB);
        margin: auto;
        box-shadow: var(--box-shadow);
        border: none;

        &:hover {
            transform: scale(0.9);
        }

        :active {
            transform: scale(0.75);
        }
    }
}

.input-group {
    display: flex;

    >.form-control {
        border-right: none;
    }

    >.btn {
        border: 2px solid var(--classA);
        border-left: none;
        padding: .45rem .9rem;
        background: var(--classB);
        color: var(--main);

        &:hover {
            border-color: var(--seat);
            background: var(--classA);
        }

        &:focus {
            background: var(--seat);
        }
    }
}

.text-muted {
    color: var(--minor);
    text-align: center;

    >a {
        margin-left: .375rem;
        color: var(--main);
    }
}

@media (max-width: 768px) {
    .container {
        margin-top: 3vh;
    }
}