fieldset {
    padding: 0 1rem;
}

.ob_fields {
    padding-bottom: 1rem;
    flex-shrink: 0;
    flex-grow: 0;
}

.ob_fields, .labelonbottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.labelonbottom {
    flex-direction: column;
}

.ob_fields > * {
    display: flex;
    box-sizing: border-box;
    width: calc(calc(100% / 3) - 1.35rem);
    margin-top: 1rem;
    justify-content: left;
}

.ob_fields > *:not(.labelonbottom) > *:not(:first-child) {
    margin-left: 1.3rem;
}

.ob_fields > * > :is(input, options, .extinput) {
    flex-grow: 1;
}

.ob_fields > *:not(:last-child) {
    margin-right: 1.35rem;
}

.break {
  flex-basis: 100%;
  height: 0;
}

form {
    overflow: visible !important;
    overflow-x: initial;
}

label:has(+ :is(input, .extinput))::after {
    content: ":";
}

label.nodec::after {
    content: none;
}

#main {
    overflow: scroll;
    padding: 2rem 3rem;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
    max-height: 1.2rem;
    height: 1.2rem;
    background: none;
    border: none;
    border-bottom: 2px solid #3498db;
    outline: none;
    transition: border-color 1.2s ease-in;
}

input:invalid {
    border-bottom: 2px solid #983434;
}

input:active, input:target, input:target-current, input:focus-within, input:focus {
    border-bottom-color: #2c3e50;
    transition: border-color 1.2s ease-out;
}

.dis {
    display: none;
    pointer-events: none;
}

#route > *:not(hr), #submit_first {
    display: inline-block;
    margin: 0 auto;
}
#route > *:not(:last-child) {
    margin-bottom: 0.5rem;
}

.inbtn {
    background-color: #0d486e;
}

.inbtn:hover {
    background-color: #2980b9;
}

#details {
    width: 50vw;
    max-width: 300px;
}