/* MeyerWeb 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 {
		padding: 0;
		border: 0;
		margin: 0;
		vertical-align: baseline;
		font: inherit;
		font-size: 100%;
	}
	
	/* 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;
	}

/* Elements
==================================================================================== */
	
	html,
	body {
		height: 100%;
	}

	html {
		-webkit-text-size-adjust: none;
		font-size: 18px;
	}

	body {
		background-color: #F9F9F9;
		color: #575252;
		font-family: 'League Spartan', sans-serif;
		font-size: 1.0rem;
		font-weight: 400;
		line-height: 1.4;
		text-align: center;
	}

	strong {
		font-weight: 600;
	}
	
	em {
		font-style: italic;
	}
	
	a,
	a:link,
	a:visited,
	a:hover,
	a:active {
		cursor: pointer;
	}
	
	a,
	a:link,
	a:visited {
		color: #3B7EFF;
		text-decoration: none;
	}
	
	a:hover,
	a:active {
		text-decoration: underline;
	}

	h1,
	h2,
	h3,
	h4,
	p,
	ul,
	ol {
		margin-bottom: 32px;
	}

	h1,
	h2,
	h3,
	h4 {
		font-weight: 600;
	}

	h1	{ font-size: 1.8rem; }
	h2	{ font-size: 1.4rem; }
	h3	{ font-size: 1.2rem; }
	h4	{ font-size: 1.1rem; }

/* Hidden
==================================================================================== */

	.hidden	{
		display: none !important;
	}

	.hide_overflow {
		overflow: hidden;
		text-overflow: ellipsis;
	}

/* Margins and Padding
==================================================================================== */

	.margin_bottom_full 	{ margin-bottom: 32px !important; }
	.margin_bottom_half 	{ margin-bottom: 16px !important; }
	.margin_bottom_quarter	{ margin-bottom: 8px !important; }
	.margin_bottom_none 	{ margin-bottom: 0 !important; }
	.margin_top_full 		{ margin-top: 32px !important; }
	.margin_top_half 		{ margin-top: 16px !important; }
	.margin_top_quarter 	{ margin-top: 8px !important; }
	.margin_top_none 		{ margin-top: 0 !important; }
	.margin_left_full 		{ margin-left: 32px !important; }
	.margin_left_half 		{ margin-left: 16px !important; }
	.margin_left_quarter 	{ margin-left: 8px !important; }
	.margin_right_full 		{ margin-right: 32px !important; }
	.margin_right_half 		{ margin-right: 16px !important; }
	.margin_right_quarter 	{ margin-right: 8px !important; }
	.padding_full			{ padding: 32px !important; }
	.padding_half 			{ padding: 16px !important; }

/* Rows and Columns
==================================================================================== */

	.row,
	.row_align,
	.row_collapse {
		display: flex;
		justify-content: center;
		box-sizing: border-box;		
	}

	.row {
		flex-wrap: wrap;
		align-items: flex-start;		
	}

	.row_align,
	.row_collapse {
		flex-wrap: nowrap;
		align-items: center;
	}
			
	.column,
	.column_full,
	.column_half,
	.column_quarter {
		box-sizing: border-box;		
		padding: 0 16px;
	}

	.column			{ width: 640px; }
	.column_full	{ width: 100%; }
	.column_half	{ width: 50%; }
	.column_quarter	{ width: 25%; }

/* Boxes
==================================================================================== */

	.box_accent,
	.box_light,
	.box_link,
	.box_outline {
		box-sizing: border-box;		
		padding: 32px;		
		border-radius: 32px;
		margin-bottom: 32px;
	}

	.box_accent {
		background-color: #F9F9F9;		
	}

	.box_light {
		background-color: #E9E9E9;
	}

	.box_outline {
		border: 4px solid #E9E9E9;		
	}

	.box_light .box_accent {
		background-color: #D9D9D9;		
	}

	.box_light .box_outline {
		border: 4px solid #D9D9D9;
	}
	
	.box_link,
	.box_link:link,
	.box_link:visited {
		display: block;
		border: 4px solid #E9E9E9;
		color: #154CB7;
		line-height: 1;
	}

	.box_link:hover,
	.box_link:active {
		border-color: #3B7EFF;
		text-decoration: none;
	}
	
	.box_scroll {
 		overflow: auto;
		box-sizing: border-box;		
		height: 288px;
		padding: inherit;
		border: 4px solid #D9D9D9;
		margin-bottom: 32px;
		background-color: #FFFFFF;
		text-align: left;
	}		

	.divider {
		display: block;
		height: 4px;
		border-radius: 32px;
		background-color: #E9E9E9;
	}
	
	.box_light .divider {
		background-color: #D9D9D9;		
	}
	
	.box_accent .divider {
		background-color: #C9C9C9;		
	}
		
