main > * {	max-width: 100%; }
article:has(#gallery) {	padding-left: 0;
	padding-right: 0;
	max-width: 100%; }
figure {	border-radius: 0;
	height: auto;
	margin: 0;
	height: auto;
	width: auto; }
nav {	text-align: center; }
nav a {	margin: 0; }
a svg {	margin: 0; }
#gallery {	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 10px; }
.gallery-item {	flex: auto;
	flex: 1 0 auto;
	height: fit-content; }
.galleries figcaption {	padding: 1rem 1rem 0 0.5rem; }
.galleries figcaption h2 {	margin-bottom: 0; }
hgroup {	margin-bottom: 50px; }

b,
strong {
	font-weight:bolder
}
button,
input {
	font-family:inherit;
	font-feature-settings:inherit;
	font-variation-settings:inherit;
	font-size:100%;
	font-weight:inherit;
	line-height:inherit;
	color:inherit;
	margin:0;
	padding:0
}
button,
select {
	text-transform:none
}
button {
	appearance:button;
	background-image:none;
	background-color:transparent;
	cursor:pointer
}
:disabled {
	cursor:default
}
:-moz-focusring {
	outline:1px dotted ButtonText
}
ul,
menu {
	margin:0;
	padding:0;
	list-style:none
}
main img,
main svg,
main video {
	display:block;
	vertical-align:middle
}
img,
video {
	max-width:100%;
	height:auto
}
.gallery body>menu {
	margin:3rem auto 4rem;
	padding-right:1.5rem;
	padding-left:1.5rem;
	width:100%;
	max-width:768px;
	font-weight:600;
	font-size:1.125rem;
	line-height:1.75rem;
	user-select:none;
	text-align:center
}
.gallery body>menu a {
	display:block;
	padding-top:.5rem;
	padding-bottom:.5rem
}
.gallery hgroup {
	text-align:center
}
.gallery section.galleries {
	display:grid;
	grid-template-columns:repeat(1,minmax(0,1fr));
	gap: 10px 30px;
	max-width:1280px
}
@media(min-width:640px) {
	.gallery section.galleries {
	  grid-template-columns:repeat(2,minmax(0,1fr));
	  row-gap: 10px
	}
}
@media(min-width:1024px) {
	.gallery section.galleries {
	  grid-template-columns:repeat(3,minmax(0,1fr))
	}
}
@media(min-width:640px) {
	.gallery section.gallery {
	  padding-right:1.5rem;
	  padding-left:1.5rem
	}
}
.gallery .prose {
	max-width:768px;
	font-size:1rem;
	line-height:1.75
}
.gallery .prose a {
	font-weight:500;
	text-decoration:underline
}
.gallery .prose p {
	margin-top:1.25em;
	margin-bottom:1.25em
}
.gallery .prose img {
	margin-top:2em;
	margin-bottom:2em
}
.gallery .prose h3 {
	margin-top:1.6em;
	margin-bottom:.6em;
	font-weight:600;
	font-size:1.25em;
	line-height:1.6
}
.gallery .prose ul {
	margin-top:1.25em;
	margin-bottom:1.25em;
	padding-left:1.625em;
	list-style-type:disc
}
.gallery .prose ul>li {
	margin-top:.5em;
	margin-bottom:.5em;
	padding-left:.375em
}
.gallery .prose ul li::marker {
	font-variant-numeric:tabular-nums;
	unicode-bidi:isolate;
	text-align:start!important;
	text-align-last:start!important;
	text-indent:0!important;
	text-transform:none
}
.gallery .prose h3+* {
	margin-top:0
}
.gallery .prose figure {
	margin-top:2em;
	margin-bottom:2em
}
.gallery .prose figure>* {
	margin-top:0;
	margin-bottom:0
}
.gallery .prose>:first-child {
	margin-top:0
}
.gallery .prose>:last-child {
	margin-bottom:0
}
.gallery .card {
	display:flex;
	flex-direction:column;
}
.gallery .card>figure {
	aspect-ratio:3/2;
	width:100%;
	border-radius:1rem
}
.gallery .card>img,
.gallery .card figure>img {
	transition-duration:150ms;
	transition-property:all;
	transition-timing-function:cubic-bezier(.4,0,.2,1);
	box-shadow:0 1px 2px rgba(0,0,0,5%);
	border-radius:1rem;
	aspect-ratio:3/2;
	width:100%;
	overflow:hidden;
	object-fit:cover
}
.gallery .card>img:hover,
.gallery .card figure>img:hover {
	box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)
}
.gallery .card>div {
	display:flex;
	flex:auto;
	flex-direction:column;
	gap:.75rem;
	padding:1rem
}
.gallery .card>div>h2 {
	font-weight:600;
	font-size:1.125rem;
	line-height:1.375
}
.gallery .card>div>p {
	font-size:.875rem;
	line-height:1.25rem
}
.gallery .gallery-item {
	cursor:zoom-in
}
.hidden {
	display:none
}
.group[aria-expanded=true] .group-aria-expanded\:block {
	display:block
}
.group[aria-expanded=true] .group-aria-expanded\:hidden {
	display:none
}
.gallery section.featured {
	margin:3rem auto 4rem;
	padding-right:1.5rem;
	padding-left:1.5rem;
	max-width:1280px;
}
.gallery .featured-card {
	display:flex;
	box-shadow:0 1px 2px rgba(0,0,0,5%);
	border-radius:1rem;
	background-position:50%;
	background-size:cover;
	aspect-ratio:1/1;
	width:100%;
	overflow:hidden;
	transition-duration:150ms;
	transition-property:all;
	transition-timing-function:cubic-bezier(.4,0,.2,1)
}
@media(min-width:640px) {
	.gallery .featured-card {
	  aspect-ratio:16/9
	}
}
.gallery .featured-card>div {
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	gap:1rem;
	background-image:linear-gradient(to top,RGB(0 0 0/.8) 10%,transparent 50%);
	padding:1.5rem;
	width:100%;
	height:100%
}
.gallery .featured-card>div>h2 {
	font-weight:700;
	font-size:1.5rem;
	line-height:1.25
}
@media(min-width:768px) {
	.gallery .featured-card>div>h2 {
	  font-size:1.875rem;
	  line-height:2.25rem
	}
}
.gallery .featured-card>div>p {
	font-size:.875rem;
	line-height:1.25rem
}
.gallery .featured-card:hover {
	box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)
}
.gallery nav.categories {
	padding-right:1.5rem;
	padding-left:1.5rem;
	margin-top:2rem
}
.gallery nav.categories>ul {
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:.75rem;
	flex-wrap:wrap
}
.gallery nav.categories>ul li {
	max-width:100%
}
.gallery nav.categories>ul li>a {
	display:block;
	padding:.5rem .75rem;
	border-radius:9999px;
	font-size:.875rem;
	line-height:1.25rem;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
@media(min-width:640px) {
	.gallery nav.categories>ul li>a {
	  padding:.75rem 1rem;
	  font-size:1rem
	}
}

/*!PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com*/

.pswp {
	--pswp-bg:#000;
	--pswp-placeholder-bg:#222;
	--pswp-root-z-index:100000;
	--pswp-preloader-color:rgba(79, 79, 79, 0.4);
	--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9);
	--pswp-icon-color:#fff;
	--pswp-icon-color-secondary:#4f4f4f;
	--pswp-icon-stroke-color:#4f4f4f;
	--pswp-icon-stroke-width:2px;
	--pswp-error-text-color:var(--pswp-icon-color)
}
.pswp {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:var(--pswp-root-z-index);
	display:none;
	touch-action:none;
	outline:0;
	opacity:.003;
	contain:layout style size;
	-webkit-tap-highlight-color:transparent
}
.pswp:focus {
	outline:0
}
.pswp * {
	box-sizing:border-box
}
.pswp img {
	max-width:none
}
.pswp--open {
	display:block
}
.pswp,
.pswp__bg {
	transform:translateZ(0);
	will-change:opacity
}
.pswp__bg {
	opacity:.005;
	background:var(--pswp-bg)
}
.pswp,
.pswp__scroll-wrap {
	overflow:hidden
}
.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%
}
.pswp__img,
.pswp__zoom-wrap {
	width:auto;
	height:auto
}
.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor:-webkit-zoom-in;
	cursor:-moz-zoom-in;
	cursor:zoom-in
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor:move;
	cursor:-webkit-grab;
	cursor:-moz-grab;
	cursor:grab
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
	cursor:-webkit-grabbing;
	cursor:-moz-grabbing;
	cursor:grabbing
}
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor:-webkit-zoom-out;
	cursor:-moz-zoom-out;
	cursor:zoom-out
}
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none
}
.pswp__item {
	z-index:1;
	overflow:hidden
}
.pswp__hidden {
	display:none!important
}
.pswp__content {
	pointer-events:none
}
.pswp__content>* {
	pointer-events:auto
}
.pswp__error-msg-container {
	display:grid
}
.pswp__error-msg {
	margin:auto;
	font-size:1em;
	line-height:1;
	color:var(--pswp-error-text-color)
}
.pswp .pswp__hide-on-close {
	opacity:.005;
	will-change:opacity;
	transition:opacity var(--pswp-transition-duration)cubic-bezier(.4,0,.22,1);
	z-index:10;
	pointer-events:none
}
.pswp--ui-visible .pswp__hide-on-close {
	opacity:1;
	pointer-events:auto
}
.pswp__button {
	position:relative;
	display:block;
	width:50px;
	height:60px;
	padding:0;
	margin:0;
	overflow:hidden;
	cursor:pointer;
	background:0 0;
	border:0;
	box-shadow:none;
	opacity:.85;
	appearance:none;
}
.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
	transition:none;
	padding:0;
	background:0 0;
	border:0;
	box-shadow:none;
	opacity:1
}
.pswp__button:disabled {
	opacity:.3;
	cursor:auto
}
.pswp__icn {
	fill:var(--pswp-icon-color);
	color:var(--pswp-icon-color-secondary)
}
.pswp__icn {
	position:absolute;
	top:14px;
	left:9px;
	width:32px;
	height:32px;
	overflow:hidden;
	pointer-events:none
}
.pswp__icn-shadow {
	stroke:var(--pswp-icon-stroke-color);
	stroke-width:var(--pswp-icon-stroke-width);
	fill:none
}
.pswp__icn:focus {
	outline:0
}
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background:var(--pswp-placeholder-bg)
}
.pswp__top-bar {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:60px;
	display:flex;
	flex-direction:row;
	justify-content:flex-end;
	z-index:10;
	pointer-events:none!important
}
.pswp__top-bar>* {
	pointer-events:auto;
	will-change:opacity
}
.pswp__button--close {
	margin-right:6px
}
.pswp__button--arrow {
	position:absolute;
	top:0;
	width:75px;
	height:100px;
	top:50%!important;
	margin-top:-50px
}
.pswp__button--arrow:disabled {
	display:none;
	cursor:default
}
.pswp__button--arrow .pswp__icn {
	top:50%!important;
	margin-top:-30px;
	width:60px;
	height:60px;
	background:0 0;
	border-radius:0
}
.pswp--one-slide .pswp__button--arrow {
	display:none
}
.pswp--touch .pswp__button--arrow {
	visibility:hidden
}
.pswp--has_mouse .pswp__button--arrow {
	visibility:visible
}
.pswp__button--arrow--prev {
	right:auto;
	left:0
}
.pswp__button--arrow--next {
	right:0
}
.pswp__button--arrow--next .pswp__icn {
	left:auto;
	right:14px;
	transform:scale(-1,1)
}
.pswp__button--zoom {
	display:none
}
.pswp--zoom-allowed .pswp__button--zoom {
	display:block
}
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
	display:none
}
.pswp__preloader {
	position:relative;
	overflow:hidden;
	width:50px;
	height:60px;
	margin-right:auto
}
.pswp__preloader .pswp__icn {
	opacity:0;
	transition:opacity .2s linear;
	animation:pswp-clockwise 600ms linear infinite
}
.pswp__preloader--active .pswp__icn {
	opacity:.85
}
@keyframes pswp-clockwise {
	0% {
	  transform:rotate(0)
	}
	100% {
	  transform:rotate(360deg)
	}
}
.pswp__counter {
	height:30px;
	margin-top:15px;
	margin-inline-start:20px;
	font-size:14px;
	line-height:30px;
	color:var(--pswp-icon-color);
	text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);
	opacity:.85
}
.pswp--one-slide .pswp__counter {
	display:none
}
.pswp__dynamic-caption {
	color:#fff;
	position:absolute;
	width:100%;
	left:0;
	top:0;
	transition:opacity 120ms linear!important
}
.pswp-caption-content {
	display:none
}
.pswp__dynamic-caption a {
	color:#fff
}
.pswp__dynamic-caption--faded {
	opacity:0!important
}
.pswp__dynamic-caption--aside {
	width:auto;
	max-width:300px;
	padding:20px 15px 20px 20px;
	margin-top:70px
}
.pswp__dynamic-caption--below {
	width:auto;
	max-width:700px;
	padding:15px 0 0
}
.pswp__dynamic-caption--on-hor-edge {
	padding-left:15px;
	padding-right:15px
}
.pswp__dynamic-caption--mobile {
	width:100%;
	background:rgba(0,0,0,.5);
	padding:10px 15px;
	right:0;
	bottom:0;
	top:auto!important;
	left:0!important
}
.lazyload,
.lazyloading {
	opacity:0
}
.lazyloaded {
	opacity:1;
	transition:opacity 300ms
}
img.lazyload:not([src]) {
	visibility:hidden
}
