@font-face {
	font-family: 'Work Sans';
	src: url('WorkSans-VariableFont_wght.ttf') format("truetype-variations");
       url('WorkSans-Regular.ttf');
	font-weight: 1 900;
}
body {
	font-family: 'Work Sans', sans-serif;
	font-size: 12px;
	font-weight: 350;
	background-color: #eeeeee;
}

* {
	box-sizing: border-box;
}

#page_wrapper {
	width: 1200px;
	max-width: 95%;
	margin: 1em auto;
}

main img {
	max-width: 100%;
	height: auto;
}

.bolder {
	font-weight: 600;
}

.bolder a {
	font-weight: 600;
}

.redbold {
	font-weight: 650;
	color: #fd1d1c;
}

.blue {
	color: #081497;
}
.red {
	color: #fd1d1c;
}

.bigger {
	font-size: 1.4em;
}

.smaller {
	font-size: 14px;
}

.italics {
	font-style: italic;
}

.no_underline {
	text-decoration: none;
}

a.no_underline,
a.no_underline:link,
a.no_underline:visited,
a.no_underline:hover,
a.no_underline:active{
	text-decoration: none;
}

/* Navigation / banner */
nav {
	display: block;
}

header {
	height: 113px;
	text-align: center;
	background: #dddddd url( '../images/menu_bg.jpg' );
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

div.banner {
	margin: 0 auto;
	position: relative;
}

div.logo {
	float: left;
	vertical-align: top;
	padding: 1em 2em 0 1em;
}
div.logo img {
	width: 100px;
	display: inline-block;
}

#main_menu div {
	background-color: #fd3434;
}

#main_menu {
	display: inline-block;
	margin-top: 1em;
}

#sub_menu {
	margin: 4px;
	border-top: none;
}

#main_menu div, #sub_menu div {
	display: inline-block;
	padding: .5em 1em;
	font-size: 14px;
	font-weight: 700;
	vertical-align: top;
	margin: 0;
}

#main_menu div {
	border-right: solid white 2px;
	border-left: solid white 2px;
	border-bottom: solid white 2px;
}

#sub_menu div {
	border-right: solid #c1c5f4 2px;
	border-left: solid #c1c5f4 2px;
	border-bottom: solid #c1c5f4 2px;
}

#main_menu a {
	color: #f8f8f8;
	text-decoration: none;
}

#main_menu div.current_section {
	background-color: #0d22fd;
	border-bottom: solid #0d22fd 2px;
}
#main_menu div:last-child, #sub_menu div:last-child {
	border-right: none;
}

#main_menu div:first-child, #sub_menu div:first-child {
	border-left: none;
}

#main_menu div.current_section a {
	color: #eeeeee;
}

#sub_menu div {
	background-color: #0d22fd;
	border-top: solid #0d22fd 2px;
}

#sub_menu a {
	color: #eeeeee !important;
	text-decoration: none;
}

#hamburger_icon {
	position: absolute;
	right: 10px;
	top: 10px;
	width: 40px;
	padding: 5px;
	text-align: center;
	font-size: 10px;
	top: -5px;
	line-height: 80%;
}

#hamburger_icon {
	display: none;
}

#hamburger_icon img {
	width: 100%;
	height: auto;
}

#mobile_menu {
	display: none;
}

#show_menu {
	display: none;
}

footer {
	border-top: solid 1px #dddddd;
}

footer p {
	text-align: center;
}

div.footer_info {
	display: table;
	width: 100%;
}

div.footer_info > div {
	display: table-row;
}

div.footer_info > div > div {
	display: table-cell;
	vertical-align: middle;
	padding: 1em;
	text-align: center;
	width: 33%;
}

div.footer_info img {
	width: 100px;
}

/*  mobile footer */
@media screen and (max-width: 500px) {
	div.footer_info {
		display: block;
	}
	div.footer_info > div {
		display: block;
	}
	div.footer_info > div > div {
		display: block;
		width: 100%;
	}
}