/* Buttons
==================================================================================== */

	.btn,
	.btn:link,
	.btn:visited,
	.btn_small,
	.btn_small:link,
	.btn_small:visited,
	.btn_txt,
	.btn_txt:link,
	.btn_txt:visited {
		display: block;
		box-sizing: border-box;
		margin: 0 auto;
		background-position: center center;
		background-repeat: no-repeat;
		background-color: #154CB7;		
		color: #FFFFFF;
		text-align: center;
	}

	.btn:hover,
	.btn:active,
	.btn_small:hover,
	.btn_small:active,
	.btn_txt:hover,
	.btn_txt:active {
		background-color: #3B7EFF;
		color: #FFFFFF;
		text-decoration: none;
	}

	.btn,
	.btn_small {
		border-radius: 50%;		
	}

	.btn {
		width: 64px;
		height: 64px;
		background-size: 64px;
	}

	.btn_small {
		width: 32px;
		height: 32px;
		background-size: 32px;
	}	

	.btn_txt {
		width: 288px;
		padding: 16px 0;
		border-radius: 32px;
	}

  	/* Specific button styles. */		

	.btn_account				{ background-image: url(../images/pw_btn@2x_account.png); }
	.btn_bookmark_add			{ background-image: url(../images/pw_btn@2x_bookmark_add.png); }
	.btn_bookmarks				{ background-image: url(../images/pw_btn@2x_bookmarks.png); }
	.btn_buildings				{ background-image: url(../images/pw_btn@2x_buildings.png); }
	.btn_canva					{ background-image: url(../images/pw_btn@2x_canva.png); }
	.btn_close					{ background-image: url(../images/pw_btn@2x_close.png); }
	.btn_contents				{ background-image: url(../images/pw_btn@2x_contents.png); }
	.btn_delete					{ background-image: url(../images/pw_btn@2x_delete.png); }
	.btn_districts				{ background-image: url(../images/pw_btn@2x_districts.png); }
	.btn_district_details		{ background-image: url(../images/pw_btn@2x_district_details.png); }
	.btn_district_hierarchy		{ background-image: url(../images/pw_btn@2x_district_hierarchy.png); }
	.btn_district_manage		{ background-image: url(../images/pw_btn@2x_district_manage.png); }
	.btn_download				{ background-image: url(../images/pw_btn@2x_download.png); }
	.btn_edit					{ background-image: url(../images/pw_btn@2x_edit.png); }
	.btn_email					{ background-image: url(../images/pw_btn@2x_email.png); }
	.btn_export					{ background-image: url(../images/pw_btn@2x_export.png); }
	.btn_first					{ background-image: url(../images/pw_btn@2x_first.png); }
	.btn_first_grade			{ background-image: url(../images/pw_btn@2x_first_grade.png); }
	.btn_handwriting			{ background-image: url(../images/pw_btn@2x_handwriting.png); }
	.btn_intermediate			{ background-image: url(../images/pw_btn@2x_intermediate.png); }
	.btn_kindergarten			{ background-image: url(../images/pw_btn@2x_kindergarten.png); }
	.btn_last					{ background-image: url(../images/pw_btn@2x_last.png); }
	.btn_large_group			{ background-image: url(../images/pw_btn@2x_large_group.png); }
	.btn_logout					{ background-image: url(../images/pw_btn@2x_logout.png); }
	.btn_next					{ background-image: url(../images/pw_btn@2x_next.png); }
	.btn_password				{ background-image: url(../images/pw_btn@2x_password.png); }
	.btn_play					{ background-image: url(../images/pw_btn@2x_play.png); }
	.btn_plus					{ background-image: url(../images/pw_btn@2x_plus.png); }
	.btn_previous				{ background-image: url(../images/pw_btn@2x_previous.png); }
	.btn_privacy				{ background-image: url(../images/pw_btn@2x_privacy.png); }
	.btn_resources				{ background-image: url(../images/pw_btn@2x_resources.png); }
	.btn_second_grade			{ background-image: url(../images/pw_btn@2x_second_grade.png); }
	.btn_settings				{ background-image: url(../images/pw_btn@2x_settings.png); }
	.btn_small_group			{ background-image: url(../images/pw_btn@2x_small_group.png); }
	.btn_spelling				{ background-image: url(../images/pw_btn@2x_spelling.png); }
	.btn_subscription			{ background-image: url(../images/pw_btn@2x_subscription.png); }
	.btn_teachers				{ background-image: url(../images/pw_btn@2x_teachers.png); }
	.btn_terms					{ background-image: url(../images/pw_btn@2x_terms.png); }
	.btn_versions				{ background-image: url(../images/pw_btn@2x_versions.png); }
	.btn_view					{ background-image: url(../images/pw_btn@2x_view.png); }
	.btn_zoom_in				{ background-image: url(../images/pw_btn@2x_zoom_in.png); }
	.btn_zoom_out				{ background-image: url(../images/pw_btn@2x_zoom_out.png); }

  	/* Selected button styles. */		

	body[id*="manual"] .btn_contents,
	body[id*="bookmarks"] .btn_bookmarks,
	#buildings .btn_buildings,
	#districts .btn_districts,
	#districts .btn_district_hierarchy,
	#district_details .btn_district_details,
	#resources .btn_resources,
	#settings .btn_settings,
	#settings_teacher .btn_settings,
	#teachers .btn_teachers {
		border: 4px solid #D9D9D9;
		background-color: #FFFFFF;
	}

	body[id*="manual"] .btn_contents		{ background-image: url(../images/pw_btn@2x_contents-selected.png); }
	body[id*="bookmarks"] .btn_bookmarks	{ background-image: url(../images/pw_btn@2x_bookmarks-selected.png); }
	#buildings .btn_buildings				{ background-image: url(../images/pw_btn@2x_buildings-selected.png); }
	#districts .btn_districts				{ background-image: url(../images/pw_btn@2x_districts-selected.png); }
	#districts .btn_district_hierarchy		{ background-image: url(../images/pw_btn@2x_district_hierarchy-selected.png); }
	#district_details .btn_district_details	{ background-image: url(../images/pw_btn@2x_district_details-selected.png); }
	#resources .btn_resources				{ background-image: url(../images/pw_btn@2x_resources-selected.png); }
	#settings .btn_settings,
	#settings_teacher .btn_settings			{ background-image: url(../images/pw_btn@2x_settings-selected.png); }
	#teachers .btn_teachers					{ background-image: url(../images/pw_btn@2x_teachers-selected.png); }

	.box_link:link .btn,
	.box_link:visited .btn	{ background-color: #154CB7; }
	.box_link:hover .btn,
	.box_link:active .btn	{ background-color: #3B7EFF; }
			
/* Icons and Types
==================================================================================== */
	
	.icon,
	.type {
		display: block;
		box-sizing: border-box;
		margin: 0 auto;
		background-position: center center;
		background-repeat: no-repeat;
		background-color: transparent;
	}

	.icon {
		width: 32px;
		height: 32px;
		background-size: 32px;
	}

	.type {
		width: 48px;
		height: 48px;
		background-size: 48px;
	}

  	/* Specific icon styles. */		

	.icon_district_active		{ background-image: url(../images/pw_icon@2x_district_active.png); }	
	.icon_district_inactive		{ background-image: url(../images/pw_icon@2x_district_inactive.png); }	
	.icon_general_error			{ background-image: url(../images/pw_icon@2x_general_error.png); }	
	.icon_maintenance			{ background-image: url(../images/pw_icon@2x_maintenance.png); }	
	.icon_subscription_expired	{ background-image: url(../images/pw_icon@2x_subscription_expired.png); }	
	.icon_subscription_paid		{ background-image: url(../images/pw_icon@2x_subscription_paid.png); }	
	.icon_teacher_active		{ background-image: url(../images/pw_icon@2x_teacher_active.png); }	
	.icon_teacher_inactive		{ background-image: url(../images/pw_icon@2x_teacher_inactive.png); }	
	.icon_thanks				{ background-image: url(../images/pw_icon@2x_thanks.png); }	
	.icon_warning				{ background-image: url(../images/pw_icon@2x_warning.png); }	

  	/* Specific type styles. */		

	.type_canva		{ background-image: url(../images/pw_type@2x_canva.png); }	
	.type_pdf		{ background-image: url(../images/pw_type@2x_pdf.png); }	
	.type_ppt		{ background-image: url(../images/pw_type@2x_ppt.png); }	
	.type_video		{ background-image: url(../images/pw_type@2x_video.png); }	
	.type_xls		{ background-image: url(../images/pw_type@2x_xls.png); }	
		
/* Preloaders
==================================================================================== */

	.preloader_container {
	}
	
	.preloader {
		display: block;
		box-sizing: border-box;
		width: 64px;
		height: 64px;
		margin: 0 auto;
		background-image: url(../images/pw_preloader@2x.gif);	
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 64px;
		text-align: center;
	}
	
	.preloader_txt {
		margin-left: 16px;
	}

/* Text
==================================================================================== */

	.txt_small {
		font-size: 0.8rem;
	}	

	.txt_center {
		text-align: center;
	}

	.txt_left {
		text-align: left;
	}

	.txt_black,
	.txt_green,
	.txt_red {
		font-weight: 600;
	}

	.txt_black	{ color: #000000; }
	.txt_green	{ color: #02C129; }
	.txt_red	{ color: #E51818; }

	.dot {
		display: block;
		width: 0.5rem;
		height: 0.5rem;
		border-radius: 50%;
		margin: 0 16px;
		background-color: #EE6B37;		
	}
	
	.txt_small .dot {
		width: 0.4rem;
		height: 0.4rem;
	}

	.arrow {
		display: block;
		box-sizing: border-box;
		width: 1.0rem;
		height: 1.0rem;
		margin: 0 16px;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 1.0rem;
		background-image: url(../images/pw_arrow@2x.png);
	}
	
	.list_bulleted {
		text-align: left;		
		list-style-type: disc;
		list-style-position: outside;
		margin: 0 32px;
	}
	
	.list_bulleted li {
		margin-bottom: 16px;
	}
	
	.list_bulleted li:last-of-type {
		margin-bottom: 0;
	}
				
/* Super
==================================================================================== */

	#super_container {
		padding: 16px 0;
		background-color: #FFCA27;
	}
	
/* Notify
==================================================================================== */

	#notify {
		padding: 32px 0;
		color: #FFFFFF;
	}

	.notify_error 			{ background-color: #6F0000;}
	.notify_error .icon		{ background-image: url(../images/pw_icon@2x_notify_error.png); }

	.notify_success			{ background-color: #006113; }
	.notify_success .icon	{ background-image: url(../images/pw_icon@2x_notify_success.png); }

/* Header
==================================================================================== */

	header {
		padding: 32px 0;
		border-bottom: 4px solid #E9E9E9;
	}

	header .logo img {
		display: block;
		height: 64px;
	}

	.slim header {
		border-bottom: none;
	}	

	.slim header .logo img {
		height: 96px;
		margin: 0 auto;
	}

	#header_identity {
		flex-grow: 1;
		justify-content: flex-end;
		margin: 0 32px;
		text-align: right;
	}
	
	#header_nav .btn {
		margin: 0 16px 0 0;
	}
	
	#header_nav .btn_settings {
		margin: 0;
	}
							
/* Content
==================================================================================== */

	#content {
		padding: 32px 0 0 0;
		background-color: #FFFFFF;		
	}

	.slim #content {
		padding: 0;
		background-color: transparent;		
	}
			
	#district_statistics h1 {
		line-height: 1;
		color: #000000;
	}

	#price {
		margin: 0 8px;
		color: #000000;
	}
	
	.resource_content {
		flex-grow: 1;
		justify-content: flex-start;
		width: 100%;
		margin: 0 32px 0 0;
		text-align: left;
	}
		
	.resource_content .type {
		margin: 0 24px 0 0;
	}
		
	.resource_nav .btn {
		margin: 0 16px 0 0;
	}
	
	.resource_nav .btn:last-of-type {
		margin: 0;
	}	

	#super_admin_functions.row_align {
		justify-content: center;		
	}

	#super_admin_functions a {
		margin: 0 8px;
	}
	
	#canva_viewer_container,
	#video_player {
		width: 100%;
		height: 0;
		border: 4px solid #D9D9D9;
		margin: 0 auto;
		overflow: hidden;
		background-image: url(../images/pw_preloader@2x.gif);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 64px;
		background-color: #F9F9F9;
	}

	#canva_viewer_container {
		will-change: transform;			
	}
	
	#canva_viewer,
	#video_player iframe {
		position: absolute;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
	}

	.canva_wide,
	.video_wide,
	.video_standard {
		position: relative; /* Required for the padding method below. */
	}
	
	.canva_wide 	{ padding: 56.25% 0 0 0; /* 16:9 aspect ratio, so 9/16 = 56.25% top padding */ }
	.video_wide 	{ padding: 56.25% 0 0 0; /* 16:9 aspect ratio, so 9/16 = 56.25% top padding */ }
	.video_standard { padding: 75% 0 0 0; /* 4:3 aspect ratio, so 3/4 = 75% top padding */ }

