/*

	SO FAR IT SEEMS THAT GOOGLE CHROME IS NOT FOND OF ABSOLUTE POSITION, WHILE FIREFOX IS OK WITH IT
	CHROME PREFERS RELATIVE POSITIONING FOR LAYING OUT PAGES AND FIREFOX IS OK WITH THAT, SO THAT'S WHAT WE GO WITH
	IT MEANS DESINGING A BASIC LAYOUT IN OUR NORMAL SCREEN STYLE SHEET, COPYING THE ENTIRE LAYOUT HERE AND
	THEN RESETTING POSITIONS TO RELATIVE AND ADJUSTING POSITIONING FOR PAGE LAYOUT.


*/
:root {

	--fontFamily: "Roboto", Sans-Serif;
	--fontFamilySemiBold: "Roboto Medium";
	--fontFamilyBold: "Roboto Black";
	--fontFamilyLight: "Roboto Thin", Sans-Serif;
	--fontFamilySemiLight: "Roboto Light", Sans-Serif;

}

@page{
	margin: 0.25in;
}

@page{
	orientation : portrait;
	size        : portrait;
}

.alignVertical
{
	vertical-align: text-top;
}

.alignMiddle
{
	vertical-align: middle;
}

.alignLeft
{
	text-align: left;
}

.alignCenter
{
	text-align: center;
}

.alignRight
{
	text-align: right;
}

.noFloat
{
	float: none;
}

.floatRight
{
	float: right;
}

.floatLeft
{
	float: left;
}

.indented
{
	text-indent: 2em;
}

.superScript
{
	vertical-align: .5em;
	font-size: .7em;
}

.printOnly
{
	display: block;
}

.hidden
{
	display :none;
}

.grayscale div, .grayscale img {
	filter: grayscale(100%) contrast(125%);
}

i,
.address_not_needed_watermark,
#portraitorientation-overlay,
#header, 
#header-mask, 
#logo, 
#bodycontents, 
#leftSideBar, 
#rightSideBar, 
#navigation-subcontainer, 
#footer, 
#message, 
#templatesContainer, 
#mainPageBackgroundRight, 
#mainPageBackgroundLeft, 
#backgroundMask
{
	display             : none;
	background-color    : white;
	background-image    : none;
}


div.printThumbnailscontainer div.thumbNail .thumb_print_watermark,
#orderInvoice div.large_preview .large_collage_print_watermark,
.text_stroke_black
{
	text-shadow:
		-1px -1px 0 rgba(35, 35, 35, 1),
		1px  -1px 0 rgba(35, 35, 35, 1),
		1px   1px 0 rgba(35, 35, 35, 1),
		-1px  1px 0 rgba(35, 35, 35, 1);
}


/* OVERRIDES TO NORMAL STYLE SHEET RULES TO PLACE ITEMS ON PRINTED PAGE CORRECTLY */

#requestInvoice
{
	font-family         : arial, sans-serif;
	color               : black;
	background-color    : white;
	position            : relative;
	left                : 2.5%;
	top                 : 2.5%;
	width               : 8in;
	margin-left         : calc( ( 100% - 8in ) / 2 );
}

#requestInvoice .header img.printLogo
{

	width: 1.75in;
	height: auto;
	margin-left: 3em;
	margin-top: 1em;
	
}

#requestInvoice div.header
{
	height           : 10%;
	top              : 0;
}

#requestInvoice div.header, 
#requestInvoice div.body, 
#requestInvoice div.footer 
{
	position         : relative;
	width            : 100%;
	left             : 0;
}

div.documentIdentifier
{
	position         : relative;
	left             : 0;
	top              : 0;
	width            : 100%;
	height           : 5%;
	text-align       : center;
	font-size        : .7em;
	padding-right    : 2em;
}

#requestInvoice div.header div.left, #requestInvoice div.header div.right
{
	position         : relative;
	height           : 95%;
	top              : 5%;
}

#requestInvoice div.header div.left
{
	position         : relative;
	width            : 25%;
	height           : 100%;
	left             : 0;
	top              : 0;
}

#requestInvoice div.header div.right
{
	position         : relative;
	width            : 65%;
	height           : 100%;
	top              : -100px;
	left             : 35%;
	text-align       : right;
}

#requestInvoice div.header div.right h1,  #requestInvoice div.studioAddress
{
	margin-right     : 5%;
}

#requestInvoice div.header div.right h1
{
	font-size        : 1.5em;
	margin-bottom    : 0;
}

#requestInvoice div.studioAddress 
{
	font-size        : .8em;
}

