:root{
    --max-width: 1070px;
    --primary-color: #ac424b;
    --link-color: #2277dd;
    --link-color-hover: #0050a5;
    --nav-bar-width: 270px;
    --nav-bar-margin: 10px;
    --screen-max-width: 992px;
    --border-color: #eee;
}

html {
    width: 100%;
    height: 100%;
    overflow:auto;
    font-family: 'Helvetica', 'Arial', sans-serif;
    font-size: 103%;
}

body {
    width: 100%;
    height: 100%;
    margin:0px;
    padding:0px;
    background-color: #fff9f9;
}

header {
    width: calc(100% - 6px);
    height: calc(100vw * 0.11);
    max-height: 100px;
    padding: 3px;
    background-color: #fefffe;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    overflow: hidden;
}

.logo-img{
    vertical-align: top;
    display: inline-block;
    height: 100%;
}

.logo-text{
    vertical-align: bottom;
    display: inline-block;
    text-orientation: mixed;
    cursor: default;
    padding-bottom: 2.5vw;
}

.logo-text-upper{
    color:#447b49;
    font-weight:bold;
    font-size: calc(2.4vw);
    padding-bottom: 1.5vw;
}

.logo-text-lower{
    color:#447b49;
    font-size: 1.5vw;
}

#div-body {
    width: 100%;
    background-color: #fefffe;
    border:none;
}

#nav-community-links {
    padding: 5px;
    margin-bottom: 10px;
}

.nav-community-link img {
    width: calc(var(--nav-bar-width) / 3);
    margin: 0 calc(var(--nav-bar-width) / 12 - var(--nav-bar-margin) / 2);
}

#nav-site-map {
    border: 1px solid #eee;
    border-radius: .3rem;
}

#nav-site-item {
    padding: 10px;
}

#nav-title {
    width:100%;
    height:auto;
    background-color: var(--primary-color);
    color: white;
    text-align: center;
    padding: 5px 0;
    border-top-left-radius: .3rem;
    border-top-right-radius: .3rem;
    cursor: default;
    user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

#nav-site-items {
    margin: 10px;
}

#main-content {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 40px);
    padding: 10px 20px 30px 20px;
}

.nav-site-item{
    margin: 10px 10px;
    display: block;
    text-decoration: none;
}

.nav-site-item::after{
    content:' ▸';
    color:darkred;
}

.nav-site-item.active {
    color: var(--link-color-hover);
}

.nav-site-item.label::before{
    content:'★ ';
    color: red;
}

a {
    color: var(--link-color);
    text-decoration: none;
}

a:hover {
    color: var(--link-color-hover);
}

div {
    text-align: justify;
    text-justify: auto;
}

#main_content{
    height: 100%;
    width: 100%;
}

.emsp::before {
    content: '\2003';
}

footer{
    width: (100% - 40px);
    height: auto;
    padding: 20px;
    text-align: center;
    border-top: 1px solid #dee2e6;
    color: gray;
    cursor: default;
    background-color: #fff9f9;
}

footer table {
    width:auto;
    margin: 0 auto;
}

footer table td{
    padding: 5px 0;
    text-align: left;
}

footer {
    width:auto;
}

footer a {
    color: gray;
    cursor: pointer;
    border-bottom: 1px dotted gray;
}

.nav-expand.right{
    display: inline-block;
    position: absolute;
    right: 3vw;
    top: calc(4vw);
}

.menu-icon {
    width: 7vw;
    height: 7vw;
    max-width: 35px;
    max-height: 35px;
    background:url(image/nav-expand-icon.svg) no-repeat;
    background-size: 100%;
    background-position: center;
    opacity: .7;
}

.menu-icon:hover{
    opacity: .5;
}

.mask {
    display: none;
}

.title {
    padding: 5px 0;
}

.title a{
    font-weight:bold;
    font-size: 150%;
    color: #222;
    padding: 0 0;
    text-decoration: none;
}

.title a:hover {
    color: #444;
}

.title div.share-menu{
    float: right;
    user-select: none;
}

.title div.share-menu div.share-menu-btn {
    border:none;
    border-bottom: 2px solid ghostwhite;
    background-color: white;
    font-size: 100%;
    color: mediumseagreen;
    padding: 5px 10px;
    vertical-align: text-top;
}

.title div.share-menu div.share-menu-btn:hover , .title div.share-menu div.share-menu-btn.active{
    border-bottom: 2px solid forestgreen;
    color: forestgreen;
    cursor: pointer;
}

.title div.share-menu div.share-menu-expand {
    position: relative;
    right:0px;
    display: none;
}

.title div.share-menu div.share-menu-expand.show{
    display:block;
}

