/*
Theme Name: OLS Theme
Description: A theme created for the Open UToronto Website
Version: 1.0
Author: Georgia Bains
Author URI: http://www.utoronto.ca/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/*= Default variables
-------------------------------------------------------------- */
html {
    margin: 0;
    padding: 0;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 300;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0;
    padding: 0;
    font-size: 1.1em;
    line-height: 1.55em;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 300;
    color: #222;
    background: #fefefe;
}

a {
    color: #008bb0;
    text-decoration: none;
    -moz-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
}

a:hover {
    color: #dae5cd;
    -moz-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
}

img {
    max-width: 100%;
}

article, 
aside, 
footer, 
header, 
nav, 
section {
    display: block;
}

h1 {
    font-size: 2em;
    margin: 0.75em 0 0.75em 0;
}

h2 {
    font-size: 1.5em;
    margin: 1.75em 0 0.5em 0;
}

h2:before {
    content: '\f054';
    font-family: FontAwesome;
    color: #7ba4d9;
    font-size: 0.9em;
    margin-right: 10px;
}

h3 {
    font-size: 1.25em;
    margin: 1.0em 0 0.25em 0;
}

h3:before {
    content: '\f101 \f101';
    font-family: FontAwesome;
    color: #dae5cd;
    margin-right: 10px;
    font-size: 1.0em;
}

h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
    font-family: 'Halant', serif;
}

figcaption, 
figure, 
main {
    display: block;
}

figure {
    margin: 1em 0;
}

hr {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: obkects;
}

a:active, 
a:hover {
    outline-width: 0;
}

abbr[title] {
    border-bottom: 1px dotted #dae5cd;
    text-decoration: none;
}

b, strong {
    font-weight: inherit;
    font-weight: 700;
}

code, 
kbd, 
samp {
    font-family: monospace, monospace;
    font-size: 1.0em;
}

dfn {
    font-style: italic;
}

mark {
    background-color: #dae5cd;
    color: #222;
}

small {
    font-size: 80%;
}

sub, 
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

audio, 
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

button, 
input, 
optgroup, 
select, 
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button, 
input {
    overflow: visible;
}

button, 
select {
    text-transform: none;
}

button, 
html [type="button"], 
[type="reset"], 
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    border: 1px solid #bbb;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    display: inline-block;
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details, 
menu {
    display: block;
}

summary {
    display: list-item;
}

canvas {
    display: inline-block;
}

template {
    display: none;
}

[hidden] {
    display: none;
}


/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.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 !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #eee;
	clip: auto !important;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}


/*= Content styling
-------------------------------------------------------------- */
#content {
    width: 80%;
    margin: 40px auto 80px auto;
}


/*Header*/
#header {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 90px 0 50px 0;
}

.headerwrap {
	display: flex;
}

.headericon {
	padding: 0 20px 0 0;
	align-self: center;
}

#header img {
    height: 80px;
}

.headerinfo {
	width: calc(80% - 40px);
	padding: 10px 0 10px 20px;
	border-left: 1px solid #dae5cd;
}

h1.title {
	width: 70%;
	font-family: 'Halant', serif;
	font-size: 2.6em;
    margin: 15px 0 15px 0;
    font-weight: 400;
}

.title a {
    color: #002a5c;
}

.description {
	width: 100%;
	display: flex;
}

.description p {
	width: 70%;
	margin: 0;
}

.description #searchform {
	width: 30%;
	text-align: right;
}

#searchform label {
	position: absolute;
	visibility: hidden;
}

#searchform #search, 
#searchform button {
	line-height: 1.55em;
	padding: 4px 3px 3px 9px;
	font-size: 0.8em;
	background: #f8f8f8;
}

#searchform #search {
	margin: 0;
	border: none;
}

#searchform #search::placeholder {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 1;
}

#searchform #search:-ms-input-placeholder {
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

#searchform #search::-ms-input-placeholder {
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

#searchform button {
	display: inline-block;
	border: none;
	margin-left: -5px;
	text-align: left;
	cursor: pointer;
}

/*Primary Menu*/
nav {
    width: calc(100% - 80px);
    height: 27px;
    font-size: 1.0em;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    background: #002a5c;
    color: #fefefe;
    margin: 30px 0;
    padding: 30px 40px;
    position: static;
    text-align: center;
    z-index: 2;
}

nav b {
    font-weight: 300;
    font-size: 0.9em;
    margin-right: 16px;
}

.fa:before {
    padding-right: 7px;
}

.header-menu {
	display: inline-block;
}

.header-menu-class {
    display: inline-block;
}