#requestInvoice div.studioAddress p
{
	margin           : 0;
}

#requestInvoice div.body 
{
	font-size        : .7em;
	top              : -75px;
}

#requestInvoice div.body table 
{
	border           : solid 1px black;
	width            : 90%;
	margin-left      : 5%;
	text-align       : left;
}

#requestInvoice div.body table p {
	margin           : 0 0 1em 0;
}


#requestInvoice div.body table tr.divider
{
	border-top       : 1px solid black;
	margin-top       : 2em;
}

#requestInvoice div.body table td
{
	text-align       : left;
	padding          : .25em;
	vertical-align   : text-top;
}

#requestInvoice div.body table td.label
{
	font-family: var(--fontFamilyBold);
	text-align: right;
	width: 35%;
	padding-right: 2em;
}

#requestInvoice div.body table td.paymentsTable
{
	text-align: center;
	font-size: .8em;
}

#requestInvoice div.body table td.reminder, 
#requestInvoice div.body table td.header
{
	text-align: center;
	font-family: var(--fontFamilyBold);
}

#requestInvoice div.body table td.reminder
{
	font-size: 1.5em;
}

#requestInvoice div.body table td.underlined
{
	border-bottom: solid 1px black;
}

#requestInvoice span.label
{
	font-family: var(--fontFamilyBold);
}

#requestInvoice div.footer
{
	height: 5%;
	bottom: 0;
	text-align: center;
	font-size: .9em;
}


#requestInvoice div.body table td.reminder, 
#requestInvoice div.body table td.header {
	background-color: #aaa;
}







/* ************************************************ */
/* ************************************************ */
		    /* REQUEST PRINT LIST STYLES  */
/* ************************************************ */
/* ************************************************ */

#requestListPrint {
	
	position: relative;
	left: 0;
	top: 0;
	page: rotate;
	font-size: .6em;
	font-family: var(--fontFamily);
	background-color: white;
	color: black;
	overflow: visible;
	width: 100%;
	height: 100%;
	cursor: pointer;

}

#requestListPrint div.header {
	text-align: center;
	font-size: 1em;
}

#requestListPrint table.headings {
	font-size: 1.2em;
	font-family: var(--fontFamilyBold);
}

#requestListPrint table.headings td{
	text-align: center;
}

#requestListPrint table {
	width: 100%;
}


#requestListPrint  td {
	width: 17.5%;
	padding-top: 1em;
	padding-bottom: 1em;
	vertical-align: text-top;
	text-align: left;
	border-bottom: solid 1px black;
}

#requestListPrint  table td:last-child {
	width: 30%;
}


div.printContainer
{
	position: absolute;
	width: 95%;
	left: 2.5%;
	top: 0;
}

div.printContainer div.collagePreview 
{
	left: 0;
	top: 0;
}

div.collagePreview,
div.icon img
{
	opacity: .9;
}








/* ************************************************ */
/* ************************************************ */
		          /* ORDER RECEIPT  */
/* ************************************************ */
/* ************************************************ */

#orderInvoice
{
	margin: 0;
	font-family: var(--fontFamily);
	font-size: .6em;
	color: black;
	background-color: white;
	position: relative;
	width: 8in;
	left: calc( 50% - 4in );
}


#orderInvoice .reset{
	position: relative;
	width: 100%;
	height: 100%;
}


#orderInvoice button,
#orderInvoice div.payments span.cancelled,
#orderInvoice i.fa-asterisk,
#orderInvoice div.info_tables div.totals thead,
#orderInvoice div.items div.tools_row,
#orderInvoice div.items div.edit_row,
#orderInvoice div.items div.button_row,
#orderInvoice div.order_item div.status_row,
#orderInvoice div.order_item span.reviewed_status,
#orderInvoice div.items div.status_row,
#orderInvoice .email_link i
{
	display: none;
}

#orderInvice div.order_item.reviewed span.reviewed_status
{
	display: inline;
}



#orderInvoice div.items div.tools_row,
#orderInvoice div.items div.edit_row,
#orderInvoice div.items div.button_row,
#orderInvoice div.items div.status_row
{
	border: solid 1px black;
}

.bold,
h1, h2, h3,
#orderInvoice td.label,
#orderInvoice div.delivery_times h1,
#orderInvoice div.documentIdentifier,
#orderInvoice div.items div.book div.price p,
#orderInvoice div.items div.imagePackage div.imagepackage_prices p,
#orderInvoice div.items div.collage div.order_invoice_item div.price,
#orderInvoice div.items div.book div.description table thead td
{
	font-family: var(--fontFamilyBold);
}

