html {
    all: unset;
    box-sizing: border-box;
    height:100%;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height:clamp(590px,99vh,99vh);
    width:clamp(350px,99vw,99vw);
}

footer {
    margin-top: 2em;
}

.copyright {
    text-align: center;
}
/*Generic settings*/
.x-header {
    text-align: center;
    letter-spacing: 4px;
    line-height: 15px;
    word-spacing: 3px;
}

.x-form-label {
    display: block;
}

.x-form-input {
    padding: .5em;
    width: 20em;
    border: solid 1px #999;
}

.x-buttons-div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.x-btn-normal:hover, .x-btn-other:hover {
    opacity: 0.8;
    cursor: pointer;
}

input[type='text']:focus, input[type='area']:focus, select:focus {
    outline: 1px solid blue;
}

.x-btn-normal {
    background-color: #04AA6D;
}

.x-btn-other {
    background-color: rosybrown;
}

.x-btn-primary {
    background-color: royalblue;
}

.x-btn-secondary {
    background-color: burlywood;
}

.x-btn-normal, .x-btn-other, .x-btn-primary, .x-btn-secondary {
    color: white;
    padding: 0px;
    border: none;
    width: 150px !important;
    height: 40px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: .25em;
    text-decoration: none;
    font-size: 1em;
    cursor: pointer;
}

.x-buttons-div {
    display: flex;
    flex-direction: row;
}
/* Menu */
#x-menu-nav {
    background: #0099CC !important;
    height: 45px;
    padding-left: 18px;
    border-radius: 0px;
    margin-bottom: 1.5em;
}

    #x-menu-nav ul, #x-menu-nav li {
        margin: 0 auto;
        padding: 0;
        list-style: none
    }

    #x-menu-nav ul {
        width: 100%;
        text-align: left;
    }

    #x-menu-nav li {
        display: inline-block;
        position: relative;
    }

    #x-menu-nav a {
        display: block;
        line-height: 45px;
        padding: 0 14px;
        text-decoration: none;
        color: #FFFFFF;
        font-size: 16px;
        /*        background-color:#0099CC;*/
    }

        #x-menu-nav a.dropdown-arrow:after {
            content: "\25BE";
            margin-left: 5px;
        }

    #x-menu-nav li a:hover {
        color: #0099CC;
        background: #F2F2F2;
    }

    #x-menu-nav input {
        display: none;
        margin: 0;
        padding: 0;
        height: 45px;
        width: 100%;
        opacity: 0;
        cursor: pointer
    }

    #x-menu-nav label {
        display: none;
        line-height: 45px;
        text-align: center;
        position: absolute;
        left: 35px
    }

        #x-menu-nav label:before {
            font-size: 1.6em;
            color: #FFFFFF;
            content: "\2261";
            margin-left: 20px;
        }

    #x-menu-nav ul.sub-menus {
        height: auto;
        overflow: hidden;
        width: 170px;
        background: #444444 !important;
        position: absolute;
        z-index: 99;
        display: none;
    }

        #x-menu-nav ul.sub-menus li {
            display: block;
            text-align: left;
            width: 100%;
        }

        #x-menu-nav ul.sub-menus a {
            color: #FFFFFF;
            font-size: 16px;
        }

    #x-menu-nav li:hover ul.sub-menus {
        display: block
    }

    #x-menu-nav ul.sub-menus a:hover {
        background: #F2F2F2;
        color: #444444;
    }

@media screen and (max-width: 800px) {
    #x-menu-nav {
        position: relative
    }

        #x-menu-nav ul {
            background: #444444;
            position: absolute;
            top: 100%;
            right: 0;
            left: 0;
            z-index: 3;
            height: auto;
            display: none;
            text-align: left;
        }

            #x-menu-nav ul.sub-menus {
                width: 100%;
                position: static;
            }

                #x-menu-nav ul.sub-menus a {
                    padding-left: 30px;
                }

        #x-menu-nav li {
            display: block;
            float: none;
            width: auto;
        }

        #x-menu-nav input, #x-menu-nav label {
            position: absolute;
            top: 0;
            left: 0;
            display: block
        }

        #x-menu-nav input {
            z-index: 4
        }

            #x-menu-nav input:checked + label {
                color: #FFFFFF
            }

                #x-menu-nav input:checked + label:before {
                    content: "\00d7"
                }

            #x-menu-nav input:checked ~ ul {
                display: block
            }
}
