/* ------------------  CSS Styles for HTML Pages -------------------*/

/* Selector usage.
    Selectors applied based on specificity then sequence in css, last being preferred.
    Specificity is {0,0,0,0} with count of each type added in order of priority {inline style,Id tag, class, element}.
    NOTE: When specifying more than one selector, as p,.class,p.class, each selector is prefixed seperately.
     E.g: .myclass a.link, a.hover selects '.myclass a.link' and 'a.hover' */

* {
    box-sizing: border-box;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}

/* Reset for HTML 5 Elements
----------------------------------------------------------------------------------------------------*/

/* tells browsers that don't read html 5 tags to render like divs */
header, footer, aside, nav, article, section {
    display: block;
    margin: 0;
    padding: 0;
}

/* clears containers with floated elements, avoids zero height containers when al elements are floated ! */
.mainmenu::after,
.mainmenu-mobile::after,
.mainmenu-ul::after,
.imgtext_frame::after,
.group_frame::after {
    content: "";
    display: table;
    clear: both;
}

/* Header elements - MUST not use em, need to be fixed size */
#logoTxt {
    background: url(../images/common/logo_img.png) top left no-repeat;
    width: 270px;
    height: 60px;
    clear: left;
    float: left;
    margin-left: 1%;
    margin-top: 4px;
    margin-bottom: 2px;
    top: 2px;
    left: 2px;
    border: none;
}

header {
    background-size: 100% 100%;
    height: auto;
    float: left;
    width: 100%;
    border: none;
}

/* Outer div for header text, allows vertical align of header text */
.header-div {
    /* height/line-height set to logo height in header inc */
    height: 60px;
    line-height: 60px;
    text-align: left;
    margin: 0px;
    overflow: hidden;
}

/* div for header text, vertical align within header div */
/* may be overrriden in header inc */
.header-span {
    color: #ffffff;
    font-size: 1.7em;
    text-align: left;
    font-family: "Palatino Linotype", "Book Antiqua3", Palatino, serif;
    display: inline-block;
    vertical-align: middle;
    float: left;
    height: auto;
    padding-left: 20px;
    padding-right: 4px;
    border: none;
}

