/*========== GOOGLE FONTS ==========*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap");

/* Variable Declaration */
:root {
    --primary: #0D47A1;
    --secondary: #1976D2;
    --tertialy: #1A237E;
    --background: #E3F2FD;
    --error: #C62828;
    --header-height: 4rem;
    --header-z-index: 100;
    --nav-height: calc(2rem - 1px);
    --nav-li-background: #eee;
    --nav-li-done-background: #cee5f9;
    --nav-li-current-background: #8ec8fc;
    --nav-z-index: 100;
    --body-background: var(--primary);
    --main-background: var(--background);
    --float-height: 11rem;
    --float-background: #FFF;
    --tooltip-background: #d9d9d9;
    --footer-height: 2rem;
    --footer-z-index: 100;
}

/* Main CSS */
* {
    margin: 0;
    box-sizing: border-box;
}

html {
    width: 100%;
    height: 100%;
    font-size: 16px;
    overflow-y: scroll;
    overflow-x: auto;
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: rgb(63,66,76);
}

main {
    display: flex;
    justify-content: space-around;
    width: 100%;
    height: fit-content;
    padding: 2rem 2%;
    background-color: rgb(241,241,241);
}

article {
    width: 900px;
    max-width: 100%;
    height: fit-content;
    padding: 2rem 2%;
    background: #fff;
    border-radius: 0.5rem;
}

section {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.section_content {
    width: 40rem;
    max-width: 100%;
    margin-bottom: 1rem;
    text-align: left;
}

.ilbl_nowrap {
    display: inline-block;
    white-space: nowrap;
    text-indent: 0;
}

table.h1 {
    margin-block-start: 1rem;
    margin-block-end: 1rem;
}

table.h1 * {
    vertical-align: top;
    font-size: 1.25rem;
    font-weight: bold;
}

table.h1 td:first-child {
    width: 2rem;
}

h5 {
    padding: 1rem 0 0.25rem;
    font-size: 1rem;
}

input:not(:read-only, :disabled):focus-visible {
    outline: 2px solid #FBC02D;
}

input[type=number] {
    -moz-appearance:textfield;
    appearance:textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number]:disabled:focus-visible,
input[type=number]:read-only:focus-visible {
    outline: none;
}

input[type=checkbox] {
    margin: 0 0.5rem 0 0;
    transform: scale(1.2);
}

input[type=radio] {
    width: 1rem;
    height: 1rem;
}

.label_container {
    display: flex;
    flex-flow: column;
    gap: 1rem;
}

.label_container>.radio_container {
    display: flex;
    gap: 1rem;
    align-items: center;
    min-width: 50%;
    max-width: 100%;
    padding: 1rem 2rem;
    border: 1px solid #000;
    border-radius: 5px;
    outline: none;
    cursor: pointer;
}

.label_container>.radio_container.checked {
    border-color: var(--secondary);
    outline: 2px solid var(--secondary);
}

.label_container>.radio_container.error {
    border-color: var(--error);
    outline: 2px solid var(--error);
}

.ajax_result {
    padding: 0.1rem;
    text-align: center;
    font-size: 0.9rem;
    color: var(--error);
}

.btn_container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 5rem;
}

button.next,
button.back {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    color: #FFF;
    font-size: 1.2rem;
    cursor: pointer;
}

button.next:hover,
button.back:hover {
    outline: 1px solid #000;
}

button.back {
    background-color: #9E9E9E;
}

button.next {
    background-color: var(--secondary);
}

.flex-column {
    display: flex;
    flex-flow: column;
    gap: 1rem;
}

p {
    margin: 0;
    padding: 0.25rem 0;
    line-height: 1.714285714rem;
}

.caution,
.required {
    font-size: 0.8rem;
    color: red;
}

.caution_table td {
    vertical-align: top;
}

.caution_table * {
    font-size: 0.8rem;
}