#frame-container {
    background-color: #f7f7f7;
    width: 620px;
    border: 1px solid #ddd;
}

#container {
    font-family: Arial, sans-serif;
    font-size: 75%;
    margin: 4px 10px 0px 10px;
    background-color: #f7f7f7;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 150%;
    font-weight: bold;
    padding-bottom: 4px;
}

.gear-icon {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    vertical-align: middle;
    margin: 0;
}

.gear-icon svg {
    fill: #007bff;
}

.gear-icon:hover svg {
    fill: white;
}

.footer {
    /*position: absolute;*/
    /*bottom: 0;*/
    right: 10px;
    align-items: right;
    display: flex;
    justify-content: flex-end;
    padding: 4px;
    font-size: 75%;
    font-weight: lighter;
    color: #777;
}

form, #inputForm {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

label {
    font-weight: bold;
    margin-bottom: 5px;
}

input, select {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    width: 100%;
}

button {
    padding: 10px;
    font-size: 14px;
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
}

button:hover {
    background-color: #0056b3;
}

.section {
    padding: 10px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
    border-radius: 4px;
}

.service {
    margin-top: 0px;
    padding: 10px 10px 4px 10px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border-radius: 4px;
}

.service h3 {
    margin: 0;
}

.price {
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    padding: 10px;
}

ul {
    list-style-type: none;
    padding: 0;
}

ul li {
    margin: 5px 0;
}

.results {
    padding-top: 10px;
    padding-bottom: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.checkbox-group {
    margin-top: 4px;
    display: grid;
    grid-template-columns: 1fr 1.2fr 2fr;
}

.button-group {
    display: grid;
    grid-gap: 10px;
    grid-auto-flow: column;
    width: 100%;
    grid-template-columns: auto auto;
    justify-content: end;
}

.checkbox-group input {
    width: auto;
    height: auto;
    margin-right: 5px;
    cursor: pointer;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.disabled {
    pointer-events: none;
}

.xTable {
    display: table;
    margin: 10px;
}

.xTableRow {
    display: table-row;
}

.underlined {
    border-bottom: 1px solid black;
}

.xTableHeading {
    display: table-header-group;
    background-color: #f2f2f2;
    font-weight: bold;
}

.xTableBody {
    display: table-row-group;
}

.xTableFoot {
    display: table-footer-group;
    background-color: #f2f2f2;
    width: 1px;
    white-space: nowrap;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-right: 1px solid lightgrey;
    border-top: 1px solid lightgrey;
}

.xTableCell, .xTableHead {
    display: table-cell;
    width: 1px;
    white-space: nowrap;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.xTableCellWrap {
    display: table-cell;
    width: 1px;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.xTableCell select {
    min-height: 1.8em;
}

.xTableCell input {
    min-height: 1.4em;
}

.xTableCell input[type=checkbox], svg {
    vertical-align: bottom;
    cursor: pointer;
}

.xTableCell label {
    padding-right: 10px;
    cursor: pointer;
}

.xTableCell input[type="number"] {
    width: 30px;
}

.divButton {
    padding: 10px;
}