@font-face {
    font-family: 'Times New Roman';
    src: url('../fonts/OPTITimes-Roman.woff2') format('woff2'),
        url('OPTITimes-Roman.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Times New Roman';
    src: url('../fonts/OPTITimesRoman-Italic.woff2') format('woff2'),
        url('../fonts/OPTITimesRoman-Italic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Comic Sans';
    src: url('../fonts/ComicSans.woff2') format('woff2'),
        url('../fonts/ComicSans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Comic Sans';
    src: url('../fonts/ComicSans-Italic.woff2') format('woff2'),
        url('../fonts/ComicSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Comic Sans';
    src: url('../fonts/ComicSans-Bold.woff2') format('woff2'),
        url('../fonts/ComicSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Comic Sans';
    src: url('../fonts/ComicSans-BoldItalic.woff2') format('woff2'),
        url('../fonts/ComicSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

* {
    box-sizing: border-box;
    font-smooth: never;
        -webkit-font-smoothing: none;
}

body {
    background-image: url('../img/bg.gif');
    background-repeat: repeat;
    text-align: center;
    height: auto;
    padding: 6rem .5rem 12rem;
    font-family: 'Comic Sans', sans-serif;
    -webkit-font-smoothing: none;
}

div.content {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
}

h1,
h2,
h3,
h4 {
    font-family: 'Arial', sans-serif;
    text-align: center;
    margin: 1rem;
}

h1 {
    font-size: 3.6rem;
    color: hotpink;
    font-family: 'Times New Roman', 'Times', serif;
    font-style: italic;
}

h2 {
    font-size: 2.7rem;
    color: royalblue;
    margin: 2rem;
}

h3 {
    font-size: 1.5rem;
    color: darkcyan;
}

h4 {
    font-size: 1.2rem;
    color: slateblue;
}

p {
    font-family: 'Comic Sans', sans-serif;
    margin: 1rem;
}

figcaption {
    font-family: 'Times New Roman', 'Times', serif;
}

a {
    color: blue;
    font-weight: bold;
    text-decoration: underline;
}

hr {
    width: 100%;
    border: inset 1px darkgrey;
    margin: 2rem 0;
}

button {
    background: #c0c0c0;
    padding: 4px 10px;
    border: none;
    height: 30px;
    /* Maybe only 0.5X on retina displays? */
    box-shadow:
        -0.5px -0.5px 0 0.5px #c0c0c0,
        0 0 0 1px #808080,
        -0.5px -0.5px 0 1.5px #ffffff,
        0 0 0 2px #0a0a0a;
        font-family: 'MS Sans Serif', Arial;
}

button:active {
    box-shadow:
        -0.5px -0.5px 0 0.5px #808080,
        0 0 0 1px #c0c0c0,
        -0.5px -0.5px 0 1.5px #0a0a0a,
        0 0 0 2px #ffffff;
}

button:disabled {
    color: #9a9a9a;
    text-shadow: 1px 1px 0 #eeeeee;
}

button:focus {
    outline: 1px dotted #000000;
    outline-offset: -2px;
}

section {
    max-width: 800px;
    margin-bottom: 2rem;
}

div.chatroom {
    position: fixed;
    right: 0;
    bottom: 0;
    transform: translateY(100%);
    width: 350px;
    max-width: 100vw;
    max-height: 30vh;
    height: 400px;
    background-color: white;
    border: 5px groove;
    overflow-y: auto;
    transition: .7s;
    transition-timing-function: linear;
}
div.chatroom.show {
    transform: translateY(0%);
}
div.chatroom_inner {
    width: 100%;
    padding: .5rem;
    
}
div.message {
    border-bottom: 1px solid black;
    padding: .3rem;   
    width: 100%;
    text-align: left;
}

div.message p {
    font-family: 'Arial', sans-serif;
    font-size: .95rem;
    margin: 0;
}