
/* begin +++++++++ MOBILE PORTRAIT +++++++++++++++++++ */

@media screen 
and (orientation: portrait)
and (max-width: 480px) 
and (max-height: 932px) { 

body {
	grid-template-columns:100vw;
	grid-template-rows: 5.6rem max-content;
	}
.menu-items > header > h2 {
	font: var(--head2);
	padding-bottom:0.9rem;
	left:0;
	}
.heading-top > h2,
.heading-bottom > h2 {
	font: var(--head2);
	font-size:13vw;
	top:0;left:.35ch;
	text-align:center;
	}
.heading-top > h2 {
	top:3vh;
	padding-bottom:1.3rem;
	}
.heading-bottom > h2 {
	padding-bottom:0.9rem;
	}

.heading-top > h2::before,
.heading-bottom > h2::before {
	content:attr(first-line);
	font: var(--head4);
	padding:1.3rem 0 0.6rem 0;
	}
.nav-default,
.nav-default > header {
	height:5.6rem;
	}
.primary-nav,
.nav-default {
	width:100vw;
	height:5.6rem;
	background:var(--black);
	position:fixed;
	top:0;left:0;
	display:block;
	z-index:3;
	}
footer {
	visibility:hidden;
	}
/* LIST OF HIDDEN ITEMS */
.landing-logo-desktop,
img.landscape,
figcaption.landscape-caption,
.mob-land,
.cover-landscape,
footer,
.page-alt-view,
.hidden-content,
.form-accordion,
.form-textarea-comment {
	width:0;
	height:0;
	opacity:0;
	display:none;
	}

/* +++++++++++ begin LANDING-LOGO & HOME ICON */
.logo-container {
	grid-area: sub-nav;
	width:calc(100vw - 1.9rem);
	height:11.0vh;
	top:5.6rem;left:1.0rem;
	/*background:#0f0;*/
	position:absolute;
	display:grid;
	z-index:2;
	order:1;
	}

.landing-logo,
.page-head {
	width:calc(100vw - 0.6rem);
	height:11.0rem;
	font-family:"Trajan-regular", serif;
	font-weight:400;
	left:0;
	}
.page-head {
	background-size:5.64rem 9.11rem;
	top:0.4rem;
	cursor:pointer;
	z-index:2;
	&::after {
	font-size:1.88rem;
	line-height:1.1;
	top:2.3rem;left:6.8rem;
	}
}
.landing-logo {
	height:12.0rem;
	background-size:6.04rem 9.78rem;
	top:0.3rem;
	display:block;
	&::after {
		font-size:1.93rem;
		top:2.9rem;left:7.3rem;
		}
	}
/* end +++++++++++_ LANDING-LOGO & HOME ICON */

/* begin +++++++++++ MENU ICON STRUCTURE */
	.menu-icon,
	.menu-icon:hover,
	.menu-icon:active,
	.menu-icon-symbol,
	.menu-icon-symbol::before,
	.menu-icon-symbol::after {
		width:4.6rem;
		}
	.menu-icon,
	.menu-icon:hover,
	.menu-icon:active {
		height:5.6rem;
		top:1.3rem;
		left:calc(100vw - 5.9rem);
		}
	.menu-icon-symbol,
	.menu-icon-symbol::before,
	.menu-icon-symbol::after {
		border-top:0.2rem solid var(--gray5);
		border-bottom:0.2rem solid var(--gray5);
		}
	.menu-icon-symbol {
		height:3.08rem;
		cursor:pointer;
		position:absolute;
		top:0;
		}
	.menu-icon-symbol::before,
	.menu-icon-symbol::after {
		content:"";
		height:0.52rem;
		border-bottom:0.2rem solid var(--gray5);
		}
	.menu-icon-symbol::before {
		border-top:0.2rem solid var(--gray5);
		top:0.52rem;
		}
	.menu-icon-symbol::after {
		border-top:0.2rem solid transparent;
		top:1.25rem;
		}
	.menu-icon-symbol:hover,
	.menu-icon-symbol:active,
	.menu-icon-symbol:hover::before,
	.menu-icon-symbol:active::before,
	.menu-icon-symbol:hover::after,
	.menu-icon-symbol:active::after {
		border-bottom:0.2rem solid var(--gray8);
		}

/* end +++++++++++ MENU ICON STRUCTURE */
/* begin +++++++++ PAGING ICON STRUCTURE */
.paging-arrow-container {
display:none;
}
.paging-icon-container  {
	width:4.5rem;
	height:3.2rem;
	transform:rotate(0);
	top:1.7rem;left:0.5rem;
	display:block;
	z-index:3;
	}
.page-left,
.page-left::before,
.page-right,
.page-right::before,
.page-left:hover,
.page-left:active,
.page-left-disabled,
.page-left-disabled::before,
.page-right-disabled,
.page-right-disabled::before  {
	overflow:hidden;
	position:absolute;
	top:0;
	}

.page-left::before,
.page-right::before,
.page-left-disabled::before,
.page-right-disabled::before  {
	content:"";
	width:3.2rem;
	height:3.2rem;
	border:none;
	}
.page-left,
.page-right,
.page-left:hover,
.page-left:active,
.page-left-disabled,
.page-right-disabled  {
	width:2.2rem;
	height:2.2rem;
	}
.page-right,
.page-right:hover,
.page-right:active,
.page-right-disabled {
	border-top:0.2rem solid transparent;
	border-right:0.2rem solid transparent;
	}
.page-left,
.page-right {
	border-bottom:0.2rem solid var(--gray5);
	border-left:0.2rem solid var(--gray5);
	}
.page-left,
.page-left:hover,
.page-left:active,
.page-left-disabled {
	transform:rotate(45deg);
	}
.page-right,
.page-right:hover,
.page-right:active,
.page-right-disabled {
	left:2.6rem;
	transform:rotate(225deg);
	}
.page-right:hover,
.page-right:active,
.page-left:hover,
.page-left:active {
	border-bottom:0.2rem solid var(--gray7);
	border-left:0.2rem solid var(--gray7);
	}
.page-left-disabled,
.page-right-disabled {
	border-bottom:0.2rem solid var(--gray3);
	border-left:0.2rem solid var(--gray3);
	}
.page-left,
.page-right  {
	cursor:pointer;
	}
.page-left-disabled,
.page-right-disabled  {
	cursor:default;
	}

/* end +++++++++ PAGING ICON STRUCTURE */
.main-scroller {
	width:100vw;
	height:calc(97svh - 5.6rem);
	top:5.6rem;left:-0.3rem;
	}

.page-container {
	grid-template-rows: 5.6rem max-content;
	grid-template-areas: 
	"sub-nav"
	"main-content";
	}
.wrapper-home,
.wrapper-fa,
.wrapper-il,
.wrapper-de,
.wrapper-ab {
	width:100vw;
	height:calc(97vmax - 5.6rem);
	top:5.6rem;left:0;
	display:flex;
	flex-flow: column nowrap;
	justify-content:space-between;
	}
.wrapper-home::before,
.wrapper-fa::before,
.wrapper-il::before,
.wrapper-de::before,
.wrapper-home::after,
.wrapper-fa::after,
.wrapper-il::after,
.wrapper-de::after,
.wrapper-ab::after {
	content:"";
	background-repeat: no-repeat;
	background-attachment:fixed;
	display:inline-block;
	position:fixed;
	}
.wrapper-home::before,
.wrapper-fa::before,
.wrapper-il::before,
.wrapper-de::before,
.wrapper-ab::before {
	height:100vh;
	width:0.9rem;
	background-position: 0 0;
	background-size: 100%;
	top:0;left:0;
	}
.wrapper-home::after,
.wrapper-fa::after,
.wrapper-il::after,
.wrapper-de::after,
.wrapper-ab::after {
	width:100vw;
	height:0.4rem;
	background-position: 0.9rem 100%;
	background-size: 100%;
	bottom:0;left:0;
	}
/* begin ++++++++++++ COVER */
.home {
	width:calc(100vw - 0.6rem);
	top:3vh;
	left:0.6rem;
	}
h1 {
	width:100%;
	min-height:0;
	font: var(--head1);
	align-self:center;
	margin-bottom:0.9rem;	
	flex:0 0 100%;
	order:1;
	}
figure.cover-portrait {
	width:90%;
	min-height:0;
	flex:0 0 90%;
	left:5%;
	order:2;
	}
figcaption.portrait-caption {
	width:90%;
	min-height:0;
	font: var(--head4);
	font-size:85%;	
	text-align:center;
	padding:0 0 10% 0;
	left:0;
	display:block;
	}

img.portrait {
	max-width:100%;
	border:0.2rem solid var(--gray5);
	object-fit:scale-down;
	display:block;
	}
/* end ++++++++++++++ COVER */
.sample-container {
	width:100vw;
	top:0;
	}

figure.sample {
	width:calc(100% - 0.6rem);
	padding-top:1.3rem;
	left:1.2rem;
	& > figcaption {
	font: var(--body-small);
	display:inline-block;
	}
}
/* begin ++++++++++nSAMPLE ADJUSTMENTS ++++++ */
.wide,
.medium,
.narrow,
.narrowest,
.portfolio-image,
.sample-description {
	transform: translateY(-50%);
	transform: translateX(0);
	}

/* WIDE and STANDARD */
.wide,
.portfolio-image,
.sample-description {
	width:100%;
	left:0;
	}
.portfolio-image {
	/*max-width:100%;*/
	height:auto;
	border:0.2rem solid var(--gray6);
	object-fit:contain;
	display:inline-block;
	}
/* MEDIUM */
.medium {
	width:88.17%;
	left:5.915%;
	}

/* NARROW */
.narrow {
	width:80.96%;
	left:9.52%;
	}

/* NARROWEST */
.narrowest {
	width:71.64%;
	left:14.18%;
	}
/* end ++++++++++nSAMPLE ADJUSTMENTS ++++++ */
.text,
.text-note {
	max-width:calc(100% - 2ch);
	line-height:1.2;
	}
.text {
	font: var(--body);
	}
.text > h4 {
	font: var(--head4);
	}
.text:last-of-type {
	padding-bottom:1.6rem;	
	}
.text-note {
	font: var(--body-small);
	padding-bottom:1.6rem;	
	}

/* begin --------- THUMBNAILS MOBILE PORTRAIT */
.thumbnail-wrapper {
	width:100vw;
	min-height:70svh;
	max-height:80svh;
	height:70svh;
	top:0;
	display:flex;
	flex-flow:column wrap;
	align-items:flex-start;
	}
.thumb-menu-title {
	min-width:0;
	min-height:0;
	flex:0 0 20vw;
	order:1;
	}
.about-title {
	width:90vw;
	min-height:0;
	text-align:left;
	transform:rotate(0);
	top:0;left:11vw;
	transform:translateX(0);
	}
.title {
	width:15vw;
	height:65vh;
	position:fixed;
	transform:rotate(180deg);
	overflow-y:hidden;
	text-overflow:ellipsis;
	bottom:.5vh;left:12vw;
	}
.title > h3 {
	font: var(--head3);
	font-size:4.5vh;
	}
.fine-art,
.illustration,
.design,
.about {
	text-overflow: "";
	white-space: nowrap;
	overflow: hidden;
	}
.about {
	writing-mode: horizontal-tb;
	}
.fine-art::before {
	content:"Fine Art: ";
	}
.illustration::before {
	content:"Illustration: ";
	}
.design::before {
	content:"Design: ";
	}
.fine-art::after,
.illustration::after,
.design::after,
.about::after {
	content: attr(modifier);
	font-size:5vh;
	display:inline; 
	}
.fine-art::after,
.illustration::after,
.design::after {
	font: var(--head3-script);
	right:-.25ch;
	}

.about::after {
	display:block;
	font-size:15.0vw; 
	}

.thumbnail-menu {
	min-height:0;	
	min-width:0;
	top:-7vh;
	left:30%;
	flex:0 0 80vw;
	}
.thumb,
.thumb:hover,
.thumb:active,
.thumb:focus {
	min-width:75%;	
	display:inline-flex;
	flex-flow:row wrap;
	left:-0.6rem;
	}

/* end THUMBNAILS MOBILE PORTRAIT */
/* begin ++++++++++ MAIN NAV */

.menu-items {
	width:80vw;
	top:8vh;
	left:15vw;
	padding-bottom:0;
	}
.accordion {
	width:100%;
	top:0;
	& details {
	min-width:0;
	min-height:0;
	border-width: 0 0 0.125rem 0;
	}
}
details {
	border-bottom: 0.125rem solid var(--gray5);
	}

details summary {
	font: var(--head4);
	min-height:3.6rem;
	line-height:3.4rem;
	margin-top:0.9rem;
	padding-bottom:0.3rem;
	}
details summary ~ ul li {
	width:100%;
	font: var(--sans-serif-body);
	text-indent:2.4rem;
	min-height:3.6rem;
	line-height:3.4rem;
	border-width: 0 0 0.125rem 0;
	}
details ul {
	top:0.5rem;
	}
.nav-closed,
.nav-open {
	width:100%;
	height:3.6rem;
	top:0;left:0;
	}
.nav-closed::after,
.nav-closed::before,
.nav-open::after,
.nav-open::before {
	content:"";
	width:2.0rem;
	height:0.175rem;
	}
.nav-closed::after,
.nav-closed::before,
.nav-open::after,
.nav-open::before {
	transform-origin: center;
	top:1.2rem;right:0.6rem;
	}
}
/* end ++++++++++ MAIN NAV */
/* begin +++++++++++++ TEXT-HEAVY PAGES */
.text-container {
	width:calc(100vw - 8.5vw);
	height:calc(100vh - 5.0rem);
	top:0;left:4.25vw;
	}
