.GroupBrowserContainer button {
	display: none;
}

@media only screen and (min-width: 992px) {
	.GroupBrowserList {
		display: block !important;
		opacity: 1 !important;
	}
}

@media only screen and (max-width: 991px) {
	html, body {
		overflow-x: hidden;
	}

	body.modal-active {
		overflow-y: hidden;
	}

	.hide-on-mobile {
		display: none;
	}

	div#MainBodyContainer,
	div#MainBodyContainer div#LeftColumnContainer,
	div#MainBodyContainer div#CentralColumnContainer,
	div#MainBodyContainer div#RightColumnContainer,
	div.MiniFieldContainer div.MiniFieldControl input,
	#mapContainer #mapCanvas,
	div.GroupItemsContainer table.ItemTable {
		width: 100% !important;
	}

	div.StandardFieldContainer div.StandardControlContainer,
	div.StandardFieldContainer div.StandardControlContainer input:not([type=radio]),
	div.StandardFieldContainer div.StandardControlContainer textarea {
		width: 100% !important;
	}

	div#HeaderContainer div#HeaderContents {
		width: 100% !important;
	}

	div#NavigationContainer div#NavigationContents ul li {
		font-size: 0.9em;
	}

	div#NavigationContainer div#NavigationContents ul li a {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	div#HeaderContents,
	div.SomebodysHeader {
		width: 100% !important;
		height: 116px !important;
		background-size: contain !important;
		background-position: center center !important;
	}

	.AccountSignInAndSummaryContainer .AccountSignInAndSummaryContents {
		padding-right: 5px;
	}

	div.MiniFieldContainer div.MiniFieldControl input,
	div.StandardFieldContainer div.StandardControlContainer input[type='text'] {
		box-sizing: border-box;
	}

	div.StandardFormContainer {
		margin: 10px !important;
	}

	div.GreenBoxContentContainer, div.StandardFormContainer {
		margin-bottom: 0 !important;
	}

	div#LeftColumnContents, div#RightColumnContents, div#CentralColumnContents {
		padding: 8px !important;
	}

	div.StandardFormContainer {
		width: auto;
	}

	div#mapCanvas {
		width: 100% !important;
	}

	div.GroupItemsContainer td.ItemPriceCell {
		width: auto !important;
		text-align: right !important;
		padding-right: 12px !important;
	}

	#LeftColumnContainer {
		position: relative;
		z-index: 1;
		box-sizing: border-box;
	}

	#LeftColumnContainer * {
		box-sizing: border-box;
	}

	#LeftColumnContents {
		padding-left: 8px;
		padding-right: 8px;
		padding-top: 8px !important;
		min-height: 50px;
		left: 0px !important;
		right: 0px !important;
		width: auto !important;
	}

	.GroupBrowserContainer {
		position: absolute;
		left: 0px;
		width: 100%;
	}

	.GroupBrowserContainer .GroupBrowserList {
		/* Used for floating menu on mobile */	
		border-bottom-left-radius: 7px 7px;
		border-bottom-right-radius: 7px 7px;
		border-color: black;
		border-style: solid;
		border-width: 1px;
		box-shadow: 5px 5px 15px #666666;

		/* Prevent floating menu from being clipped on short pages*/
		overflow-y: auto !important;
		max-height: 400px;
		max-height: 50vh;
		max-height: 60svh;
		max-height: calc(100svh - 250px);
	}

	.GroupBrowserContainer button {
		background: linear-gradient(to bottom, #bc1414 0, #9e1111 67%);
		color: #ffffff;
		font-family: Calibri;
		font-size: 16pt;
		font-weight: Bold;
		text-decoration: None;
		width: 100%;
		padding: 4px;
		height: 40px;
	}

	.GroupBrowserContainer table {
		border-spacing: 0px;
	}

	.GroupBrowserContainer td{
		padding: 0px;
	}

	div.Dashboard {
		width: auto !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	div.DashboardItem {
		width: 85px !important;
	}

	div.CustomizeOverlay div.DialogContainer {
		left: 2px !important;
	}

	div.CustomizeOverlay div.DialogContainer div.DialogTitle,
	div.CustomizeOverlay div.DialogContents,
	div.DialogTitle div.Name,
	div.CustomizeOverlay div.DialogContainer div.DialogBottom {
		width: auto !important;
	}

	div.DialogTitle div.TitleContainer {
		margin-top: auto !important;
	}

	div.DialogTitle div.Price {
		width: auto !important;
		margin-left: 10px !important;
		top: -10px !important;
		float: none !important;
	}

	table.ProductChecklistOptionsTable tr {
		display: flex;
		flex-direction: column;
	}

	.OrderProgressBar {
		width: auto !important;
		text-align: center;
		display: flex;
		justify-content: center;
	}
	
	div#BasketNotification {
		z-index: 9999 !important;
		top: auto !important;
		width: 90% !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 20px !important;
		height: 50px !important;
		margin: 0 auto !important;
		text-align: center !important;
		padding-top: 10px !important;
	}

	/* Collapsable menu groups */

	.GroupBrowserContainer button {
		display: block;
	}

	.GroupBrowserList {
		display: none;
		height: auto;
		opacity: 0;
		transition: opacity 400ms;
	}

	.GroupBrowserList.active {
		display: block;
		height: auto;
		opacity: 1;
	}
	
	/* Popup dialog */

	.DialogContainer {
		width: 95% !important;
		margin-left: 2.5% !important;
	}

	div.DialogControl input[type='text'] {
		width: auto !important;
	}

	.DialogContents .ImagePreviewContainer {
		height: auto !important;
	}

	/* Stop column scrolling lock */

	#RightColumnContents {
		position: static !important;
		left: unset !important;
		top: unset !important;
		width: auto !important;
	}

	#RightColumnContainer {
		height: auto !important;
	}

	/* Slideshow */

	.Slider {
		width: 100% !important;
	}

	.SliderContainer {
		width: 100% !important;
	}

	.ImageContainer {
		width: 100% !important;
	}

	.ImageContainer img {
		width: 100% !important;
		position: absolute;
	}

	div.ImageContainer {
		padding-bottom: 74%;
	}

	div.SliderContainer div.ImageContainer {
		height: auto !important;
	}

	.Slider table, .Slider table tbody, .Slider table tbody tr, .Slider table tbody tr td {
		width: 100% !important;
		display: block !important;
	}

	.AllergyWarning {
		width: 100% !important;
	}

	.StandardLabelContainer {
		width: auto !important;
		margin-bottom: 15px !important;
	}

	.SendOrderButtonContainer button {
		width: auto !important;
	}

	.SendOrderButtonContainer button > img {
		width: 100% !important;
	}

	table.OrderReviewTable {
		width: auto !important;
		margin: auto !important;
		float: none !important;
	}

	.FusionWokHeader, .HeaderForeground {
		height: 116px !important;
	}
	
	.FusionWokHeader {
		background-size: auto 100% !important;
		width: auto !important;
	}

	div#HeaderContainer {
		height: 116px !important;
		background-size: auto 100% !important;
	}

	table.BasketItemTable {
		width: 100% !important;
	}

	td.ItemButtons{
		width: 100px;
	}

	td.ItemButtons div {
		clear: none !important;
	}

	td.ItemButtons a {
		float: left !important;
		margin-right: 6px !important;
	}

	td.ItemButtons a img {
		width: 26px !important;
	}

	table.BasketItemTable td.QuantityAndName {
		width: auto;
	}

	div.BookingTimeControls, div.BookingTimeIndicator {
		text-align: center;
	}

	div.StandardFieldContainer div.StandardValidationContainer {
		float: left;
	}

	a.PaymentLink,
	a.PaymentLink:hover,
	a.PaymentLink:link,
	a.PaymentLink:visited {
		background-position-x: center;
	}
}

@media only screen and (max-width: 800px) {
	ul.OrderProgressBarStagesList li img {
		height: 85px !important;
		object-fit: cover !important;
	}
}


@media only screen and (max-width: 600px) {
	div#NavigationContainer div#NavigationContents ul li {
		font-size: 0.7em;
	}

	ul.OrderProgressBarStagesList li img {
		height: 60px !important;
		object-fit: cover !important;
	}
}

@media only screen and (max-width: 359px) {
	ul.OrderProgressBarStagesList {
		display: none;
	}
}

div.StandardFieldContainer div.StandardLabelContainer {
	text-align: left !important;
}

@keyframes shadowPulse {
	0% {
		box-shadow: 0px 0px 0px 0px #000000ff;
		background-color: black;
	}

	100% {
		box-shadow: 0px 0px 0px 40px #00000000;
		background-color: unset;
	}
}

.shadow-pulse {
	border-radius: 20px 20px;
	animation-name: shadowPulse;
	animation-duration: 1s;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
}