:root{
	--color-background: #f5f5f5;
	--color-default: #ababab;
	--color-blue: #1956d7;
	--color-red: #ff3333;
	--color-white: #ffffff;
}

*{
	font-family: 'Inter', sans-serif;
}

body{
	margin: 0;
	padding: 0;
	background-color: var(--color-background);	
	overflow-x: hidden;
	z-index: 0;
}

svg{
	transition: fill .4s ease;
}

h1{
	margin: 0;
	padding: 10px;
}

.item_list{
	padding: 0;
	margin: 0;
}

.default_li{
	background-color: var(--color-white);
	padding: 8px;
	margin: 2px 0;
	border-radius: 5px;
	list-style-type: none;
	overflow: hidden;
	clear: both;
	height: 40px;
	display: flex;
	justify-content: space-between;
}

.default_li > *{
	background-color: var(--color-white);
}

input{
	background-color: var(--color-background);
	padding: 8px;
	margin: 0;
	border-radius: 5px;
	border: none;
}

button{
	background-color: var(--color-white);
	padding: 8px;
	margin: 2px 0;
	border-radius: 5px;
	border: none;
	cursor: pointer;
}

#item_wrapper > *{
	margin: 2px;
}

#item_wrapper{
	display: flex;
	align-items: center;
}

#footer{
	display: flex;
	justify-content: space-between;
	padding-bottom: 90px;
	margin: 0 8px;
}

#footer > p{
	display: flex;
	align-items: center;
	margin: 0;
	color: #535353;
}

.svg_default{
	fill: var(--color-default);
}

.svg_red{
	fill: var(--color-red);
}

.svg_blue{
	fill: var(--color-blue);
}

.svg_white{
	fill: white;
}

.svg_green{
	fill: green;
}

#edit_price{
	text-align: right;
	width: 95px;
}

#item_price{
	text-align: right;
	width: 95px;
}

#fi_price{
	display: flex;
	align-items: center;
	height: 34px;
	width: 95px;
}

#fi_amount{
	display: flex;
	align-items: center;
	height: 34px;
	width: 20px;
	margin-top: 5px;
	margin-left: 6px;
	margin-right: 2px;
	padding: 8px;
}

#fi_input{
	display: flex;
	align-items: center;
	margin-top: 1px;
	margin-left: 22px;
	margin-right: 2px;
	padding: 8px;
}

#readModeButton{
	background-color: var(--color-blue);
	margin: 15px;
	border-radius:100px;
	height: 60px;
	width: 60px;
}

#readModeButtonDiv{
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 2;
}

#price{
	width: 95px;
}

.default_li > button{
	float: right;
	margin: 0 2px;
}

#warning{
	background-color: var(--color-red);
	color: white;
}

#noWarning{
	background-color: #00000000;
	color: white;
	padding: 0;
	margin: 0;
	border-radius: 100px;
}

#headSection{
	background-color: var(--color-red);
	color: white;
	padding: 8px;
	margin: 2px 0;
	border-radius: 5px;	
	
	display: none;
}

#wrapper{
	margin: 0;
}

#controlSection{
	background-color: var(--color-background);
	text-align: center;
	padding-bottom: 5px;
	position: -webkit-sticky; /* Safari */
	position: sticky;
	top: 0;
	z-index: 99;
	margin: 0 8px;
}

#inputSection{
	display: flex; 
	align-items: center;
	background-color: var(--color-white);
	padding: 3px 5px;
	border-radius: 5px;
}

#inputSection > input{
	margin: 2px;
	background-color: var(--color-background);
}

#inputSection > button{
	margin-left: 2px;
}

#inputSection > select{
	margin-right: 2px;
	background-color: var(--color-background);
}

#list_done{
	margin-top: 15px;
	margin-bottom: 10px;
	opacity: 0.5;
}

/* Header */
#header{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding-top: 8px;
}

#logo{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-blue);
	margin: 0;
	border-radius:100px;
	height: 40px;
	width: 40px;
}

#siteName{
	text-align: left;
	color: var(--color-blue);
}

#headerLogo{
	display: flex;
	align-items: center;
	flex-direction: row;
}

#headerInfo{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	height: 35px;
}

#info_items{
	width: 74px;
}

#info_price{
	width: 94px;
}

#loadingbar{
	background-color: #1956d780;
	height:5px;
	width: 100%;
	border-radius: 3px;
	margin: 4px 0;
}