.text-content {
	width:100%;
	color:var(--gray6);
	padding:0;
	top:0;left:0;
	transform:translateX(50%);
	}
.columns {
	width:70vw;
	columns:1;
	column-width:100%;
	break-before: column;
	padding:0;
	text-align:left;
	top:0;left:calc(15vw + 0.6rem);
	transform:translateX(calc(-50% - 15vw));
	}
.columns > .keep-together {
	display:inline-block;
	text-indent:3.6rem;
	padding-top:0;
	padding-bottom:0;
	}
.text-content > h4 {
	width:calc(70vw + 1.2rem);
	text-indent:0.6rem;
	font: var(--head4);
	line-height:1.5;
	margin:1.6rem 0 0.6rem 0;
	left:-35vw;
	border-bottom: 0.1rem solid var(--gray6);
	}
.text-content > h4:nth-of-type(2n - 1) {
	padding:0;
	margin:0.9rem 0 0.6rem 0;
	}
.text-content > p {
	width:75%;
	font: var(--body);
	word-spacing:0;
	widows: 2;
	hyphens:auto;
	}
.keep-together > p {
	width:100%;
	text-indent:3ch;
	}

/* end +++++++++++++ TEXT-HEAVY PAGES */

/* begin +++++++++++ FORM FIELDS */
.form-container {
	width:85vw; 
	min-height:0;
	background:transparent;
	padding:0;
	top:0;left:5.5vw;
	}
