/* For the benefit of chrome mobile */
* {
    max-width: 999999px;
    max-height: 999999px;
}
body, input, select, button {
    font-family: "Montserrat", "Helvetica Neue", sans-serif;
    font-size: 16px;
}
input::placeholder {
    color:rgba(151, 151, 151, 1);
    opacity: 1;
}
input:readonly {
    background-color:rgba(151, 151, 151, 1);
    color: black;
}
/* sup fonts need to be smaller to stop text boxes being shifted */
sup {
    font-size: 0.5em;
}
table {
    border-collapse: collapse;
}

table, th, td {
    border: 1px solid black;
}

th, td {
    border-bottom: 1px solid black;
}
.active {
    color: white;
    background-color: green;
}
.selector {
    background-color: chartreuse;
    width: 100%;
    font-size: larger;
    font-weight: bold;
}
#resultstitle {
    font-size: 20px;
    line-height:20px;
}
.helpmenu {
    position: fixed;
    top: 80px;
    left: 70%;
    right: 0%;
    background-color: #C0C0C0;
    display:none;
}
.helptext {
    position:fixed;
    top:80px;
    left:70%;
    display: none;
    background-color: #C0C0C0;
    height: 85%;
    overflow: auto;
    position: fixed;
}
.print {
    display: block;
}

/* Rounded buttons for use for selecting things */
.rounded_button {
    background-color: #a4cd33;
    border: none;
    color: darkgreen;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    border-radius: 10px;
}
.big_rounded_button {
    background-color: #a4cd33;
    border: none;
    color: darkgreen;
    padding: 13px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: x-large;
    font-weight:700;
    margin: 4px 4px;
    border-radius: 10px;
}
/* Tools at the top of the screen */
/* These are mainly positioned by code, so should not set explicit positions */
#goto{
    position:fixed;
    top:20px;
    left:20px;
    color:black;
    z-index:1;
}
#goto .kebab{
    font-size:x-large;
}
#year_block{
    position:fixed;
    top:20px;
    left:70px;
    margin-left:0px;
    margin-right:0px;
}
.year {
    margin:10px;
    font-size:x-large;
    font-weight:700;
    background-color:white;
}

#toolbar_buttons{
    position:fixed;
    top:20px;
    left:400px;
    margin:0px;
    padding:0px;
    z-index:2;
}
/*
#results{
    background-color:antiquewhite;
}
*/
#results_show{
    float:left;
}
#finish_show{
    float:left;
}
#help{
    float:left;
}
#print{
    float:left;
}
#sitelogo{
    border:none;
    position:fixed;
    top:20px;
    margin-left:0px;
    margin-right:0px;
}
#logo{
    border:none;
    position:fixed;
    top:20px;
    margin-left:0px;
    margin-right:0px;
}
/* End of top row */
/* Row of buttons to control navigation between tabs */
/* the left marbon of tabs is used to set other left margins. */
#tabs{
    position: fixed;
    left: 20px;
}
#nav_menu{
    z-index:4;
    position: fixed;
    background-color:white;
}
.nav_button{
    position:relative;
    z-index:4;
    background-color: #a4cd33;
    border: none;
    color: darkgreen;
    padding: 4px 10px;
    text-align: left;
    text-decoration: none;
    display: block;
    font-size: 16px;
    margin: 0px 0px;
    width:150px;
    border-radius: 2px;
}
.nav_button:hover{
    color:#a4cd33;
    background-color:darkgreen;
}
/* main body of the application */
/* previous and next controls */
#control{
    position:fixed;
    left:0px;
    top: 20px;
    height: 40px;
    width:50%;
    display:block;
}
.control_button{
    background-color: #a4cd33;
    border: none;
    color: darkgreen;
    padding: 6px;
    text-decoration: none;
    font-size: 16px;
    margin: 4px 2px;
    border-radius:15px;
}
#previous{
    position:absolute;
    top: 0px;
    left: 0px;
}
#next{
    position:absolute;
    top: 0px;
    right: 0px;
}
#form {
    position: fixed;
    left:0px;
    top: 0px;
    width:50%;
    height:700px;
    overflow:auto;
    z-index:1;
    /*display:inline-block;*/
    /*background-color:cornsilk;*/
    padding:0px;
    margin:0px;
}
#persons{
    width:100px;
}
/*
    form_sizable identifies forms that need a sizing calculation to get the height of the 
    scrollable bit.
*/
.form_sizable{
    margin:0px;
    padding:0px;
    position:relative;
    z-index:1;
    top:0px;
    width:100%;
}
/*
    form_fixed identifies the parts of a form which are fixed.
    For a fixed height form with a scrollable middle, the fixed height
    removed from the total height determines the height of the scrollable bit. 
*/
.form_fixed{
    margin: 0px;
    padding:0px;
    top:0px;
    position:relative;
/*    display:inline-block;*/
}
.form_heading{
    margin: 0px;
    padding:0px;
}
.form_heading p{
    margin-top:0px;
    margin-bottom:0.4em;
}
.form_heading h1,h2{
    margin-top:0px;
    margin-bottom:0.25em;
}
/*
.form_heading ul>li{
    margin-top:0px;
    margin-bottom:0px;
    line-height:1em;
}
ul{
    margin-top:0px;
    margin-bottom:0px;
    line-height:0em;
}
li{
    margin-top:0px;
    margin-bottom:0px;
    line-height:1em;
}
*/
/*
    form_scrollable identifies the parts of a form which are scrollable,
    mainly used during the form height calculation.
*/
.form_scrollable{
    position:relative;
/*    display:inline-block;   */
}
/*
    Help put in line from traditional help
*/
.inlinehelp{
    margin:5;
    padding:5px;
    margin-bottom:10px;
    background-color:#b5c9a9;
    border-radius:10px;
}
.hilitehelp{
    background-color:#b5c9a9;
    border-radius:10px;
    padding:5px;
}
/*
    form_items applies to the area of the form which contains a variable number of rows
    */