/* Mobile menu */
@media screen and (max-width: 799px) {
	#hamburger_icon {
		background-color: white;
	}
	#hamburger_icon, #hamburger_icon div {
		display: block;
	}
	input#show_menu:checked ~ #mobile_menu {
		display: block;
		background-color: #eeeeee;
		position: absolute;
		top: 60px;
		right: -33px;
		text-align: left;
		padding: 0 1em 0 0;
		width: 360px;
		max-width: 90%;
	}
	#main_menu, #sub_menu {
		display: none;
	}
	#mobile_menu ul {
		list-style-type: none;
		padding-left: 1em;
		width: 360px;
		max-width: 90%;
	}
	#mobile_menu ul ul {
		list-style-type: none;
		padding-left: 3em;
		padding-bottom: 1em;
		display: none;
	}
	#mobile_menu ul li {
		border-top: solid #eeeeee 1px;
		background-color: #081496;
	}
	#mobile_menu ul ul li {
		border-top: solid #eeeeee 1px;
		background-color: #0e22fd;
		padding: 0;
	}
	#mobile_menu li, #mobile_menu li a, label.submenu_label {
		color: #eeeeee;
		text-decoration: none;
		font-size: 1.1em;
	}
	#mobile_menu li a div, label.submenu_label div {
		padding: 1em;
	}
	#mobile_menu ul li:first-child, #mobile_menu ul ul li:first-child {
		border-top: none;
	}
	#mobile_menu ul ul {
		margin-top: 1em;
	}
	#mobile_menu input.submenu_button
		{
		display: none;
		}
	input.submenu_button:checked ~ ul {
		display: block !important;
		}
	label.submenu_label {
		display: block;
	}
}
/* Shrink logo so mobile menu won't cover it up */
@media screen and (max-width: 500px) {
	div.logo img {
		width: 50px;
	}
}
/* Page designs */

div.feature_boxes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
a.feature {
	border: #cccccc solid 1px;
	width: 250px;
	max-width: 100%;
	margin: 1em;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	display: inline-block;
	padding: 1em;
	color: black;
	text-decoration: none;
	background-color: white;
}

a.feature img {
	width: 100%;
	height: auto;
}

.centered {
	text-align: center;
}

div.ad_table {
	border-collapse: collapse;
	border: none;
	margin-left: 2em;
	display: table;
}

div.ad_table > div {
	display: table-row;
}

div.ad_table > div > div {
	vertical-align: top;
	display: table-cell;
	padding-left: 1em;
}

div.ad_table > div > div:first-child {
	width: 300px;
	padding-top: 4px;
}

div.ad_table > div > div table tr td {
	padding-left: 1em;
	padding-bottom: .2em;
}

@media ( max-width: 450px ) {
	div.ad_table {
		display: block;
	}
	div.ad_table > div {
		display: block
	}
	div.ad_table > div > div {
		display: block
	}
	div.ad_table > div > div:first-child {
		width: 100%;
	}
	div.ad_table > div > div table tr td:first-child {
		padding-left: 0;
	}
}

table.cart_table tr td:first-child {
	min-width: 85px;
}

.subheaderblue, H2 {
	color: #081497;
	font-weight: bold;
	font-size: 1.2em;
}

.top_space {
	margin-top: 12px;
}

a.legaldesk_button {
	display: table-cell;
	width: 361px;
	height: 52px;
	vertical-align: middle;
	text-align: center;
	padding: 0 .0139% .0865% .0139%;
	color: black;
	text-decoration: none;
}

a.blue_button {
	background-image: url("../legaldesk/other_images/legaldesk_blue_button.png");
	background-size: cover;
}


a.yellow_button {
	background-image: url("../legaldesk/other_images/legaldesk_yellow_button.png");
	background-size: cover;
}

.button_big_text {
	font-size: 24px;
	font-weight: 600;
}

.button_extra_top_pad {
	padding-top: 3px !important;
}

.button_medium_large_text {
	font-size: 20px;
	font-weight: 600;
	line-height: 0.9;
}

.button_medium_text {
	font-size: 18px;
	font-weight: 600;
	line-height: 0.9;
}

.button_medium_small_text {
	font-size: 13px;
	font-weight: 700;
}

.button_small_text {
	font-size: 12px;
	font-weight: 600;
}

a.regular_button {
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	padding: 2px .0139% .0865% .0139%;
	color: black;
	text-decoration: none;
	border: solid #4d5ae4 2px;
	display: flex;
  justify-content: center;
  align-items: center;
}

a.regular_button > span {
	display: contents;
}

a.regular_button_size {
	width: 137px;
	height: 39px;
	border-radius: 12px;
}

a.stretch_button_size {
	width: 100%;
	height: 39px;
	border-radius: 12px;
}

a.regular_button_yellow {
	background-image: url("../images/buttons/yellow_glass_button_bg.png");
	background-size: cover;
}

.shadowed_text {
	text-shadow: 1px 1px 0 rgba(0,0,0,0.5);
}

div.black_box {
	text-align: center;
	padding: 1em;
	color: white;
	background-color: #444444;
	width: 650px;
	max-width: 100%;
}

table.legal_desk_cart_add {
	border-collapse: separate;
	border-spacing: 2px;
	border: solid #999999 1px;
	max-width: 640px;
}

