html {
	scroll-behavior: smooth;
}

main h1 {
	margin-top: 0;
}

main h2 {
	margin-bottom: 1rem;
	padding-bottom: .25em;
	line-height: normal;
}

.content,
#colorbox {
	float: right;
	width: 64%;
	margin-right: 2%;
}

.content p {
	margin: 0 0 1em 0;
}

.courseUnav {
	font-style: italic;
}

.content ul,
.content ol {
	margin: 0 0 1em 0;
	padding-left: 2em;
}

.content ul.tabs {
	padding-left: 0px;
}

.content h2 + ul,
.content h2 + table {
	margin-top: .8em;
}

.content ul.linklist {
	list-style-type: none;
}

.content ul.linklist a {
	font-weight: normal;
}

/*
.content :first-child {
	margin-top: 0;
}
*/

.content img {
	height: auto;
}

.content a {
	color: #006751;
	font-weight: bold;
	text-decoration: none;
}

.content a:hover,
.content a:focus {
	color: #004938;
	color: #000;
}


/* Vertical navigation */

/* General styling */

.mainnav {
	float: left;
	width: 30%;
	margin-top: 8px;
}
.mainnav ul {
	list-style-type: none;
	font-size: 1rem;
	margin: 0;
	padding: 0;
}
.mainnav ul li {
	margin:0;
	padding:0;
}
body:not(.homepage) main .mainnav a {
	border-bottom: 1px solid white;
	padding: .5rem .7rem;
	padding-right:calc(20px + 1.6rem);
	color: #555;
	text-decoration: none;
	position: relative;
	display:block;
	background: linear-gradient(90deg, #f5f5f5, white);
	font-weight:normal;
}
body:not(.homepage) main .mainnav a.here { color: #006751; }
body:not(.homepage) main .mainnav a:hover { color:black; background: linear-gradient(90deg, #CBDED9, white); }


/* Plus–minus controls */
.mainnav a.togItem span:after { content: "+"; }
.mainnav li.togOpen > a.togItem span:after { content: "–"; }
.mainnav .togItem a span.subUL {
	position: absolute;
	width:20px;
	right: 0;
	top: 0;
	bottom:0;
	padding: .5rem .7rem;
	text-align:center;
	background-color:transparent;
	font-size:1rem;
}
.mainnav .togItem a span.subUL:hover { background-color:#CBDED9; }

/* First-level item */
body:not(.homepage) main .mainnav > ul > li > a {
	font-weight: bold;
	font-size:1.1rem;
}
body:not(.homepage) main .mainnav > ul > li.here > a {
	background: linear-gradient(90deg, #e0e0e0, white);
}

/* Second-level item */
body:not(.homepage) main .mainnav > ul > li > ul > li > a {
	padding-left: 1.4rem;
	font-weight:400;
}

/* Third-level item */
body:not(.homepage) main .mainnav > ul > li > ul > li > ul > li a {
	padding-left:2.1rem;
}

/* All sublevels */
body:not(.homepage) main .mainnav ul ul a.here,
body:not(.homepage) main .mainnav ul ul ul a.here {
	color: #006751;
	text-decoration: underline;
}


/* Hide or show ULs */
.mainnav ul ul {
	display: none;
}
.mainnav > ul > li.here > ul > li.here > ul {
	display: block;
}
.lt-ie9 .mainnav span.subUL  {
	display: none;
}
.mainnav ul li ul li.here ul {
	display: block;
}
.mainnav > ul > li.here > ul {
	display: block;

}
ul:has(li.here) {
	display: block;
}

.jsEnabled .activeSection > a {
	cursor: pointer;
}

/* Homepage tweaks */

.ro_homepage #content span.larger {
	color: #2c826f;
	text-shadow: 1px 1px 4px #ccc;
}
.announcement {
	background: linear-gradient(179deg,#f0f0f0,white 20rem);
	padding: 1rem;
}
.announcement:last-of-type { border-bottom:4px solid #f0f0f0;}

/* Grids */

.full_width .grid {
    grid-template-columns: 1fr 1fr 1fr ;
    grid-gap: 2rem;
    margin-top:2em;
}
.grid > *, .grid2 > * {
	border-bottom: 3px solid #2C826F;
	background-color: #fafafa;
	padding-top: 0;
	text-align: center;
	padding: .5em;
	position:relative;
	font-size:1.4rem;
}
body:not(.homepage) main.full_width .grid a, .full_width .grid  a:visited,
body:not(.homepage) main.full_width .grid2 a, .full_width .grid2  a:visited  {
    color:#00614b;
}
.full_width .grid a img, .full_width .grid a:visited img,
.full_width .grid2 a img, .full_width .grid2 a:visited img  {
    position:relative;
    max-width:unset;
	top:-.5em;
	left:-.5em;
	width:calc(100% + 1em) !important;
}



.back_grey_box {
	padding:1em; 
	background-color:#f6f6f6;
	border-bottom:3px solid #2C826F;
	margin-top: 2em;
 }

.back_grey_box h2  {
    border-bottom: 0;
    padding-bottom: 0;
	padding-top:0; 
 }
.back_grey_box  h2 a, .back_grey_box h2 a:visited{
    color: #006751;
}
.order_nav {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	max-width: 100%;
	margin: 20px auto;
	padding: 0 !important;
	list-style: none;
}

.order_nav li {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 15px;
}

.order_nav li.prev {
	justify-content: flex-start;
	border-right: 1px solid black;
}

.order_nav li.next {
	justify-content: flex-end;
}

.order_nav li.prev::before {
	content: "← ";
	font-weight: bold;
	color: #000;
	padding-right: 5px;
}

.order_nav li.next::after {
	content: " →";
	font-weight: bold;
	color: #000;
	padding-left: 5px;
}

.order_nav a {
	text-decoration: none;
	color: #000;
	font-weight: 500;
}



main h3.toggle_h3 { margin-bottom:.6em; }



@media only screen and (max-width: 1130px) {

	.content {
	    width: 60%;
	}

	.mainnav {
	    width: 34%;
	}


}

@media only screen and (max-width: 1080px) {
	.content {
	    width: 66%;
	    margin-right: 0;
	}

	.mainnav {
	    width: 31%;
	}


}



@media only screen and (max-width: 760px) {

	.mainnav,
	.content {
	    float: none;
	    width: 100%;
	}

}
@media only screen and (max-width: 640px) {
	
	.grid,
	.full_width .grid { grid-template-columns: 1fr 1fr; grid-gap: 2rem; }
}

@media only screen and (max-width: 760px) and (min-width: 481px) {
	.mainnav {
	    font-size: 1.4em;
	}

	.content {
	    font-size: 1.1em;
	}

}

@media only screen and (max-width: 480px) {
	.content {
	    font-size: 0.8em;
	}
	.grid, .grid2, .full_width .grid { grid-template-columns: 1fr; padding: 0 5%; }

}


@media print {

	.mainnav {
	    display: none;
	}

}




