/* Tablet – Portrait */
@media screen and (max-width: 1050px) and (orientation: portrait) {
	h1,
	h2,
	h3 {
		padding: 0.6em var(--main-page-gutter-md);
	}
	main h2::before {
		left: var(--main-page-gutter-md);
	}
	/* Header && Menu */
	header {
		padding: 0.6rem var(--main-page-gutter-md);
	}
	header nav li.logo {
		font-size: 1.5em;
	}
	/* Hero Landing */
	div.landing.hero + section {
		padding-top: 22vh;
		padding-bottom: 22vh;
	}
	div.landing.hero div.logo {
		top: 37vh;
		font-size: 15px;
	}
	div.landing.hero div.footer {
		width: 2em;
		height: auto;
		bottom: 8vh;
		right: var(--main-page-gutter-md);
		writing-mode: sideways-rl;
	}
	/* Main Content */
	main div.text.large {
		padding: 0 var(--main-page-gutter-md);
	}
	/* Content List Item (Card) */
	main .list-group.half.card {
		padding-bottom: 0.6rem;
	}
	main .list-group.third.card,
	main .list-group.quarter.card {
		max-width: none;
		flex-wrap: nowrap;
		justify-content: left;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.third.card .list-item,
	main .list-group.quarter.card .list-item {
		flex: 0 0 20rem;
		scroll-snap-align: center;
	}
	main .list-group.third.card .list-item:first-of-type,
	main .list-group.quarter.card .list-item:first-of-type {
		margin-left: var(--main-page-gutter-md);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-md);
	}
	main .list-group.third.card .list-item:last-of-type,
	main .list-group.quarter.card .list-item:last-of-type {
		margin-right: var(--main-page-gutter-md);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-md);
	}
	/* Content List Item (Grid) */
	main .list-group.third.grid .list-item,
	main .list-group.quarter.grid .list-item {
		flex: 0 0 calc(100% / 2 - var(--main-flex-gutter));
	}
	.pswp__custom-caption {
		width: 60vw;
		padding-bottom: 1.5em;
	}
	/* Footer Menu */
	footer {
		padding: 0 var(--main-page-gutter-md);
	}
	footer div.nav {
		justify-content: start;
		gap: 2.5em 5em;
	}
	footer section.big {
		flex-basis: 100%;
	}
}

/* Tablet – Landscape */
@media screen and (max-width: 1200px) and (orientation: landscape) {
	h1,
	h2,
	h3 {
		padding: 0.6em var(--main-page-gutter-md);
	}
	main h2::before {
		left: var(--main-page-gutter-md);
	}
	/* Header && Menu */
	header {
		padding: 0.5rem var(--main-page-gutter-md);
	}
	/* Hero Landing */
	div.landing.hero a.arrow {
		bottom: 17vh;
	}
	div.landing.hero div.footer {
		bottom: 6vh;
		right: var(--main-page-gutter-md);
	}
	/* Main Content */
	main div.text.large {
		padding: 0 var(--main-page-gutter-md);
	}
	/* Content List Item (Card) */
	main .list-group.quarter.card {
		flex-wrap: nowrap;
		padding-bottom: 0.6rem;
		padding-left: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.quarter.card {
		max-width: none;
		justify-content: left;
	}
	main .list-group.quarter.card .list-item {
		flex: 0 0 20rem;
		scroll-snap-align: center;
	}
	main .list-group.quarter.card .list-item:first-of-type {
		margin-left: var(--main-page-gutter-md);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-md);
	}
	main .list-group.quarter.card .list-item:last-of-type {
		margin-right: var(--main-page-gutter-md);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-md);
	}
	/* Content List Item (Grid) */
	main .list-group.quarter.grid .list-item {
		flex: 0 0 calc(100% / 2 - var(--main-flex-gutter));
	}
	main .list-group.grid .list-item:not(:first-child)::before {
		display: none;
	}
	main .list-group.grid .list-item:not(:last-child)::after {
		display: none;
	}
	main .list-group.third.grid figure.list-item .description {
		width: 90%;
	}
	/* Footer Menu */
	footer {
		padding: 0 var(--main-page-gutter-md);
	}
}