table.legal_desk_cart_add td {
	border: solid black 1px;
	padding: 1em;
}

div.top_icon {
	display: flex;
	align-items: center;
	font-size: 1.4em;
}

div.top_icon img {
	height: 88px;
	width: auto;
}

div.legal_icon img {
	width: 187px;
}

div.store_icon img {
	width: 129px;
}

div.newspaper_icon img {
	width: 176px;
}

/* Newspaper pages grid layout */

img.max200 {
	max-width: 200px;
}

/* desktop version */
div.newspaper_grid_container {
	display: grid;
	grid-template-columns: 2fr 2fr 3.4fr 1.8fr;
	grid-gap: 3em;
	justify-items: stretch;
	align-items: stretch;
}

div.newspaper_grid_container > div {
	/* border: solid red 1px; */
}

div.brochure {
	order: 1;
}


div.nav_buttons {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	grid-gap: 1em;
	padding-top: 0;
	order: 2;
}

div.newspaper {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	grid-gap: 1em;
	padding-top: 0;
	order: 3;
}

div.awards, div.rosamond_grid > div.awards  {
	padding-top: 1em;
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	justify-items: center;
	order: 4;
}
div.awards img, div.brochure img {
		width: 100%;
		height: auto;
	}

div.bottom_logos {
	grid-column: 2/4;
	order: 5;
}

div.more_awards {
	grid-column: 4/5;
	order: 6;
}
/* 	grid-auto-rows: minmax(100px, auto); */

/* 780 pixels or less */
@media only screen and (max-width: 780px) {
	div.newspaper_grid_container {
		grid-template-columns: 2fr 2fr 3.4fr;
	}
	div.awards {
		grid-column: 1/4;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		align-items: stretch;
		grid-gap: 3em;
		padding-top: 0;
	}
	div.rosamond_grid > div.awards {
		grid-column: 1/4;
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
		grid-gap: 3em;
		padding-top: 0;
	}
	div.more_awards {
		grid-column: 1/4;
		order: 5;
	}

	div.bottom_logos {
	grid-column: 1/4;
	order: 6;
	}

}


/* 600 pixels or less  - reduce button text size */
@media only screen and (max-width: 600px) {
	
	.button_big_text {
		font-size: 22px;
		font-weight: 600;
	}
	
	
	.button_medium_large_text {
		font-size: 18px;
		font-weight: 600;
		line-height: 0.9;
	}
	
	.button_medium_text {
		font-size: 16px;
		font-weight: 600;
		line-height: 0.9;
	}
	
	.button_medium_small_text {
		font-size: 12px;
		font-weight: 700;
	}
	
	.button_small_text {
		font-size: 10px;
		font-weight: 600;
	}

}

/* 525 pixels or less */
@media only screen and (max-width: 525px) {
	div.newspaper_grid_container {
		grid-template-columns: 1fr 1fr;
	}
	div.newspaper {
		grid-column: 1/3;
	}
	div.awards {
		grid-column: 1/3;
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
		grid-gap: 3em;
		padding-top: 0;
	}
	div.rosamond_grid > div.awards {
		grid-column: 1/3;
	}

	div.more_awards {
		grid-column: 1/3;
	}

	div.bottom_logos {
	grid-column: 1/3;
	}
}


/* 400 pixels or less */
@media only screen and (max-width: 400px) {
	div.newspaper_grid_container {
		grid-template-columns: 1fr;
	}
	div.brochure {
		grid-column: 1/2;
	}
	div.nav_buttons {
		grid-column: 1/2;
	}
	div.newspaper {
		grid-column: 1/2;
	}
	div.awards {
		grid-column: 1/2;
		display: grid;
		grid-template-columns: 1fr;
		padding-top: 0;
	}
	div.rosamond_grid > div.awards {
		grid-column: 1/2;
		grid-template-columns: 1fr;
	}	
	div.more_awards {
		grid-column: 1/2;
	}

	div.bottom_logos {
	grid-column: 1/2;
	}

	/* restore the larger button text sizes */
	.button_big_text {
		font-size: 24px;
		font-weight: 600;
	}
	
	
	.button_medium_large_text {
		font-size: 20px;
		font-weight: 600;
		line-height: 0.9;
	}
	
	.button_medium_text {
		font-size: 18px;
		font-weight: 600;
		line-height: 0.9;
	}
	
	.button_medium_small_text {
		font-size: 14px;
		font-weight: 700;
	}
	
	.button_small_text {
		font-size: 12px;
		font-weight: 600;
	}
}

img.map_image {
	width: 360px;
}