.cb_label {
    font-weight: normal;
}

fieldset {
    border: solid 1px #00beff;
    border-radius: 5px;
    /* margin: 5px; */
    padding: 20px !important;
    padding-bottom: 30px;
}

legend {
    width: auto;
    padding: 0 10px;
    border-bottom: none;
    font-size: 12pt;
    font-weight: 900;
    /* margin-left: 10px; */
}

.form-group {
    display: flex;
    flex-direction: column;
}

button {
    border: none;
    border-radius: 5px;
    outline: none;
    user-select: none;
    cursor: pointer;
    background: #fdfdfd;
    color: #5d5d5d;
    transition: 200ms ease-out;
}

button:hover, button:focus, button:active {
    border: none;
    outline: none;
    user-select: none;
    cursor: pointer;
    background: #f7f7f7;
    color: #5d5d5d;
    transition: 0s;
}

button.standard-push-button {
    font-family: 'Nunito', sans-serif;
    min-width: 260px;
    height: 50px;
    border-radius: 5px;
    margin: 20px auto;
    font-size: 150%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00beff;
    /* box-shadow: 0px 10px 7px -12px rgba(0, 0, 0, 0.78); */
    /* transition: 300ms; */
    color: #ffffff;
}

@media (max-width: 320px) {
    button.standard-push-button {
        min-width: 100%;
    }
}

button.standard-push-button:hover, button.standard-push-button:focus {
    background: #54d4ff;
}

button.standard-push-button:active {
    /* transform: translateY(3px); */
    box-shadow: none;
}

button.standard-push-button:disabled {
    transition: 200ms;
    background: #69d9ff;
    cursor: not-allowed;
}

.standard-push-button svg {
    animation: rotate 700ms ease-in-out infinite;
}

@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-size: 7px;
    background-position: calc(100% - 10px) center;
    background-repeat: no-repeat;
}

select::-ms-expand {
    display: none;
}

@-moz-document url-prefix() {
    select {
        text-indent: -2px;
    }
}

input[type=text], input[type=date], select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* width: 100%; */
    height: 40px;
    font-size: 100%;
    font-family: inherit;
    border: solid 1px rgba(51, 51, 51, 0.2);
    border-radius: 5px;
    outline: none;
    padding: 0 15px;
    margin: 0;
    color: #5d5d5d;
    background-color: #ffffff;
    box-shadow: 0px 15px 7px -13px rgba(0, 0, 0, 0.027);
    transition: box-shadow 700ms ease;
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    font-size: 100%;
    font-family: inherit;
    border: solid 1px rgba(51, 51, 51, 0.2);
    border-radius: 5px;
    outline: none;
    padding: 15px;
    margin: 0;
    /* color: #5d5d5d; */
    background-color: #ffffff;
    box-shadow: 0px 15px 7px -13px rgba(0, 0, 0, 0.027);
    transition: box-shadow 700ms ease;
}

input[type=text]:focus, input[type=text]:active, input[type=date]:focus, input[type=date]:active, select:focus, select:active, textarea:focus, textarea:active {
    border: solid 1px #77ddff;
}

form.submitted input[type=text]:invalid, form.submitted select:invalid, form.submitted textarea:invalid {
    border: solid 1px #ff0000;
}

.row {
    row-gap: 20px !important;
    /* margin: 20px; */
    /* column-gap: 20px !important; */
}

.well {
    background: #f7f7f7;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    box-shadow: inset 0 0 10px #cacaca;
}

.spec-date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.standard-validation-error {
    color: red;
    margin: 0 !important;
}

#spec-error-message {
    display: none;
}

#spec-error-message-div {
    display: none;
}

#success-container {
    display: none;
}

.checkbox-inline {
    margin-bottom: 3px;
}

label a {
    background: #25b6ff1f;
    padding: 2px 5px;
    border-radius: 4px;
}