.header-menu-class ul {
    list-style-type: none;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu-class li {
    display: inline;
}

.header-menu-class .menu-item a {
	font-family: 'Fira Sans', sans-serif;
    color: #fefefe;
    margin: 0 16px 0 0;
    padding: 4px 0 3px 3px;
    border-bottom: 1px solid #fefefe;
}

.header-menu-class .menu-item a:hover {
    padding: 4px 0 10px 3px;
    border-bottom: 1px solid transparent;
}

/*sticky nav for Primary Menu*/
.fixednav {
    position: fixed;
    top: 0;
    margin: 0;
    width: calc(80% - 80px);
}

.innerfixed {
    padding-top: 117px;
}


/*Front Page*/
.entry img {
    display: block;
}

.home .content {
    display: table;
}

.home .wrap, 
.sidebar {
    display: table-cell;
}

.home .wrap {
    width: 55%;
}

.home .entry {
    padding: 10px 20px 0 10px;
}

.home h2 {
    margin: 0.25em 0 0.75em 0;
}

.home .entry h2:before {
    content: "\f054";
    font-family: FontAwesome;
    color: #7ba4d9;
    font-size: 0.9em;
    margin-right: 10px;
}

.home .sidebar {
    width: 45%;
    font-size: 0.9em;
    line-height: 1.45em;
    border-left: 1px solid #dae5cd;
    padding: 10px 25px 0 25px;
}

.home .sidebar h2.sidebar-title:before {
    content: '';
    margin-right: 0;
}

.widgettitle:before {
    content: "\f054";
    font-family: FontAwesome;
    color: #7ba4d9;
    font-size: 0.8em;
    margin-right: 10px;
}

.widgettitle {
    font-size: 1.3em;
    font-weight: 300;
}

.home .sidebar li {
    list-style: none;
}


/*Default Page*/
.page-template-default .content-area {
    padding: 10px 40px;
}

/*Page Templates -- About/Create/Projects/MOOC/Resources*/
.page-template .content {
    display: table;
}

.page-template .content-area {
    padding: 10px 40px;
    border-left: 1px solid #dae5cd;
}

.page-template-page-about .wrap, .about-menu-class {
    display: table-cell;
}

.page-template-page-create .wrap, .create-menu-class {
    display: table-cell;
} 

.page-template-page-projects .wrap, .projects-menu-class {
    display: table-cell;
} 

.page-template-page-mooc .wrap, .mooc-menu-class {
    display: table-cell;
} 

.page-template-page-resources .wrap, .resources-menu-class {
    display: table-cell;
}

.page-template-page-about .about-menu-class {
    width: 30%;
    font-size: 0.9em;
    line-height: 1.45em;
}

.page-template-page-create .create-menu-class {
    width: 30%;
    font-size: 0.9em;
    line-height: 1.45em;
} 

.page-template-page-projects .projects-menu-class {
    width: 30%;
    font-size: 0.9em;
    line-height: 1.45em;
} 

.page-template-page-mooc .mooc-menu-class {
    width: 30%;
    font-size: 0.9em;
    line-height: 1.45em;
} 

.page-template-page-resources .resources-menu-class {
    width: 30%;
    font-size: 0.9em;
    line-height: 1.45em;
}

.about-menu-class ul, 
.create-menu-class ul, 
.projects-menu-class ul, 
.mooc-menu-class ul, 
.resources-menu-class ul {
    margin-left: 20px;
    padding: 0 10px;
    list-style: none;
    width: calc(100% - 60px);
}

.about-menu-class li,
.create-menu-class li, 
.projects-menu-class li, 
.mooc-menu-class li, 
.resources-menu-class li {
    margin: 5px 0;
}

.about-menu-class li:before, 
.create-menu-class li:before, 
.projects-menu-class li:before, 
.mooc-menu-class li:before, 
.resources-menu-class li:before {
    content: '\f105';
    font-family: FontAwesome;
    margin: 0 10px 0 -16px;
    color: #002a5c;
}

/* edit made in the Custom CSS section of the ocw site - added April 14th 2019 */
.report h2:before {
	content: '';
	margin-right: 0;
}

.report h3:before {
	content: '';
	margin-right: 0;
}
/* end edit */

/*sticky Page Template Menu*/
ul.fixedmenu {
    width: calc(22% - 20px);
    padding: 0 10px;
    position: fixed;
    top: 117px;
    margin: 0;
    margin-left: 20px;
}

/*Creates an offset for internal scroll to links*/
:target:before {
	content: '';
    display: block;
    height: 117px; /* fixed header height*/
    margin: -117px 0 0; /* negative fixed header height */
}


/*Footer*/
footer {
    margin: 30px 0;
    width: calc(100% - 20px);
    border-top: 1px solid #dae5cd;
    padding: 15px 10px;
    font-size: 0.85em;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/*= Responsive Design
note: breakpoints decided by content
-------------------------------------------------------------- */
@media screen and (min-width: 1920px) {
     body {
        font-size: 1.2em;
    }
    
    #content {
        width: 65%;
    }
    
    .fixednav {
        width: calc(65% - 80px);
    }
}

@media screen and (min-width: 1500px) and (max-width: 1919px) {
    #content {
        width: 70%;
    }
    
    .fixednav {
        width: calc(70% - 80px);
    }
}

