﻿/* === fonts === */

@font-face {
    font-family: 'century_gothic';
    src: url('/fonts/gothic.eot') format('embedded-opentype'), 
        url('/fonts/gothic.woff2') format('woff2'),
        url('/fonts/gothic.woff') format('woff'),
        url('/fonts/gothic.ttf') format('truetype'),
        url('/fonts/gothic.svg#gothic') format('svg');
    font-weight: normal;
    font-style: normal;
}


/* === main structure and element defaults === */

html,body 
{
	margin: 0;
    height: 100%;
	font-family: 'century_gothic';
}

input, select, option, textarea, input:-webkit-autofill::first-line {
    font-family: 'century_gothic';
    font-size: 1em;
    padding: 5px;
}

input[type=button], input[type=submit], input[type=resut] {
    cursor: pointer;
    font-size: 1em;
}

h1 {
    font-size: 2em;
}

p, div, td {
    font-size: 1em;
}

a {
    color: #000000;
}

a:hover {
    color: #000000;
}

tr th, tr td {
    text-align: left !important;
    padding-left: 0.5em;
    padding-right: 0.5em;
}


/* === reusable classes === */

.readonly {
    background-color: #ddd;
    font-weight: bold;
    cursor: not-allowed;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.hide {
    display: none;
}

.show {
    display: normal;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.valign_top {
    align-self: start;
}

.select2-result-label {
    font-size: 14px !important;
}

.red_text {
    color: #bb2024;
}

 .form_2col_container {

 }

.form_2col_container>div {
    display: flex;
    align-items: center;
    margin-bottom: 0.6em;
}


/* === select2 === */
.select2-choices, .select2-container, .select2-choice {
    width: 400px !important;
}

.select2-with-searchbox {
    width: 410px !important;
}


/* === header === */
.header_container {
    width: 100%;
    height: 120px;
    background-color: #000000;
}

#sterno_logo {
    height: 100px;
    width: auto;
    margin-top: 10px;
}

.header_inner {
    width: 80%;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.header_inner div {
    color: #ffffff;
    font-size: 2em;
    font-weight: bold;
}

.header_inner div:first-child, .header_inner div:last-child {
    flex: 0 0 auto;
}

.header_inner div:nth-child(2) {
    flex: 1 1 auto;
}

.links_container {
    background-color: #BB2024;
    height: 3em;
    width: 100%;
    display: flex;
    align-items: center;
}

.links_inner {
    margin: 0 auto;
}

.links_panel {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.links {
    width: fit-content;
    padding-left: 2em;
    padding-right: 2em;
    text-align: center;
}

.links a {
    color: #ffffff;
    font-size: 22px;
    text-decoration: none;
}

.links a:hover {
    color: #FFFFFF;
    text-decoration: none;
}

.admin_nav_links {
    background-color: #ccc;
    display: none;
}

.admin_nav_links .links_inner .links_panel a {
    color: #000;
}

@media (max-width: 767px) {
    .links a {
        font-size: 16px;
    }
}


/* === main content === */

#middle_content
{
    margin-bottom: 40px;
    min-height: calc(100vh - 105px);
}

.content_inner {
    width: 96%;
    height: auto;
    margin: 0 auto;
    margin-top: 3em;
}


/* === footer === */

#bottom_footer
{
    height: 105px;
    background-color: #000000;
    height: 105px;
    width: 100%;   
    margin-top: 100px;
}

.footer_inner
{
	color: #ffffff;
    margin: 0 auto;
    padding-top: 43px;
    text-align: right;
    width: 80%;
}


/* === login and home pages */

.login_container
{
    width: 100%;	
}

.form_2col_login div div:first-child {
    width: 120px;
}

.button_home a {
    display: inline-block;
    background-color: #bb2024;
    color: #fff;
    width: 11em;
    margin-bottom: 1em;
    padding: 0.5em;
    text-align: center;
    text-decoration: none;
    border-radius: 500px;
    transition-property: background-color, border-color, color, box-shadow, filter;
    transition-duration: .3s;
}

.button_home a:hover {
    transform: scale(1.04);
    background-color: #7c1214;
}

.button_red {
    display: inline-block;
    background-color: #bb2024;
    color: #fff;
    width: 11em;
    margin-bottom: 1em;
    padding: 0.5em;
    text-align: center;
    text-decoration: none;
    border: 1px solid #bb2024;
    border-radius: 500px;
    transition-property: background-color, border-color, color, box-shadow, filter;
    transition-duration: .3s;
}

.button_black {
    display: inline-block;
    background-color: #000;
    color: #fff;
    width: 11em;
    margin-bottom: 1em;
    padding: 0.5em;
    text-align: center;
    text-decoration: none;
    border-radius: 500px;
    transition-property: background-color, border-color, color, box-shadow, filter;
    transition-duration: .3s;
}

.button_black:hover {
    transform: scale(1.04);
    background-color: #222;
}

.button_red:hover {
    transform: scale(1.04);
    background-color: #7c1214;
}

#admin_panel {
    display: none;
}

.admin_button a {
    cursor: pointer;
    background-color: #ccc;
    color: #000;
}

.admin_button a:hover {
    background-color: #bbb;
}

.admin_button_secondary a {
    background-color: #ccc;
    color: #000;
    margin-left: 1.5em;
}

.admin_button_secondary a:hover {
    background-color: #bbb;
}

.save_forecast_button {
    margin-bottom: 40px;
}
/* =
    == Users === */
.form_2col_add_user div div:first-child {
    width: 170px;
}

.users_grid tr:first-child {
    border-bottom: 1px solid #000;
}

.users_grid tr:first-child td {
    padding-bottom: 0.6em;
}

.users_grid tr td {
    padding-top: 0.6em;
}

/* === Forecasts === */
.warning {
    display: block;
    width: fit-content;
    color: #fff;
    background-color: #BB2024;
    padding: 10px;
    margin-bottom: 40px;
}

.save_message {
    display: block;
    width: fit-content;
    padding: 10px;
    border: 2px solid #000;
    margin-bottom: 40px;
}

.forecast_search_container {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
    margin-top: 40px;
}

.forecast_search_container>div:nth-child(2) {
    flex: 1;
}

.forecast_search_container>div:last-child {
    flex: 1;
}

.form_2col_budget_search div div:first-child {
    width: 170px;
}

.item_info {
    margin: 1em;
    max-width: 87vw;
}

.item_info tr:first-child {
    border-bottom: 1px solid #000;
}

.item_info, .item_info tr, .item_info tr td {
    border: none !important;
}

.item_type tr td {
    padding: 0;
}

.team {

}

.main_grid {
    display: block;
    margin-top: 40px;
    margin-bottom: 40px;
    width: 100%;
    overflow-x: auto;
    scrollbar-color: #fff #000 !important;
    scrollbar-width: thin;
}

.main_grid tr th, .main_grid tr td {
    font-size: 14px;
    padding: 5px;
    border-left: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
}

tr td :not(.item_info) {
    padding-top: 0;
    padding-bottom: 0;
}

.main_grid :first-child {
    border-left: none;
}

.main_grid :last-child {
    border-right: none;
}

.main_grid tr th {
    background-color: #ccc;
}

.main_grid .grid_header {
    color: #fff;
    background-color: #000;
}

.main_grid .grid_sales_row td {
    border-top: 3px solid #000;
}

.main_grid .grid_update_row td {
    background-color: lightyellow;
}

.topdown_grid {
    width: fit-content;
    max-width: 100%;
    border: 0;
    margin-top: 20px;
    max-height: 500px;
    overflow-y: auto;
    scrollbar-color: #fff #000 !important;
    scrollbar-width: thin;
}

.modified_sales tr td {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    padding: 5px;
}

.modified_sales tr td:last-child {
    border-right: 1px solid #000;
}

.modified_sales tr:last-child td {
    border-bottom: 1px solid #000;
}

.modified_sales tr:first-child td, .modified_sales tr td:first-child {
    background-color: #ccc;
}

.modified_sales tr td input[type=text] {
    width: 100px;
}

.grid_chart {
    display: none;
}

.grid_chart .grid_chart_canvas_container {
    display: flex;
}

.grid_chart td .grid_chart_canvas_container div {
    flex: 1;
}

.grid_chart td {
    border-bottom: 0 !important;
}

.charts_on_off {
    margin-top: 40px;
    margin-bottom: 40px;
}

.user_product_price {
    width: 100px;
}

.item_type tr td:first-child {
    padding-left: 0 !important;
}

[class^="update_"] {
    border: 1px solid #aaa !important;
    width: 90px;
}

.sales_split {
    border-top: 3px solid #000;
}

.parent_comments {
    width: 98%;
    max-width: 1000px;
    height: 50%;
}

.parent_comments_updated {

}

@media (max-width: 767px) {
    .grid_chart .grid_chart_canvas_container {
        flex-direction: column;
        width: 90vw;
    }
}

/* save panel of main content */
.save_panel {
    width: 50%;
    margin-top: 60px;
    margin-bottom: 60px;
    background-color: #ccc;
    padding: 20px;
    border-radius: 5px;
}

.forecast_name {
    width: 300px;
}

.notes {
    width: 1000px;
    max-width: 87vw;
    height: 100px;
}

.error_saving {
    background-color: #BB2024;
    color: #fff;
    padding: 10px;
}

/*locking*/
.lockunlock {
    text-decoration: underline;
    cursor: pointer;
}

/*logs*/
.log_terms {
    width: 400px;
}