
html, body {
    margin:0;
    padding:0;
    background:#000;
}
#page_container {
    /*display: flex;
    flex-flow: row nowrap;
    */
    position:relative;
    min-height: 100vh;
    width:100%;
    width: -moz-available;
    width:-webkit-fill-available;
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;

}

header#main_header {
    background-image:url('images/header_banner.png');
    width:100%;
    height: 300px;
    background-repeat: no-repeat;
    background-size: cover;
    position:relative;
    background-position:center;
}
header#main_header > a.header_content {
    background-color: rgba(248, 247, 216, 0.75);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-decoration:none;
    color:#000;
    font-size:24px;
}
header#main_header > a.header_content:hover {
    /*background-color: rgba(248, 247, 216, 0.25);*/
    background-color: rgba(255,255,255,.85); 
}
header#main_header > .header_content h1.site_title {
    padding:0;
    margin:0;
    text-align:center;
    line-height:300px;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    width:100%;
    font-family:Helvetica, sans-serif;
}
header#main_header > nav#main_nav {
    position: absolute;
    top: 300px;
    width: 100%;
    display: flex;
    font-family: 'Trebuchet MS', sans-serif;
    margin-top:.5em;
    border-bottom:1px solid #000;
    padding-bottom:.5em;

}
header#main_header > nav#main_nav > .nav_box {
    min-width:100px;
    text-align:center;
    font-weight:bold;
    font-family:sans-serif;
}
header#main_header > nav#main_nav a {
    text-decoration:none;
    color:#666;
    display:block;
    line-height:30px;
}
header#main_header > nav#main_nav a:hover {
    color:#000;
    text-decoration:underline;
}
header#main_header > nav#main_nav > .nav_box.search_box {
    margin-left:auto;
    margin-right:1em;
}
#nav_search_form {
    position:relative;
}
#nav_search_form input {
    border-radius:5px;
    padding:5px;
}
#nav_search_form button[type="submit"] {
    background: transparent;
    border: none;
    position: absolute;
    right: 1.25em;
    top: .35em;
}
header#main_header > nav#main_nav > .nav_box.user_box {
    min-width:auto;
    padding-right:1em;
}
header#main_header > nav#main_nav a#header_login_btn:hover {
    color:red;
}
#page_content {
    background:#fff;
    min-height:calc(100vh - 300px - 4em - 5px);
    padding:2em 1em;
    border:1px solid #000;
    padding-bottom:4em;
}

.scp_error_box {
    background:yellow;
    color:red;
    border:1px solid red;
    padding:1em;
}
.scp_divider {
    margin-top:1em;
    border-top:1px solid #666;
}

#page_container footer#main_footer {
    border-top:1px solid #000;
    position: absolute;
    bottom: 0;
    width: calc(1000px - 2em);
    padding: 1em;
    text-align: center;
    font-weight:bold;
    color:#999;
}

/***
scp_flex_container

***/
.scp_flex_container {
    display:flex;
    align-items:stretch;
    flex-direction: row;
    flex-wrap: wrap;
    font-size:14px;
    gap:5px;
}
ul.scp_flex_container {
    margin:0;
    padding:0;
    list-style:none;
}
.scp_flex_container.scp_flex_container_vertical {
    flex-direction: column;
    gap:2px;
}
.scp_flex_container.scp_flex_container_align_end {
    align-items:flex-end;
}
.scp_flex_container.scp_flex_container_boxes {
    justify-content:space-around;
}
.scp_flex_container.scp_flex_container_full_width {
    justify-content:space-between;
}
.scp_flex_container.scp_flex_container_left {
    justify-content:flex-start;
}
.scp_flex_container.scp_flex_container_right {
    justify-content:flex-end;
}
.scp_flex_container.scp_flex_container_grid {
    justify-content:flex-start;
}
.scp_flex_container.scp_flex_container_baseline {
    align-items:end;
}

