body {
    padding: 40px;
    font-family: sans-serif;
}

h1 {
    text-align: center;
}

h1::before {
    content: "♦ ";
}

h1::after {
    content: " ♦";
}

li {
    margin: 5pt;
    /* line-height: 1.5; */
}

table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    border: 1px solid gray;
}

th {
    background-color: lightgrey;
}

thead th:nth-child(1) {
    width: 50%;
}

.def {
    break-inside: avoid;
    border: 1px solid darkred;
    box-shadow: 2px 2px darkred;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px;
}

.def strong {
    color: darkred;
}

.def p:first-child {
    color: darkred;
    font-weight: bold;
    text-align: center;
}

.theorem {
    break-inside: avoid;
    border: 5px double darkgreen;
    box-shadow: 2px 2px darkgreen;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px
}

.theorem p:first-child {
    color: darkgreen;
    font-weight: bold;
    text-align: center;
}

.corollary {
    break-inside: avoid;
    border: 1px solid green;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px
}

.corollary p:first-child {
    color: green;
    font-weight: bold;
    text-align: center;
}

/* .theoremlist {
    border: 1px solid lightslategray;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px;
}

.theoremlist p:first-child {
    font-weight: bold;
    text-align: center;
} */

.props {
    break-inside: avoid;
    border: 1px solid darkcyan;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px;
}

.props p:first-child {
    font-weight: bold;
    text-align: center;
}

.other {
    break-inside: avoid;
    border: 1px solid darkgray;
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px;
}

.other p:first-child {
    font-weight: bold;
    text-align: center;
}