/*
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;
background: rgb(201, 201, 201);
}
.mobileMenuSelector{
display: none;
position: fixed;
left: 13px;
top: -2px;
font-size: 40px;
}
.mobileMenuSelector:active{
color: rgb(255, 99, 107);
}
/*
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: rgb(255, 99, 107);
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(179, 191, 209);
color: rgb(255, 99, 107);
}
.choosable.active{
background: rgb(240, 252, 255);
color: rgb(255, 99, 107);
}
.searchBar{
display: flex;
align-items: center;
margin-bottom: 10px;
}
.searchButton{
padding: 6px;
background: rgb(0, 27, 45);
cursor: pointer;
color: white;
}
.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;
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;
font-size: 16px;
}
.fileUpload::file-selector-button{
background: rgb(0, 27, 45);
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;
flex-grow: 1;
height: 100%;
background: white;
}
.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;
max-height: 43%;
}
#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;
max-height: 50px;
}
.inventoryCheckIngredient{
width: 40%;
font-weight: 300;
font-size: 15px;
margin-right: 25px;
text-overflow: ellipsis;
white-space: wrap;
overflow: hidden;
text-align: left;
}
.inventoryCheckUnit{
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%;
margin: 5px 0;
}
.categoryDiv > div:first-of-type p{
display: flex;
align-items: center;
padding: 20px 0 20px 100px;
background: rgb(0, 27, 45);
flex-grow: 1;
color: rgb(255, 99, 107);
margin-right: 25px
}
.categoryDiv > div:first-of-type button{
padding: 10px;
background: rgb(0, 27, 45);
border: none;
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;
color: rgb(255, 99, 107);
}
.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(0, 27, 45);
transition: 0.2s;
}
.slider:before{
position: absolute;
content: "";
height: 30px;
width: 110px;
left: 1px;
bottom: 1px;
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgb(255, 99, 107);
transition: 0.5s;
}
.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;
}
/*
ACCOUNT STRAND
*/
#accountStrand{
padding: 15px;
box-sizing: border-box;
align-items: center;
}
.settings{
display: flex;
flex-direction: column;
width: 75%;
max-height: 100%;
overflow-y: auto;
}
.settingsSection{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 15px 0;
background: white;
padding: 35px;
}
.settingsSectionHeader{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 25px;
border-bottom: 1px solid black;
}
.newLocationButtons{
display: flex;
align-items: center;
}
.newLocationButtons h1{
padding: 0;
margin-right: 15px;
}
.settingsSection label{
margin-bottom: 10px;
display: flex;
}
#accountUpdate{
max-width: 500px;
}
#settingsMerchants{
display: flex;
flex-direction: column;
width: 50%;
}
#accountShowPassword{
max-width: 300px;
}
#changePasswordBox{
flex-direction: column;
padding: 25px;
background: rgb(179, 191, 209);
}
#changePasswordBox label{
display: flex;
justify-content: space-between;
align-items: center;
margin: 5px;
}
#changePasswordBox p{
color: red;
}
#accountButtonBox{
margin: 0;
}
/*
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 100px;
background: rgb(240, 252, 255);
border: 2px solid black;
}
.modalSpreadsheetUpload > *{
margin-top: 15px;
}
#modalFeedback{
display: flex;
flex-direction: column;
background: white;
padding: 50px;
}
#modalFeedback > *{
margin: 15px;
}
#modalFeedback label{
display: flex;
flex-direction: column;
}
#modalNewMerchant{
display: flex;
flex-direction: column;
background: white;
padding: 50px;
min-width: 350px;
}
#modalNewMerchant h2{
text-align: center;
}
#modalNewMerchant > *{
margin: 15px;
}
#modalNewMerchant label{
display: flex;
flex-direction: column;
}
#modalConfirm{
display: flex;
flex-direction:column;
align-items: center;
background: white;
padding: 50px;
}
#modalConfirm svg{
font-size: 50px;
margin: 15px;
font-weight: bold;
}
#modalConfirm p{
font-size: 25px;
font-weight: bold;
}
#newMerchantSquareButton{
background: white;
border: none;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
padding: 5px;
cursor: pointer;
margin-top: 0;
margin-bottom: 0;
}
#newMerchantSquareButton:hover{
background: black;
color: white;
}
#modalSquareLocations{
display: flex;
flex-direction: column;
align-items: center;
background: white;
padding: 50px;
min-width: 350px;
}
#squareLocationsButtons{
display: flex;
flex-direction: column;
margin-bottom: 25px;
width: 100%;
}
@media screen and (orientation: portrait){
@media screen and (max-width: 1400px){
body{
background:rgb(0, 27, 45);
}
.button{
padding: 3px 0;
}
.mobileMenuSelector{
color:rgb(240, 252, 255);
z-index: 10;
}
.strandTitle{
color: white;
position: fixed;
top: 15px;
left: 0;
right: 0;
margin: 0;
text-align: center;
font-size: 20px;
}
.choosable{
background:rgb(201, 201, 201);
color: black;
}
/* HOME */
#inventoryCheckCard{
display: none;
}
#graphCard{
display: none;
}
.card{
background: white;
}
/* INGREDIENT INVENTORY */
#categoryList{
width: 95%;
}
.categoryDiv{
margin: 5px;
}
.categoryDiv > div:first-of-type p{
padding: 10px;
margin-right: 15px;
}
.categoryDiv > div:first-of-type button{
padding: 10px;
height: initial;
width: initial;
display: flex;
}
.ingredientsDiv{
width: 90%;
}
/* RECIPE BOOK */
#recipeList{
width: 90%;
}
/* ANALYTICS */
#analyticsStrand .strandHead{
height: 23vh;
flex-direction: column;
}
#analyticsStrand .strandTitle{
position: static;
}
.switch{
margin-top: 0;
}
.analDateRange{
display: none;
}
.analContent{
flex-direction: column;
justify-content: space-between;
padding: 0;
height: 70vh;
}
.itemsList{
width: 90%;
height: 47%;
margin-bottom: 10px;
}
.analData{
height: 47%;
}
.dataRow{
flex-direction: column;
}
#itemUseGraph{
display: none;
}
#analDailyAverages{
display: none;
}
#recipeSalesGraph{
display: none;
}
/* ORDERS */
#ordersStrand .strandHead{
justify-content: center;
}
#newOrderBtn{
display: none;
}
#orderList{
width: 90%;
}
#orderList > div p:nth-child(2){
display: none;
}
/* TRANSACTIONS */
#transactionsStrand .strandHead{
justify-content: center;
}
.transactionsList{
width: 90%;
}
@media screen and (min-width: 601px){
.strandTitle{
font-size: 40px;
}
.mobileMenuSelector{
left: 40px;
top: 20px;
}
/* HOME */
#graphCard{
display: flex;
}
/* RECIPE BOOK */
#recipeList{
width: 75%;
}
/* ORDERS */
#ordersStrand .strandHead{
margin-top: 25px;
}
/* TRANSACTIONS */
#transactionsStrand .strandHead{
margin-top: 25px;
}
}
}
}
@media screen and (orientation: landscape){
@media screen and (max-width: 1200px){
body{
background: rgb(0, 27, 45);
}
.contentBlock{
padding: 0;
}
.button{
padding: 3px 0;
}
.mobileMenuSelector{
display: flex;
color: rgb(240, 252, 255);
z-index: 10;
}
.strandHead{
color: white;
position: fixed;
top: 5px;
left: 25px;
right: 0;
margin: 0;
text-align: center;
font-size: 20px;
}
.strandTitle{
margin: 0;
}
.choosable{
background: rgb(201, 201, 201);
color: black;
}
/* HOME */
#homeStrand{
flex-direction: row;
padding: 0;
align-items: flex-end;
}
#graphCard{
display: none;
}
#inventoryCheckCard{
display: none;
}
.flexRow{
height: 80%;
}
.flexRow:nth-child(3){
flex-grow: 2;
}
.card{
background: white;
}
#popularIngredientsCard{
max-height: 100%;
padding-bottom: 5px;
}
/* INGREDIENTS */
#ingredientsStrand{
padding-bottom: 10px;
justify-content: flex-end;
}
#categoryList{
height: 70%;
}
.categoryDiv{
margin: 3px;
}
.categoryDiv > div:first-of-type p{
padding: 5px 10px;
}
.categoryDiv > div:first-of-type button{
padding: 0;
height: initial;
width: initial;
display: flex;
align-items: center;
}
.ingredientsDiv{
width: 90%;
}
/* RECIPE BOOK */
#recipeBookStrand{
padding-bottom: 10px;
justify-content: flex-end;
}
#recipeList{
height: 70%;
}
/* ANALYTICS */
#analyticsStrand{
padding-bottom: 10px;
justify-content: space-between;
}
#analyticsStrand .strandHead{
position: static;
height: unset;
flex-wrap: wrap;
}
#analyticsStrand .strandTitle{
width: 100%;
margin-top: -13px;
margin-left: 10px;
}
.switch{
margin-top: -15px;
font-size: 15px;
}
#analyticsStrand .dateRange{
margin-top: -55px;
}
.analDateRange{
display: none;
}
.analContent{
padding: 0;
height: 70%;
}
.itemsList{
width: 23%;
}
.analData{
width: 73%
}
.dataRow{
display: none;
}
.modebar-container{
display: none;
}
#analRecipeContent{
height: 70%;
}
#newOrderBtn{
display: none;
}
/* ORDERS */
#ordersStrand{
justify-content: flex-end;
}
#ordersStrand .buttonBox{
margin: 0;
}
#orderList{
height: 70%;
}
/* TRANSACTIONS */
#transactionsStrand{
justify-content: flex-end;
}
#transactionsStrand .buttonBox{
margin: 0;
}
#transactionsList{
height: 70%;
}
@media screen and (min-width: 1000px){
.mobileMenuSelector{
top: 20px;
left: 40px;
}
.strandTitle{
margin: 15px;
}
/* HOME */
#homeStrand{
flex-direction: column;
justify-content: flex-end;
}
#graphCard{
display: flex;
}
.flexRow{
max-height: 40vh;
}
.flexRow:nth-child(2){
flex-grow: 2;
}
.flexRow:nth-child(3){
flex-grow: 1;
}
/* INGREDIENTS */
#categoryList{
height: 80%;
}
/* RECIPE BOOK */
#recipeList{
height: 80%;
}
/* ANALYTICS */
#analyticsStrand .strandTitle{
margin-top: 8px;
margin-left: 30px;
}
.analDateRange{
display: block;
}
#analRecipeContent, .analContent{
height: 80%;
}
/* ORDERS */
#orderList{
height: 80%;
}
/* TRANSACTIONS */
#transactionsList{
height: 80%;
}
}
}
}