#orderInvoice div.documentIdentifier,
#orderInvoice div.info_tables,
#orderInvoice div.info_tables > div,
#orderInvoice div.payments,
#orderInvoice div.delivery_info,
#orderInvoice div.payments_and_delivery,
#orderInvoice div.items,
#orderInvoice div.items > div,
#orderInvoice div.icon,
#orderInvoice div.price,
#orderInvoice div.description,
#orderInvoice div.imagepackage_description,
#orderInvoice div.imagepackage_filters,
#orderInvoice div.imagepackage_prices,
#orderInvoice div.imagepackage_pricedescription,
#orderInvoice div.items h1,
#orderInvoice div.items  h2,
#orderInvoice div.items  div.package,
#orderInvoice div.order_invoice_item,
#orderInvoice div.icon_container
{
	position: relative;
	float: left;
}

#orderInvoice div.icon_container{
	position: relative;
	width: 100%;
	height: 100%;
	
}


#orderInvoice div.items h1,
#orderInvoice div.items  h2,
#orderInvoice div.documentIdentifier,
#orderInvoice div.info_tables,
#orderInvoice div.info_tables table,
#orderInvoice div.delivery_times,
#orderInvoice div.info_tables td,
#orderInvoice div.items,
#orderInvoice div.items div.single_print,
#orderInvoice div.items div.package,
#orderInvoice div.items div.book,
#orderInvoice div.items div.order_invoice_item,
#orderInvoice div.items table,
#orderInvoice div.items div.image_package div.imagepackage_pricedescription,
#orderInvoice div.payments div.paymentRow,
#orderInvoice div.payments div.paymentRow table.payment_table,
#orderInvoice div.payments_and_delivery
{
	width: 95%;
	margin-left: 2.5%;
}

#orderInvoice div.items
{
	font-size: 1.15em;
}

#orderInvoice div.documentIdentifier
{
	font-size  : 1.3em;
	opacity: 1;
	margin-bottom: .25em;
}

#orderInvoice div.info_tables,
#orderInvoice div.payments_and_delivery,
#orderInvoice div.items div.book div.description table.book_sizes,
#orderInvoice div.items h1.imagePackages,
#orderInvoice div.items h1.collages,
#orderInvoice div.items h1.singlePrints,
#orderInvoice div.items h1.books,
#orderInvoice div.items h1.packages
{
	border-top: solid 1px black;
}

#orderInvoice div.documentIdentifier,
#orderInvoice div.delivery_times h1,
#orderInvoice div.items div.image_package div.imagepackage_prices p,
#orderInvoice div.items div.image_package div.imagepackage_pricedescription,
#orderInvoice div.payments h3,
#orderInvoice div.payments div.paymentRow table.payment_table td.tender_type,
#orderInvoice div.payments div.paymentRow table.payment_table td.payment_details_creditcard,
#orderInvoice div.items div.book div.price p,
#orderInvoice div.items div.collage div.price p,
#orderInvoice div.items h1,
#orderInvoice div.items h2
{
	text-align: center;
}

#orderInvoice div.items h1 {
	font-size: 1.5em;
}

#orderInvoice h2 {
	font-size: 1.25em;
	font-family: var(--fontFamilySemiBold);
}

#orderInvoice div.package,
#orderInvoice div.package div.description,
#orderInvoice div.package div.description h2
{
	float: left;
	width: 100%;
	text-align: center;
}



#orderInvoice div.items h1
{
	margin: 0;
}

#orderInvoice div.items div.package
{
	margin-bottom: 1em;
}


#orderInvoice div.info_tables
{
	left: 0;
	top: 0;
	height: 1.95in;
}

#orderInvoice div.info_tables > div
{
	display: inline-block;
	width: 38%;
	height: 100%;
	border-right: solid 1px black;
	overflow: hidden;
}

#orderInvoice div.info_tables > div.totals
{
	border-right: none;
	width: 23%;
}

#orderInvoice div.info_tables div.totals td
{
	width: 50%;
}

#orderInvoice div.info_tables td.label
{
	width: 30%;
}

#orderInvoice div.info_tables table
{
	width: 97.5%;
	margin-left: 2.5%;
}


#orderInvoice div.info_tables td.data
{
	width: 70%;
}

#orderInvoice div.info_tables div.totals td.data
{
	text-align: right;
}

#orderInvoice div.payments h3
{
	margin: 0;
}

#orderInvoice div.payments,
#orderInvoice div.delivery_info
{
	width: 50%;
}

#orderInvoice div.delivery_info.standard,
#orderInvoice div.delivery_info.rush {
 width: 100%;
}

