@font-face {
    font-family: "CheerfulHoliday";
    src: url("/fonts/CheerfulHoliday.otf") format("opentype");
}

@font-face {
    font-family: "LoveHouse";
    src: url("/fonts/LoveHouse.otf") format("opentype");
}

@font-face {
    font-family: "Nowherebound";
    src: url("/fonts/Nowherebound.ttf") format("truetype");
}

:root {
    --text: #420b1a;
    --link: #d81159;
    --hover: #c01194;
}

body {
    background-image: url("/img/tile.gif");
    font-family: "Nowherebound";
    font-size: 1.15em;
    color: var(--text);
    padding: 10px;
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "LoveHouse";
    margin: 0;
}

a {
    color: var(--link);
}

a:hover {
    color: var(--hover);
}

header {
    text-align: center;
    height: 90px;
    background-image: repeating-linear-gradient(45deg, #ffd9da, #ffd9da 10px, #ffe6f3 10px, #ffe6f3 20px);
    position: relative;
    margin: 0;

    h1 {
        font-family: "CheerfulHoliday";
        font-size: 4em;
        margin: 0;
        padding-top: 10px;
        padding-bottom: 0;
    }
}

#nav {
    font-family: "CheerfulHoliday";
    font-size: 1.25em;
    text-align: center;
    display: flex;
    justify-content: space-evenly;
}

.canvas {
    display: flex;
    position: relative;
    z-index: 1;
    width: 90%;
    margin: 0 auto;
    gap: 0;
    padding: 0;
}

.container {
    display: block;
    height: auto;
    gap: 0;
}

.garland {
    background-image: url(/img/garland.gif);
    height: 50px;
    z-index: 10;
    width: 100%;
    background-size: contain;
    position: absolute;
}

.garland2 {
    background-image: url(/img/pearlgarland.gif);
    z-index: 10;
    width: 100%;
    background-size: contain;
    height: 25px;
    position: absolute;
}

.ribbon {
    background-image: url(/img/rose-ribbon.gif);
    max-width: 100%;
    display: block;
    margin: 10px auto 0;
    height: 20px;
    background-size: contain;
    background-repeat: repeat-x;
}

.content {
    background-image: url(/img/tile3.gif);
    position: relative;
    z-index: 1;
    max-height: 100%;
    padding: 10px;

    .text {
        padding: 15px;
        background-color: rgba(255, 230, 243, 0.75);
        margin: 15px 0;

        p {
            margin: 0;
        }
    }
}

.side {
    background-image: url(/img/tile2.jpg);
    min-width: 175px;
    height: auto;
    padding: 10px;
}

.decor {
    z-index: 20;
    position: absolute;
}

@media (max-width: 767px) {
    .canvas {
        flex-direction: column-reverse;
        width: 100%;
    }

    .container {
        width: 100%;
    }

    header {
        width: 100%;
    }

    .content {
        max-width: 100%;
        line-break: anywhere;
    }

    .side {
        max-width: 100%;
    }

    #nav {
        flex-direction: column;
    }

    .decor {
        display: none;
    }
}
