.popup {
	display: none;
	
	position: fixed;
	z-index: 100;
		
	width: 100%;
	max-width: 600px;
	max-height: 100%;
	
	padding: 20px;
	
	box-sizing: border-box;
}

.popup.visible {
	display: flex;
}

.popup .container {
	display: flex;
	flex-direction: column;
	
	width: 100%;
	max-height: 100%;
	box-sizing: border-box;
	
	border-radius: 5px;
	overflow: hidden;
	background-color: white;
	border: 1px solid black;
}

.popup .container .header {
	display: flex;
	align-items: center;
	
	padding: 10px;
	
	background-color: black;
	color: white;
	font-size: 20px;
	font-weight: 500;
}

.popup .container .header .title {
	flex: 1;
}

.popup.hasCloseButton .container .header .title {
	margin-right: 20px;
}

.popup .container .header .closeButton {
	display: none;
	
	height: 20px;
	width: 20px;
	
	margin-left: auto;
	
	text-decoration: none;
	color: rgba(255, 255, 255, 0.5);
}

.popup.hasCloseButton .container .header .closeButton {
	display: block;
}

.popup .container .header .closeButton:hover {
	color: white;
}

.popup .container .header .closeButton svg {
	display: block;
	height: 100%;
}


.popup .container .content {
	min-height: 0;
	padding: 10px;
	
	overflow-y: auto;
	flex: 1;
}