/* Manuals
==================================================================================== */

	#manual_nav .btn {
		margin: 0 16px 0 0;
	}

	#manual_nav .btn:last-of-type {
		margin: 0;
	}
	
	.manual_section {
		margin-bottom: 16px;
	}
	
	.manual_section_ttl {
		margin-bottom: 16px;
	}

	.manual_section_content a,
	.manual_section_content a:link,
	.manual_section_content a:visited,
	.manual_section_content div {
		justify-content: space-between;
		border-radius: 32px;
		text-align: left;
	}
	
	.manual_section_content a:hover,
	.manual_section_content a:active {
		background: #4C7CF7;
		color: #FFFFFF;
		text-decoration: none;
		font-weight: 600;
	}

	.manual_section_content div {
		font-weight: 600;
	}
		
	.manual_item_pg {
		margin-left: 32px;
	}
	
	.manual_level_01 	{ padding: 16px 32px 16px 32px; }
	.manual_level_02 	{ padding: 16px 32px 16px 48px; }

/* Bookmarks
==================================================================================== */

	.bookmark_section_ttl,
	.bookmark_section_ttl:link,
	.bookmark_section_ttl:visited {
		justify-content: space-between;
		padding: 16px 32px;
		border-radius: 32px;
		margin-bottom: 16px;
		color: #FFFFFF;
		text-align: left;
	}

	.bookmark_section_ttl:hover,
	.bookmark_section_ttl:active {
		background: #4C7CF7;
		text-decoration: none;
		font-weight: 600;
	}
		
	.bookmark_pg {
		margin-left: 32px;
	}

	.bookmark_red 			{ background-color: #EA3724; }
	.bookmark_yellow 		{ background-color: #F6FC0F; color: #000000 !important; }
	.bookmark_yellow:hover,
	.bookmark_yellow:active	{ color: #FFFFFF !important;}
	.bookmark_green 		{ background-color: #77C045; }
	.bookmark_blue			{ background-color: #4DB4E5; }
	.bookmark_purple		{ background-color: #A74F9D; }

	.bookmark_section_content {
		margin: 0 32px;
	}

	.bookmark_section_content p,
	.bookmark_section_content .divider {
		margin-bottom: 16px;
	}

	.bookmark_section_nav {
		justify-content: space-between;
	}
	
	.bookmark_section_nav .btn_small {
		margin: 0 0 0 8px;
	}
				
/* Breadcrumb Nav
==================================================================================== */

	.breadcrumb_kindergarten,
	.breadcrumb_first_grade,
	.breadcrumb_second_grade {
		display: none;  /* Hides all breadcrumb items. */
	}

	.kindergarten .breadcrumb_kindergarten,
	.first_grade .breadcrumb_first_grade,
	.second_grade .breadcrumb_second_grade {
		display: flex;  /* Shows breadcrumb items based on the body class. */
	}

	body[id*="main"] li[id*="main"],
	body[id*="main"] li[id*="unit"] {
		display: none;  /* If page ID contains "main" then hide ALL breadcrumb items. */
	}
	
/* Kindergarten
==================================================================================== */

	.kindergarten .arrow	{
		background-image: url(../images/pw_arrow@2x_kindergarten.png);
	}

	#resources .kindergarten .box_link:link,
	#resources .kindergarten .box_link:visited		{ color: #944721; }
	.kindergarten .box_link:hover,
	.kindergarten .box_link:active			{ border-color: #EE6B37; }

	.kindergarten .box_link:link .btn,
	.kindergarten .box_link:visited .btn	{ background-color: #EE6B37; }
	.kindergarten .box_link:hover .btn,
	.kindergarten .box_link:active .btn		{ background-color: #944721; }

/* First Grade
==================================================================================== */

	.first_grade .arrow		{
		background-image: url(../images/pw_arrow@2x_first_grade.png);
	}

	#resources .first_grade .box_link:link,
	#resources .first_grade .box_link:visited		{ color: #395D20; }
	.first_grade .box_link:hover,
	.first_grade .box_link:active			{ border-color: #77C045; }

	.first_grade .box_link:link .btn,
	.first_grade .box_link:visited .btn		{ background-color: #77C045; }
	.first_grade .box_link:hover .btn,
	.first_grade .box_link:active .btn		{ background-color: #395D20; }
	
/* Second Grade
==================================================================================== */
		
	.second_grade .arrow	{
		background-image: url(../images/pw_arrow@2x_second_grade.png);
	}

	#resources .second_grade .box_link:link,
	#resources .second_grade .box_link:visited		{ color: #055797; }
	.second_grade .box_link:hover,
	.second_grade .box_link:active			{ border-color: #4DB4E5; }

	.second_grade .box_link:link .btn,
	.second_grade .box_link:visited .btn	{ background-color: #4DB4E5; }
	.second_grade .box_link:hover .btn,
	.second_grade .box_link:active .btn		{ background-color: #055797; }

/* Footer
==================================================================================== */

	footer {
		padding: 32px 0;
		border-top: 4px solid #E9E9E9;
	}
	
	.slim footer {
		padding: 0;
		border-top: none;
	}
				
/* Forms
==================================================================================== */
	
	form {
		text-align: left;
	}

	.form_row {
		margin-bottom: 32px;
	}
	
	.form_comment {
		margin-left: 16px;
		color: #AAAAAA;
		font-size: 0.8rem;
		font-style: italic;
	}

	::placeholder {
		color: #AAAAAA;
	}

  	/* Reset the form elements to blend with styles and remove design issues on mobile. */

	input,
	label,
	select,
	textarea {
		display:block;
 		box-sizing: border-box;
		border: none;
		outline: none;
		box-shadow: none;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		-ms-appearance: none;
		font-family: inherit;
		font-size: inherit;
		line-height: inherit;
		font-weight: inherit;
	}
	
	input[type=text],
	input[type=email],
	input[type=password],
	input[type=search],
	select,
	textarea {
		width: 100%;
		padding: 16px 32px;
		border-radius: 32px;
		background-color: #FFFFFF;
		color: #000000;
  	}
  
  	input[type=button],
  	input[type=submit],
  	input[type=reset],
  	select  {
	  	cursor: pointer;
  	}

	label {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 0 16px;
		margin-bottom: 16px;
	}

  	/* Hide the system checkbox. */

	input[type="checkbox"] {
		display: none;
	}

  	/* Create our own checkbox. */
	
	input[type="checkbox"] + label .form_checkbox {
	    width: 48px;  /* Should be twice the size of the background size. */
	    height: 48px;  /* Should be twice the size of the background size. */
		margin-right: 16px;
		border-radius: 50%;
	    background-color: #FFFFFF;		
		background-image: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 24px;
		cursor: pointer;
	}
	
	input[type="checkbox"]:checked + label .form_checkbox {
		background-image: url(../images/pw_input@2x_check.png);
	}
	
	.form_rememberme_text {
		line-height: 1;
	}

	.form_checkbox_row label {
		justify-content: center;
	}

  	/* Hide the system radio buttons. */
  	
	input[type="radio"] {
		display: none;
	}

  	/* Create our own radio buttons. */

	.form_radio_row label {
		flex-wrap: nowrap;
		justify-content: flex-start;
		padding: 0 32px;
	}
	
	.form_radio_group {
		margin-right: 16px;
		border: 1px solid black;
	}
		
	input[type="radio"] + .form_radio_btn {
		display: block;
		height: 32px;
		width: 32px;
		border-radius: 50%;
	    background-color: #FFFFFF;		
		cursor: pointer;
	}

	input[type="radio"]:hover + .form_radio_btn {
		background-color: #3B7EFF;
	}	
	
	input[type="radio"]:checked + .form_radio_btn {
		background-color: #3B7EFF;
		background-image: url(../images/pw_input@2x_radio.png);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 16px;		
	}

  	/* Create our own color picker radio buttons. */

	.form_radio_colors_row {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-content: center;
	}

	.form_radio_colors_row label {
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
	}
	
	.form_radio_colors_group {
		margin: 0 8px;
	}
		
	input[type="radio"] + .form_radio_colors_btn {
		display: block;
		height: 64px;
		width: 64px;
		border-radius: 50%;
	    background-color: #FFFFFF;		
		cursor: pointer;
	}

	input[type="radio"]:hover + .form_radio_colors_btn {
		box-sizing: border-box;
		border: 4px solid #FFFFFF;
	}	
	
	input[type="radio"]:checked + .form_radio_colors_btn {
		background-image: url(../images/pw_input@2x_radio.png);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 24px;		
	}

	input[type="radio"] + .form_radio_red 		{ background-color: #E51818; }
	input[type="radio"] + .form_radio_yellow 	{ background-color: #F6FC0F; }
	input[type="radio"] + .form_radio_green 	{ background-color: #77C045; }
	input[type="radio"] + .form_radio_blue 		{ background-color: #4DB4E5; }
	input[type="radio"] + .form_radio_purple 	{ background-color: #A74F9D; }
		
  	/* Style the drop down menus. */
	
	input[type=search],
	select,
	.form_error_row input,
	.form_error_row select {
		padding-right: 88px; /* (Right Padding x 2) + (Background Size in pixels.) */
		background-position: right 32px top 50%; /* Background image 32px from right (same as padding on input) and 50% from the bottom (centered vertically). */
		background-size: 24px;
		background-repeat: no-repeat;
	}

	select {
		background-image: url(../images/pw_input@2x_select.png);
	}

	#bookmark_filter_select {
		width: 80%;
		margin: 0 auto;
	}

	input[type=search] {
		width: 80%;
		margin: 0 auto;
		background-image: url(../images/pw_input@2x_search.png);
  	}
	
	#manual_search,
	#bookmarks_search {
		width: 100%;
	}

  	/* Cleans out an extra arrow on selects in Internet Explorer. */
	
	select::-ms-expand {
		display: none;
	}
	
	.form_error_row input,
	.form_error_row select {
		background-image: url(../images/pw_input@2x_error.png);
	}

	.form_error_row label,
	.form_error_row .stripe_label {
		color: #E51818;
		font-weight: 600;
	}

	textarea {
		height: 192px;		
	}
	
	#form_save_bookmark textarea,
	#form_edit_bookmark textarea {
		height: 108px;
	}

	input:disabled {
		color: #AAAAAA;
	}

/* Table Styles
==================================================================================== */

	#tbl_summary {
		text-align: left;
		width: 50%;
	}

	#tbl_summary.row_align {
		justify-content: flex-start;		
	}

	#tbl_summary a {
		margin: 0;
	}

	#tbl_control {
		width: 50%;
		margin-left: 32px;
	}

	table {
		width: 100%;
		table-layout: fixed;
	}

	table .row_align .icon {
		margin: 0;
	}

	tr:nth-of-type(odd) {
		background-color: #FFFFFF;
	}

	th,
	td {
		vertical-align: middle;	
		overflow: hidden;
		box-sizing: border-box;
		padding: 16px;
		text-overflow: ellipsis;
	}

	th {
		background-color: #D9D9D9;
		font-weight: 600;
	}

	td:first-child,
	th:first-child {
		text-align: left;
	}

	.tbl_column_xl	{ width: 192px; }
	.tbl_column_lrg	{ width: 160px; }
	.tbl_column_med	{ width: 144px; }
	.tbl_column_sml	{ width: 112px; }

	.tbl_ascend,
	.tbl_descend {
		padding-right: 48px; /* The amount of right padding on the input + background-size + the amount of right padding on the input again. */
		background-repeat: no-repeat;
		background-size: 16px; /* Same as column padding size. */
		background-position: right 16px top 50%; /* Background image 16px from right (same as padding on cell) and 50% from the bottom (centered vertically). */
	}

	.tbl_ascend		{ background-image: url(../images/pw_input@2x_ascend.png); }
	.tbl_descend	{ background-image: url(../images/pw_input@2x_descend.png); }

	.no_results		{
		text-align: center !important;
	}

/* Modal Styles
==================================================================================== */

	/* The Modal (background) */

	.modal {
		position: fixed;
		z-index: 1; /* Make sure it appears on top of everything else. */
		top: 0;
		left: 0;
		display: none; /* The modal is hidden by default. */
		overflow: auto; /* This enables scrolling if needed. */
		width: 100%;
		height: 100%;
		background-color: rgb(0,0,0); /* If there's an issue with the opacity, fall back to straight black. */
		background-color: rgba(0,0,0,0.8);
	}

	.modal-content {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		box-sizing: border-box;		
		width: 96%;
		height: 100%;
		margin: 0 auto;
		background-color: #E9E9E9;
		animation-name: modalanimatein;
		animation-duration: 0.5s;
	}
		
	.modal-small .modal-content {
		width: 48%;
		height: auto;
		border-radius: 0 0 32px 32px;
	}

	.modal-small form {
		box-sizing: border-box;		
		padding: 32px;		
	}

	.modal-small .divider {
		background-color: #D9D9D9;		
	}

	@keyframes modalanimatein {
		from {top: -200px; opacity: 0}
		to {top: 0; opacity: 1}
	}
				
	.modal-header {
		padding: 16px 32px;
		border-bottom: 4px solid #D9D9D9;
		margin-bottom: 16px;
		background-color: #F9F9F9;
	}
	
	.modal-small .modal-header {
		margin-bottom: 0;
	}
	
	.modal-header-name {
		flex-grow: 1;
		margin: 0 32px 0 0;
		text-align: left;
	}
			
	.modal-header-nav .btn {
		margin: 0 16px 0 0;
	}

	.modal-header-nav .btn:last-of-type {
		margin: 0;
	}	
		
	.modal-body {
		flex-grow: 1;
		flex-basis: 100%; /* This is needed for the modal-small height of auto to work correctly for bookmarks. */
		box-sizing: border-box;		
		height: 100px; /* A value must be set in order for flex-grow to work. */
		width: 100%;
	}
	
	.pdf-row {
		position: relative;
		overflow-y: scroll;
		height: 100%;
		width: 100%;
	}
	
	.pdf-row canvas {
		border: 4px solid #D9D9D9; /* The border around the PDF pages. */
		margin-bottom: 16px; /* The space between the PDF pages. */
	}