/*
General page styling
*/
html{
height: 100%;
max-width: 100%;
}
body{
display: flex;
flex-direction: row;
height: 100%;
max-width: 100%;
}
.contentBlock{
width: 100%;
height: 100vh;
flex: 1;
box-sizing: border-box;
position: relative;
padding-bottom: 25px;
}
/*
Multi-strand use classes
*/
.strand{
flex-direction: column;
height: 100vh;
width: 100%;
padding-bottom: 25px;
box-sizing: border-box;
}
.strandHead{
display: flex;
justify-content: space-between;
width: 100%;
padding: 10px 50px 0 50px;
align-items: center;
box-sizing: border-box;
height: 10%;
}
.strandTitle{
text-align: left;
margin: 15px;
padding: 0;
}
#sidebarCloser{
width: 30px;
background: rgb(0, 27, 45);
color: white;
margin-right: auto;
border: none;
position: fixed;
top: 15px;
left: 15px;
}
.buttonBox{
display: flex;
justify-content: space-around;
margin-top: 50px;
}
.buttonBox > *{
margin-right: 10px;
}
.choosable{
display: flex;
justify-content: space-around;
align-items: center;
background: rgb(0, 27, 45);
color: white;
border-radius: 5px;
margin: 2px;
padding: 5px;
text-align: center;
cursor: pointer;
width: 99%;
box-sizing: border-box;
border: none;
font-size: 16px;
}
.choosable.tall{
padding: 15px;
}
.choosable:hover{
background: rgb(201, 201, 201);
color: black;
}
.choosable.active{
background: rgb(179, 191, 209);
color: white;
}
.searchBar{
display: flex;
align-items: center;
margin-bottom: 10px;
}
.searchButton{
padding: 6px;
background: rgb(0, 27, 45);
cursor: pointer;
color: white;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}
.searchButton:hover{
background: rgb(201, 201, 201);
color: black;
}
.searchButton:active{
background: rgb(179, 191, 209);
color: white;
}
.searchInput{
border: 4px solid rgb(0, 27, 45);
font-size: 20px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
padding: 1px 0 1px 4px;
}
.dateRange{
display: flex;
flex-direction: column;
align-items: center;
}
.dateRangeInput{
display: flex;
justify-content: space-between;
}
.dateRangeInput p{
margin: 0 5px;
font-size: 20px;
font-weight: bold;
}
.fileUpload{
background: rgb(240, 252, 255);
padding: 5px;
border-radius: 5px;
font-size: 16px;
}
.fileUpload::file-selector-button{
background: rgb(0, 27, 45);
border-radius: 5px;
color: white;
border: none;
cursor: pointer;
font-size: 18px;
margin: auto 0;
}
.fileUpload::file-selector-button:hover{
background: rgb(201, 201, 201);
color: black;
}
/*
Home Strand
*/
#homeStrand{
display: flex;
}
.card{
margin: 0 15px;
border: 1px solid rgba(183, 183, 183, 0.9);
border-radius: 7px;
box-shadow: 1px 2px gray;
flex-grow: 1;
height: 100%;
}
.card > *{
margin: 10px;
}
.card p:first-of-type{
font-size: 14px;
font-weight: bold;
text-align: center;
}
.flexRow{
display: flex;
justify-content: space-around;
width: 100%;
flex-basis: 100px;
flex-grow: 1;
margin: 15px 0;
}
#revenueCard{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
#revenue{
text-align: center;
font-size: 30px;
font-weight: bold;
}
#revenueChange{
display: flex;
}
#revenueChange > p{
font-weight: 100;
}
#revenueChange img{
height: 15px;
width: 15px;
margin-right: 10px;
}
#graphCard{
flex-grow: 5;
display: flex;
justify-content: center;
}
#inventoryCheckCard{
display: flex;
flex-direction: column;;
justify-content: space-between;
flex-basis: 100px;
flex-grow: 1;
}
#inventoryCheckCard ul{
list-style: none;
}
#inventoryCheckCard button{
margin-left: auto;
}
.ingredientCheck{
display: flex;
align-items: center;
margin: 5px 0;
}
.ingredientCheck p:first-of-type{
width: 40%;
font-weight: 300;
font-size: 15px;
margin-right: 25px;
}
.ingredientCheck p:last-of-type{
width: 20%
}
.numberInput{
display: flex;
justify-content: center;
width: 40%;
margin-right: 25px;
}
.numberInput button{
width: 30%;
font-size: 23px;
background: rgb(0, 27, 45);
border: none;
color: white;
font-weight: bold;
cursor: pointer;
}
.numberInput button:first-of-type{
border-bottom-left-radius: 5px;
border-top-left-radius: 5px;
}
.numberInput button:last-of-type{
border-bottom-right-radius: 5px;
border-top-right-radius: 5px;
}
.numberInput input{
width: 55%;
font-size: 15px;
text-align: center;
}
.numberInput input::-webkit-outer-spin-button,
.numberInput input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.numberInput input[type=number] {
-moz-appearance: textfield;
}
#popularIngredientsCard{
display: flex;
flex-direction: column;
align-items: center;
flex-basis: 100px;
flex-grow: 2.5;
padding: 5px;
box-sizing: border-box;
}
#popularCanvas{
margin: 0 35px;
}
.notice{
color: red;
font-size: 35px;
font-weight: bold;
}
/*
Ingredients Strand
*/
#ingredientsStrand{
display: none;
align-items: center;
height: 100%;
box-sizing: border-box;
}
#categoryList{
align-items:center;
overflow-y: auto;
width: 80%;
}
.categoryDiv{
display: flex;
flex-direction: column;
align-items: center;
}
.categoryDiv > div:first-of-type{
display: flex;
cursor: pointer;
width: 100%;
}
.categoryDiv > div:first-of-type p{
display: flex;
align-items: center;
padding: 20px 0 20px 100px;
background: rgb(240, 252, 255);
border: 1px solid gray;
border-radius: 5px;
margin-right: 25px;
flex-grow: 1;
}
.categoryDiv > div:first-of-type button{
padding: 10px;
background: rgb(240, 252, 255);
border: 1px solid black;
border-radius: 5px;
width: 75px;
height: 75px;
cursor: pointer;
}
.ingredientsDiv{
flex-direction: column;
width: 50%;
}
.ingredientSpacer{
border: none;
border-top: 1px dashed black;
margin: auto;
}
/*
Recipe Book Strand
*/
#recipeBookStrand{
display: none;
align-items: center;
}
#recipeList{
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
overflow-y: auto;
}
/*
Analytics Strand
*/
.switch{
position: relative;
display: inline-block;
width: 239px;
height: 34px;
border: 3px solid rgb(0, 27, 45);
color: white;
}
.switch input{
opacity: 0;
width: 0;
height: 0;
}
.switch input:focus + .slider{
box-shadow: 0 0 1px #2196F3;
}
.switch input:checked + .slider:before {
-webkit-transform: translateX(105px);
-ms-transform: translateX(92px);
transform: translateX(125px);
}
.slider{
display: flex;
justify-content: space-between;
align-items: center;
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
padding: 0 24px 0 5px;
background: rgb(255, 99, 107);
transition: 0.2s;
}
.slider:before{
position: absolute;
content: "";
height: 30px;
width: 110px;
left: 1px;
bottom: 1px;
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgb(0, 27, 45);
transition: 0.2s;
}
.analContent{
display: flex;
justify-content: space-around;
align-items:center;
padding: 15px;
box-sizing: border-box;
height: 90%;
}
.itemsList{
list-style-type: none;
width: 15%;
max-height: 95%;
overflow-y: auto;
}
.analData{
display: flex;
flex-direction: column;
justify-content: space-around;
width: 100%;
height: 100%;
}
#itemUseGraph{
padding: 10px;
height: 60%;
flex-basis: 100px;
flex-grow: 5;
}
.dataRow{
display: flex;
justify-content: space-between;
flex-basis: 150px;
flex-grow: 0;
}
.analCard{
display: flex;
flex-direction: column;
justify-content: space-around;
margin: 5px;
height: inherit;
}
.analCard > *{
margin: 0;
}
#analRecipeContent{
display: flex;
justify-content: space-around;
align-items: center;
padding: 15px;
box-sizing: border-box;
height: 90%;
}
/*
Orders Strand
*/
#ordersStrand{
display: none;
align-items: center;
}
#orderList{
width: 50%;
margin-top: 50px;
overflow-y: auto;
}
/*
Transactions Strand
*/
.transactions{
display: none;
align-items: center;
}
.transactionsList{
width: 50%;
overflow-y: auto;
margin-top: 50px;
}
/*
Modal
*/
.modal{
flex-direction: column;
justify-content: center;
align-items: center;
position: fixed;
height: 100vh;
width: 100vw;
background: rgba(0, 27, 45, 0.75);
}
.modalBox{
display: flex;
flex-direction: column;
align-items: flex-end;
}
.modalBox svg{
color: rgb(255, 99, 107);
cursor: pointer;
}
.modalSpreadsheetUpload{
flex-direction: column;
align-items: center;
justify-content: space-between;
margin-top: 0;
padding: 25px;
}
.modalSpreadsheetUpload > *{
margin-top: 15px;
}
@media screen and (orientation: portrait){
@media screen and (max-width: 1400px){
@media screen and (min-width: 601px){
}
}
}