body code {
    font-size: 13px;
}
textarea {
    padding-top: 2px;
    padding-bottom: 2px;
}
input, textarea, button {
    color: #111;
    background-color: #fdfdfd;
    padding-left: 3.75px;
    padding-right: 3.75px;
    border: 1px solid #828282;
    border-radius: 3px;
    outline: none;
}
input:hover, textarea:hover, button:hover {
    box-shadow: 2px 2px 2px 0px #e8e8e8;
}
input:focus, textarea:focus, button:focus {
    box-shadow: 2px 2px 2px 0px #becaec;
	border: 1px solid #5bc7f2;
}
input:not(:focus):invalid, textarea:not(:focus):invalid, button:not(:focus):invalid {
    box-shadow: 0px 0px 1px 1px #e9f0e7;
}
*::placeholder {
    opacity: 1;
    color: #828282;
    font-size: 14px;
}

img {
    vertical-align: middle;
}
figure>img {
    display: block;
}
figcaption {
    font-size: 15px;
}

@media screen and (max-width: 600px) {
    h1 {
    font-size: 28px;
}
h1 code {
    font-size: 22.75px;
}
}
h2 {
    font-size: 26px;
    border-bottom: 1px solid #cfcfcf;
}
h2 code {
    font-size: 21.125px;
}
@media screen and (max-width: 480px) {
    h2 {
    font-size: 24px;
}
h2 code {
    font-size: 19.5px;
}
}
h3 {
    font-size: 22px;
}
h3 code {
    font-size: 17.875px;
}
@media screen and (max-width: 480px) {
.wrapper-header, .wrapper-content, .wrapper-footer {
    max-width: 100%;
    padding-right: 5px;
    padding-left: 5px;
    margin: 0 auto;
}
}
@media screen and (max-width: 480px) {
    .wrapper-header, .wrapper-content, .wrapper-footer {
    padding-right: 5px;
    padding-left: 5px;
}
}
.icon>svg {
    display: inline-block;
    vertical-align: middle;
}
.icon>svg path {
    fill: #828282;
}
sup {
    vertical-align: top;
    position: relative;
    top: -0.3em;
}

.site-header {
    border-bottom: 1px solid #828282;
    background-color: #f7f7f7;
}
.wrapper-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
}
.img-wrapper {
    padding-left: 15px;
    padding-right: 15px;
}
img.center {
    margin: auto;
    margin-top: 22.5px;
    margin-bottom: 3.75px;
    padding: 2px;
    max-width: 100%;
    display: block;
}
img.border {
    border: 1px solid #828282;
}
.empty-caption {
    margin-bottom: 18.75px;
}
img+em {
    margin-bottom: 15px;
    display: block;
    text-align: center;
    font-size: 15px;
    color: #5c5c5c;
}
.todo {
    border: 2px dashed #d65946;
    padding: 7.5px 15px;
    margin: 22.5px 15px;
    overflow: auto;
}
.todo::before {
    content: "TODO:";
    display: block;
    margin-bottom: 3.75px;
    font-weight: 500;
}

.default-content {
    padding-top: 30px;
    padding-bottom: 15px;
    flex: 1;
    font-size: 17px;
}
.page-content {
    text-align: justify;
}