/* ################################ FONTS ################################ */

@font-face {
  font-family: "Bahnschrift";
  src: url("Bahnschrift.ttf");
}

/* ################################ BASIC ELEMENTS ################################ */

* {
	font-family: "Bahnschrift", sans-serif;
	font-size: 16px;
	font-weight: 400;
	
	/* WebKit */
	-webkit-font-smoothing: antialiased;
}

body {
	padding: 0px;
	margin: 0px;
	background-color: #fff;
	
	/* WebKit */
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

textarea {
	border-radius: 6px;
	
	/* WebKit */
	-webkit-appearance: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    box-sizing: border-box; 
}

input {
	border-radius: 6px;
	
	/* WebKit */
	-webkit-appearance: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    box-sizing: border-box; 	
}

input[type="checkbox"] {
	/* WebKit */
	-webkit-appearance: checkbox;
    -webkit-box-shadow: inherit;
    -moz-box-shadow: inherit;
    box-shadow: inherit;
    box-sizing: inherit;
    margin-right: 10px;
}

input[type="radio"] {
	/* WebKit */
	-webkit-appearance: radio;
    -webkit-box-shadow: inherit;
    -moz-box-shadow: inherit;
    box-shadow: inherit;
    box-sizing: inherit;
    margin-right: 10px;
}

select {
  /* General styling */
  border-radius: 6px;
  border: 1px solid #ccc;
  height: 30px;

  /* WebKit */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

option {
  /* WebKit */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;	
}

a {
	color: #8EBB36;	
}

/* ################################ HOME ################################ */

.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: auto;
}

.menu_link {
	color: white;
	text-decoration: none;
	cursor: hand;
}

/* ################################ GENERAL ################################ */

/* Titles & subtitles */

.large-title {
	color: #8EBB36;
	font-size: 24px;
	font-weight: 800;
}

.normal-title {
	color: black;
	font-size: 19px;
	padding: 10px	
}

.normal-subtitle {
	color: black;
	font-size: 13px;
	font-weight: 800;
	margin-top: 5px;
}

.normal-subtitle2 {
	color: grey;
	font-size: 13px;
	font-weight: 400;
	margin-top: 5px;
}

/* Content */

.content-heading {
	text-align: left;
	font-weight: 600;
}

.content-heading-accent {
	color: #8EBB36;
	text-align: left;
	font-weight: 600;
}

.content-normal {
	font-weight: 400;
	text-align: left;
}

.content-accent {
	color: #8EBB36;
	font-weight: 400;
	text-align: left;
}

.content-info {
	color: orange;
	font-weight: 400;
	text-align: left;
}

.content-warning {
	color: red;
	font-weight: 400;
	text-align: left;
}

.content-spacer {
	margin-bottom: 20px;
}

/* Separator */

.accent-separator {
	border-width: 3px 0 0 0;
	border-top: solid #8EBB36;
	height: 0;
	width: 50px;
}

/* Table */

.table-header-cell {
	padding: 20px;
	text-align: center;
}

.table-cell {
	padding: 5px 20px 5px 20px;
	text-align: left;
}

.table-input {
	border: 1px solid #ccc;
	border-radius: 6px;
	width: 100%;
	height: 35px;
	padding: 0 0 0 10px;
}

/* Buttons */

.normal-button {
	padding: 10px;
	color: white;
	background-color: black;
	text-transform: uppercase;
	text-align: center;
	border-radius: 6px;
}

.accent-button {
	padding: 10px;
	color: white;
	background-color: #8EBB36;
	text-transform: uppercase;
	text-align: center;
	border-radius: 6px;
}

.accent-button-red {
	padding: 10px;
	color: white;
	background-color: #c92626;
	text-transform: uppercase;
	text-align: center;
	border-radius: 6px;
}

/* Images */

.image-rounded {
	border-radius: 6px;
}

/* Visibility */

.visible {
}

.hidden {
	display: none;
}

/* Fonts */

.generic-font {
	font-family: sans-serif;
}

/* Bullet */

.bullet {
	font-weight: 800;
}

/* ################################ MAIN TABLE ################################ */

.main-table {
	width: 100%;
	max-width: 600px;
	background-color: #fff;
}

/* ################################ CATEGORY LIST ################################ */

.category-cell {
	width: 100%;
	height: 225px;
	padding: 10px 10px 0 10px;
}

.category-cell-background {
	width: 100%;
	height: 100%;
	border-radius: 6px;
	background-size: cover;
	background-position: center center;
	text-align: center;
	display: table;
}

.category-cell-title {
	font-size: 30px;
	font-weight: bold;
	color: #FFFFFF;
	line-height: 30px;
	vertical-align: middle;
	display: table-cell;
	text-shadow: 0px 0px 4px black;
}

/* ################################ PRODUCT LIST ################################ */

.product-category-header {
	padding: 20px 0 0 0;
	text-align: center;
}

/* ################################ PRODUCT ################################ */

.product-main {
	width: 100%;
	height: 220px;
	text-align: center;
	background-size: cover;
	background-position: center center;
}

.product-selector-cell-normal {
	border: 1px solid #fff;
	border-radius: 6px;
}

.product-selector-cell-selected {
	border: 1px solid #8EBB36;
	border-radius: 6px;
}

.product-selector {
	color: #8EBB36;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
	padding: 5px 0 5px 0;
}

.variant-selector {
  color: #8EBB36;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-align-last: center;
  background-color: #ffffff;
  text-transform: uppercase;
  width: 100%;
  padding: 5px 25px 5px 5px; /* Added right padding for the arrow */
  margin-bottom: 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%238EBB36' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 16px;
  border: 1px solid #8EBB36;
  border-radius: 4px;
}

/* Remove the default arrow in IE10+ */
.variant-selector::-ms-expand {
  display: none;
}

/* Nutrition labels */

.nutrition-cell-border {
	width: 50%;
	border-bottom: 1px solid #ccc;
}

.nutrition-cell-noborder {
	width: 50%;
}

.nutrition-cell-left {
	text-align: left;
	padding: 10px 0 10px 0;
}

.nutrition-cell-right {
	text-align: right;
	padding: 10px 0 10px 0;	
}

.nutrition-cell-small-left {
	text-align: left;
	padding: 5px 0 5px 0;
	font-size: 14px;
}

.nutrition-cell-small-right {
	text-align: right;
	padding: 5px 0 5px 0;
	font-size: 14px;
}

/* ################################ CART ################################ */

.cart-table {
	width: 100%;
	border: 1px solid #eee;
	border-radius: 6px;
}

.cart-product-image {
	width: 80px;
	height: 80px;
	text-align: center;
	
	background-size: cover;
	background-position: center center;
}


.cart-table-side-cell {
	border-bottom: 1px solid #eee;
	padding: 10px 0 10px 10px;
	vertical-align: top;
}

.cart-table-cell {
	border-bottom: 1px solid #eee;
	padding: 10px;
}

.center-div {
	position: absolute;
    top: 50%;
    left: 50%;

    margin-left: -100px;
    margin-top: -100px;
    
    width: 200px;
    height: 200px;
    
    text-align: center;
    vertical-align: middle;
}

/* ################################ ACCOUNT ################################ */

.order-table {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 6px;
	margin-bottom: 10px;
}

.order-header-cell {
	border-bottom: 1px solid #ccc;
}