#orderInvoice div.delivery_times
{
	border: none;
}


#orderInvoice div.delivery_times h1,
#orderInvoice div.delivery_times p
{
	width: 90%;
	margin-left: 5%;
}

#orderInvoice div.payments div.paymentRow.cancelled
{
	opacity: .7;
}

#orderInvoice div.payments div.paymentRow.cancelled span.cancelled
{
	display: inline;
}


#orderInvoice div.payments div.paymentRow table.payment_table td.payment_buttons
{
	text-align: right;
}

#orderInvoice div.payments div.paymentRow table.payment_table td.tender_type
{
	background-color: rgba(128,128,128,.5);
}




#orderInvoice div.items div.package div.single_print,
#orderInvoice div.items div.single_print.order_invoice_item
{
	page-break-inside: avoid;
	width: 44%;
	height: 1.125in;
}

#orderInvoice div.order_invoice_item div.icon_container
{
	overflow: hidden;
}


#orderInvoice div.items div.order_invoice_item h2
{
	margin: 0;
}

#orderInvoice div.items div.single_print.order_invoice_item div.icon_container span
{
	height: calc( 95% - 1em );
	width: auto;
	border: solid 2px black;
	margin-left: 1em;
	margin-top: 1em;
}

#orderInvoice div.items div.single_print.order_invoice_item div.icon_container span
{
	display: block;
	text-align: center;
	padding-top: 1em;
}

#orderInvoice div.items div.package div.single_print.horizontal img,
#orderInvoice div.items div.single_print.order_invoice_item.horizontal img
{
	width: calc( 95% - 1em );
	height: auto;
}

#orderInvoice div.items div.order_invoice_item div.icon
{
	width: 25%;
}

#orderInvoice div.items div.order_invoice_item div.icon div.icon_container
{
	/* height: 100px; */
}

#orderInvoice div.items div.order_invoice_item div.description
{
	width: 70%;
	margin-left: 1em;
}


#orderInvoice div.items div.image_package.order_invoice_item div.imagepackage_description,
#orderInvoice div.items div.image_package.order_invoice_item div.imagepackage_filters
{
	width: 40%;
}

#orderInvoice div.items div.image_package.order_invoice_item div.imagepackage_prices
{
	width: 20%;
}


#orderInvoice div.items div.image_package.order_invoice_item div.imagepackage_description
{
	width: 35%;
	margin-right: 5%;
}

#orderInvoice div.items div.image_package.order_invoice_item td.label
{
	width: 40%;
}

#orderInvoice div.items div.image_package.order_invoice_item td.data
{
	width: 60%;
}

#orderInvoice div.items div.image_package div.imagepackage_pricedescription
{
	margin-top: .5em;
}

#orderInvoice div.items div.book div.price p,
#orderInvoice div.items div.collage div.price p,
#orderInvoice div.items div.image_package div.imagepackage_prices p
{
	font-size: 1.5em;
}

#orderInvoice div.items div.book
{
	margin-top: 1em;
}

#orderInvoice div.items div.book div.icon
{
	width: 24%;
	height: 2.5in;
}

#orderInvoice div.items div.collage
{
	width: 100%;
}

#orderInvoice div.items div.collage div.price,
#orderInvoice div.items div.book div.price
{
	width: 24%;
}

#orderInvoice div.items div.package_item div.price
{
	display: none;
}


#orderInvoice div.items div.book div.description
{
	width: 80%;
	margin: 0;
}

#orderInvoice div.items div.book div.icon div.icon_container,
#orderInvoice div.items div.book div.icon_container
{
	width: 100%;
	height: 100%;
}

#orderInvoice div.items div.book div.icon_container img
{
	width: 80%;
	height: auto;
	border: solid 2px black;
	margin-top: 1em;
	margin-left: 1em;
}

#orderInvoice div.items div.book div.description table.book_sizes{
	margin-top: 1em;
}

#orderInvoice div.items div.book div.description table.book_sizes,
#orderInvoice div.items div.book div.description table.book_extras
{
	width: 75%;
	margin-left: 12.5%;
}

#orderInvoice div.items div.book div.description table.book_extras thead td
{
	text-align: left;
}


#orderInvoice div.items div.book div.description table
{
	width: 75%;
	margin-left: 12.5%;
}


#orderInvoice div.items div.book div.description table.book_sizes td.price,
#orderInvoice div.items div.book div.description table.book_extras td.book_extra_price
{
	text-align: right;
}

