/* --------------------------------------------------------------
CSS RESET
-------------------------------------------------------------- */

/* CSS 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, font, 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 { background:transparent; border:0; margin:0; padding:0; vertical-align:baseline; }
header, nav, section, article, aside, footer { display:block; }
body { line-height:1; }
h1, h2, h3, h4, h5, h6 { font-weight:normal; }
ol, ul, li { list-style:none; }
blockquote { quotes:none; }
blockquote:before, blockquote:after { content:''; }
del { text-decoration:line-through; }
table { border-collapse:collapse; border-spacing:0; }
a img { border:none; }


/* --------------------------------------------------------------
GENERAL ELEMENTS
-------------------------------------------------------------- */

/* BODY */
body { font-family:'Open Sans', sans-serif; letter-spacing:0.05em; text-transform:none; background:#fff; color:#333; font-size:16px; font-weight:normal; line-height:1.8; transition:0.3s opacity; }
html body:before { visibility:hidden; opacity:0; }
body.body-reloading { opacity:0.5;  }

/* HEADINGS */
h1, h2, h3, h4, h5, h6, .heading { line-height:1.2; margin:0 0 0.4em; color:#444; font-size:2em; font-weight:bold; }
h1 { font-size:2.5em; }
h2 { font-size:2.0em; }
h3 { font-size:1.5em; }
h4 { font-size:1.3em; }
h5 { font-size:1.2em; }
h6 { font-size:1.1em; }


/* HYPERLINKS */
a, a:visited { color:var(--link-color); text-decoration:none; }
a:hover { color:var(--link-color-hover); text-decoration:none; }

/* FORMS */
input[type=text], input[type=password],
input[type=tel], input[type=url], input[type=email],
input[type=number], input[type=range], input[type=search], input[type=color],
input[type=time], input[type=week], input[type=month], input[type=date], input[type=datetime],
textarea, select { border:1px solid #ddd; padding:12px 12px; background:#fff; font-size:1em; color:#444; }
input[type=submit] { width:auto; -webkit-appearance:none; }

/* DECORATED CHECKBOXES */
.checkbox { position:relative; padding-left:35px; margin:6px 0; }
.checkbox span:hover { opacity:0.7; }
.checkbox-field { cursor:pointer; }
.checkbox:before { display:block; position:absolute; top:50%; left:0; content:' '; background:#fff; text-align:center; font-size:12px; color:#fff; width:20px; height:20px; margin-top:-10px; line-height:20px; border-radius:4px; border:2px solid #ddd; transition:0.2s all; }
.checkbox input { position:absolute; left:-9999px; }
.checkbox.checkbox-active:before { background:var(--highlight-color); border:2px solid var(--highlight-color); content:'\f00c'; font-family:'fontawesome'; }

/* GENERAL TYPOGRAPHY */
p, address { margin-bottom:1.6em; }
span, div, p, dl, td, th, ul, ol, blockquote { }

/* LISTS */
ul li, ol li { list-style:disc; margin:5px 0 5px 25px; list-style-position:outside; }
ol li { list-style:decimal; }
ol ol li { list-style:upper-alpha; }
ol ol ol li { list-style:lower-roman; }
ol ol ol ol li { list-style:lower-alpha; }
ol ul li,
ol ol ul li,
ol ol ol ul li { list-style:disc; }
ul ul, ol ol, ul ol, ol ul { margin-bottom:0; }
ul, ol, dd, pre, hr { margin-bottom:25px; }
ul ul, ol ol, ul ol, ol ul { margin-bottom:0; }

dl { margin:0 0 24px 0; }
dt { font-weight:bold; }
dd { margin-bottom:18px; }
strong, b { font-weight:bold; }
cite, em, i { border:none; font-style:italic; }
big { font-size:131.25%; }
ins { background:#ffc; border:none; }
del { text-decoration:line-through; }

/* ADDRESSES */
address { font-size:0.9em; line-height:1.2em; }

/* CITATIONS */
blockquote { display:block; font-style:italic; padding:0 5%; margin:25px 0; }
blockquote cite, blockquote em, blockquote i { font-style:normal; }

/* PREDEFINED TEXT */
pre { display:block; overflow:auto; font-family:Courier, monospace; background:url(data:image/gif;base64,R0lGODlhAQAyAIAAAP////f39yH5BAAAAAAALAAAAAABADIAAAIIhI+pGO0P4ysAOw==); border:1px solid #eee; color:#555; line-height:25px; padding:25px 20px; font-size:14px; margin:25px 0; }

/* TEXT VARIATIONS */
abbr, acronym { border-bottom:1px dotted #666; cursor:help; }
ins { text-decoration:none; }
sup, sub { font-size:0.7em; height:0; line-height:1; position:relative; vertical-align:baseline; }
sup { bottom:1ex; }
sub { top:.5ex; }
kbd, tt, var { line-height:21px; }
code { font-size:1.05em; }

/* CODE */
code, code var { font-family:Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }

/* IFRAMES */
iframe { max-width:100%; }

/* TABLES */
table { border-collapse:collapse; border-spacing:0; margin:0 0 24px; text-align:left; width:100%; }
tr th, thead th { border:none; color:#888; font-weight:bold; line-height:1.2em; padding:10px; border-bottom:1px solid #ddd; }
tr td { border:none; padding:10px; border-bottom:1px solid #ddd; border-bottom:none; }
tfoot tr td { border-bottom:none; }
tr td, tr th, thead th, tr th, thead th { }
.dark tr th, .dark thead th { border-bottom:1px solid #ddd; }
.dark tr td { border-bottom:1px solid #ddd; }

/* FORM FIELDS */
fieldset { margin:0 0 30px; }
legend { font-size:1.3em; display:block; margin:0 0 20px; }

/* FORMS */
label { padding:0; margin:0; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; }
input, textarea { font-size:1em; }
input[type=text], input[type=password], input[type=input],
input[type=tel], input[type=url], input[type=email],
input[type=number], input[type=range], input[type=search], input[type=color],
input[type=time], input[type=week], input[type=month], input[type=date], input[type=datetime],
textarea, select { font-family:inherit; border:2px solid #ddd; padding:12px; margin:0; width:100%; background:#fcfcff; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; -webkit-appearance:none; }
input[type=submit], .button { width:auto; -webkit-appearance:none; background:#6c3; border:none; padding:12px 30px; font-weight:bold; text-transform:uppercase; font-family:'Open Sans'; color:#fff; border-radius:3px; }
body select { background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAFCAYAAACn39dKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNpiYGBgmMmAG8z8//8/A7GYCaYJm0EMJAKQYelYNMPY6aQYxojHJWCDQM4nxWUMWFyRzkAGAAgwAGMTKhZAxxJyAAAAAElFTkSuQmCC'); background-repeat:no-repeat; background-position:right; }

/* HEADING LINE */
hr { background-color:#fff; border:0; border-top:2px solid #eee; border-bottom:1px solid #fff; clear:both; height:0; margin:40px 0; }

/* INLINE IMAGES */
img { margin:0; max-width:100%; line-height:0; height:auto; }
img.align-left { display:block; float:left; max-width:50%; margin:4px 30px 20px 0; }
img.align-right { display:block; float:right; max-width:50%; margin:4px 0 20px 30px; }
img.align-center { display:block; margin:0 auto 20px; }
img.align-full { display:block; width:100%; margin:0 auto 20px; }
.align-left { text-align:left; }
.align-center { text-align:center; }
.align-right { text-align:right; }
.align-full { text-align:justify; }

.clear { clear:both; width:100%; height:0; margin:0; padding:0; }
html body .outer .hidden { display:none; }


/* ICON FONTS */
.font-fontawesome { font-family:'fontawesome'; }
.font-brands { font-family:'brands'; }
.font-linearicons { font-family:'linearicons'; }

/* --------------------------------------------------------------
LAYOUT ELEMENTS - Header, footer...
-------------------------------------------------------------- */


/* WRAPPERS */
.outer { position:relative; overflow:hidden; width:100%; }
.container { max-width:92vw; width:1180px; padding:0; margin:0 auto; }
.container .container { max-width:100%; }
.container.container-narrow { width:800px; }
.wrapper { }
.wrapper-body { background:#fff; }



/* HEADER */
.header { margin:0; padding:30px 0; text-align:center; position:relative; }
.header-logo { display:inline-block; }
.header-meta { float:right; }
.header-search { float:right; width:400px; max-width:100%; margin:0 25px 0 0; }
.header-menu { float:right; }


/* MAIN/CONTENT */
.main { clear:both; padding:40px 0; }
.content { clear:both; padding:40px; box-sizing:border-box; background:#fff; border-radius:6px; box-shadow:0 10px 40px 0 rgba(0,0,0,0.1); }
/* Sidebar layouts */
.content-layout-none .content-body { float:none; width:auto; }
.content-layout-none .content-sidebar,
.content-layout-narrow .content-sidebar { display:none; }

/* Clear main sections */
.clear-after:after,
.wrapper-body:after,
.header-body:after,
.menu-main:after,
.content:after,
.pagetitle:after,
.subfooter:after,
.footer:after,
.bottom:after,
.menu-bottom:after,
.menu-footer:after,
.footer-menu:after,
.main:before,
.main:after { display:block; width:100%; content:' '; height:0; float:none;	 clear:both; }



/* BOTTOM */
.bottom { position:relative; font-size:0.9em; padding:30px 0; opacity:0.7; clear:both; text-align:center; }


.grades-form { margin:0 auto; }
.grades-form input[type=submit] { display:block; width:100%; box-sizing:border-box; }

.grades-title { font-size:1.8em; margin:0; line-height:1.2; }
.grades-subtitle { margin:0 0 30px; }
.grades-meta { float:right; }
.grades-table { margin:0 0 30px; border:0px solid #ddd; }
.grades-table th { border:none; padding:0; text-align:left; color:#aaa; font-size:0.8em; text-transform:uppercase; }
.grades-table td { border:none; padding:5px 0; }
.grades-assessment { display:block; position:relative; float:left; width:45px; margin:0; border:2px solid #fff; height:40px; line-height:40px; background:#eee; text-align:center; border-radius:3px; }
.grades-assessment-midterm { border:2px solid #ad902e; background:#fe8; color:#64531c; }
.grades-assessment-final { border:2px solid #6b2; background:#cf8; color:#376e17; }
.grades-assessment-tooltip { position:absolute; visibility:hidden; white-space:nowrap; opacity:0; top:100%; left:0; border-radius:3px; line-height:1; pointer-events:none; background:rgba(0,0,0,0.8); padding:4px 10px; font-size:0.8em; color:#fff; font-weight:bold; transition:0.3s all; z-index:100; }
.grades-assessment:hover .grades-assessment-tooltip { visibility:visible; opacity:1; }


/* --------------------------------------------------------------
COMMON ELEMENTS - Languages, social...
-------------------------------------------------------------- */

/* COLUMNS */
.row { display:block; }
.row:after { clear:both; content:' '; display:table; }
.column { display:block; float:left; margin-right:5%; }
.column:last-child { margin-right:0; }
.col1 { width:100%; }
.col2 { width:47.5%; }
.col3 { width:30%; }
.col3x2 { width:65%; }
.col4 { width:21.25%; }
.col4x2 { width:47.5%; }
.col4x3 { width:73.5%; }
.col5 { width:16%; }
.col5x2 { width:37%; }
.col5x3 { width:58%; }
.col5x4 { width:79%; }
.col6 { width:12.5%; }
.col6x2 { width:30%; }
.col6x3 { width:47.5%; }
.col6x4 { width:65%; }
.col6x5 { width:82.5%; }
.column.col-last { margin-right:0; }
.col-divide { display:block; clear:both; width:100%; }
.columns { width:auto; margin:0; }
/* Columns with half padding */
.column-narrow { display:block; float:left; margin-right:2%; }
.column-narrow.col2 { width:49%; }
.column-narrow.col3 { width:32%; }
.column-narrow.col3x2 { width:66%; }
.column-narrow.col4 { width:23.5%; }
.column-narrow.col4x2 { width:49%; }
.column-narrow.col4x3 { width:74.5%; }
.column-narrow.col5 { width:18.4%; }
.column-narrow.col5x2 { width:38.8%; }
.column-narrow.col5x3 { width:60%; }
.column-narrow.col5x4 { width:80%; }
.column-narrow.col6 { width:15%; }
.column-narrow.col6x2 { width:32%; }
.column-narrow.col6x3 { width:49%; }
.column-narrow.col6x4 { width:66%; }
.column-narrow.col6x5 { width:83%; }
.column-narrow.col7 { width:12.57142%; }
/* Columns with no padding */
.column-fit { display:block; float:left; margin-right:0; }
.column-fit.col2 { width:50%; }
.column-fit.col3 { width:33.3333%; }
.column-fit.col3x2 { width:66.6666%; }
.column-fit.col4 { width:25%; }
.column-fit.col4x2 { width:50%; }
.column-fit.col4x3 { width:75%; }
.column-fit.col5 { width:20%; }
.column-fit.col5x2 { width:40%; }
.column-fit.col5x3 { width:60%; }
.column-fit.col5x4 { width:80%; }
.column-fit.col6 { width:16.66666%; }
.column-fit.col6x2 { width:33.3333%; }
.column-fit.col6x3 { width:50%; }
.column-fit.col6x4 { width:66.666666%; }
.column-fit.col6x5 { width:83.333333%; }
.column-fit.col7 { width:14.2857%; }


/* WP GALLERY */
.gallery { margin:0 auto 30px; }
.gallery .gallery-item { float:left; display:block; margin:0 0 3% 3%; text-align:center; width:48.5%; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box; }
.gallery .gallery-item:hover { }
.gallery .gallery-icon { text-align:center; padding:5px; margin:0; overflow:hidden; line-height:0; border:1px solid rgba(0,0,0,0.1); }
.dark .gallery .gallery-icon { border:1px solid rgba(255,255,255,0.2); }
.gallery .gallery-item:first-child,
.gallery br + .gallery-item { margin-left:0; }
.gallery dl a { display:block; }
.gallery dl a img { width:100%; height:auto; margin:0 auto; }
.gallery .gallery-caption { 	font-size:12px; line-height:1.2em; margin:10px 0 0; }
.gallery br+br { display:none; }


/* ENTRANCE ANIMATIONS */
.animation-in { opacity:0; transition-property: opacity,transform; transition-duration:0.1s; transition-timing-function:ease-in-out; }
.animation-in-zoomin { -moz-transform:scale(0.5); -webkit-transform:scale(0.5); transform:scale(0.5); }
.animation-in-zoomout { -moz-transform:scale(1.5); -webkit-transform:scale(1.5); transform:scale(1.5); }
.animation-in-slideup { -moz-transform:translateY(20%); -webkit-transform:translateY(20%); transform:translateY(20%); }
.animation-in-slidedown { -moz-transform:translateY(-20%); -webkit-transform:translateY(-20%); transform:translateY(-20%); }
.animation-in-slideleft { -moz-transform:translateX(20%); -webkit-transform:translateX(20%); transform:translateX(20%); }
.animation-in-slideright { -moz-transform:translateX(-20%); -webkit-transform:translateX(-20%); transform:translateX(-20%); }
.animation-in-spinleft { -moz-transform:scale(1.5) rotate(15deg); -webkit-transform:scale(1.5) rotate(15deg); transform:scale(1.5) rotate(15deg); }
.animation-in-spinright { -moz-transform:scale(1.5) rotate(-15deg); -webkit-transform:scale(1.5) rotate(-15deg); transform:scale(1.5) rotate(-15deg); }
.animation-in-active,
.animation-in-none { opacity:1; transition-duration:1s; transition-timing-function:ease-in-out; transform:none; }
/* Animation speed */
.animation-in-active.animation-speed-fast { transition-duration:0.4s; }
.animation-in-active.animation-speed-slow { transition-duration:2.2s; }


/* HOVER ANIMATIONS */


/* --------------------------------------------------------------
RESPONSIVE STYLES
-------------------------------------------------------------- */


/* LARGE SCREENS */
@media screen and (min-width: 1280px){

}


/* TABLET SCREENS (LANDSCAPE) */
@media screen and (max-width: 1024px){
}


/* TABLET SCREENS (PORTRAIT) */
@media screen and (max-width: 800px){

	.container { max-width:88vw; }

	.menu-mobile-open { display:block; }

	/* COLUMNS */
	.col4 { width:47.5%; }
	.col4:nth-of-type(2) { margin-right:0; }
	.col4:nth-of-type(3) { clear:left; }
	.col5 { width:47.5%; }
	.col5:nth-child(n+3) { width:30%; }
	.col5:nth-child(2) { margin-right:0; }
	.col6 { width:30%; }
	.col6:nth-child(3n) { margin-right:0; }
	/* Narrow */
	.column-narrow.col4 { width:49%; }
	.column-narrow.col5 { width:49%; }
	.column-narrow.col5:nth-child(n+3) { width:32%; }
	.column-narrow.col6 { width:32%; }
	/* Fit */
	.column-fit.col4 { width:50%; }
	.column-fit.col5 { width:50%; }
	.column-fit.col5:nth-child(n+3) { width:33.3333%; }
	.column-fit.col6 { width:33.3333%; }
	/* Break Early */
	.column.column-early { float:none; width:auto; margin:0; }

	/* CONTENT */
	.content .content-body,
	.content .content-sidebar { float:none; width:auto; }

	/* MAIN MENU */
	.menu-main { display:none; }
	.menu-mobile-toggle { display:block; }
	.menu-mobile { display:block; }
}


/* NON-SMARTPHONE SCREENS */
@media only screen and (min-width: 1023px){
	.mobile-only { display:none !important; }
}

/* SMARTPHONE SCREENS */
@media only screen and (max-width: 600px){

	.desktop-only { display:none !important; }

	/* HEADINGS */
	h1 { font-size:2em; }
	h2 { font-size:1.8em; }
	h3 { font-size:1.4em; }
	h4 { font-size:1.2em; }
	h5 { font-size:1.1em; }
	h6 { font-size:1.0em; }


	/* COLUMNS */
	.column.col2,
	.column.col3,
	.column.col4,
	.column.col3x2,
	.column.col4x2,
	.column.col4x3,
	.column.col5x2,
	.column.col5x3,
	.column.col5x4,
	.column.col6x2,
	.column.col6x3,
	.column.col6x4,
	.column.col6x5 { float:none; width:auto; margin:0; }
	.col6:nth-child(3n) { margin-right:5%; }
	.col6:nth-child(2n) { margin-right:0; }
	.col6 { width:47.5%; }
	/* Narrow */
	.column-narrow.col6:nth-child(3n) { margin-right:2%; }
	.column-narrow.col6 { width:49%; }
	/* Fit */
	.column-fit.col6:nth-child(3n) { margin-right:0%; }
	.column-fit.col6 { width:50%; }

}