body {
	@apply lg:flex;
	@apply lg:flex-col;
	@apply lg:min-h-screen;

	> header, > main, > section, > footer {
		.container:not(.hero-content) {
			@apply h-full;
			@apply py-4;
			@apply lg:bg-base-200/25;
		}
	}

	> main, > section {
		@apply lg:flex;
		@apply lg:flex-col;
		@apply lg:flex-1;

		.container {
			@apply lg:flex-1;
		}
	}

	> footer {
		@apply text-center;
	}
}

form {
	.alert {
		@apply hidden;
	}

	fieldset {
		&:not(:has(+ hr)) {
			@apply mb-4;
		}
	}

	input:not([type=submit]), select, textarea {
		@apply w-full;
	}
}

input:not(.btn), select, textarea, button:not(.btn) {
	@apply my-2;

	+ .alert {
		@apply mt-0;
	}
}

p {
	&:not(:last-child), &:not(:last-child) {
		@apply mb-4;
	}
}

.hero {
	@apply relative;
	@apply z-2;

	.hero-background, .hero-overlay {
		@apply py-20;
		@apply lg:py-30;
		@apply xl:py-40;
	}

	.hero-background {
		@apply absolute;
		@apply top-0;
		@apply left-0;
		@apply w-full;
		@apply h-full;
		@apply z-3;

		img, picture, figure, video {
			@apply absolute;
			@apply top-1/2;
			@apply left-1/2;
			@apply -translate-x-1/2;
			@apply -translate-y-1/2;
			@apply w-full;
			@apply h-full;
			@apply object-cover;
			@apply z-4;
		}
	}

	.hero-overlay {
		@apply z-5;
	}

	.hero-content {
		@apply text-center;
		@apply text-neutral-content;
		@apply z-6;
	}
}

.alert {
	@apply my-2;
	@apply rounded-sm;
}

.input {
	input {
		@apply border-none;
		@apply bg-transparent;

		&:focus {
			@apply outline-none;
		}
	}
}

.captcha {
	@apply my-2;
}

.grid {
	&.standard {
		@apply grid-cols-1;
		@apply lg:grid-cols-12;
		@apply gap-8;

		> section, > article {
			@apply lg:col-span-8;
			@apply xl:col-span-9;
		}

		> aside {
			@apply lg:col-span-4;
			@apply xl:col-span-3;
		}
	}
}

.grid {
	> aside {
		hr {
			@apply my-4;
			@apply border-base-300;
		}

		form {
			input[type=search], select {
				@apply w-full;
			}

			.actions {
				@apply mt-4;
				@apply flex;
				@apply justify-between;
			}
		}
	}
}

.featured-media {
	@apply lg:max-h-64;
	@apply lg:overflow-hidden;

	> * {
		@apply w-full;
		@apply h-auto;
	}
}

.posts {
	.post {
		@apply mb-4;
		@apply p-4;
		@apply bg-base-300;
	}
}

.post {
	h1, h2, h3, h4, h5, h6 {
		@apply my-4;
	}

	h1, h2 {
		&:has(+ .published) {
			@apply mt-0;
			@apply mb-2;

			+ .published {
				@apply mb-4;

				&:has(+ .categories) {
					@apply mb-2;

					+ .categories {
						@apply mb-4;
					}
				}
			}
		}
	}

	.actions {
		@apply mt-4;
		@apply flex;
		@apply justify-end;
	}
}

.categories {
	.category {
		@apply badge;
		@apply badge-accent;
		@apply badge-sm;
	}
}

.testimonials {
	@apply mb-8;
	@apply grid;
	@apply grid-cols-1;
	@apply lg:grid-cols-2;
	@apply xl:grid-cols-3;
	@apply gap-4;

	blockquote {
		@apply relative;
		@apply italic;
		@apply px-8;
		@apply py-4;
		@apply bg-base-200;
		@apply rounded-md;

		&:before, &:after {
			@apply absolute;
			@apply text-xl;
		}

		&:before {
			@apply top-2;
			@apply left-4;
			content: open-quote;
		}

		&:after {
			@apply bottom-0;
			@apply right-4;
			content: close-quote;
		}

		cite {
			@apply block;
			@apply mt-4;
			@apply text-right;
			@apply font-bold;
			@apply text-primary;

			&:before {
				content: '\2014'
			}
		}
	}
}

.team-member-form {
	@apply grid;
	@apply grid-cols-1;
	@apply lg:grid-cols-2;
	@apply gap-4;
}

.performers {
	@apply grid;
	@apply grid-cols-1;
	@apply lg:grid-cols-2;
	@apply xl:grid-cols-4;
	@apply gap-4;

	.card {
		@apply bg-base-200;

		.card-body {
			@apply text-center;
		}

		h2 {
			@apply mb-2;
			@apply text-2xl;
		}

		p {
			@apply mb-1;
		}

		figure, figure > *, figure a > * {
			@apply w-full;
			@apply aspect-square;
			@apply object-cover;
		}
	}

	&:has(+ h2) {
		@apply mb-8;
	}
}

.performer {
	h1 {
		@apply text-2xl;
		@apply lg:text-3xl;
		@apply xl:text-4xl;
	}
}

.positions {
	@apply grid;
	@apply grid-cols-2;
	@apply gap-4;
	@apply md:grid-cols-3;
	@apply lg:grid-cols-4;
	@apply xl:grid-cols-5;

	.card {
		@apply bg-base-200;
	}
}

.gallery {
	&.grid {
		@apply gap-4;
		@apply grid-cols-2;
		@apply md:grid-cols-3;
		@apply lg:grid-cols-4;
		@apply xl:grid-cols-5;
	}

	&.masonry {
		@apply relative;

		.masonry-sizer, .masonry-item {
			@apply w-full;
			@apply lg:w-1/3;
			@apply xl:w-1/4;
			@apply 2xl:w-1/5;
		}

		.masonry-item {
			@apply p-2;

			&.landscape {
				@apply w-full;
				@apply lg:w-2/3;
				@apply xl:w-1/2;
				@apply 2xl:w-2/5;
			}

			> * {
				@apply block;
				@apply w-full;
				@apply lg:w-auto;
			}
		}

		.masonry-sizer {
			@apply h-0;
		}
	}

	img, figure, picture, video {
		@apply rounded-sm;
		@apply shadow-sm;
		@apply overflow-hidden;
	}

	.gallery-item {
		@apply rounded-sm;
		@apply shadow-sm;

		img, figure, picture, video {
			@apply rounded-none;
			@apply shadow-none;
		}
	}
}

.ginlined-content {
	> * {
		@apply w-full;
		@apply h-full;
		@apply object-contain;
	}
}