.form-field {
	width:100%;
	height:4.8rem;
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-template-rows: 1fr 1fr 1fr 2fr 2fr;
	gap: 0px 0px;
	grid-auto-flow: column;
	grid-template-areas:
	"label-title input-field"
	"label-title input-field"
	"label-title input-field"
	"submit-form submit-form"
	"reset-form reset-form";
	justify-content: stretch;
	align-content: center;
	justify-items: stretch;
	}
.form-label { 
	height:4.8rem;
	grid-area: label-title; 
	background:transparent;
	}
.form-summary {
	width:100%;
	height:4.8rem;
	display:flex;
	justify-content:flex-start;
	flex-flow:row nowrap;
	}
.textarea-label {
	height:4.8rem;
	color:var(--gray7);
	background:transparent;
	top:-0.2rem;
	white-space:no-wrap;
	padding:1.3rem 0.9rem 0 0;
	}
.textarea-label::before {
	content:attr(instructions);	
	font: var(--sans-serif-body);
	color:var(--gray6);
	white-space:no-wrap;
	}
/* begin ++++++++++ PORTRAIT VIEW: TEXTAREA ++++ */

.form-accordion-portrait {
	width:100%;
	height:4.8rem;
	display:flex;
	justify-content:flex-start;
	flex-flow:row wrap;
	}
