html, body {
    height:100%;
} 
body{
    background-color: #3574b7;
    background-image: url(../images/Devon_by_AndrewL.jpg);
    background-size: 100vw;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
}
.main_container{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: sans-serif;
    color: white;
    background-color: #333333;
    padding: 20px;
    width: 65%;
    /* min-height: 400px; */
    max-height: 90%;
}
.name{
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 15px;
}
.subtitle{
    font-size: 20px;
    font-weight: 400;
}
.socials{
    font-size: 18px;
    font-weight: 400;
    padding-top: 10px;
}
.social_links{
    padding: 20px 20px 0px 0px;
    font-family: sans-serif;
    color: white;
}
#Andrew_FP{
    float: right; 
    height: 170px;
}
#Andrew_FP:hover {
    border: solid 5px rgb(158, 118, 43);
    border-radius: 20px;
    margin: -5px;
}
.secondary{   
    height: 110px !important;
    transition: 0.5s height;
}
.audioUI_outer_box{
    /* top: 35%; */
    transition: 1s height;
}
.audioUI_lower_box{
    height: 300px;
    border: dashed #a59826 1px;
    border-radius: 10px;
    transition: 1s height;
    margin: 15px 0px 0px 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
    color: #777777;
}
#audioUI_lower_box .initialise{
    height: 10px;
}
.cover_art{
    display: none;
    height: 200px;
    padding-right: 50px;
}
.formsUI_outer_box{
    transition: 1s height;
}
.formsUI_lower_box{
    max-height: 60vh;
    /* border: dashed #a59826 3px; */
    /* border-radius: 10px; */
    transition: 1s height;
    margin: 15px 0px 0px 0px;
    justify-content: center;
    align-items: center;
    font-size: xx-large;
    color: #777777;
    overflow-y: auto;
    padding: 0px 10px 30px 10px;
    overflow-x: hidden;
}
.form_container {
    width: 100%;    
    padding-top: 5px;
    padding-bottom: 20px;
}
.form_top_line{
    display: flex;
    width: inherit;
}
.form_question {
    font-size: 12px;
    text-align: left;
    font-weight: 600;
    margin: 0px 10px 2px 10px;
    padding-top: 2px;
    width: 100%;
}
.form_count{
    font-size: 12px;
    text-align: right;
    width: 6ch;
    font-weight: 800;
    border: solid 1px white;
    padding-right: 5px;
    margin-right: 10px;
    margin-top: 2px;
    margin-bottom: 2px;
    max-height: 2ch;
}
.form_content {
    font-size: 12px;
    font-family:'Courier New', Courier, monospace; 
    /* border: 1px solid white; */
    height: fit-content;
    margin: 0px 10px;
    padding: 2px;
    color: black;
    background-color: lightgrey;
    min-height: 10ch;
    white-space: pre-line;
    /* display:inline-block; */
}
.form_content_hidden{
    border: 1px solid lightslategray;
    margin: 10px 0px;
    padding-bottom: 5px;
}
.counting_rules {
    padding-top: 2px;
    font-size: 10px;
    margin: 0px 10px;
    display: flex;
    justify-content: space-between;
}
.limit_value {
    font-size: 10px;
    float: left;
    margin-right: 1ch;
    display: none;
}
.limit_type {
    font-size: 10px;
    display: none;
}
.suggest{
    display: none;
    background-color:khaki;
    color: black;
    padding: 1px 3px 1px 3px;
    border-radius: 1px;
}
.form_content_shown .suggest{
    display: block;
}
.optimise{
    display: none;
    background-color: darkgreen;
    color: lightgray;
    padding: 1px 3px 1px 3px;
    border-radius: 1px;
}
.suggestion_displayed.form_content_shown .optimise{
    display: block;
}
.expand_contract{
    float: right;
}
.form_container:hover .expand_contract{
    color: #dd3333;
}
.expand_contract_selected{
    color:#dd3333;
    font-size: larger;
    font-weight: 800;
}
.corner_count_display{
    position: absolute;
    bottom: 10px;
    left: 10px;
    height: 35px;
    min-width: 120px;
    color: black;
    background-color: rgba(240,240,240,0.7);
    font-size: 15px;
    font-family: 'Courier New', Courier, monospace;
    display: none;
}
.preview_substitution{
    background-color: khaki;
}
#current_count{
    
    float: left;
    margin-left: 10px;
    padding: 10px;
}
#max_count{
    
    float: right;
    margin-right: 10px;
    padding: 10px;
}
.corner_count_display_error_value{
    background-color: #aa3535;
    color: white;
}
.add_form_element{
    position: absolute;
    bottom: 20px;
    right: 30px;
    font-size: 33px;
    cursor: pointer;
    color: #dd3333;
}
#trainsUI_lower_box{
    padding: 20px 0px 0px 0px;
}
#crosswordUI_lower_box{
    background-color: white;
    color:#333333;
    padding: 5px 30px;
    margin: 40px;
}
#crosswordUI_lower_box h2{
    color:#333333;
}
#clue_sidePanel{
    display: inline-flex;
    width: 100%;
}
#across_clue{
    border: 1px solid darkblue;
    padding: 5px;
    min-width: 45%;
    margin: 0px 0px 10px 0px;
    display: none;
    font-family: monospace;
    font-size: large;
    text-transform: uppercase;
}
#down_clue{
    border: 1px solid darkblue;
    padding: 5px;
    min-width: 45%;
    margin: 0px 5px 10px 5px;
    display: none;
    font-family: monospace;
    font-size: large;
    text-transform: uppercase;
}
.crossword_container{
    margin: 20px auto;
    position: relative;
}
.crossword_letter_row{
    display: flex;
}
.crossword_letter_box{
    width: 25px;
    height: 25px;
    border: solid 1px #333333;
    font-size: 22px !important;
    text-align: center !important;
    position: relative;
}
.crossword_letter_box:hover{
    border: solid 1px red;
}
.black{
    background-color: #333333;
}
.white{
    background-color: #ffffff;
}
.get_clues{
    font-weight: 800;
    border: 1px solid black;
    background-color: bisque;
    text-align: center;
    margin: 0px 35%;
    padding: 5px 0px;
}
[data-clue_register]{
    font-size: x-small;
    color: black;
    text-align: left;
}
[data-clue_register]:before {
	content: attr(data-clue_register);
    font-size: x-small;
    text-align: left;
    position: absolute;
    left: 1px;
}
.clue_rollover{
    border: 1px solid purple;
    background-color: orangered;
}
.edit_number{
    padding: 5px 0px 0px 5px;
}
.locked{
    margin-top: -5px;
    font-size: xx-large;
}

@media (max-width: 600px) {
 
    .main_container{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-family: sans-serif;
        color: white;
        background-color: #333333;
        padding: 20px;
        width: 80%;
    }
    .name{
        font-size: 40px;
        font-weight: 600;
    }
    .subtitle{
        font-size: 20px;
        font-weight: 400;
    }
    .socials{
        font-size: 18px;
        font-weight: 400;
        padding-top: 10px;
    }
    .social_links{
        padding: 20px 20px 0px 0px;
        font-family: sans-serif;
        color: white;
    }
}