#orderInvoice div.items div.book,
#orderInvoice div.items div.collage
{
	break-inside: avoid;
	break-before: auto;
	margin-bottom: 2em;
	padding-bottom: 1em;
}

#orderInvoice div.items div.collage td.print_size
{
	width: 20%;
}

#orderInvoice div.items div.collage td.print_price,
#orderInvoice div.items div.collage td.print_quantity
{
	width: 12%;
}

#orderInvoice div.items div.collage h2
{
	margin: 0.25em 0;
}

#orderInvoice div.items div.order_invoice_item
{
	height: 2.25in;
	padding: 1em;
	width: 100%;
}

#orderInvoice div.items div.order_invoice_item.single_print{
	padding: 0;
}

#orderInvoice div.collagePreview div.elementMarker{
	display: none;
}

#orderInvoice div.items div.order_invoice_item.package
{
	height: .3in;
	page-break-inside: avoid;
}

#orderInvoice div.items div.icon
{
	width: 1in;
	height: 1in;
	margin: 0;
	padding: 0;
}

#orderInvoice div.items div.collage div.icon
{
	width: 1.5in;
	height: 1.5in;
}

#orderInvoice div.items div.collage div.icon_container
{
	position: relative;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	margin: 0;
	padding: 0;
}

#orderInvoice div.items div.collage div.description
{
	width: 55%;
}

#orderInvoice div.items div.collage.package_item div.description
{
	width: 70%;	
}

#orderInvoice div.items div.package div.description
{
	width: 80%;
}

#orderInvoice div.items div.package div.price
{
	width: 20%;
}

#orderInvoice div.collagePreview
{
	background-color: black;
	overflow: hidden;
	box-sizing: border-box;
	font-size: 1em;
	border: solid 2px black;	
	box-shadow: none;
	opacity: 0.5;
}

#orderInvoice div.collagePreview div.image
{
	overflow: hidden;
	margin: 0;
	padding: 0;
}

#orderInvoice div.collagePreview div.image img.image
{
	position            : absolute;
	width               : 100%;
	height              : 100%;
	box-sizing          : content-box;
	margin              : 0;
	padding             : 0;
	border              : 0;
}

#orderInvoice div.large_preview_container
{
	float               : left;
	page-break-before   : always;
}

.pageBreak {
	float         : left;
	clear         : both;
	width         : 100%;
	height        : 2rem;
	break-before  : always;
}	


#orderInvoice div.large_preview
{
	position            : relative; 
	margin              : 0;
	margin-left         : 2em;
	padding             : 0;
	width               : 7.5in;
	height              : 10in; 
	page-break-inside   : avoid;
	overflow            : hidden;
}


#orderInvoice.paid div.large_preview .large_collage_print_watermark
{
	display             : none;
}

#orderInvoice div.large_preview .large_collage_print_watermark
{
	font-family         : var(--fontFamilyBold);
	position            : absolute;
	top                 : calc( 40% - 1.25em );
	width               : 100%;
	z-index             : 100;
	text-align          : center;
	font-size           : 25em;
	color               : rgba( 255, 255, 255, 1 );
	transform           : rotate( -45deg ) ;
	opacity             : .55;
}

#orderInvoice td.style_price,
#orderInvoice td.print_price{
	text-align: right;
}

#orderInvoice table.collage_style_table td.style_price {
	width                 : 12%;
}

#orderInvoice table.collage_style_table td.processing_style
{
	width                 : 88%;
	text-align: left;
}

#orderInvoice table.collage_size_table thead td,
#orderInvoice table.collage_style_table thead td
{
	border-bottom-style   : solid;
	border-bottom-width   : 1px;
	border-bottom-color   : black;
}

#orderInvoice div.items table.collage_size_table,
#orderInvoice div.items table.collage_style_table{
	width: 90%;
	margin-left: 10%;
}


/* ************************************************ */
/* ************************************************ */
		    /* THUMBNAIL PRINTING STYLES  */
/* ************************************************ */
/* ************************************************ */
div.printThumbnailscontainer
{
	font-family         : var(--fontFamily);
	color               : black;
	background-color    : white;
	width               : 100%;
	height              : 100%;
	padding-left        : .25in;
}

div.printThumbnailscontainer div.thumbNail
{
	font-family         : var(--fontFamilyBold);
	float               : left;
	border              : solid 2px rgba( 0, 0, 0, .5 );
	border-radius       : 0;
	margin-right        : .1in;
	margin-bottom       : .1in;
	text-align          : center;
	page-break-inside   : avoid;
	height              : 2.325in;
	width               : 2.325in;
}