.form_items{
    height:100px;
    width: 100%;
    /*
    overflow-x:;
    overflow-y:auto;
    */
    margin-top:10px;
    margin-bottom:10px;
    padding-bottom:20px;
    z-index:1;
}
/* class controlling an individual row. 
   display: flex-row is used to space cells left to right and then onto the next line. */
.form_row {
    position:relative;
    margin-bottom:15px;
    padding-left:10px;
    padding-top:5px;
    display:block;
    z-index:1;
    display:flex-row;
}
/* Background colouring and styling for single rows */
.form_row_background{
    background-color:#f2f4ee;
    border-radius:10px;
}
/* form_cell is used for top level cells of a form that are not qualifiers */
.form_cell {
    height:70px;
    border:none;
    margin-right:10px;
/*    display:inline-block; */
    display:inline-block; 
    z-index:2;
}
/* form_qualifier is used to identify cells which are qualifiers of another cell (selectable units / class, etc)*/
.form_qualifier{
    height:70px;
    border:none;
    margin-right:10px;
    display:inline-block;
/*    float: left; */
    z-index:2;
}
.add_button{
    bottom:10px;
}
.form_total{
    bottom:10px;
}
/* cell_header is applied to the H4 element at the top of a cell */
.cell_header{
    z-index:3;
    position:relative;
    top:0px;
    padding:0px;
    margin-bottom:10px;
    margin-top:10px;
    margin-left:0px;
    display:inline-block;
    z-index:1;
}
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
    color:rgb(149, 97, 108);
    background-color:bisque;
    /*font-size:small;*/
    z-index:5;
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 80px;
    background-color: beige;
    /*color: purple;*/
    text-align: left;
    padding: 10px 10px;
    border-radius: 6px;
    /* Position the tooltip text - see examples below! */
    position: absolute;
    left:0px;
    top: 20px;
    z-index: 6;
    font-weight:400;
    font-size:medium;
}
.tooltip .tooltiptext li{
    text-align:left;
}
.tooltip .tooltiptext button{
    text-align:left;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
}
.tooltip_button{
    background-color:beige;
}
/* Calculate button has a calculator unicode character with text, 
   there is a span around the calculator which needs a larger font */
