html{
	height: 100%;
}
.page{
	background-image: url("/img/heroSelect.jpg");
	background-size: cover;
	min-height: 100%;
	margin: 0;
	background-repeat: no-repeat;
	background-position: left 50%;
	background-attachment: fixed;
}
@media (width < 700px) {
	.page{
		background-position: 0 80%;
	}
}

.page{
	display: grid;
	box-sizing: border-box;

	@media screen and (width <= 600px) {
		grid-template-areas: 
		"menu"
		"title" 
		"selector"
		"footer";
		grid-template-columns: 1fr;
		grid-template-rows: min-content auto minmax(auto,calc(var(--content-height) - 111px)) auto;
	}

	@media screen and (width > 600px) {
		grid-template-areas: 
		"menu menu menu"
		"title title selector" 
		". . selector"
		"footer footer footer";
		grid-template-columns: 3fr 2fr;
		grid-template-rows: min-content min-content auto min-content;
	}

	gap: var(--spacing);
	
	@media screen and  (600px <= width) {
		grid-template-areas: 
		"menu  menu"
		"title selector" 
		". selector"
		"footer footer";
		grid-template-columns: 3fr 2fr;
		/* grid-template-rows: min-content auto min-content; */
		grid-template-rows: min-content  minmax(auto, var(--content-height))  1fr;
		
	}

	& .title{
		grid-area: title;
	}
	& .news{
		grid-area: news;
		display: none;
	}
	& .character-selector{
		grid-area: selector;
		margin: var(--spacing);

	}

	& .controls{
		grid-area: controls;
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: var(--spacing);
		align-content: flex-end;
		padding: var(--spacing);
		& >*{
			flex: 1 1 fit-content;
            text-align: center;
		}
	}
	& .footer{
		grid-area: footer;
	}
}

.title{
	display: flex;
	justify-content: center;
}
.cards{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--spacing);
}

.button--root{
	flex: 1 1 100%;
	padding: var(--spacing);
	gap: var(--spacing);

	text-align: center;
	justify-items: center;
	align-content: center;

	background-color: var(--color-background-offset);
	cursor: pointer;
	border: none;
	font-size: inherit;
	&:focus,
	&:hover{
		background-color: var(--color-foreground);
	}
	&.button--danger{
		color: var(--color-danger);
		/* font-weight: var(--title-weight); */
	}
	&.button--square{
		aspect-ratio: 1;
	}
	/* color: inherit; */
	text-decoration: none;

	&:visited{
		color: inherit;
		text-decoration: none;
	}

	@media (width < 500px) {
		.button__text{
			display: none;
		}
	}
}

.card{
	background-color: var(--color-background);
	border-radius: var(--spacing-double);
	box-shadow: var(--color-primary) 0.1em 0.1em var(--spacing);;
	overflow: hidden;

	display: flex;
    flex-direction: column;
    height: 100%;

	&.card--full-height{
		flex: 1 1 100%;
	}

	& .card__title{
        padding: var(--spacing-double);
		perspective: 1px;
		margin: 0;
		background-color: var(--color-background-offset);
		&.card__title--between{
			display: flex;
        	justify-content: space-between;
		}
	}
	& .card__container{
		padding: var(--spacing);
		max-height: 10em;
		overflow-y: auto;
		margin: var(--spacing);
		background-color: var(--color-background-offset);
		display: flex;
		flex-direction: column;
	}
	& .card__content{
		padding-block: var(--spacing);
		padding-inline: var(--spacing);
		margin: 0;
		&.card__content--centered{
			text-align: center;
		}
	}
	& .card__list{
		background-color: var(--color-background-offset);
		min-height: 100px;
		/* border-radius: var(--spacing); */
		flex: 1 0 100px;
		padding: var(--spacing);
		margin: var(--spacing);
		gap: var(--spacing);
		display: flex;
		flex-direction: column;
		overflow-y: auto;
		& .card__item{
			& a{
				/* text-decoration: none; */
				color: var(--color-primary)
			}
			display: flex;
			justify-content: flex-start;
			font-size: 1.0em;
			gap:var(--spacing);
		}
		& .card__hidden{
			display: none;
		}
		&.card__list--delete-hidden{
			& .card__remove{
				display: none;
			}
		}
	}
	& .card__actions{
		display: flex;
		justify-content: space-between;
		gap: var(--spacing);
		padding: 0 var(--spacing) var(--spacing);
	}
	.button:first-child{
		border-radius: 0 0 0 var(--spacing) ;
	}

	.button:last-child{
		border-radius: 0 0 var(--spacing) 0;
	}
}

.dialog--monster .card--item{
    display: grid;
    grid-template-areas: "header header" "image data";
    gap: 1rem;
    .card__header{
        grid-area: header;
    }
    .card__photo-container{
        grid-area: image;
        .card__photo{
            height: 100%;
            object-fit: cover;
        }
    }
    .card__description{
        grid-area: data;
    }
}

.dialog--message{
	width: 300px;

	.dialog__content{
		padding: 1rem;
	}

	.dialog__content-text{
		display: flex;
		flex-direction: row;
		gap: var(--spacing);
		text-align: center;
		align-items: center;
		justify-content: center;
	}
}