* {
    box-sizing: border-box;
}
h1 {
    color: #CC3333;
    text-align: center;
}
h2{
    color:#0033FF;
    text-align: center;
}
img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    border: none;
}
.text-center {
    text-align: center;
}
.w-full {
    width: 100%;
}
body.gallery-page {
    background-color: #99CCFF;
}

.notice {
    text-align: center;
    color: black;
    font-size: 18px;
    font-style: italic;
}
.notice-sm {
    font-size: 14px;
}

header{
    text-align: center;
}
footer {
    text-align: center;
}

.gallery-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 800px;
}
.gallery-list a {
    display: block;
    position: relative;
    width: calc(25% - 20px);
    margin: 10px;
    padding: 15px;
    text-align: center;
    text-decoration: none;
    border: solid 1px #ccc;
    border-radius: 4px;
    color: #1a1a1a;
}
.gallery-list a:hover {
    border-color: blue;
    color: blue;
}
.gallery-list a strong {
    font-size: 105%;
}
.gallery-list img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.gallery-list .new {
    position: absolute;
    top:-20px;
    right:-20px;
    height:40px;
    width:50px;
    color: white;
    background-color: red;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding:4px;
    border-radius: 50%;
    text-transform: uppercase;
    font-weight: bold;
}
.gallerytable td{
    text-align:center;
}

.gallery {
    background-color: #CCFFCC;
    border: outset 10px gray;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    margin: 20px auto;
    max-width: 800px;
}
.gallery-wide {
    max-width: 1000px;
}
.gallery a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(25% - 20px);
    margin: 10px;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    border: solid 1px gray;
}
.gallery-wide a {

    width: calc(100% / 3 - 20px);
}
.gallery a.full {
    width: 100%;
}
.gallery a:hover {
    border-color: blue;
}
.gallery figure {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.gallery figcaption {
    margin-top: 10px;
}
figcaption {
    text-align: center;
}
.toc {
    text-align:center;
}