/* Mobile – Portrait || Tablet – Special */
@media screen and (max-width: 805px) and (orientation: portrait), screen and (max-width: 820px) and (min-height: 600px) and (orientation: landscape) {
	h1,
	h2,
	h3 {
		padding: 0.6em var(--main-page-gutter-sm);
	}
	main h2::before {
		bottom: 0.275em;
		left: var(--main-page-gutter-sm);
	}
	/* Header && Menu */
	header {
		padding: 0.4rem var(--main-page-gutter-sm);
	}
	header nav {
		height: 3.2rem;
		transition: height 800ms ease-in-out;
		overflow-y: hidden;
	}
	header.menu-open nav {
		transition: height 800ms ease-in-out;
	}
	header nav li.logo {
		flex: initial;
		order: 2;
		font-size: 1.4em;
	}
	header nav li.page {
		width: 100%;
		padding: 0.3em 2.5em;
		order: 4;
		font-size: 1.2em;
		text-align: center;
	}
	header nav li.social-media {
		width: 100%;
		margin: 0.6em 0 0 0;
		padding: 0.3em 0.5em;
		order: 5;
		text-align: center;
		border: none;
	}
	header nav li.social-media a {
		height: 2.4em;
		margin: 0 0.8em;
	}
	header nav ul > li:nth-child(2) {
		margin-top: 1em;
	}
	header nav li.toggle {
		display: block;
	}
	/* Hero Landing */
	div.landing.hero + * {
		margin-top: calc(100vh - 4em);
	}
	div.landing.hero a.arrow {
		bottom: 25vh;
	}
	div.landing.hero div.footer {
		width: 2em;
		height: auto;
		bottom: 8vh;
		right: var(--main-page-gutter-sm);
		writing-mode: sideways-rl;
	}
	/* Main Content */
	main h1 {
		padding-top: 6vh;
		padding-bottom: 0.6em;
		font-size: 3.8em;
	}
	main h2 {
		font-size: 1.7em;
	}
	/* Content with Text */
	main .flex-media-text {
		max-width: 42rem;
	}
	main .flex-media-text.left figure picture,
	main .flex-media-text.right figure picture {
		transform: translateX(-50%) translateY(-46%);
	}
	main div.text,
	main div.text.large,
	main .flex-media-text.left div.text,
	main .flex-media-text.right div.text {
		padding: 0 var(--main-page-gutter-sm);
	}
	main .flex-media-text div.text {
		flex-basis: 100%;
		min-width: initial;
	}
	main .flex-media-text div.text h3 {
		text-align: center;
	}
	/* Nav Content */
	main nav.nav-section {
		gap: 0.7em;
		padding-left: var(--main-page-gutter-sm);
		padding-right: var(--main-page-gutter-sm);
	}
	/* Content List Item (Card) */
	main .list-group.card {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.half.card,
	main .list-group.third.card,
	main .list-group.quarter.card {
		max-width: none;
		justify-content: left;
	}
	main .list-group.half.card .list-item,
	main .list-group.third.card .list-item,
	main .list-group.quarter.card .list-item {
		flex: 0 0 20rem;
		scroll-snap-align: center;
	}
	main .list-group.half.card .list-item:first-of-type,
	main .list-group.third.card .list-item:first-of-type,
	main .list-group.quarter.card .list-item:first-of-type {
		margin-left: var(--main-page-gutter-sm);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-sm);
	}
	main .list-group.half.card .list-item:last-of-type,
	main .list-group.third.card .list-item:last-of-type,
	main .list-group.quarter.card .list-item:last-of-type {
		margin-right: var(--main-page-gutter-sm);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-sm);
	}
	/* Content List Item (Grid) */
	main .list-group.grid {
		flex-wrap: nowrap;
		gap: 0 calc(var(--main-page-gutter-sm) / 2);
		padding-left: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.half.grid .list-item,
	main .list-group.third.grid .list-item,
	main .list-group.quarter.grid .list-item {
		flex: 0 0 calc(100% - (var(--main-page-gutter-sm) * 2));
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	main .list-group.half.grid .list-item:first-of-type,
	main .list-group.third.grid .list-item:first-of-type,
	main .list-group.quarter.grid .list-item:first-of-type {
		margin-left: var(--main-page-gutter-sm);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-sm);
	}
	main .list-group.half.grid .list-item:last-of-type,
	main .list-group.third.grid .list-item:last-of-type,
	main .list-group.quarter.grid .list-item:last-of-type {
		margin-right: var(--main-page-gutter-sm);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-sm);
	}
	@media (hover: none) {
		main .list-group.grid figure.list-item a.image-link::before,
		main .list-group.grid figure.list-item a.image-link::after {
			display: none;
		}
	}
	main .list-group.grid figure.list-item .description {
		width: 90%;
	}
	/* Nav Arrow */
	@media (pointer: coarse) {
		main .list.grid .nav-arrow {
			display: none !important;
		}
	}
	/* Content Form */
	main section.form.fake {
		padding-left: var(--main-page-gutter-sm);
		padding-right: var(--main-page-gutter-sm);
	}
	/* PhotoSwipe */
	.pswp__custom-caption {
		width: calc(100vw - 8vw);
		padding-bottom: 1.5em;
	}
	/* Footer Menu */
	footer {
		padding: 0 var(--main-page-gutter-sm);
	}
	footer div.nav {
		justify-content: start;
		gap: 2.5em 5em;
	}
	footer section.big {
		flex-basis: 100%;
	}
}
/* Mobile – Portrait (really small) */
@media screen and (max-width: 550px) and (orientation: portrait) {
	header nav li.logo {
		font-size: 1.4em;
	}
	/* Hero Landing */
	div.landing.hero + * {
		margin-top: 100vh;
		padding-top: 15vh;
	}
	div.landing.hero div.logo {
		font-size: 14px;
	}
	div.landing.hero div.footer {
		bottom: 10vh;
	}
	/* Main Content */
	/* Nav Arrow */
	@media (pointer: coarse) {
		main .list.card .nav-arrow {
			display: none !important;
		}
	}
	main .list .nav-arrow.left {
		width: 2.8rem;
		margin-left: 0.1rem;
	}
	main .list .nav-arrow.right {
		width: 2.8rem;
		margin-right: 0.1rem;
	}
	/* Content Form */
	main section.form div.sm-input div.input-item {
		min-width: 100%;
	}
	/* PhotoSwipe */
	.pswp__custom-caption {
		width: calc(100vw - 8vw);
		padding-bottom: 1.5em;
	}
}

