/****** CSS Reset ******/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*** Base Font Sizes and Line Heights ****/
html {
	font-size: 16px; /* Base font size for the document */
}
body {
	font-family: Arial, sans-serif;
	line-height: 1.6; /* Base line height for text */
	color: #333333;
}

/*** Global Box-Sizing  ******/
html {
	box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: inherit;
}

html,
body {
	overflow-x: hidden; /* Prevents horizontal scrollbar */
}

a {
	text-decoration: none;
	color: #333333;
}

a:visited {
	color: #333333;
}

h2 {
	font-size: 3rem;
	text-align: center;
	color: gainsboro;
	white-space: nowrap;
	letter-spacing: -2px;
}

ul {
	list-style-type: none;
	padding: 0;
}

header {
	display: grid;
	grid-template-columns: 5fr 1fr;
	align-content: center;
}

main {
	padding: 3em;
}

.app_layout {
	display: flex;
	flex-direction: column;
	padding: 0 1em;
}

.more_menu_container {
	position: relative;
	padding-top: 1.5em;
	margin-right: 3em;
}

.more_menu_dropdown {
	position: absolute;
}

.more_menu_checkbox {
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.more_menu_checkbox input {
	visibility: hidden;
}

.more_menu_items {
	background: white;
	padding: 0 12px 5px 12px;
	border-radius: 4px;
	display: none;
}

.more,
.close {
	text-align: center;
}

.close {
	display: none;
}

#menu-toggle:checked ~ .more_menu_items {
	display: block;
}

#menu-toggle:checked ~ .close {
	display: block;
}
	
#menu-toggle:checked ~ .more {
	display: none;
}
	
.card_container {
	display: grid; 
	grid-template-columns: repeat(auto-fill, minmax(250px, 250px));
	grid-auto-rows: minmax(250px, 250px);
	place-items: center;
	gap: 5px;
}

@media (max-width: 576px) {
	.card_container {
		grid-template-columns: repeat(auto-fill, minmax(75px, 75px));
		grid-auto-rows: minmax(75px, 75px);
	}
}

.card_item  {
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}


.card_item deepzoom-image {
	width: 250px;
	height: 250px;
	object-fit: cover;
}

@media (max-width: 576px) {
	.card_item deepzoom-image {
		width: 75px;
		height: 75px;
		object-fit: cover;
	}
}

.modal_container {
	background: white;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 12px;
	z-index: 5;
	display: none;
	flex-direction: column;
	align-items: anchor-center;
}

.modal_container[reveal] {
	display: flex;
}

.modal {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
}

.modal-open {
	overflow-y: hidden;
}

.modal deepzoom-image {
	cursor: all-scroll;
	width: 80vw;
	height: 80vh;
	object-fit: contain;
}

@media (max-width: 576px) {
	.modal deepzoom-image {
		width: 100vw;
		height: 70vh;
	}
}

.modal_close {
	position: absolute;
	right: 12px;
	top: 12px;
	cursor: pointer;
	background: none;
	border: none;
	width: 44px;
	height: 44px;
	padding 10px;
}

.fig_label {
	line-height: 1.2;
}

.label_title {
	color: darkgray;
	font-size: 18pt;
	font-weight: bold;
	font-style: italic;
	letter-spacing: -1px;
}

.label_date {
	font-size: 12pt;
}

.label_dimensions,
.label_medium,
.label_credit	{
	font-size: 10pt;
}

/******* invoice **********/
.invoice_details {
	align-self: center;
	display: flex;
	flex-direction: column;
	width: 350px;
}

.invoice_details header {
	line-height: 1.2;
}

.invoice-header {
	display: block;
	color: #555555;
	font-size: 14px;
}

.business_name {
	color: gray;
	font-size: 3em;
	font-weight: bold;
	letter-spacing: -1px;
}

.invoice_detail_id,
.invoice_detail_customer,
.invoice_detail_date {
	text-align: right;
	font-size: 14px;
}

.invoice_items {
	color: #555555;
	font-size: 14px;
	line-height: 1.2;
}

.invoice_item_title {
	font-style: italic;
}

.invoice_item_price {
	font-weight: bold;
}

.invoice_total {
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: -1px;
	color: gray;
	text-align: center;
}

.invoice_pay_btn {
}

.invoice_item {
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-items: center;
}

.invoice_item deepzoom-image {
	display: block;
	width: 250px;
	height: 250px;
}

.invoice_close {
	align-self: end;
}

.button-68 {
  appearance: none;
  backface-visibility: hidden;
  background-color: #27ae60;
  border-radius: 8px;
  border-style: none;
  box-shadow: rgba(39, 174, 96, .15) 0 4px 9px;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: Inter,-apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.5;
  outline: none;
  overflow: hidden;
  padding: 13px 20px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transform: translate3d(0, 0, 0);
  transition: all .3s;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: top;
  white-space: nowrap;
}

.button-68:hover {
  background-color: #1e8449;
  opacity: 1;
  transform: translateY(0);
  transition-duration: .35s;
}

.button-68:active {
  transform: translateY(2px);
  transition-duration: .35s;
}

.button-68:hover {
  box-shadow: rgba(39, 174, 96, .2) 0 6px 12px;
}

/****** url redirect page ********/
.payment_checkmark_background {
	width: 100%;
	height: 50vh;
	background-color: red;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.payment_checkmark {
	color: white;
	font-size: 50vh;
}

.payment_thanks {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.payment_thanks h1 {
	color: gray;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	letter-spacing: -3px;
	font-size: 3rem;
	padding-top: 1em;
}