div.printThumbnailscontainer.medium
{
	padding-left        : .75in;
}

div.printThumbnailscontainer.medium div.thumbNail
{
	height              : 3.125in;
	width               : 3.125in;
}

div.printThumbnailscontainer.large div.thumbNail
{
	height              : 4.5in;
	width               : 3.5in;
	margin-top          : .25in;
}

div.printThumbnailscontainer.extralarge
{
	padding-left        : -.25in;
}

div.printThumbnailscontainer.extralarge div.thumbNail
{
	height              : 7.5in;
	width               : 7.5in;
	margin-top          : 1in;
}


div.printThumbnailscontainer div.thumbNail div.positionReset
{
	position            : relative;
	width               : 100%;
	height              : 100%;
}

div.printThumbnailscontainer div.thumbNailWrapper
{
	position            : relative;
	overflow            : hidden;
	border              : solid 1px black;
	margin              : 2.5% auto;
	box-sizing          : content-box;
}


div.printThumbnailscontainer div.thumbNail div.header
{
	font-size           : .7em;
	text-align          : center;
	height              : .15in;
	border-bottom       : none;
}

div.printThumbnailscontainer div.thumbNail div.body
{
	top                 : .15in;
	height              : calc( 100% - .15in );
	border              : none;
	overflow            : hidden;	
}

div.printThumbnailscontainer .cropTools,
div.printThumbnailscontainer .image_badges,
div.printThumbnailscontainer div.thumbNail div.footer
{
	display             : none;
}

div.printThumbnailscontainer div.thumbNail.horizontal div.thumbNailWrapper
{
	margin-top          : .4in;
}

div.printThumbnailscontainer div.thumbNail,
div.printThumbnailscontainer div.thumbNail div.body,
div.printThumbnailscontainer div.thumbNail div.header,
div.printThumbnailscontainer div.thumbNail div.footer
{
	color               : black;
	background          : none;
	background-color    : white;
}

div.printThumbnailscontainer div.thumbNail .thumb_print_watermark
{
	position            : absolute;
	top                 : calc( 40% - 1.25em );
	width               : 100%;
	z-index             : 100;
	text-align          : center;
	font-size           : 3em;
	color               : rgba( 255, 255, 255, 1 );
	transform           : rotate( -45deg ) ;
	opacity             : .35;
}

div.printThumbnailscontainer.medium div.thumbNail .thumb_print_watermark
{
	font-size           : 4em;
	top                 : calc( 40% - 1em );
}

div.printThumbnailscontainer.large div.thumbNail .thumb_print_watermark
{
	font-size           : 6em;
	top                 : calc( 40% - 1em );
}


div.printThumbnailscontainer.extralarge div.thumbNail .thumb_print_watermark
{
	font-size           : 9em;
	top                 : calc( 40% - 1em );
}

div.printThumbnailscontainer.extralarge div.thumbNailWrapper
{
	border-width: 3px;
}


div.printThumbnailscontainer.extralarge div.thumbNailWrapper
{
	border-width: 5px;
}


div.printThumbnailscontainer.extralarge div.thumbNail{
	border: none;
}




/* ************************************************ */
/* ************************************************ */
   /* COLLAGE PREVIEW CONTAINER PRINTING STYLES  */
/* ************************************************ */
/* ************************************************ */
div.collagePreviewContainer
{
	font-family         : var(--fontFamily);
	color               : black;
	background-color    : white;
	width               : 100%;
	height              : 100%;
}

.collagePreview{
	color: white;
}





/* ************************************************ */
/* ************************************************ */
   /* COURT TEAM SCHEDLES  */
/* ************************************************ */
/* ************************************************ */

.photographerCourts{
	font-size: .6em;
	font-family: var(--fontFamily);
	background-color: white;
	color: black;
	overflow: visible;
	cursor: pointer;
	line-height: .8em;
	margin: 0;
	height: auto;
	/* width: 8in;
	height: 10in; */
}

.photographerCourts .header,
.photographerCourts .body,
.photographerCourts .sub-header{
	display: block;
	position: relative;
}

.photographerCourts .courtSchedule{
	width: calc( 30% - ( 1rem / 3 ) ); 
	display: inline-block;
	margin: 1rem 0 0 1rem;
	vertical-align: top;
}

.courtMap{
	break-before: page;
	position: relative;
	left: 0;
	top: 0;
	width: 8in; 
	height: 10in;
	display: block;
	margin: 0;
	margin-left: calc( ( 100% - 8in ) / 2 );
}

.courtMap .space .tools{
	display: none;
}

.courtMap .space{
	border: solid 1px black;
}