.form-textarea-comment-portrait {
	grid-area: input-comment;
	width:100%;
	height:21.0vh;
	background:var(--gray2);
	top:0;left:0;
	}

/* end ++++++++++ PORTRAIT VIEW: TEXTAREA ++++ */
.textarea-label:nth-child(1) {
	text-align:right;
	padding-right:1.0rem;
	background:var(--white50T-deg45);
	flex:2 0 33.33%;
	}
.textarea-label:nth-child(2) {
	background:transparent;
	flex:3 0 66.66%;
	}
.form-label::before { 
	content:"required ";
	font: var(--sans-serif-body);
	color:var(--gray6);
	white-space:no-wrap;
	}
.form-field:nth-of-type(4n - 1) > .form-label::before { 
	content:"";
	}
.form-input { 
	grid-area: input-field; 
	height:4.8rem;
	}
.form-label-title,
label {
	font: var(--head4);
	color:var(gray2);
	text-align:right;
	}
label {
	color:var(--gray7);
	padding:2cap 0.9rem;
	}
input[type=text],
input[type=email],
input[type=tel] {
	width:100%;
	height:4.8rem;
	font: var(--sans-serif-body);
	color:var(--gray7);
	display: inline-block;
	appearance: none;
	background:transparent;
	/*top:calc(4.8rem - 1cap);*/
	padding:calc(1.5cap + 0.2rem) 1ch 0;
	}