.scp_flex_container.scp_flex_container_thumbnail {
    align-items:flex-start;
}

.scp_flex_container > .scp_flex_box {
    /*min-width:100px;
    margin-top:.25em;
    margin-bottom:.25em;
    */
    padding:.2em;
    padding-left:0;
    padding-right:0;
    /*margin-left:0;*/
    padding-left:0;
}
div.scp_flex_container > .scp_flex_box ol.scp_calendar_content_list {
    margin: 0;
    margin-left: 3px;
    padding: 0;
    text-align: left;
}

.scp_flex_container > .scp_flex_box .scp_section_title {
    font-size:19px;
}
.scp_flex_container > .scp_flex_box:last-child {
    margin-right:0;
    padding-right:0;
}
/*
.scp_flex_container > .scp_flex_box:first-child {
    padding-left:0;
}
*/
.scp_flex_container.scp_flex_container.scp_flex_container_fill {
    flex:1 1 0px;
    justify-content: space-between;
}
.scp_flex_container.scp_flex_container_boxes > .scp_flex_box {
    border-radius:5px;
    background-color:#fff;
    border:1px solid #999;
    text-align:center;
    font-size:12px;
    position:relative;
    /*margin:2px;*/
    padding:1.25em;
}
.scp_flex_container.scp_flex_container_boxes.scp_flex_container_boxes_tight > .scp_flex_box {
    padding-top:.25em;
    padding-bottom:.25em;
}
.scp_flex_container > .scp_flex_box h3:not(.scp_section_title) {
    font-size:14px;
    margin:0;
    font-family:"sans-serif";
}
.scp_flex_container.scp_flex_container_boxes > .scp_flex_box > h1 {
    font-size:15px;
    margin-top:0;
    padding-top:0;
    margin-bottom:0;
    padding-bottom:0;
    font-family:"sans-serif";
}
.scp_flex_container > .scp_flex_box > .scp_flex_box_full_width_container {
    padding-left:0;
    padding-right:0;
    margin-left:-1em;
    margin-right:-1em;

}
.scp_flex_container.scp_flex_container_boxes > .scp_flex_box .scp_flex_box_sortable_handle {
    font-size:12px;
    padding-top:2px;
    padding-bottom:5px;
    padding-right:2px;
    display:block;
}
.scp_flex_container.scp_flex_container_boxes.scp_flex_container_boxes_jumbo > .scp_flex_box {
    border-radius:5px;
    background-color:#fff;
    border:1px solid #999;
    text-align:center;
    font-size:24px;
}
.scp_flex_container.scp_flex_container_boxes > .scp_flex_box > a.scp_flex_box_link {
    display:block;
    /*
    margin:-.2em;
    padding:.2em;
    */
    border-radius:5px;
    text-decoration:inherit;
    color:inherit;
    height:100%;
    background-color:#F5F5F5;
    margin:-1.25em;
    padding:1.25em;
}
.scp_flex_container.scp_flex_container_boxes > .scp_flex_box > a.scp_flex_box_link:hover {
    background-color:lightgray;
    background-color:gold;
}
.scp_flex_container > .scp_flex_box.scp_flex_box_disabled {
    background:#ccc;
    pointer-events: none;
}
.scp_flex_container.scp_flex_container_grid > .scp_flex_box {
    flex: 1 1 0px;
    min-width:200px;
}
.scp_flex_container.scp_flex_container_grid.scp_flex_container_grid_spacing > .scp_flex_box {
    margin:.5em;
}
.scp_flex_container.scp_flex_container_dividers {
    font-size:12px;
}
.scp_flex_container.scp_flex_container_dividers > .scp_flex_box {
    border-left:1px solid #000;
    margin-left:.5em;
    padding-left:.75em;
    border-image: linear-gradient(to bottom,rgb(100,100,100),rgb(255, 255, 255)) 1 100%;
}
.scp_flex_container.scp_flex_container_dividers.scp_flex_container_dividers_mini {
    font-size:10px;
}
.scp_flex_container_dividers > .scp_flex_box:first-child {
    border-left:none;
    margin-left:0;
    padding-left:0;
}
.scp_flex_container.scp_flex_container_vertical.scp_flex_container_left > .scp_flex_box {
    text-align:left;
}
.scp_flex_container.scp_flex_container_min_width_50px > .scp_flex_box {
    min-width:50px;
}
.scp_flex_container.scp_flex_container_min_width_75px > .scp_flex_box {
    min-width:75px;
}
.scp_flex_container.scp_flex_container_min_width_100px > .scp_flex_box {
    min-width:100px;
}
.scp_flex_container.scp_flex_container_min_width_125px > .scp_flex_box {
    min-width:125px;
}
.scp_flex_container.scp_flex_container_min_width_150px > .scp_flex_box {
    min-width:150px;
}
.scp_flex_container.scp_flex_container_min_width_175px > .scp_flex_box {
    min-width:175px;
}
.scp_flex_container.scp_flex_container_min_width_200px > .scp_flex_box {
    min-width:200px;
}
.scp_flex_container.scp_flex_container_vertical > .scp_flex_box {
    margin:0;
    flex: 1 1 0px;
}