.title div.share-menu div.share-menu-expand div.share-menu-content {
    border: 1px solid mediumseagreen;
    border-radius: 10px 0px 10px 10px;
    background: white;
    position: absolute;
    right:0px;
    top:1px;
    width: 230px;
    box-shadow:1px 1px 3px 3px lightgray;
}

.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item {
    display: block;
    padding: 9px 20px 7px 20px;
    font-size: 105%;
    cursor: pointer;
}

.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item:first-child {
    border-top-left-radius: 10px;
}

.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item:last-child {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item.share-menu-item-disable:hover{
    cursor: default;
    background-color:white;
}


.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item:hover {
    background-color: LightGray;
}

.title div.share-menu div.share-menu-expand div.share-menu-content div.share-menu-item i.mdi{
    margin-right: 10px;
    font-size: 135%;
}

.important-notification{
    border: 1px solid Crimson;
    border-radius: 10px;
    margin: var(--nav-bar-margin);
    padding: var(--nav-bar-margin);
    color: red;
    text-align: center;
}

.subhead{
    font-family: Helvetica,Arial,sans-serif;
    font-size: 105%;
    font-weight: bold;
    width: 100%;
}

.subhead a{
    width: 100%;
    display: inline-block;
    text-align: center;
}

.acenter{
    display: table;
    justify-content: center;
    margin: 0 auto;
    width: auto;
    max-height: 250px;
    text-align: center;
}

.acenter * {
    max-width: 100%;
    display: table-row;
}

@keyframes slide-right {
    100% { right: 0; }
}

@keyframes slide-left {
    100% { right: -300px; }
}

/* Non-IE styles */
@supports not (-ms-high-contrast: none) {

    @media screen and (min-width: 992px ) {
        #div-body {
            width: 100%;
            max-width: var(--max-width);
            margin: 0 auto;
        }
    
        #main-content {
            width: calc( 100% - var(--nav-bar-width) - var(--nav-bar-margin) * 2 - 60px);
        }
    
        #navbar {
            display: inline-block;
            width: calc( var(--nav-bar-width) - var(--nav-bar-margin) / 2);
            margin: var(--nav-bar-margin);
            vertical-align: top;
        }
    
        .logo-text{
            padding-bottom: 26px;
        }
    
        .logo-text-upper{
            font-size: 24px;
            padding-bottom: 15px;
        }
        
        .logo-text-lower{
            font-size: 16px;
        }
    
        .nav-expand {
            display: none;
        }
    
        .nav-expand.right {
            display: none;
        }
    }
    
    @media screen and (max-width: 991px ){

        header {
            position: fixed;
            left:0;
            top:0;
            border-bottom: 2px solid var(--border-color);
        }
    
        #div-container {
            margin-top: calc(100vw * 0.11);
        }
    
        #navbar {
            display: none;
            position: fixed;
            width: 80%;
            max-width: 300px;
            height:calc(100% - 15px);
            background-color: white;
            right:0;
            padding-top: 15px ;
            top:0;
            border-left: 1px solid var(--border-color);
            z-index: 5;
            overflow: auto;
        }
        #nav-community-links{
            position: absolute;
            right: 0;
            top: 15px;
            margin-bottom: 0;
        }
        .nav-community-link img {
            width: 15vw;
            max-width: 75px;
            margin: 0 0;
        }
        #nav-site-map {
            border-radius: 0;
            border: none;
        }
        #nav-title {
            display: none;
        }
    
        #navbar.slide-from-right{
            display: inline-block;
            position: fixed;
            right: calc( -1 * (var(--nav-bar-width) - var(--nav-bar-margin) / 2 ) );
            top: 0;
            -webkit-animation: slide-right 0.5s forwards;
            animation: slide-right 0.5s forwards;
        }

        #navbar.slide-from-left{
            display: inline-block;
            position: fixed;
            right: 0px;
            top: 0;
            -webkit-animation: slide-left 0.5s forwards;
            animation: slide-left 0.5s forwards;
        }
    
        #navbar.show , .mask.show {
            display: inline-block;
        }
    
        .mask {
            width: 100vw;
            height: 100vh;
            background-color: #555;
            opacity: .5;
            z-index: 3;
            position: fixed;
            left: 0;
            top: 0;
        }
    }

}


/* IE styles */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #div-body {
        max-width: 1200px;
        margin:0 auto;
    }

    .nav-expand , .menu-icon{
        display: none;
    }

    #navbar{
        display: inline-block;
        width: 250px;
        margin-left: 10px;
    }

    .header-img {
        width: 115px;
        display: inline-block;
    }

    #main-content {
        display: inline-block;
        width: calc(100% - 310px);
    }

    .logo-img {

        display: inline-block;
    }
}