input[type=text],
input[type=email] {
	border-bottom:0.1rem solid var(--gray7);
	border-radius:0;
	}

input[type=tel] {
	border-bottom:0.1rem solid transparent;
	}

input[type=text]:user-invalid,
input[type=email]:user-invalid {
	color:var(--gold4);
	background:var(--white-deg45);
	border-bottom: 0.6rem solid var(--gold4);
	border-radius:0;
	}

/* begin ++++++++  FORM ACCORDION ++++++++++++ */

/* ________________ OPEN TRANSITION */
details.form-details {
	font: var(--head4);
	border-bottom:none;
	cursor:pointer;
	}
details summary.form-summary .menu-ab::after {
	background:none;
	border:none;
	}
textarea.message,
#result {
	min-width:0;
	min-height:0;
	font: var(--head3-script);
	color:var(--gray7);
	font-size:4.5vh;	
	text-align:center;
	display:none;
	}
#result {
	width:85vw;
	min-height:0;
	display:inline-block;
	position:absolute;
	top:75%;left:50%;
	transform:translateX(-50%);
	padding:1vh 1vw;
	z-index:2;
	}
textarea {
	width:calc(100% - 1.4rem);
	resize: vertical;
	height:20.0vh;
	font: var(--sans-serif-body);
	appearance: none;
	background:transparent;
	border-top:0.15rem solid var(--gray6);
	border-radius:0;
	color:var(--white);
	padding:1.5vh 3vw;
	}