.calculatebutton {
    /*
    display: inline-block;
    border:none;
    padding:0px;
    */
    font-size:medium;
}
/*
.helperbutton span{
    font-size: 25px;
}
*/
/* Delete button has a unicode bin symbol with text
   again the span allows control of the font size
*/
.delete_button{
    display:inline-block;
    border:none;
    padding:0px;
}
.delete_button span{
    font-size: 20px;
}
/* Cell content is for input fields on forms */
.cell_content{
    position:relative;
    top:-5px;
    background-color:white;
    border:1px solid black; 
    border-radius: 3px;
    padding:5px;
    display:inline-block;
}
.cell_content_readonly{
    background-color:lightgrey;
    color: black;
}
/* for some reason spans need offsetting by padding */
/* Cell span is for calculated fields on forms */
.cell_span{
    position:relative;
    right:5px;
    display:inline-block;
    top:-5px;
    background-color:lightgrey;
    border:1px solid lightslategrey;
    border-radius: 3px;
    padding:5px;
    text-align:right;
    margin-left:1px;
    height:20px;
}
/* Cell units is for units appended to the end of cell_content or cell_span */
.cell_units{
    position:relative;
    right:5px;
    display:inline-block;
    top:-5px;
    background-color:lightgrey;
    border:1px solid lightslategrey;
    border-radius: 3px;
    border-left:none;
    padding:5px;
    text-align:left;
    padding-left:10px;
    height:20px;
}
/* cell boundary goes around cell_span or cell_span and cell_units */
.cell_boundary{
    border:1px solid lightslategrey;
    border-radius: 3px;
}
/* summary and results styles of for the results pages */
.summary_table{
    border:none;
}
.summary table tr,th,td{
    border:none;
    padding-left:10px;
    padding-right:10px;
}
.summary_table td span{
    font-weight: 700
}
.results_bottom{
    position:relative;
}
.result_table{
    background-color:white;
    display:inline;
}
#results_heading ul{
    margin-top: 0em;
    margin-bottom: 0em;
    line-height: 0em;
}
#results_heading li{
    margin-top: 0em;
    margin-bottom: 0.3em;
    line-height: 1.0em;
}
#printresults{
    position:absolute;
    left:0px;
    top:0px;
}
#results_text_header{
    position:absolute;
    left:150px;
    top:0px;
}
#about_footer{
    position:absolute;
    top:0px;
    left:200px;
}
.oddrow{
    background-color:#b5c9a9;
}
.evenrow{
    background-color:#f2f4ee;
}
.detailpie{
    background-color:whitesmoke;
    z-index:10;
}
/* Input field for annual target*/
#nextyeartarget{
    width: 50px;
}
/*
    guide window styling
*/
#guide{
    position:absolute;
    left:50%;
    top:0px;
    width:45%;
    height:700px;
    overflow:hidden;
    border: solid 1px black;
    border-radius:15px;
    padding: 10px;
    margin:20px;
    background-color:white;
}
#closeguide{
    position:absolute;
    top: 10px;
    right: 10px;
    z-index:2;
}
#guidetext{
    position:absolute;
    left:10px;
    top:50px;
    width: 100%;
    height:calc(100%-50px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px;
    margin: 0px;
    background-color:white;
    z-index:1;
}
/* clickable class handles styling of clickable headers */
.clickable{
    color:darkgreen;
}
.clickable_expanded{
    color:rgb(72, 163, 72);
}
.clicksymbol{
    font-size:40px;
    font-weight:400;
}
/* Stuff for the content editor */
[data-editable] iframe,
[data-editable] image,
[data-editable] [data-ce-tag=img],
[data-editable] img,
[data-editable] video {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

/* Left align */
[data-editable] .align-left {
    clear: initial;
    float: left;
    margin-right: 0.5em;
}

/* Right align */
[data-editable].align-right {
    clear: initial;
    float: right;
    margin-left: 0.5em;
}

/* Alignment styles for text in editable regions */
[data-editable] .text-center {
    text-align: center;
}

[data-editable] .text-left {
    text-align: left;
}

[data-editable] .text-right {
    text-align: right;
}
.author {
    font-style: italic;
    font-weight: bold;
}
