/*
COLOURS:
* light-purple: #CBCBF4
* purple: #7777AA
* very-light-green: #DCF2E1
* light-green: #ADDDB7
* green: #2F6440
* dark-purple: #2B2B5E
*/

#root {
    margin: .6em;
    font-family: Arial;
}


#pageHolder {
    width: 95%;
    //max-width: 900px;
    //min-width: 240px;
    margin: 0 auto 0 auto;
}

#page {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-color: #DCF2E1;
    border-radius: 7px;
    margin-bottom: 15px;
}

#banner {
    display: block;
    //float: left;
    width: 100%;
    min-width: 260px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    //background-color: #CBCBF4;
    background: linear-gradient(to right, #ADDDB7 0%,rgba(255,255,255,1) 50%,#ADDDB7 100%);
    border-top-left-radius: .5em;
    border-top-right-radius: .5em;
    padding: .5em;
}

#logo img {
    width: 100%;
    max-width: 170px;
    min-width: 120px;
}
#logo h1 {
    display: none;
}
#logo h2 {
    display: none !important;
}

#topMenu li {
    font-weight: bold;
    color: #2B2B5E;
}
#topMenu a {
    color: #2B2B5E;
    text-decoration: none;
}
#topMenu a:hover {
    color: #5A5A93;
    text-decoration: none;
}


#mainHolder {
    display: block;
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 1em 0;
    background-color: #CBCBF4;
}
#main {
    display: block;
    background-color: #FFFFFF;
    border-radius: 7px;
    padding:10px;
    color: #2B2B5E;
    width: 98%;
    padding: 2em;
    margin: 0 auto 0 auto;
    box-sizing: border-box;
    padding-bottom: 2em !important;
}

#footer {
    display: block;
    font-size: 10pt;
    padding: 10px 10px 20px 10px;
    color: #505050;
}

#footer p {
    text-align: center;
    margin: 0 auto 0 auto;
}
#footer a {
    color: #505050;
}
#footer a:hover {
    color: #6A6A6A;
}

/* Main elements */
#main a {
    color: #2F6440;
    text-decoration: none;
}
#main a:hover {
    color: #8FD8A6;
    text-decoration: none;
}

#main fieldset {
    border: 2px solid #7777AA;
    margin: 0;
    border-radius: 7px;
}
#main legend {
    background-color: #2F6440;
    color: #FFFFFF;
    padding: 10px;
    border-radius: 7px;
    
}
#main legend h3 {
    margin: 0;
    font-size: 14pt;
}

.boxFullBox {
    display: block;
    width: 100%;
}
.boxFullBoxTopSpacer {
    display: block;
    width: 100%;
    margin-top: 1em;
}
#main h4 {
    font-size: 12pt;
    font-weight: bold;
    margin: 30px 0 0 0;
}
.boxHalfBox ul {
    list-style-type: square;
}

.boxHalfBoxGreen {
    display: block;
}
.boxHalfBoxGreen fieldset {
    border: 3px solid #2F6440;
    margin: 0;
    border-radius: 7px;
}
.boxHalfBoxGreen legend {
    background-color: #7777AA;
    color: #FFFFFF;
    padding: 10px;
    border-radius: 7px;
    font-size: 14pt;
}
.boxFullBox legend {
    background-color: #7777AA;
    color: #FFFFFF;
    padding: 10px;
    border-radius: 7px;
    font-size: 14pt;
}


.twoColumnHolder {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.boxHalfPadded {
    margin-right: 2em;
}
.boxNoLegend {
    padding-top: 1.2em;
}

.pNoBottom {
    margin-bottom: 0;
}
.pNoTop {
    margin-top: 0;
}
.pTightBottom {
    margin-bottom: .5em;
}


#histSources {
    display: block;
    width: 100%;
}