textarea::placeholder,
input[type=email]::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder {
	font: var(--sans-serif-body);
	color:var(--gray6);
	}

@-webkit-keyframes move {
	0%    {
	-webkit-transform: scale(0);
	}
	100%  {
	-webkit-transform: scale(1);
	}
}
@-webkit-keyframes reveal {
	0%    {
	opacity: 0;
	}
	100%  {
	opacity:1;
	}
}
@keyframes move {
	0%    {
	transform: scale(0);
	}
	100%  {
	transform: scale(1);
	}
}
@keyframes reveal {
	0%    {
	opacity: 0;
	}
	100%  {
	opacity:1;
	}
}
/* end ++++++++  FORM ACCORDION ++++++++++++ */
/* begin +++++++++++ SUBMIT AND RESET BUTTONS +++++ */

.form-submit {
	grid-area:submit-form;
	top:14.0vh;
	}
.form-reset {
	grid-area:reset-form;
	top:14.3vh;
	}
.form-reset,
.form-reset::after,
.form-submit,
.form-submit::before,
.form-submit::after,
.form-submit:disabled::before,
.form-submit:disabled::after {
	width:100%;
	border-radius:0;
	}
.form-submit,
input[type=submit]:hover,
input[type=submit]:active,
input[type=submit]:focus,
.form-reset,
input[type=reset]:hover,
input[type=reset]:active,
input[type=reset]:focus {
	cursor:pointer;
	}
.form-reset::after,
.form-reset:hover::after,
.form-reset:active::after,
.form-reset:focus::after,
.form-submit::before,
.form-submit:hover::before,
.form-submit:active::before,
.form-submit:focus::before,
.form-submit::after,
.form-submit:hover::after,
.form-submit:active::after,
.form-submit:focus::after {
	content:"";
	width:calc(100% - 4vw);
	height:0.2rem;
	background:var(--AB-border);
	position:absolute;
	left:4vw;
	}
.form-submit::after,
.form-submit:hover::after,
.form-submit:active::after,
.form-submit:focus::after,
.form-reset::after,
.form-reset:hover::after,
.form-reset:active::after,
.form-reset:focus::after {
	top:5.0vh;
	}
.form-submit:disabled::before,
.form-submit:disabled::after,
.form-submit::before,
.form-submit::after,
.form-reset::after {
	transform:rotate(180deg);
	}
.form-submit:hover::before,
.form-submit:active::before,
.form-submit:focus::before,
.form-submit:hover::after,
.form-submit:active::after,
.form-submit:focus::after,
.form-reset:hover::after,
.form-reset:active::after,
.form-reset:focus::after {
	transform:rotate(0deg);
	}
input[type=submit],
input[type=reset] {
	height:5.0vh;
	font: var(--head4);
	text-align:right;
	padding:0.3rem 2.5rem 0;
	}
input[type=submit] {
	background:var(--mintT7-deg270);
	color: var(--mint2);
	z-index:2;
	}
input[type=submit]:disabled,
input[type=submit]:hover:disabled,
input[type=submit]:active:disabled,
input[type=submit]:focus:disabled,
input[type=reset] {
	color: var(--gray8);
	background:var(--grayT5-deg270);
	border-radius:0;
	}
input[type=submit]:disabled,
input[type=submit]:hover:disabled,
input[type=submit]:active:disabled,
input[type=submit]:focus:disabled {
	color: var(--gray6);
	cursor: default;
	}
input[type=submit]:hover,
input[type=submit]:active,
input[type=submit]:focus,
input[type=reset]:hover,
input[type=reset]:active,
input[type=reset]:focus {
	background:var(--goldT4-deg270);
	border-radius:0;
	color: var(--gold3);
	}
/* end +++++++++++ SUBMIT AND RESET BUTTONS +++++ */
/* end +++++++++++ FORM FIELDS */

/* end +++++++++ MOBILE PORTRAIT +++++++++++++++++++ */