/* Mobile – Landscape */
@media screen and (max-width: 1000px) and (max-height: 600px) and (orientation: landscape) {
	h1,
	h2,
	h3 {
		padding: 0.6em var(--main-page-gutter-sm);
	}
	/* Header && Menu */
	header {
		padding: 0.2rem var(--main-page-gutter-sm);
	}
	header nav {
		height: 2.5rem;
		padding-bottom: 0.4rem;
		transition: height 1s ease-in-out;
		overflow-y: clip;
	}
	header.menu-open nav {
		transition: height 1s ease-in-out;
	}
	header nav li:nth-of-type(2) {
		margin-top: 0.15em !important;
	}
	header nav li.logo {
		flex: initial;
		order: 2;
		font-size: 1.1em;
	}
	header nav li.page {
		width: 100%;
		margin: 0 auto;
		padding: 0.1em 6em;
		order: 4;
		font-size: 0.95em;
		text-align: center;
	}
	header nav li.page a {
		padding: 0.4em;
	}
	header nav li.page.current a {
		color: white;
		background-color: var(--dark-primary-color);
		transition:
			color 300ms ease-in-out 150ms,
			background-color 300ms ease-in-out 150ms,
			box-shadow 300ms ease-in-out;
	}
	header nav li.social-media {
		width: 100%;
		margin: 0.6em 0 0 0;
		padding: 0 0.5em;
		order: 5;
		text-align: center;
		border: none;
	}
	header nav li.social-media a {
		height: 2.1em;
		margin: 0 0.8em;
	}
	header nav li.toggle {
		display: block;
	}
	/* Hero Landing */
	div.landing.hero + * {
		margin-top: calc(100vh - 3em);
		padding-top: 22vh;
	}
	div.landing.hero div.logo {
		top: 40vh;
		font-size: 13px;
	}
	div.landing.hero a.arrow {
		bottom: 13vh;
	}
	div.landing.hero div.footer {
		bottom: 8vh;
		right: var(--main-page-gutter-sm);
	}
	div.landing.hero picture.background {
		transform: scale(1.3) translateY(0.9em);
	}
	/* Main Content */
	main {
		min-height: 35rem;
	}
	main h1 {
		padding-top: 7vh;
		padding-bottom: 0.6em;
		font-size: 4em;
	}
	main h2::before {
		left: var(--main-page-gutter-sm);
	}
	main section {
		overflow-x: clip;
	}
	/* Content with Text */
	main div.text {
		padding: 0;
	}
	main div.text.large {
		padding: 0 var(--main-page-gutter-sm);
	}
	/* Nav Content */
	main nav.nav-section {
		gap: calc(var(--main-flex-gutter) * (1 + 1 / 3));
		padding-left: var(--main-page-gutter-sm);
		padding-right: var(--main-page-gutter-sm);
		font-size: 0.85em;
	}
	/* Content List Item (Card) */
	main .list-group.half.card,
	main .list-group.third.card,
	main .list-group.quarter.card {
		flex-wrap: nowrap;
		justify-content: left;
		gap: 0 calc(var(--main-flex-gutter) * (1 + 1 / 3));
		max-width: none;
		padding-left: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.half.card .list-item,
	main .list-group.third.card .list-item,
	main .list-group.quarter.card .list-item {
		flex: 0 0 25rem;
		scroll-snap-align: center;
	}
	main .list-group.half.card .list-item:first-of-type,
	main .list-group.third.card .list-item:first-of-type,
	main .list-group.quarter.card .list-item:first-of-type {
		margin-left: var(--main-page-gutter-sm);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-sm);
	}
	main .list-group.half.card .list-item:last-of-type,
	main .list-group.third.card .list-item:last-of-type,
	main .list-group.quarter.card .list-item:last-of-type {
		margin-right: var(--main-page-gutter-sm);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-sm);
	}
	/* Content List Item (Grid) */
	main .list-group.grid {
		flex-wrap: nowrap;
		gap: 0 calc(var(--main-flex-gutter) * (1 + 1 / 3));
		padding-left: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	main .list-group.half.grid .list-item,
	main .list-group.third.grid .list-item,
	main .list-group.quarter.grid .list-item {
		flex-basis: 63vh;
		min-width: 63vh;
		scroll-snap-align: center;
	}
	main .list-group.half.grid .list-item:first-of-type,
	main .list-group.third.grid .list-item:first-of-type,
	main .list-group.quarter.grid .list-item:first-of-type {
		margin-left: var(--main-page-gutter-sm);
		scroll-snap-align: start;
		scroll-margin-left: var(--main-page-gutter-sm);
	}
	main .list-group.half.grid .list-item:last-of-type,
	main .list-group.third.grid .list-item:last-of-type,
	main .list-group.quarter.grid .list-item:last-of-type {
		margin-right: var(--main-page-gutter-sm);
		scroll-snap-align: end;
		scroll-margin-right: var(--main-page-gutter-sm);
	}
	@media (hover: none) {
		main .list-group.grid figure.list-item a.image-link::before,
		main .list-group.grid figure.list-item a.image-link::after {
			display: none;
		}
	}
	main .list-group.grid figure.list-item .description {
		width: 90%;
		font-size: 0.65em;
		line-height: 1.5em;
	}
	/* PhotoSwipe */
	.pswp__custom-caption {
		width: 80vw;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
	/* Footer Menu */
	footer {
		padding: 0 var(--main-page-gutter-sm);
	}
}
/* Mobile – Landscape (Really small) */
@media screen and (max-width: 700px) and (max-height: 600px) and (orientation: landscape) {
	div.landing.hero div.logo {
		font-size: 12px;
	}
	div.landing.hero a.arrow {
		bottom: 16vh;
	}
	div.landing.hero picture.background {
		transform: scale(1.2) translateY(1em);
	}
	main {
		font-size: 14px;
	}
	main h1 {
		padding-top: 9vh;
		padding-bottom: 0.5em;
	}
	main h2 {
		font-size: 1.65em;
	}
	main div.text,
	main .flex-media-text {
		padding: 0 var(--main-page-gutter-sm);
	}
	main .flex-media-text div.text {
		padding: 0;
	}
	/* PhotoSwipe */
	.pswp__custom-caption {
		width: 80vw;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
}

/* Other */
@media screen and (max-width: 360px) {
	body,
	.landing.hero {
		width: 360px;
	}
}