/* Main menu bar */
.mainmenu {
    clear: both;
    color: #ffffff;
    display: table-cell;
    text-align: center;
    position: relative;
    width: 100%;
    margin: 0px;
    padding: 0px;
    border: 2px solid lightslategray;
    background: linear-gradient(#545454,#565656);
    border-radius: 4px;
}

/* Main menu list frame */
.mainmenu-frame {
    clear: none;
    float: none;
    color: #ffffff;
    display: inline-block;
    position: relative;
    width: auto;
    margin: 0px 20px 0px 20px;
    padding: 0px;
    border: none;
    background: transparent;
}

/* Main menu social button frame */
.mainmenu-social-frame {
    clear: none;
    float: right;
    color: #ffffff;
    display: block;
    position: relative;
    width: auto;
    margin: 0px 20px 0px 20px;
    padding: 0px;
    border: none;
    background: transparent;
}

.mainmenu-ul {
    display: block;
    list-style: none;
    height: auto;
    margin: 6px 0px 0px 0px;
}

/* add padding for text only menus to space same as meny buttons */
.menu-text-only {
    padding-top: 4px;
    padding-bottom: 3px;
}

.mainmenu-li {
    display: block;
    float: left;
    height: auto;
    color: #ffffff;
    word-break: keep-all;
    white-space: nowrap;
    font-weight: normal;
    text-align: center;
    margin: 0px 0px 6px 10px;
}

.mainmenu-li a {
    display: block;
}

.mainmenu-li a:link,
.mainmenu-li a:visited {
    height: auto;
    color: #ffffff;
    letter-spacing: 0.1em;
    text-decoration: none;
    margin: 0 0 0 0;
    padding: 2px 4px;
    background-color: darkslategray;
    border-bottom: thin solid lightgray;
    border-right: thin solid lightgray;
    border-top: 2px solid lightgray;
    border-left: 2px solid lightgray;
    border-radius: 5px;
}

.mainmenu-li a:hover,
.mainmenu-li a:focus,
.mainmenu-li a:active {
    opacity: 0.7;
    border-top: thin solid lightgray;
    border-left: thin solid lightgray;
    border-bottom: 2px solid lightgray;
    border-right: 2px solid lightgray;
    text-decoration: none;
}

@media all and (max-width: 1000px) {
    .header-div {
        display:none;
    }
}

@media all and (max-width: 800px) {
    .mainmenu-ul {
        display:none;
    }
}

/* main menu inner frame for mobile */
.mainmenu-mobile {
    display: none;
    position: relative;
    float: right;
    width: auto;
    margin: 0px;
    background: transparent;
}

.mainmenu-mobile-menu:hover,
.mainmenu-mobile-menu:focus,
.mainmenu-mobile-menu:active {
    background: linear-gradient(
            to bottom,
            #545454 0%, #545454 10%,
            #FFAA55 10%, #FFAA55 30%,
            #545454 30%, #545454 40%,
            #FFAA55 40%, #FFAA55 60%,
            #545454 60%, #545454 70%,
            #FFAA55 70%, #FFAA55 90%,
            #545454 90%, #545454 100%
    );
}

@media all and (max-width: 800px) {
    .mainmenu-mobile {
        display:block;
    }
}

.mainmenu-mobile:hover > .mainmenu-mobile-frame, .mainmenu-mobile:active > .mainmenu-mobile-frame{
    display: block;
}

.mainmenu-mobile-frame:hover, .mainmenu-mobile-frame:active {
    display: block;
}

/* main menu for mobile */
.mainmenu-mobile-menu {
    display: block;
    float: none;
    width: 28px;
    height: 30px;
    line-height: 1.1em;
    margin: 5px auto 5px auto;
    z-index: 10;
    content: "";
    background: linear-gradient(
            to bottom,
            #545454 0%, #545454 10%,
            #c9eef2 10%, #c9eef2 28%,
            #545454 28%, #545454 40%,
            #c9eef2 40%, #c9eef2 58%,
            #545454 58%, #545454 70%,
            #c9eef2 70%, #c9eef2 88%,
            #545454 88%, #545454 100%
    );
}

/* Frame to display menu on sidebar hover */
.mainmenu-mobile-frame {
    display: none;
    clear: both;
    width: auto;
    color: #000000;
    padding: 4px;
    height: auto;
    border: 2px solid lightslategray;
    border-radius: 8px;
    background: linear-gradient(#545454,#565656);
}

.mainmenu-mobile-ul {
    display: block;
    list-style: none;
    width: auto;
    height: auto;
    margin: 6px 5% 0px 0px;
}

.mainmenu-mobile-li {
     display: block;
     float: left;
     height: auto;
     width: auto;
     min-width: 200px;
     color: #ffffff;
     word-break: keep-all;
     white-space: nowrap;
     font-weight: normal;
     text-align: left;
     margin: 0px 0px 6px 10px;
 }

.mainmenu-mobile-li a {
    width: 100%;
    display: block;
}

.mainmenu-mobile-li a:link,
.mainmenu-mobile-li a:visited {
    height: auto;
    color: #ffffff;
    letter-spacing: 0.1em;
    text-decoration: none;
    margin: 0 0 0 0;
    padding: 2px 4px;
    background-color: #545454;
}

.mainmenu-mobile-li a:hover,
.mainmenu-mobile-li a:focus,
.mainmenu-mobile-li a:active {
    opacity: 0.7;
    background-color: #767676;
    text-decoration: none;
}

.mainPage {
    overflow: hidden;
    text-overflow: ellipsis;
    clear: both;
    float: left;
    position: relative;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0;
    width: 100%;
    min-height: 100vh;
    height: 100%;
    text-align: left;
    /* background: url(../images/common/underline_bkgd.png) repeat-x; */
}

/* lists */
ul.faq {
    margin-top: 10px;
    list-style: square;
    color: #990000;
}

ul.faq li {
    margin-left: 35px;
}

.listlvl2 {
    list-style: disc;
}

#mainBottom {
    display: block;
    clear: both;
    width: 100%;
}

#signature {
    display: block;
    clear: both;
    color: #ffffff;
    font: 1.9em/1em "comic sans ms", georgia, arial, sans-serif;
    text-align: center;
    height: auto;
    margin-left: 2%;
    margin-top: 10px;
    margin-bottom: 5px;
    padding-left: 4px;
    padding-right: 4px;
    border: none;
}

#copyright {
    display: block;
    color: #ffffff;
    clear: both;
    font-size: 1em;
    text-align: center;
    height: auto;
    margin-top: 6px;
    margin-bottom: 5px;
    padding-left: 4px;
    padding-right: 4px;
    border: none;
}

footer {
    display: block;
    height: auto;
    overflow: hidden;
    background: url(../images/common/footer_bkgd.jpg) repeat;
    padding-top: 10px;
    width: 100%;
    border: none;
}

footer ul {
    clear: both;
    display: block;
    float: left;
    position: relative;
    left: 50%;
    margin: 10px 5px;
    word-break: keep-all;
    white-space: nowrap;
    list-style: none;
    padding-left: 4px;
    padding-right: 4px;
    border: none;
    color: #ffffff;
}

footer ul li {
    display: block;
    float: left;
    position: relative;
    right: 50%;
    margin: 4px 4px;
    border: none;
    color: #ffffff;
    font-size: 1.2em;
}

footer ul li a:link,
footer ul li a:visited,
#copyright a:link,
#copyright a:visited {
    font-size: 1em;
    color: white;
    font-weight: normal;
    letter-spacing: 0.1em;
    border: none;
    text-decoration: underline;
}

footer ul li a:hover,
footer ul li a:focus,
footer ul li a:active,
#copyright a:hover,
#copyright a:focus,
#copyright a:active{
    color: darkslategrey;
    background-color: linen;
}