.searchBlock {
    display: block;
    width: 100%;
    box-sizing: border-box;
    //border: 3px solid #2F6440;
    padding: 2px;
}
.searchRow {
    display: block;
    width: 100%;
}
.searchLabel {
    display: block;
    width: 40%;
    background-color: #2F6440;
    color: #FFFFFF;
    padding: 0;
    border-top-left-radius: .5em;
    border-top-right-radius: .5em;
}
.searchField {
    display: block;
    width: 45%;
    padding: 0;
}
.searchSpan {
    display: block;
    width: 100%;
    text-align: center;
}
.searchSpanLeft {
    display: block;
    float: left;
    width: 100%;
}
.searchGap {
    margin: 0 0 1em 0;
}
.rowSpacer {
    margin: 0 0 .2em 0;
}

.reqField {
    color: dark red;
}

.inputArea {
    width: 100%;
    border: 1px solid #999999;
}

.buttonHolder {
    display: block;
    width: 100%;
}
.greenButton {
    border-radius: 7px;
    background-color: #2F6440;
    color: #FFFFFF;
    border: 0;
    cursor: pointer;
    margin: 10px 0 0 0;
}
.purpleButton {
    border-radius: .5em;
    background-color: #7777AA;
    color: #FFFFFF;
    border: 0;
    cursor: pointer;
    margin: 1em 0 0 0;
    font-size: 1.1em;
    padding: .5em 1em;
}
.purpleButtonDisabled {
    border-radius: .5em;
    background-color: #CBCBF4;
    color: #777777;
    border: 0;
    cursor: pointer;
    margin: 1em 0 0 0;
    font-size: 1.1em;
    padding: .5em 1em;
    cursor: default;
}

.linkHolder {
    display: block;
    float: left;
    width: 100%;
    box-sizing: border-box;
    margin: 10px 0 5px 0;
}

.linkBlock {
    display: block;
    float: left;
    width: 100%;
    box-sizing: border-box;
    border: 3px solid #2F6440;
    border-radius: 7px;
    margin: 5px 0 5px 0;
    padding: 15px;
}

.linkBlock h5 {
    margin: 0 0 5px 0;
    font-size: 1em;
}

.linkBlock p {
    margin: 0;
}

.errorText {
    color: #DD1111;
    font-weight: bold;
}


/* Search results */
.boxFullBox table {
    border: 3px solid #2F6440;
    padding: 0;
    font-size: 11pt;
}
.boxFullBox tr {
}
.boxFullBox th {
    background-color: #2F6440;
    color: #FFFFFF;
    padding: 0 .3em 0 .3em;
    margin: 0;
}
.boxFullBox td {
    padding: 0 .3em 0 .3em;
    margin: 0;
}

.searchAlert {
    font-weight: bold;
    background-color: #CBCBF4;
    color: #2B2B5E;
    border-radius: .5em;
}
.noResultsBlock {
    display: block;
    float: left;
    width: 100%;
    font-weight: bold;
    background-color: #ADDDB7;
    color: #2B2B5E;
    border-radius: .5em;
    margin: 15px 0 0 0;
    padding: 10px;
    box-sizing: border-box;
}


/* jQuery UI stuff */
.ui-widget.error-dialog {
    font-family: Arial;
    font-size: .8em;
}

.ui-widget-content.error-dialog {
    background: #FFFFFF;
    border: 1px solid #7777AA;
    color: #222222;
}

.ui-dialog.error-dialog {
    left: 0;
    outline: 0 none;
    padding: 0 !important;
    position: absolute;
    top: 0;
}

.ui-dialog.error-dialog .ui-dialog-content {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    overflow: auto;
    position: relative;
    padding: 0 5px 0 5px !important;
    margin: 0;
}

.ui-dialog.error-dialog .ui-widget-header {
    background: #7777AA;
    border: 0;
    color: #FFFFFF;
    padding: 10px !important;
    border-radius: 0;
    font-weight: bold;
}

.ui-dialog.error-dialog .ui-dialog-titlebar {
    padding: 0.1em .5em;
    position: relative;
    font-size: 1em;
}

.ui-dialog.error-dialog .ui-dialog-buttonset button {
    border: 1px solid #7777AA;
    background: #7777AA;
    color: #FFFFFF;
}

.ui-dialog.error-dialog .ui-icon {
    background-image: url(../css/images/icons.png);
}


