* {
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
}

.restricted-box {
    width: 1250px;
    overflow: hidden;
    flex-shrink: 0;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-right: 30px;
    margin-left: 30px;
}

.copyright-container {
    width: 60%;
}

#responseContainer {
    position: absolute;
    left: 100%;
    top: -1px;
    margin-left: 440px;
    width: 425px;
    height: 169px;
    resize: none;
}

#warningContainer {
    position: absolute;
    left: 100%;
    top: -1px;
    margin-left: 887px;
    width: 235px;
    height: 169px;
    resize: none;
}

.form-group-container {
    display: flex;
    flex-wrap: wrap;
}

.form-group-container.sized60 {
    width: 60%;
}

.form-group-container.sized46andtwothirds {
    width: 46.67%;
}

.form-group-container.sized33 {
    width: 33.33%;
}

.form-group-container.sized30 {
    width: 30%;
}

.form-group-container.sized25 {
    width: 25%;
}

.form-group-container.sized-one-eighth {
    width: 12.5%;
}

.form-group-container.sized5 {
    width: 5%;
}

.form-group-container.sized-fortieth {
    width: 2.5%;
}

.form-group {
    position: relative;
    margin-bottom: 25px;
}

.form-group.no-margin {
    margin-bottom: 0;
}

.form-group.half-width {
    flex: 1 1 calc(50%);
    max-width: calc(50%);
}

.form-group.third-width {
    flex: 1 1 calc(33.33%);
    max-width: calc(33.33%);
}

.form-group.fourth-width {
    flex: 1 1 calc(25%);
    max-width: calc(25%);
}

.form-group.fifth-width {
    flex: 1 1 calc(20%);
    max-width: calc(20%);
}

.form-group.sixth-width {
    flex: 1 1 calc(16.67%);
    max-width: calc(16.67%);
}

.form-label {
    position: absolute;
    top: -22px;
    left: 0px;
    font-size: 14px;
    color: #666;
    pointer-events: none;
    transition: color 0.2s ease;
}

.form-input {
    width: 100%;
    padding: 10px;
    font-size: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: none;
    outline: none;
}

button.form-input {
    font-size: 14px;
    border: 1px solid #ccc;
    background: pink;
    cursor: pointer;
}

button.form-input:hover, button.form-input:focus {
    background: orange;
}

button.form-input:active {
    background: red;
}

textarea.form-input:focus + .form-label,
textarea.form-input:not(:placeholder-shown) + .form-label,
textarea.form-input.valid + .form-label,
input[type="number"].form-input:focus + .form-label,
input[type="number"].form-input:not(:placeholder-shown) + .form-label,
input[type="number"].form-input.valid + .form-label {
    color: red;
}

textarea.form-input.valid + .form-label,
input[type="number"].form-input.valid + .form-label {
    color: green;
}

textarea.form-input.valid + .form-label::after,
input[type="number"].form-input.valid + .form-label::after {
    content: ' ✓';
    color: green;
}

select.form-input:focus + .form-label,
select.form-input.valid + .form-label {
    color: red;
}

select.form-input.valid + .form-label {
    color: green;
}

select.form-input.valid + .form-label::after {
    content: ' ✓';
    color: green;
}

input[type="date"].form-input.valid + .form-label {
    color: green;
}

input[type="date"].form-input.valid + .form-label::after {
    content: ' ✓';
    color: green;
}
