* {
	box-sizing: border-box;
}

.wprm-print {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: #444;

	margin: 0;
	padding: 0;

	// These should never show on a print page.
	.eafl-disclaimer,
	.wprm-recipe-print,
	.wprm-recipe-jump,
	.wprm-recipe-jump-video,
	.wprm-recipe-pin,
	.wprm-recipe-add-to-collection,
	.wprm-unit-conversion-container,
	.wprm-recipe-adjustable-servings-container,
	.wprm-recipe-video-container,
	.wprm-recipe-media-toggle-container,
	.wprm-toggle-container {
		display: none !important;
  	}
}

#wprm-print-header {
	padding: 10px;
	font-size: 16px;
	text-align: center;

	.wprm-print-button {
		display: inline-block;
		border: 0;
		border-radius: 3px;
		padding: 10px 20px;
		margin: 10px;
		font-size: 1em;
		text-decoration: none;

		border: 1px solid #444;
		color: #444;

		&:hover {
			cursor: pointer;
		}

		&#wprm-print-button-print {
			border-color: #444444;
			background-color: #444444;
			color: white;
		}
	}
}

#wprm-print-header-options {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;

	.wprm-print-spacer {
		width: 100%;
	}

	.wprm-print-toggle-container {
		display: flex;
		align-items: center;
		margin: 10px;

		.wprm-print-toggle {
			position: absolute;
			opacity: 0;
		
			& + label {
				position: relative;
				cursor: pointer;
				padding: 0;
			}
		
			// Box.
			& + label:before {
				content: '';
				margin-right: 5px;
				display: inline-block;
				vertical-align: text-top;
				width: 20px;
				height: 20px;
				background: white;
				border: 1px solid #444;
				border-radius: 3px;
			}
			
			// Box focus
			&:focus + label:before {
				box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
			}
		
			// Box checked
			&:checked + label:before {
				border-color: #444444;
				background: #444444;
			}
			
			// Disabled state label.
			&:disabled + label {
				color: #b8b8b8;
				cursor: auto;
			}
		
			// Disabled box.
			&:disabled + label:before {
				box-shadow: none;
				background: #ddd;
			}
		
			// Checkmark. Could be replaced with an image
			&:checked + label:after {
				content: '';
				position: absolute;
				left: 6px;
				top: 10px;
				background: white;
				width: 2px;
				height: 2px;
				box-shadow: 
					2px 0 0 white,
					4px 0 0 white,
					4px -2px 0 white,
					4px -4px 0 white,
					4px -6px 0 white,
					4px -8px 0 white;
				transform: rotate(45deg);
			}
		}
		
		label {
			display: flex;
			align-items: center;
			&:hover {
				cursor: pointer;
			}
		}
	}

	.wprm-print-option-container {
		margin: 10px;

		a.wprm-print-option {
			border: 1px solid #444444;
			background-color: white;
			color: #444;
	
			display: inline-flex;
			align-items: center;
			height: 30px;
			padding: 0 10px;
			font-size: 1em;
			text-decoration: none;
	
			&:first-child {
				border-top-left-radius: 3px;
				border-bottom-left-radius: 3px;
				border-right: 0;
			}
			&:last-child {
				border-top-right-radius: 3px;
				border-bottom-right-radius: 3px;
			}
	
			&.option-active {
				background: #444444;
				color: white;
			}
	
			&:hover {
				cursor: pointer;
			}
		}
	}
}

#wprm-print-footer {
	margin-top: 20px;
	text-align: center;
	font-size: 0.8em;
}

#wprm-print-footer-ad {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;

	background-color: white;
	padding: 10px;

	max-height: 30%;

	text-align: center;
}

.wprm-qr-code-container {
	text-align: center;
}

.wprm-screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media print {
	#wprm-print-header,
	#wprm-print-footer-ad,
	.wprm-prevent-sleep {
		display: none;
	}
}

.rtl {
	#wprm-print-header-options {
		.wprm-print-toggle-container {
			.wprm-print-toggle {
				// Box.
				& + label:before {
					margin-right: 0;
					margin-left: 5px;
				}
			
				// Checkmark. Could be replaced with an image
				&:checked + label:after {
					left: initial;
					right: 14px;
				}
			}
		}

		.wprm-print-option-container {
			a.wprm-print-option {    
				&:first-child {
					border-top-left-radius: 0;
					border-bottom-left-radius: 0;
					border-top-right-radius: 3px;
					border-bottom-right-radius: 3px;
					border-left: 0;
					border-right: 1px solid #444444;
				}
				&:last-child {
					border-top-left-radius: 3px;
					border-bottom-left-radius: 3px;
					border-top-right-radius: 0;
					border-bottom-right-radius: 0;
				}
			}
		}
	}
}