* {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
    --suffolk-blue: rgb( 0, 20, 137 );
}
/* Stop horizontal scrolling if anything overflows the width */
body {
	overflow-x: hidden;
}
/* Remove default browser padding/margin */
html,
body {
	background: rgb( 255, 255, 255 );
	color: rgb( 0, 0, 0 );
	font: normal medium "Lucida Grande", Helvetica, Arial, sans-serif;
	padding: 0;
	margin: 0;
}
@media screen {
	/*Flexbox gives us the flexiness we need. The top just stays put as there is no scrolling on the body due to the page never exceeding viewport height*/
	.top {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
			-ms-flex-align: center;
				align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
			-ms-flex-pack: center;
				justify-content: center;
                
                
		background-color: rgb( 200, 200, 200 );
        height: 4em;
        font-size: 80%;
        
		position: relative;
		z-index: 10;
		
		
		

		/*overflow-x: scroll;*/
		white-space: nowrap;
	}
	/*This is our main wrapping element, it's made 100vh high to ensure it is always the correct size and then 
	 * moved into place and padded with negative margin and padding*/
	.container {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		overflow: hidden;
		height: 100vh;
		margin-top: -4em;
		padding-top: 4em;
		position: relative;
		width: 100%;
		-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
		will-change: overflow;
	}
	/*All the scrollable sections should overflow and be whatever height they need to be. As they are flex-items
	 *  (due to being inside a flex container) they could be made to stretch full height at all times if needed.
	WebKit inertia scrolling is being added here for any present/future devices that are able to make use of it.
	*/
	nav,
	main {
		overflow: auto;
		height: auto;
		padding: 1rem;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
	}
	/*  Entirely optional – just wanted to remove the scrollbar on WebKit browsers as I find them ugly  */
	nav::-webkit-scrollbar,
	main::-webkit-scrollbar {
		display: none;
	}
	/*	Left and Right are set sizes while the Middle is set to flex one so it occupies all remaining space. This could be set as a width too if prefereable, perhaps using calc.*/
	nav {
		width: 12.5rem;
		background-color: var(--suffolk-blue);
		font-size: 70%;
	}
	main {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
			-ms-flex: 1;
				flex: 1;
	}
    
        
    nav a {
        text-decoration: none;
        display: block;
        padding: .125rem 0;
        color: rgb( 220, 220, 220 );
        transition: all 50ms ease-in-out; /* makes setting of the active state smooth */
    }
    nav a:hover, nav a:focus {
        color: rgb( 150, 150, 150 );
    }
    nav ul, nav ol {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    nav li {
        margin-left: 1rem;
    }
        
    
}
@media print {
	.top { display: none; }
	nav { display: none; }
	.container { }
	main { }
}



a.current {
  background: black;
}

h1 { 
	text-align: center; 
}
table {
    width: 100%;
    border-spacing: 0;
}
th, td {
    text-align: left;
    vertical-align: top;
    /*border: solid rgb( 0, 0, 0 ) .1em;*/
    padding: .5em;
}
td.bordered, th.bordered {
    border: solid black .1em;
}


p { text-align: justify; }

.section-container {}
.section-header {}
.section-body {
    margin-left: 2em;
    margin-bottom: 2em;
}

.subsection-container { page-break-inside: avoid; }
.subsection-header {}
.subsection-body {
    margin-left: 2em;
    margin-bottom: 2em;
}

.textbook-authors{}
.textbook-title{ 
    font-style: italic; 
    font-family: "Times New Roman"; 
    font-size: 115% 
}
.textbook-edition{}
.textbook-publisher{}
.textbook-isbn{}

.warning { color: red; }
.affirmation { color: green; }
.office-hours-slot {}
.day-of-week { text-transform: capitalize; }
.column-left{ 
    width: 20%; 
    font-weight: bold; 
    border: solid gray .1em; 
}
.column-right { 
    width: 80%; 
    border: solid gray .1em; 
}


.recommended, .nonrecommended, .prohibited, .marginal {
    text-align: center;
    vertical-align: middle;
    border: solid gray .1em; 
}
.recommended { background-color: rgb( 50, 255, 150 ); }
.nonrecommended { background-color: rgb( 255, 255, 150 ); }
.prohibited  { background-color: rgb( 255, 200, 200 ); }
.marginal { background-color: rgb( 220, 220, 220 ); }
.emphasized { font-weight: bold; }
.explanation { font-weight: bold; font-style: italic; }

div#grant-logo { /* parent container of suffolk logo */
    text-align: center;
    position: relative;
    margin-top: 1em;

    /* scale by different factors in x and y directions - not used at the moment */
    -webkit-transform: scale(2.0, 1.0);
    -moz-transform: scale(2.0, 1.0);
    -ms-transform: scale(2.0, 1.0);
    -o-transform: scale(2.0, 1.0);
    transform: scale( 1, 1 );
}
div#suffolk-logo { /* parent container of grant campus caption */
    position: relative;
    display: table;
    margin: 0 auto;
    padding-bottom: 0em;
}
div#grant-campus { /* grant campus caption */
    display: table-caption;
    caption-side: bottom;
    
    color: rgb( 180, 150, 40 );
    text-transform: uppercase;
    
    border-top: solid rgb( 180, 150, 40 ) .12em;
    border-bottom: solid rgb( 202, 174, 48 ) .12em;
    
    font-family: "Times New Roman", Times, serif;
    font-weight: 500;
    letter-spacing: .1em;
    
    margin-top: 0em;
    padding-top: 0em;
    margin-bottom: 0em;
}






a#college {
    text-decoration: none;
}
a#department {
    font-size: 140%;
    text-decoration: none;
}
div#timestamp {
    text-align: right;
    font-style: italic;
    margin-right: 1em;
}