.scp_flex_container.scp_flex_container_thumbnail > .scp_flex_box {
    background:blue;
}
.scp_flex_container.scp_flex_container_thumbnail > .scp_flex_box.scp_thumbnail {
    background:red;
    width:75px;
}
.scp_flex_container.scp_flex_container_thumbnail > .scp_flex_box.scp_thumbnail_content {
    width:calc(100% - 75px);
}
.scp_flex_container > .scp_flex_box.scp_flex_box_error, .scp_flex_container > .scp_flex_box.scp_flex_box_error > a.scp_flex_box_link {
    background:rgb(255,225,225);
}
.scp_flex_container > .scp_flex_box.scp_flex_box_success, .scp_flex_container > .scp_flex_box.scp_flex_box_success > a.scp_flex_box_link {
    background:rgb(200, 255, 225);
}
.scp_flex_container > .scp_flex_box.scp_flex_box_alert {
    background:rgb(255,255,175);
}
.scp_flex_container > .scp_flex_box  .scp_flex_box_top {
    margin-top:-1em;
    padding-bottom:1em;
}
.scp_flex_container > .scp_flex_box  .scp_flex_box_bottom {
    font-size:10px;
    text-align:center;
    padding-top:1.5em;
    margin-bottom:-1em;
}
.scp_flex_container > .scp_flex_box  .scp_flex_box_left {
    position:absolute;
    left:0px;
}
.scp_flex_container > .scp_flex_box > .scp_flex_box_bottom_left {
    position:absolute;
    bottom:1px; left:1px;
}
.scp_flex_container > .scp_flex_box > .scp_flex_box_bottom_right {
    position:absolute;
    /* bottom:2px; right:2px; */
    bottom:0px; right:0px;
}
.scp_flex_container > .scp_flex_box > .scp_flex_box_top_right {
    position:absolute;
    /* top:2px; right:2px;*/
    top:0px; right:0px;
}
.scp_flex_container > .scp_flex_box > .scp_flex_box_top_left {
    position:absolute;
    /* top:2px; left:2px; */
    top:0px; left:2px;
}
.scp_flex_container.scp_flex_container_spacing > .scp_flex_box {
    margin:.5em;
}

.scp_flex_container > li.scp_sortable_placeholder, .scp_sortable_placeholder {
    background:greenyellow;
    border:1px dotted #333;
    border-style:dashed;
    width:100px;
}

h1.recipe_title {
    text-align:center;
    margin-top:0;
    margin-bottom:0;
    padding-top:.5em;
    padding-bottom:0;
    font-family:sans-serif;
    color:darkgoldenrod;
}
/* END scp_flex_container */
