* {
    box-sizing: border-box;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url(SourceSansPro-Regular.otf.woff2);
}

input[type=text],
input[type=email],
input[type=number],
input[type=date],
select,
textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    resize: vertical;
}

input[type=button] {
    background-color: #228acf;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    /*float: right;*/
    margin: 5px;
    font-size: inherit;
}

input[type=submit],
#btnSubmit {
    background-color: #228acf;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    float: right;
    margin: 5px;
    font-size: inherit;
}

input[type=button]:disabled,
#btnSubmit:disabled {
    background-color: #bebebe;
    color: #868686;
    cursor: not-allowed;
}

ul {
    margin-top: 0px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

td {
    vertical-align: top;
}

#uebersichtsTabelle tr:not(:last-child) {
    border-bottom: 1px solid #000;
}

label {
    padding: 12px 12px 12px 0;
    display: inline-block;
    white-space: wrap;
}

.container {
    border-radius: 5px;
    max-width: 700px;
    background-color: #f2f2f2;
    padding: 20px;
    margin: auto;
}

.comboElement {
    border-radius: 5px;
    max-width: 75em;
    background-color: #ffffff;
    padding: 0px;
    margin: 2px;
    white-space: nowrap;
    display: block;
}

.row,
tr {
    margin-top: 6px;
}

.col-1,
.Anmeldungstabelle>tbody>tr>td:nth-child(1) {
    float: left;
    width: 20%;
}

.col-2,
.Anmeldungstabelle>tbody>tr>td:nth-child(2) {
    float: left;
    width: 80%;
}

.col-3,
td:nth-child(3) {
    float: right;
}

.hidden {
    display: none;
}

.optionName {
    width: auto;
}

.preis {
    float: right;
    display: block;
}

/* Clear floats after the columns */
.row::after {
    content: "";
    display: table;
    clear: both;
}

/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 610px) {
    .col-1,
    .col-2,
    input[type=submit] {
        width: 100%;
        margin-top: 0;
    }
}
@media screen and (max-width: 500px) {
    .preis {
        float: none;
    }
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}