/* Prevent page scroll when dialog is open */
body.dialog-visible {
	overflow: hidden;
}

/* ------------------------ Dialog Container ------------------------ */
#dialog-container {
	display: block;
	position: fixed;
	z-index: -999;
}

#dialog-container.visible {
	z-index: 999;
}

#dialog-container.fullscreen {
	width: 100%;
	height: 100%;
}

/* ------------------------ Dialogs ------------------------ */
.ui-dialog
{
	position: fixed;
	box-sizing: border-box;
	left: 0px !important;
	right: 0px !important;
	margin: 0 auto;
	padding: 0px;
	border: none;
	border-radius: 6px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
}

.ui-dialog.resized
{
	top: 0px !important;
}

.ui-dialog .ui-dialog-buttonpane
{
	margin-top: 0px;
	padding: 0.5em 1em;
}

.ui-dialog .ui-dialog-buttonpane .ui-button
{
	color: var(--button-color);
	border: none;
	background: var(--button-bg-color);
	border-radius: 0px;
	font-size: 16px;
}

.ui-dialog .ui-button .ui-button-text
{
	padding: 10px 20px;
}

.ui-dialog .ui-dialog-content
{
	padding: 20px;
}

.ui-dialog .ui-dialog-titlebar
{
	padding: 1em;
	background: none;
	border: none;
}

/* Make close button larger */
.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-close .ui-icon
{
	background: none !important;
	border: none !important;
}

.ui-dialog .ui-dialog-titlebar-close
{
	right: 0.6em;
	width: 30px !important;
	height: 30px !important;
	margin-top: -15px !important;
	outline: none;
}

.ui-dialog .ui-dialog-titlebar-close .ui-button-text
{
	font-size: 0px;
	padding: 0px;
}

.ui-dialog .ui-dialog-titlebar-close:before
{
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900; /* Solid icons use 900 */
	content: '\f00d'; /* Use FontAwesome "X" icon */
	font-size: 20px;
	display: inline-block;
	height: 100%;
	width: 100%;
	position: relative;
	top: 2px;
	left: 0;
	line-height: normal;
	text-align: center;
	box-sizing: border-box;
}

/* ------------------------ Dialog Sizing ------------------------ */

/* Prompt Dialog */
.ui-dialog[aria-describedby="dialog-prompt"]
{
	width: 100% !important;
	max-width: 400px;
}
.ui-dialog[aria-describedby="dialog-prompt"] input 
{
	width: 100%;
	font-size: 16px;
	height: 40px; 
}

/* View Opening Times Dialog */
.ui-dialog[aria-describedby="dialog-opening-times"]
{
	width: 100% !important;
	max-width: 480px;
}

/* Change Reservation Dialog */
.ui-dialog[aria-describedby="dialog-change"]
{
	width: 100% !important;
	max-width: 480px;
}

/* Info Dialog */
.ui-dialog[aria-describedby="dialog-info"]
{
	width: 100% !important;
	max-width: 400px;
}

/* Suspend Dialog */
.ui-dialog[aria-describedby="dialog-suspend"]
{
	width: 100% !important;
	max-width: 400px;
}
.ui-dialog[aria-describedby="dialog-suspend"] input 
{
	width: 100%;
	font-size: 16px;
	height: 40px; 
}
.ui-dialog[aria-describedby="dialog-suspend"] p.warning
{
	text-align: center;
	margin-bottom: 0px;
}
.ui-dialog[aria-describedby="dialog-suspend"] #suspend-date
{
	display: inline-block;
}
.ui-dialog[aria-describedby="dialog-suspend"] .button
{
	margin: 15px auto 5px auto;
	text-align: center;
	float: none;
	padding: 10px;
}

/* Book Table Dialog */
.ui-dialog[aria-describedby="dialog-booktable"]
{
	width: 100% !important;
	max-width: 900px;
}

/* Transaction Details Dialog */
.ui-dialog[aria-describedby="dialog-transaction-details"]
{
	width: 100% !important;
	max-width: 400px;
}

.ui-dialog[aria-describedby="dialog-transaction-details"] .receipt
{
	width: 100%;
	font-size: 15px;
	padding: 0px 0px 10px 0px;
}

.ui-dialog[aria-describedby="dialog-transaction-details"] .receipt code
{
	width: 100%;
	max-width: none;
}

/* General dialog content */
.ui-dialog-content p
{
	margin: 10px 0px;
}

/* ------------------------ Responsive Sizing ------------------------ */
@media only screen and (max-width: 480px)
{
	.ui-dialog
	{
		top: 0px !important;
		border-radius: 0px;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* Dialog without buttons */
	.ui-dialog .ui-dialog-content
	{
		max-height: calc(100% - 60px) !important; /* Minus ui-dialog-titlebar height */
		height: 100% !important;
	}

	/* Dialog with buttons */
	.ui-dialog .ui-dialog-content.buttons-visible
	{
		max-height: calc(100% - 130px) !important; /* Minus ui-dialog-titlebar height plus ui-dialog-buttonpane height */
		height: 100% !important;
	}
}