/* Font Awesome */
.fa-cgh-white {
    color: #FFFFFF;
}

.fa-cgh-green {
    color: #DCF2E1;
}

.fa-cgh-purple {
    color: #7777AA;
}


/* Tooltips */
.ui-tooltip, .arrow:after {
    background: #7777AA;
    border: 0;
}
.ui-tooltip {
    padding: 10px 20px;
    color: white;
    border-radius: 20px;
    box-shadow: 0 0 7px black;
}
.ui-tooltip-content {
    font-family: Arial;
    font-size: 10pt;
    color: #2B2B5E;
}
.arrow {
    width: 70px;
    height: 16px;
    overflow: hidden;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    bottom: -16px;
}
.arrow.top {
    top: -16px;
    bottom: auto;
}
.arrow.left {
    left: 20%;
}
.arrow:after {
    content: "";
    position: absolute;
    left: 20px;
    top: -20px;
    width: 25px;
    height: 25px;
    box-shadow: 6px 5px 9px -9px black;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.arrow.top:after {
    bottom: -20px;
    top: auto;
}


@media (min-device-width: 856px) {
    #logoHolder {
        display: block;
        width: 100%;
        padding: .5em 0 0 0;
        //background: linear-gradient(to right, #ADDDB7 0%,rgba(255,255,255,1) 50%,#ADDDB7 100%);
        border-top-left-radius: .5em;
        border-top-right-radius: .5em;
    }
    #logo {
        display: block;
        max-width: 170px;
        min-width: 120px;
        padding: 0;
        margin: 0 auto;
    }
    #logo a {
        text-align: center;
    }
    #topMenu {
        display: inline-block;
        width: 100%;
        min-width: 210px;
        padding: 0;
        margin: 0;
        //background: linear-gradient(to right, #DCF2E1, #ADDDB7);
        //background: #ADDDB7;
        //border-radius: 7px;
        
        font-size: 11pt;
        box-sizing: border-box;
        //border: 3px solid #2F6440;
    }
    #hbMenu {
        display: none;
    }
    #topMenuInner {
        display: flex;
        flex-direction: row;
        align-content: flex-end;
        align-items: stretch;
        margin: 0 auto 0 auto;
        width: 100%;
    }
    #topMenu ul ul {
        display: flex;
        flex-direction: row;
        align-content: flex-end;
        align-items: stretch;
        justify-content: space-around;
        text-align:center;
        flex: 1 1 auto;
        margin: 0;
        padding: 0;
        list-style-type: none;
        border: 0;
    }
    #topMenu ul.menuBar {
        flex: 1 1 auto;
        border:1px solid black;
        border-radius: .3em;
        padding: .5em;
        margin: .5em;
        width: 25%;
        border: 2px solid #2F6440;
        background: #CBCBF4; //#ADDDB7;
    }
    #topMenu ul:first-child {
        margin-left: 0;
    }
    #topMenu ul:last-child {
        margin-right: 0;
    }
    #topMenu li {
        margin: 0;
        padding: 0 7px 0 7px;
        text-align: center;
        border:1px solid black;
        border-radius: .3em;
        list-style-type: none;
    }
    #topMenu ul li {
        border: 1px solid #2B2B5E;
        border-radius: 0;
	border-top-left-radius: .3em;
        border-top-right-radius: .3em;
        margin-bottom: .5em;
        padding: .3em;
        color: #444444;
        background-color: #DADADA;
    }
    #topMenu ul ul li {
        flex: 1 1 auto;
        border: 1px solid #2B2B5E;
        border-radius: .3em;
        margin: .2em;
        padding: .3em;
        background-color: #FFFFFF;
    }
    #topMenu ul ul li:hover {
        background-color: #ADDDB7;
    }
    #topMenu ul ul li a {
        display: block;
        width: 100%;
    }
    .selMenuItem {
        background-color: #ADDDB7 !important;
    }
    .selMenuItem:hover {
        background-color: #DCF2E1 !important;
    }
    
    #logoutHolder {
        position: relative;
        float: right;
        width: 50px;
        background-color: #7777AA;
        color: #FFFFFF;
        padding: 3px 7px 3px 7px;
        text-align: center;
        border-radius: 7px;
    }
    #logoutHolder a {
        color: #FFFFFF;
        text-decoration: none;
    }
    #logoutHolder a:hover {
        color: #DDDDDD;
        text-decoration: none;
    }
    .children4 {
        width: 40% !important;
    }
    .boxHalfBox {
        display: inline-block;
        width: 48.5%;
        vertical-align: top;
    }
    .boxHalfBoxGreen {
        display: inline-block;
        width: 46%;
        vertical-align: top;
    }
    
    .searchLabel {
        display: inline-block;
        box-sizing: border-box;
        width: 100%;
        padding: .3em .5em;
    }
    .searchLabel span {
        padding: .3em;
    }
    .searchField {
        display: inline-block;
        width: 100%;
        margin: .3em 0;
    }
    .searchField input {
        width: 100%;
        max-width: 25em;
    }
    .searchSpanLeft textarea {
        width: 100%;
        max-width: 25em;
        margin: .3em 0;
    }
    .searchField select {
        width: 100%;
        max-width: 25em;
        padding: .2em 0;
    }
    
    .coatRow {
        display: block;
        width: 100%;
        text-align: left;
        padding: 0 0 1em 0;
    }
        
    #coatImage {
        display: block;
        width: 100%;
        text-align: left;
    }
    
    /* Search results */
    .boxFullBox table {
        border: 3px solid #2F6440;
        padding: 0;
        font-size: 11pt;
    }
    .boxFullBox tr {
    }
    .boxFullBox th {
        width: 20%;
    }
    .boxFullBox td {
        width: 20%;
    }
    
    .tblMobile {
        display: none;
    }
    
    .tblDesktop {
        display: table;
        border: 3px solid #2F6440;
    }
    .tblDesktop > div {
        display: table-row;
        width: 100%;
    }
    .tblDesktop > div > div {
        display: table-cell;
        padding: .2em .8em;
    }
    .tblDesktopHeadRow {
        display: table-header-group;
        background-color: #2F6440;
        color: #FFFFFF;
    }

    .listPlainSpan {
        list-style-type: none;
        display: block;
        padding-left: 0;
    }
    .listPlainSpan li {
        display: inline;
        margin: 0 20px 0 0;
    }
    .listPlainSpan li img {
        display: inline;
        vertical-align: middle;
    }    
}

