@font-face {
    font-family: HeaderFont;
    src: url(BerlinSmallCaps.ttf);
}

* {
    font-family: Calibri, Arial, Helvetica, sans-serif;
    margin: 0%;
}

body {
    background-color: whitesmoke;
    width: 100%;
}

p, li, a {
    font-size: 18px;
}

    a:link {
        color: darkgrey;
        text-decoration: none;
    }

    a:visited {
        color: darkgrey;
        text-decoration: none;
    }

    a:hover {
        text-decoration: underline;
        color: #1f1f1f;
    }

h1 {
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
}

h2 {
    color: rgb(76, 0, 139);
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
}

div.gallery img {
    width: 100%;
    height: auto;
}

div.desc {
    padding: 0 0 10px 0;
    text-align: center;
    font-style: italic;
}

iframe {
    width: 100%;
}

.active {
    background-color: rgb(76, 0, 139);
}

.buttonImage {
    margin-left: 30px;
    margin-right: auto;
    margin-bottom: auto;
    height: 125px;
    width: 125px;
}

    .buttonImage:hover {
        transform: rotate(40deg);
        text-decoration: none;
    }

.buttonBar {
    display: inline;
    margin-left: 50px;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
    padding: 0 0 20px 0;
}

.closebtn {
    visibility: hidden;
}

.link:hover {
    text-decoration: underline;
    color: #1f1f1f;
}

.flex-container {
    display: flex;
    flex-wrap: wrap;
}

.sidecolumn {
    /*position: -webkit-sticky;*/
    /*position: fixed;*/
    top: 200px;
    /*flex-grow: 1;*/
    padding: 1px 20px 20px 20px;
    /*background-color: darkseagreen;*/
}

    .sidecolumn ul {
        list-style-type: none;
        padding: 0;
    }

.flex-maincolumn {
    flex-grow: 3;
    width: 80%;
}

.header {
    background-color: white;
    padding: 10px;
    margin-bottom: 50px;
    /*width: 100%;*/
    box-shadow: 0px 5px 10px black;
}

.header h1 {
    font-family: HeaderFont, Calibri, Arial, Helvetica, sans-serif;
    font-size: 3em;
    margin-top: 0.2em;
    margin-bottom: 0.1em;
    text-align: center;
}

.header h2 {
    color: rgb(76, 0, 139);
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
}

.headerLogo {
    margin-left: auto;
    margin-right: auto;
    /*height: 125px;*/
    width: 440px;
}

    .headerLogo img {
        width: 100%;
    }

.openbtn {
    /*height: 0;
    border: 0;*/
    width: 0;
    border: 0;
    padding: 0;
    visibility: hidden;
}

.portrait {
    width: auto;
    height: 200px;
    float: left;
    padding-right: 10px;
    padding-bottom: 10px;
}

.responsive {
    padding: 0 6px;
    float: left;
    width: 45%;
}

@keyframes rotateY {
    from {transform: rotateY(0deg);}
    to {transform: rotateY(720deg);}
}

.rotateYAnimation {
    animation-name: rotateY;
    animation-duration: 0.8s;
}

.sticky {
    position: fixed;
    top: 0;
}

.sidebarPlaceholder {
    width: 0px;
}

.textBox {
    background-color: white;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    width: 80%;
    min-height: 300px;
    box-shadow: 0px 5px 10px 0px black;
}

@media only screen and (max-width: 1150px) {
    .buttonBar {
        margin-left: 0px;
        display: block;
    }

    .headerLogo {
        margin-left: auto;
        margin-right: auto;
    }

    .textBox {
        width: 65%;
    }
}

@media only screen and (max-width: 800px) {
    .buttonImage {
        height: 80px;
        width: 80px;
    }

    .headerLogo {
        width: 100%;
        /* min-width: 300px; */
        height: auto;
    }

    .textBox {
        width: 80%;
    }

    .responsive {
        width: 100%;
    }

    .openbtn {
        position: fixed;
        bottom: 0;
        font-size: 20px;
        cursor: pointer;
        background-color: rgb(76, 0, 139);
        color: #111;
        padding: 10px 15px;
        border: none;
        visibility: visible;
        width: 100%;
    }

        .openbtn:hover {
            background-color: #444;
        }

    .sidecolumn {
        padding: 0;
        width: 0;
        background-color: lightgrey;
        visibility: hidden;
        position: fixed;
        top: auto;
        bottom: 0;
    }

        .sidecolumn a {
            color: black;
            display: block;
            text-align: center;
        }

        .sidecolumn h2 {
            display: block;
            text-align: center;
        }

        .sidecolumn .closebtn {
            bottom: 0;
            font-size: 48px;
            color: #111;
            visibility: inherit;
        }
}

@media only screen and (max-width: 450px) {
    .buttonImage {
        width: 100px;
        height: auto;
    }

    .headerLogo {
        width: 90%;
    }
}