#loadingbar_inner{
	background-color: var(--color-blue);
	height:100%;
	width: 0%;
	border-radius: 3px;
	transition: width 1s;
}

.headerInfo_info{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin: 10px;
}

.headerInfo_info > *{
	margin: 2px;
}

.quantity{
	padding: 8px;
	margin: 2px 0;
	border-radius: 5px;
	border: none;
	width: 60px;
}

.edit_input {
	width: 100%;
}

.left_wrapper {
	width: 100%;
}

.edit_item > div > select{
	background-color: var(--color-background);
	height: 34px;
	font-size: 16px;
}

.edit_item > div > input{
	background-color: var(--color-background);
	height: 34px;
	font-size: 16px;
}

.edit_item > edit_input{
	width: 60%;
}

.icon_button{
	height: 30px;
	width: 30px;
	padding: 0;
}

/* Modal */
#modal{
	display: none;
}
.modal{
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #00000066;
	align-items: center;
	justify-content: center;
}

.modal_inner{
	background-color: var(--color-white);
	height: 20%;
	width: 80%;
	border-radius: 15px;
	padding: 15px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	padding-top: 8%;
	font-weight: 500;
}

#modal_buttons > button{
	border-radius: 5px;
	margin: 5px;
	padding: 8 20px;
}

#modal_delButtn{
	background-color: var(--color-blue);
	color: white;
}

#modal_delButtn:hover{
	background-color: var(--color-red);
	color: white;
}

#modal_denyButtn{
	color: var(--color-blue);
	border: solid var(--color-default) 0.25px;
}

#modal_denyButtn:hover{
	background-color: var(--color-background);
}

#inputArea{
	width: 100%;
	position: relative;
	display: inline-block;
}

#subStringModal{
	position: absolute;
	background-color: var(--color-white);
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
	margin: 0;
	padding: 0;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

#input:focus{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.subString_li{
	list-style-type: none;
	text-align: left;
	border-bottom: solid var(--color-background) 1px;
	padding: 4px;
}

.subString_li:hover{
	background-color: #f1f1f1;
	cursor: pointer
}

#input{
	width: 100%
}

#options{
	display: none;
}

#options_inner{
	padding: 15px;
	height: 80%
}

#optionsList{
	padding: 0;
	overflow: auto;
	height: 80%;
	width: 90%;
	list-style-type: none;
	padding-right: 5px;
}

.optionsListItem{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom:  solid var(--color-background) 1px;
	padding: 5px 0;	
}

.optionsListItem > div > svg{
	cursor: pointer;
	margin-right: 15px;
}

.optionsListItem:last-child{
	border: none;
}

.li_static{
	position: absolute;
	background-color: var(--color-background);
	z-index: 1;
	margin: 0 8px;
    left: 0;
    right: 0;
}

.li_static_inner{
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.li_static_inner_visual{
	width: 100%;
	height: 100%;
	border-radius: 5px;
}

.li_static_inner_visual_left{
    background-color: var(--color-red);
    display: flex;
    align-items: center;
    justify-content: center;
}

.li_static_inner_visual_right{
    background-color: var(--color-blue);
    display: flex;
    align-items: center;
    justify-content: center;
	
}

.li_movable{
	position: relative;
	z-index: 2;
	margin: 2px 8px;
}

/* Responsive */
@media only screen and (min-device-width: 750px){
	#wrapper{
		margin: 0 20%;
	}
	.li_static_inner {
		margin: 0 20%;
	}
}

@media only screen and (max-device-width: 380px){
	#fi_price {
		width: 50px;
	}
}

@media only screen and (max-device-width: 349px){
	#header {
		flex-direction: column;/*
		height: 80px;
		align-items: center;
		justify-content: center;*/
	}
}

@media only screen and (max-device-width: 329px){
	.default_li{
		flex-direction: column;	
		height: 80px;
		align-items: center;
		justify-content: center;
		
	}
}

@media only screen and (max-device-width: 290px){
	#inputSection{
		flex-direction: column;
	}
}

@media only screen and (min-device-width: 900px){
	#readModeButton{
		display: none;
	}
	.modal_inner{
		width: 50%;
	}
	#logo{
		height: 45px;
		width: 45px;
	}
	#svg_logo{
		height: 1.5em;
	}
}

@media only screen and (max-device-width: 900px){
	#siteName{
		padding: 0 5px;
	}
}