@media (max-device-width: 855px) {
    body {
        -webkit-text-size-adjust: none;
        -moz-text-size-adjust: none;
    }
    
    #root {
        width: 100%;
        margin: .5em 0;
    }
    
    #page {
        width: 100%;
    }
    
    #banner {
        width: 100%;
    }
    
    #hbMenu {
        width: 10%;
        max-width: 4.5em;
        min-width: 3em;
        vertical-align: bottom;
        position: absolute;
        margin-top: 9.9%;
    }
    #hbMenu > #hbMenuLink {
        padding: 0 .3em;
        border: 2px solid #7777AA;
        border-radius: .5em;
        background-color: #FFFFFF;
        width: 100%;
    }
    #hbMenu > #hbMenuLink > h3 {
        display: none;
    }
    #hbMenu > a {
        display: inline-block;
        width: 100%;
        padding: 0;
        margin: 0;
        margin-top: .2em;
    }
    
    #hbMenu > #hbMenuLink > div {
        display: block;
        width: 100%;
        height: .4em;
        background-color: #7777AA;
        margin: .5em 0;
        text-align: center;
        border-radius: .3em;
    }
    #hbMenu > #hbMenuLink > div:first-of-type {
        margin-top: .6em;
        margin-bottom: 0;
        height: .4em;
    }
    #hbMenu > #hbMenuLink > div:last-of-type {
        margin-top: 0;
        margin-bottom: .6em;
        height: .4em;
    }

    #logoHolder {
        display: inline-block;
        width: 100%;
        text-align: center;
    }
    #logo {
        width: 25%;
        margin: 0 auto 0 auto;
        max-width: 170px;
        min-width: 120px;
        
    }
    #topMenu {
        display: block;
        width: 98%;
        min-width: 250px;
        padding: 10px;;
        background-color: #CBCBF4;
        border-radius: .3em;
        border-top-left-radius: 0;
        border: 3px solid #2F6440;
        font-size: 11pt;
        box-sizing: border-box;
        border: 2px solid #2F6440;
        margin-top: -2px;
        margin-left: 4px;
    }
    
    #topMenu {
        display: none;
    }
    
    #topMenu ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

    #topMenu li {
        margin: 0;
        padding: 0 7px 0 7px;
    }
    #topMenuInner ul li {
        color: #666666;
    }
    #topMenuInner ul ul {
        margin-bottom: .5em;
    }
    #topMenuInner ul ul li a {
        display: inline-block;
        margin-left: 1.5em;
        width: 92%;
    }
    #topMenuInner ul ul li a:hover {
        background-color: #2F6440 !important;
    }
    
    #mainHolder {
        width: 100%;
        padding: 1em;
    }
    #main {
        margin: 0 auto 0 auto;
        box-sizing: border-box;
        padding: 1em;
        padding-bottom: 2em;
        font-sizee: .9em;
    }
    #main legend {
        text-align: center;
    }
    #logoutHolder {
        display: block;
        width: 20%;
        background-color: #7777AA;
        color: #FFFFFF;
        padding: 3px 7px 3px 7px;
        text-align: center;
        border-radius: 7px;
        box-sizing: border-box;
        margin: 0 0 0 0;
    }
    #logoutHolder a {
        color: #FFFFFF;
        text-decoration: none;
    }
    #logoutHolder a:hover {
        color: #DDDDDD;
        text-decoration: none;
    }
    
    .twoColumnHolder {
        flex-direction: column;
    }
    .boxHalfBox {
        min-width: 100%;
    }
    form {
        display: inline-block;
        width: 100%;
    }
    .searchRow {
        display: block;
        margin-bottom: .5em;
    }
    .searchLabel {
        display: inline-block;
        box-sizing: border-box;
        width: 100%;
        padding: .3em .5em;
    }
    .searchLabel span {
        padding: .3em;
    }
    
    .searchField {
        display: inline-block;
        width: 100%;
        margin: .3em 0;
    }
    
    .coatRow {
        display: block;
        width: 100%;
        text-align: center;
        padding: 0 0 1em 0;
    }
    
    #coatImage {
        display: block;
        width: 100%;
        text-align: center;
    }
    
    .dtOnly {
        display: none;
    }
    
    .tblMobile {
        display: block;
    }
    
    .tblDesktop {
        display: none;
    }
    
    .fldMobBlock {
        margin-bottom: 1em !important;
    }
    
    .fldMobBlock a {
        font-size: 1.2em;
        margin: .5em 0;
    }
    
    .listPlainSpan {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 100%;
    }
    .listPlainSpan li {
        display: inline-block;
        width: 100%;
        margin: 1em 0 0 0;
    }
}

/* Coat of arms 
@media (min-device-width: 738px) {
    #coatText {
        display: block;
        width: 60%;
    }
    .coatRow {
        display: block;
        width: 100%;
        padding: 0 0 10px 0;
    }
    .coatLabel {
        display: block;
        width: 30%;
    }
    .coatDetail {
        display: block;
        width: 70%;
    }
    #coatImage {
        display: block;
        width: 40%;
    }
}
@media (max-device-width: 737px) {
    #coatText {
        display: block;
        float: left;
        width: 100%;
    }
    .coatRow {
        display: block;
        float: left;
        width: 100%;
        padding: 0 0 10px 0;
    }
    .coatLabel {
        display: block;
        float: left;
        width: 30%;
        min-width: 150px;
    }
    .coatDetail {
        display: block;
        float: left;
        width: 70%;
    }
    #coatImage {
        display: block;
        float: left;
        width: 100%;
    }
}*/


#dialog-message {
    display: none;
}

.noShow {
    display: none !important;
}
