/***DIALOG BOXES***/
.modal-dialog {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--body-font-size);
	background: rgba(0, 0, 0, .2);
	border: 2px solid gray;
	
	& .overlay {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}

	& .overlay-blur {
		filter: blur(10%);
	}
    
	& .manager {
		position: absolute;
		left: -77px;
		bottom: 0px;
		width: calc( 400px * 0.75 );
		height: calc( 450px * 0.75 );
		background-image: url( '../images/manager.png' );
		background-size: 100%;
		pointer-events: none;
	}
}

.dialog-box {
	position: absolute;
	display: flex;
	left: 10%;
	right: 10%;
	bottom: 220px;
	height: auto;
	padding: 2vh;
	background: var(--yellow);
	border-radius: 20px;
	box-shadow:
		0 10px 0 var(--yellow-dark),
		0 30px 10px rgba(0, 0, 0, .4);

	&:before {
		position: absolute;
		content: '';
		display: block;
		left: 3px;
		top: 3px;
		right: 50%;
		bottom: 50%;
		box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.7);
		border-radius: 18px 0px 0px 0px;
		pointer-events: none;
	}
    
	& .button-container {
		margin: 20px 0px 0px 0px;
		width: 100%;
		gap: 20px;
	}

}

.dialog-box-content {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 100%;
	padding: 30px;
	justify-content: center;
	align-items: center;
	background: white;
	border-radius: 12px;
	border: 2px solid var(--yellow-dark);
}

.dialog-box-icon {
	position: absolute;
	width: 120px;
	height: 120px;
	left: calc( 50% - 60px );
	top: -75px;
}

.dialog-box-content h1 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--orange-dark);
	font-size: var(--large-font-size);
}

.dialog-box-body {
	font-size: var(--body-font-size);
	width: 100%;
	& > * {
		/*	Separate things in the dialog body.	*/
		margin-bottom: 30px;
		margin-top: 30px;
		&:first-child { margin-top: 0px; }
	}
}

/***ANIMATIONS***/

.fade-in {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: fade-in;
	transform-origin: 50% 100%;
}

@keyframes fade-in {
	0% {
		transform: translateY(50px);
		opacity: 0;
	}
	
	50% {
		opacity: 1;
	}
	
	100% {
		transform: translateY(0px);
		opacity: 1;
	}
}

.rotate-in {
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-name: rotate-in;
	transform-origin: 50% 100%;
}

@keyframes rotate-in {
	0% {
		transform: perspective(1000px) rotateX(-90deg) translateY(50px);
		opacity: 0;
	}
	
	50% {
		opacity: 1;
	}
	
	100% {
		transform: perspective(1000px) rotateX(0deg) translateY(0px);
		opacity: 1;
	}
}

.issue-alert .dialog-box-heading {
	padding-top:5px;
	h1 {
		font-size: 30px;
	}
	&:before {
		content: '';
		position: absolute;
		top: -75px;
		display: flex;
		height: 90px;
		width: 90px;
		background: url(../images/topic-icons/personal-hygiene-icon.png);
		background-size: 100%;
	}
}


.close {
	background-color: var(--blue);
	background-image: url(../images/ui/close-dark.svg);
	background-size: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-blend-mode: soft-light;
	box-shadow: inset -2px -2px 0 var(--blue-dark);
	height: 40px;
	width: 40px;
	position: absolute;
	right: -4px;
	top: -4px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 20px;
	transition: all .3s ease-in-out;
	cursor:pointer;
	z-index: 1;

	&:before {
		position: absolute;
		top: 5px;
		left: 5px;
		height: 30%;
		width: 30%;
		content: '';
		display: block;
		border-radius: 100% 0 0 0;
		box-shadow: inset 2px 2px rgba(255, 255, 255, .7);
	}
    
	&:hover {
		filter:brightness(110%);
		transform:scale(105%);
	}
	
	&:active {
		filter:brightness(95%);
		transform:scale(95%);
	}

}

.yay {
	border: 2px solid green;
	border-radius: 10px;
	padding: 10px;
	color: #030;
	background-color: #dfd;
}

/*	Achievement Notification	*/

.achievement-notification {
	background-color: #69C;
	&#ONE-STAND-SHIELDED {
		background-image:
		url("../images/ui/ACHIEVEMENT-ONE-STAND-SHIELDED.png");
	}
	&#TWO-STANDS-SHIELDED {
		background-image:
		url("../images/ui/ACHIEVEMENT-TWO-STANDS-SHIELDED.png");
	}
	&#FOUR-STANDS-SHIELDED {
		background-image:
		url("../images/ui/ACHIEVEMENT-FOUR-STANDS-SHIELDED.png");
	}
	&#EIGHT-STANDS-SHIELDED {
		background-image:
		url("../images/ui/ACHIEVEMENT-EIGHT-STANDS-SHIELDED.png");
	}
	&#ALL-LOCATIONS-FILLED {
		background-image:
		url("../images/ui/ACHIEVEMENT-ALL-LOCATIONS-FILLED.png");
	}
	&#ALL-FOODS-SHIELDED {
		background-image:
		url("../images/ui/ACHIEVEMENT-ALL-FOODS-SHIELDED.png");
	}
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
	padding-bottom: 420px;
	padding-top: 60px;
	padding-left: 40px;
	padding-right: 40px;
	display: grid;
	align-items: center;
	border: 2px solid black;
	justify-items: center;
	& .achievement-content {
		border: 2px solid black;
		background-color: white;
		padding: 40px;
		border-radius: 40px;
		
		button {
			width: 100%;
			margin-top: 2em;
		}
	}
	& .achievement-why {
		border-top: 2px dashed #369;
		color: #369;
		text-align: center;
		margin-top: 20px;
		padding-top: 20px;
	}
}