@media screen and (max-width: 1330px) {
    nav {
        width: calc(100% - 60px);
        text-align: center;
        padding: 30px;
    }
    
    .fixednav {
        width: calc(80% - 60px);
    }
}

@media screen and (max-width: 1120px) {
	
	h1.title {
		width: 100%;
	}
	
	.description {
		flex-direction: column;
	}
	
	.description p {
		width: 100%;
		margin: 0.5em 0;
	}
	
	.description #searchform {
		width: 100%;
		text-align: left;
	}
	
    nav {
        width: calc(100% - 80px);
        height: 87px;
        line-height: 2.35em;
        padding: 20px 40px;
    }
}

@media screen and (max-width: 894px) {
    #header {
        width: 100%;
        height: auto;
        padding: 0;
        margin: 70px 0 40px 0;
        text-align: center;
    }
	
	.headerwrap {
		flex-direction: column;
	}

    #header img {
        height: 80px;
        text-align: center;
        margin: 0 0 15px 0;
        position: relative;
    }

    .headerinfo {
        width: calc(100% - 60px);
        margin: 0;
        padding: 15px 30px 0 30px;
		border-top: 1px solid #dae5cd;
		border-left: none;
    }

    .title {
        margin: 30px 0 15px 0;
        font-weight: 400;
    }
	
	.description #searchform {
		text-align: center;
	}
    
    nav {
        height: auto;
    }
    
    .fixednav {
        position: relative;
        width: calc(100% - 80px);
    }
    
    ul.fixedmenu {
        width: calc(100% - 20px);
        position: relative;
        top: 30px;
        margin: 0;
    }
    
    .innerfixed {
        padding-top: 30px;
    }
    
    .home .wrap, .sidebar {
        display: block;
    }

    .home .wrap {
        width: 100%;
    }
    
    .home .sidebar {
        width: calc(100% - 20px);
        margin: 20px auto;
        padding: 20px 0;
        border-left: none;
        border-top: 1px solid #dae5cd;
    }

    .home .entry {
        padding: 10px;
    }
    
    .page-template-default .content-area {
        padding: 0 10px;
    }
    
    .page-template .content-area {
        margin: 30px 0;
        padding: 15px 0px;
        border-left: none;
        border-top: 1px solid #dae5cd;
    }
    
    .page-template-page-about .wrap {
        display: block;
        margin: auto;
        width: calc(100% - 20px);
    }

    .page-template-page-create .wrap {
        display: block;
        margin: auto;
        width: calc(100% - 20px);
    } 

    .page-template-page-projects .wrap {
        display: block;
        margin: auto;
        width: calc(100% - 20px);
    } 

    .page-template-page-mooc .wrap {
        display: block;
        margin: auto;
        width: calc(100% - 20px);
    } 

    .page-template-page-resources .wrap {
        display: block;
        margin: auto;
        width: calc(100% - 20px);
    }
    
    .page-template-page-about .about-menu-class {
        display: block;
        width: 100%;
    }

    .page-template-page-create .create-menu-class {
        display: block;
        width: 100%;
    } 

    .page-template-page-projects .projects-menu-class {
        display: block;
        width: 100%;
    } 

    .page-template-page-mooc .mooc-menu-class {
        display: block;
        width: 100%;
    } 

    .page-template-page-resources .resources-menu-class {
        display: block;
        width: 100%;
    }
    
    .about-menu-class ul, 
    .create-menu-class ul, 
    .projects-menu-class ul, 
    .mooc-menu-class ul, 
    .resources-menu-class ul {
        margin-left: 20px;
    }
}

@media screen and (max-width: 732px) {
    body {
        font-size: 1.0em;
    }
}

@media screen and (max-width: 577px) {
    body {
        font-size: 0.9em;
    }
    
    #header img {
        height: 60px;
    }
}


@media screen and (max-width: 416px) {
    .title {
        line-height: 1.45em;
    }
    
    .header-menu-class li {
        display: block;
        line-height: 2.25em;
    }
}

@media screen and (max-width: 359px) {
    nav {
        width: calc(100% - 40px);
        padding: 20px 20px;
    }
    
    .fixednav {
        width: calc(100% - 40px);
    }
}

@media screen and (max-width: 320px) {
    body {
        font-size: 0.8em;
    }
}