.courtMap .space .court_container {
	position:relative;
	width: 100%;
	height: calc( 100% - 2.75em);
	overflow: hidden;
}

.courtMap .court {
	font-family: var(--fontFamilyBold);
	position: absolute;
	border: solid 1px black;
	text-align: center;
}

.courtMap .court.assigned {
	background-color: rgba(128,128,128,0.7);
}

.courtMap h1 {
	text-align: center;
	margin-bottom: 1em;
}

.courtMap .space h1 {
	margin: 0;
	padding: .25rem;
}

.photographerCourts .header{
	margin: 0;
	text-align: center;
	font-size: 1em;
}

.photographerCourts .courtSchedule table{
	border: solid 1px black;
	width: 100%;
	padding: 0.5rem;
}

.photographerCourts .courtSchedule td{
	text-align: left;
	padding-bottom: 0.125rem;
}

.photographerCourts .courtSchedule td.time{
	padding-left: 0.5rem;
}

.photographerCourts .courtSchedule tr.match_start td{
	padding-top: 0.5rem;
}

.photographerCourts .courtSchedule tr.match_start:first-child td{
	padding-top: 0.25rem;
}

.photographerCourts .header,
.photographerCourts .courtSchedule thead td,
.photographerCourts .courtSchedule tr td.time{
	font-family: var(--fontFamilyBold);
}

.photographerCourts .sub-header{
	text-align: center;
	margin-bottom: 1rem;
}

.photographerCourts .courtSchedule thead td{
	text-align: center;
	background-color: rgba(0,0,0,.2);
	text-align: center;
	padding: 0.25rem;
}


/* ************************************************ */
/* ************************************************ */
			/* SCHEDULE PRINTING */
/* ************************************************ */
/* ************************************************ */

.raspl__container__close_icon{
	display: none;
}

#raspl__container div.footer{
	margin-top: 2em;
	font-size: 1.2em;
}

.raspl__match{
	page-break-inside: avoid;
}

#raspl__container{
	position: absolute;
	font-size: .7em;
	font-family: arial, sans-serif;
	overflow: visible;
	cursor: pointer;
	width: 8in;
	margin-left: calc( ( 100% - 8in ) / 2 );
	background-color: white;
	color: black;
}

#raspl__container div.header,
#raspl__container div.footer{
	font-size: 1.5em;
	font-family: var(--fontFamilyBold);
	text-align: center;
	margin-bottom: 0.5em;
}









.raspl__empty {
	width: 100%;
	background-color: rgba(128,128,128,0.2);
	text-align: center;
	font-family: var(--fontFamilyBold);
	border-bottom: solid 1px black;
}

.raspl__match{
	border-bottom: solid 1px black;
}

.raspl__match .header,
.raspl__match .body{
	width: 100%;
}

.raspl__header{
	padding: 0.25em 0;
	background-color: rgba(128,128,128,0.5);
	border-bottom: solid 1px black;
}


.raspl__match .header_field{
	font-family: var(--fontFamilyBold);
	font-size: 1.1em;
}

.raspl__match .header_field.assigned{
	opacity: 0.7;
	font-weight: normal;
}

.raspl__match .header_field.assigned .assigned,
.raspl__body__row .request_id .mid_segment,
.raspl__match .header_field .match_assigned{
	font-family: var(--fontFamilyBold)	;
}


.raspl__match .header_field.assigned .assigned{
	text-decoration: underline;	
	opacity: 1;
}


.raspl__header .header_field,
.raspl__body__row .label,
.raspl__body__row .row_field{
	display: inline-block;	
}



.raspl__header .header_field{
	width: 38%;
}

.raspl__header .header_field.subject{
	width: 33%;
}

.raspl__header .header_field.court{
	padding-left: 1em;
	width: 9%;
}

.raspl__header .header_field.schedule{
	width: 17%;
	font-weight: normal;
}

.raspl__body__row{
	width: 90%;
	margin: 0.5em 0;
	margin-top: 0;
	margin-left: 5%;
}

.raspl__body__row .--indent{
	margin-left: 4%;
}

.raspl__body__row:first-child{
	margin-top: 0.5em;
}

.raspl__body__row .row:last-child{
	border-bottom: solid 1px rgba(64,64,64,1);	
}

.raspl__body__row:last-child .row{
	border: none;
}


.raspl__body__row .request_id{
	width: 25%;
	text-align: right;
}

.raspl__body__row .play_amount{
	width: 78%;
}

.raspl__body__row .positions_played{
	width: 73%;
}


