*, *:before, *:after {
    box-sizing: border-box;
}

body {
    font-family: Open Sans, sans;
    font-size: 16px;
    background-color: #2f3640;
}
.container {
    max-width: 600px;
    margin: 50px auto;
    background-color: #fff;
    padding: 5px 30px;
    border-radius: 10px;
}

.nav {
    color: #c23616;
    font-size: 20px;
}

.row {
    margin-bottom: 30px;
}

.superrow {
    display: flex;
    align-items: center;
}

.superrow .row {
    margin-right: 40px;
}

hr {
    margin-bottom: 20px;
}

.row > span, .row label > span {
    display: block;
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: .5;
    margin-bottom: 5px;
}

.row > div label {
    margin-right: 15px;
    font-size: 20px;
    cursor: pointer;
    transition: .15s ease color;
}

.row > div label:hover {
    color: #c23616;
}

.row > div label i {
    font-style: normal;
}

.row > div label input:checked + i {
    color: #c23616;
}

.row--double {
    display: flex;
    justify-content: space-between;
}

.row--double > label {
    width: calc(50% - 10px);
}

.row--triple {
    display: flex;
    justify-content: space-between;
}

.row--triple div > * {
    width: 100%;
}

.row--triple div:nth-child(1) {
    width: calc(40% - 10px)
}

.row--triple div:nth-child(2) {
    width: calc(40% - 10px)
}

.row--triple div:nth-child(3) {
    width: 20%
}

.row--triple button {
    margin-top: 22px;
    padding: 13px 40px;
    border-radius: 4px;
}

.field {
    width: 100%;
    padding: 10px 5px;
    font-size: 16px;
}

select.field {
    height: 47px;
}

button {
    padding: 15px 40px;
    background-color: #000;
    color: #fff;
    font-size: 18px;
    text-transform: uppercase;
    border-radius: 5px;
    border: 0;
    cursor: pointer;
    transition: .3s ease all;
}

button:hover {
    background-color: #c23616;
}

.table {
    width: 100%;
}

.table th {
    text-align: left;
}

.table th, .table td {
    border-bottom: 1px solid #000;
    padding: 10px 0;
}

.table tr:hover td {
    background-color: #E5CACA;
}

.subtable {
    width: 100%;
    font-size: 12px;
}

.subtable th, .subtable td {
    border-bottom: 1px solid #afafaf;
    text-align: left;
    padding: 5px 10px;
}

.table th:last-child, .table td:last-child {
    text-align: right;
}

.table-detail {
    display: none;
}

a {
    color: #c23616;
}

.message {
    max-width: 600px;
    margin: 50px auto;
    border: 2px dashed;
    padding: 15px 20px;
    border-radius: 5px;
    text-align: left;   
    font-size: 18px;
    text-align: center;
    color: #fff;
}