﻿body {
    font-family: 'Prompt',sans-serif;
    /*background: url(/images/bg.jpg);*/
    /*background: rgb(7,194,251);
    background: linear-gradient(90deg, rgba(7,194,251,1) 5%, rgba(244,249,250,1) 20%, rgba(244,249,250,1) 80%, rgba(7,194,251,1) 95%);*/
    background-size:  cover;

    background-repeat: no-repeat;
    background-attachment:fixed;
}

    body * {
        box-sizing: border-box;

        margin: 0;
    }

.arrow {
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
}


.right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.left {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.up {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}

.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}



main {
    max-width: 80rem; /* 40*/
    margin: 0 auto;
    padding: 1rem;
}

h1 {
    margin-bottom: inherit;
    align-content: center;
    font-size: 22px;
    font-weight: bold;
}

h2 {
    margin-bottom: inherit;
    align-content: center;
    font-size: 20px;
}

h4 {
    margin-bottom: inherit;
    align-content: center;
    font-size: 16px;
    text-indent:2em;
    color: #002D72;
}

p {
    margin-bottom: 1rem;
}

.intro {
    font-size: 18px;
    text-align: justify;
    text-indent: 3em;
    text-decoration: none;
    color: #253b48;
}

.category {
    overflow: hidden;
    transition: height 500ms;

}

    .category + .category {
        margin-top: 1rem;
    }

.category__title {
    position: relative;
    padding: 1rem;
    padding-left: 1.25rem;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    /*background-color: #75787b; /*Pantone / PMS Cool Gray 9 C / #75787b Hex Color Code */
}

    .category__title:hover {
        opacity: .75;
    }

    .category__title::before {
        content: '▶';
        position: absolute;
        top: 1rem;
        left: 0;
        transform: scale(.75);
        transition: transform 500ms;
    }

.category.is-expanded .category__title::before {
    transform: scale(.75) rotate(90deg);
}

.block {
    margin-bottom: 1rem;
    /*border: 1px solid slateblue;*/
    border-radius: .125rem;
    /*box-shadow: 0 1px 2px;*/
    overflow: hidden;
    transition: height 500ms;
    /*color: #002D72; /*#024386*/
}

    .block p {
        margin: 0;
        line-height: 1.4;
    }

        .block p + p {
            margin-top: 0.5em;
        }

.block__title {
    position: relative;
    padding: 1rem;
    padding-right: 2rem;
    /* line-height: 1rem;*/
    font-size: 14px;
    font-weight: bold;
    background-color: #002D72; /*white*/
    cursor: pointer;
    user-select: none;
    color: white;
}

    .block__title:hover {
        opacity: .8;
    }

    .block__title h3 {
        margin: 0;
        color:white; /*add*/
    }

    .block__title::after {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        right: 0;
        width: .75em;
        height: 100%;
        padding-right: 1rem;
        font-size: 1.17em;
        /* background: white;*/
    }

.block.is-collapsed .block__title::after {
    content: '\002B' /*'\25B2'*/;
    color: white; /*#59547c*/
}

.block.is-expanded .block__title::after {
    content: '\2212' /*'\25BC'*/;
    color: white;
}

.block__content {
    padding: 1rem;
    font-size: 16px;
    text-indent: 2em;
    color: #002D72;
    margin-bottom: 0rem;
}

aside {
    position: fixed;
    left: 50%;
    top: 9rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 12rem;
    margin-left: 20rem;
    padding: 1rem;
    background: lemonchiffon;
}

    aside fieldset {
        border: 0;
        margin: 0;
        padding: 0;
    }

        aside fieldset + fieldset {
            margin-top: 1.5rem;
        }

    aside .buttons {
        display: flex;
        flex-direction: column;
    }

    aside button {
        -webkit-appearance: none;
        -moz-appearance: none;
        /*appearance: none;*/
        padding: .75rem;
        font-family: sans-serif;
        font-size: 1rem;
        border: none;
        border-radius: .25rem;
        background-color: mediumaquamarine;
        color: white;
        box-shadow: 0 2px 4px rgba(0,0,0, .15);
        cursor: pointer;
        outline: none;
        text-shadow: 0 1px 2px rgba(0,0,0, .15);
        transition-property: transform, background, box-shadow;
        transition-duration: 200ms;
    }

        aside button:hover {
            transform: translateY(-1px);
            box-shadow: 0 3px 6px rgba(0,0,0, .1);
        }

        aside button:active {
            transform: translateY(0);
            box-shadow: 0 1px 5px rgba(0,0,0, .15) inset;
            background-color: #59b395;
        }

        aside button + button {
            margin-top: .5rem;
        }

    aside legend {
        margin-bottom: 1rem;
    }

.log {
    -webkit-appearance: none;
    -moz-appearance: none;
    /*appearance: none;*/
    width: 100%;
    height: 7rem;
    padding: .5rem;
    border: 1px solid gainsboro;
    font-family: 'Courier New', Courier, monospace;
    font-size: .75rem;
    resize: none;
}

@media screen and (max-width: 66rem) {
    main {
        margin-bottom: 11rem;
    }

    aside {
        top: unset;
        bottom: 0;
        left: 0;
        margin: 0;
        flex-direction: row;
        width: 100%;
        max-width: 100%;
    }

        aside fieldset + fieldset {
            margin: 0;
            margin-left: 1rem;
        }

        aside button {
            padding: .5rem;
            font-size: .75rem;
        }
}
table, th, td {
    border: 2px solid black;
    border-collapse: collapse;
    align-content: center;
    text-align: center;
    border-color: #002D72;
}