.raspl__body__row.--entire_team .row_field.athlete,
.raspl__body__row .row_field.entire_team{
	display: none;
}

.raspl__body__row.--entire_team .row_field.entire_team{
	display: inline-block;
}

.raspl__body__row .assigned,
.raspl__body__row .entire_team,
.raspl__body__row .athlete,
.raspl__body__row .positions_played_string,
.raspl__body__row .play_amount_string{
	font-family: var(--fontFamilyBold);
}

.raspl__body__row .positions_played,
.raspl__body__row .play_amount{
	color: rgba( 0,0,0,0.8);
}

.raspl__body__row .statustags .label,
.raspl__body__row .additional_athletes .label,
.raspl__body__row .notes .label,
.raspl__body__row .staff_notes .label{
	vertical-align: top;
	width: 15%;
}

.raspl__body__row .play_amount .label,
.raspl__body__row .positions_played .label{
	vertical-align: top;
	width: 20.5%;
}

.raspl__body__row .play_amount .label{
	width: 19%;
}

.raspl__body__row .entire_team,
.raspl__body__row .athlete{
	width: 25%;
}

.raspl__body__row .type{
	width: 73%;
	text-align: right;
}

.raspl__body__row .statustags,
.raspl__body__row .additional_athletes,
.raspl__body__row .notes,
.raspl__body__row .staff_notes{
	display: block;
}

.raspl__body__row .statustags_string,
.raspl__body__row .additional_athletes_string,
.raspl__body__row .notes_string,
.raspl__body__row .staff_notes_string{
	width: 75%;
	display: inline-block;
}

.raspl__body__row .request_id .first_segment,
.raspl__body__row .request_id .end_segment{
	color: rgba(0,0,0,0.75);
}

.raspl__body__row.--photographed{
	opacity: 0.5;
}

.raspl__body__row .request_status{
	display: none;
}

.raspl__body__row.--reshoot .request_status{
	display: inline-block;
}

.raspl__body__row .statustags_string{
	font-family: var(--fontFamilyBold);
}


.raspl__body__row .row_field.highpriority,
.raspl__body__row .request_status{
	background-color: rgba(0,0,0,0.5 );
	font-family: var(--fontFamilyBold);
	text-align: center;
	color: white;
	width: 20%;
	text-align: center;
}

.raspl__body__row .row_field.highpriority{
	display: none;
	background-color: rgba(0,0,0,0.5);
	color: white;
}

.raspl__body__row.--highpriority .highpriority{
	display: inline-block;
}


.raspl__body__row.--photographed .positions_played .label,
.raspl__body__row.--photographed .positions_played_string,
.raspl__body__row.--photographed .play_amount .label,
.raspl__body__row.--photographed .play_string,
.raspl__body__row.--photographed .athlete,
.raspl__body__row.--photographed .type{
	text-decoration: line-through;
}

.raspl__body__row.--reshoot.--highpriority .play_amount{
	width: 58%;
}




/* ************************************************ */
/* ************************************************ */
		          /* CLUB PHOTO QR CODE  */
/* ************************************************ */
/* ************************************************ */

div.qrcode_print_container {

	position: relative;
	font-size: 1rem;
	font-family: arial, sans-serif;
	overflow: visible;
	cursor: pointer;
	width: 8in;
	margin-left: calc( ( 100% - 8in ) / 2 );
	background-color: white;
	color: black;

	& h1 {
		text-align: center;
		text-transform: uppercase;
	}

	& .close_icon {
		display: none;
	}

	& div.header,
	& div.footer {
		font-family: var(--fontFamilyBold);
		text-align: center;
		color: black;
		text-transform: uppercase;
	}

	& div.content_container {
		position: relative;
	}

	& div.page {
		margin: 0;
		position: relative;
		width: 8in;
		height: 10.5in;
		/* DO NOT REMOVE THIS BORDER - FOR SOME REASON IS PREVENTS PAGES FROM "GROWING" AND PUSHING NEXT PAGE CONTENT DOWN */
		border: solid 1px white;
	}

	& div.page_content {
		display: grid;
		grid-column-gap: 1rem;
		grid-row-gap: 1rem;
		grid-template-columns: repeat( var(--columncount ), 1fr );
		grid-template-rows: repeat( var(--rowcount ), 1fr );
	}

	& div.content {
		position: relative;
		page-break-inside: avoid;
	}

	& div.content div.body {
		width: 80%;
		overflow: hidden;
    margin-left: 10%;
	}

	& img {
		width: 100%;
		aspect-ratio: 1;
	}

}



body.no_overflow {
	overflow: hidden;
}