@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');

/* common.css (start) */

.left { text-align: left !important; }
.center { text-align: center !important; }
.right, input.number, input.small-number, input.year { text-align: right !important; }
.justify { text-align: justify !important; }
.top { vertical-align: top !important; }
.middle { vertical-align: middle !important; }
.bottom { vertical-align: bottom !important; }

.float-left { float: left !important; }
.float-right { float: right !important; }
.float-clear { clear: both !important; }

.truncated { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.clearfix:before, .clearfix:after { content: ' '; display: table; clear: both; zoom: 1; }

.linethrough { text-decoration: line-through !important }

.icon { text-align: center; vertical-align: middle; }
.icon img { display: block; margin: auto; }

.nowrap { white-space: nowrap !important; }
.nomargin { margin: 0 !important; }
.nopad { padding: 0 !important; }
.noborder { border: 0 !important; }
.nobg { background: none !important; }

.inline { display: inline !important; }
.block { display: block !important; }
.inline-block { display: inline-block !important; vertical-align: top; }

.table, div.data { display: table; }
.table-row, div.data > div { display: table-row; }
.table-cell, div.data > div > div { display: table-cell; }

.lighter { opacity: .75; }
.light { opacity: .6; }
.superlight { opacity: .125; }

.superscript { position: relative; top: -0.3em; font-size: 90%; }

.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }

.monospace { font-family: monospace, monospace; }

.hidden { display: none; }
.invisible { visibility: hidden; }

.absolute { position: absolute !important; }
.fixed { position: fixed !important; }
.relative { position: relative !important; }

.hand { cursor: pointer; }
.noselect { user-select: none; }

.fullwidth { width: 100% !important; }
.fullheight { height: 100% !important; }
.autowidth { width: auto !important; }
.autoheight { height: auto !important; }

.pad-1 { padding: 1em !important; }
.pad-2 { padding: 2em !important; }

.mrg-1 { margin: 1em !important; }
.mrg-2 { margin: 2em !important; }

div { box-sizing: border-box; }

.curved { border-radius: 7px; }

.show-960, .show-640, .show-414, .show-320 { display: none; }

button, input.button { cursor: pointer; appearance: none; }

@media only screen and (max-width: 960px) { .show-960 { display: block !important; } .hide-960 { display: none !important; } }
@media only screen and (max-width: 640px) { .show-640 { display: block !important; } .hide-640 { display: none !important; } }
@media only screen and (max-width: 414px) { .show-414 { display: block !important; } .hide-414 { display: none !important; } }
@media only screen and (max-width: 320px) { .show-320 { display: block !important; } .hide-320 { display: none !important; } }

@media print { .noprint { display: none; } }

/* common.css (end) */

body, html { width: 100%; margin: 0; padding: 0; background-color: #f5f5f5; position: relative; }
body { font-family: 'Roboto', sans-serif; text-size-adjust: 100%; background-image: url('../img/bg/body-pattern.png'); }
body, p, div { font-size: 100%; }

body, p { color: #333; }
h1, h2, h3 { font-weight: 400; }
a { text-decoration: none; }
hr { height: 1px; border: 0; border-bottom-width: 1px; border-bottom-style: solid; border-color: #ddd; box-sizing: content-box; -moz-box-sizing: content-box; }

.small { font-size: .8em !important; }
.smaller { font-size: .9em !important; }
.larger { font-size: 1.25em !important; }
.large { font-size: 1.5em !important; }

.normal { font-weight: 400 !important; }
.strong, strong, b { font-weight: 700 !important; }
.em { font-style: italic; }
.underline { border-bottom: 1pt inherit solid; }

/*
#app-header
	#app-header-main
	#app-header-menu -> #app-overlay-menu
#app-main
#app-footer
( .app-content-area defines content boundaries )
*/

/* Main area definition (start) */
div#app-header { width: 100%; }
div#top-blank { height: 0; background-color: #f5f5f5; }
/* div#app-main { width: 100%; } */
/* div#app-footer { padding: 1em 1em 3em 1em; } */
div.app-content-area { width: 1200px; padding: 1em 2em; margin: 0 auto; background-color: #f5f5f5; }
/* Main area definition (end) */

/* App header (start) */

div#app-header { z-index: 10; }
div#app-header-main { text-align: center; vertical-align: middle; width: 100%; position: relative; }
div#app-header-main span#app-header-overlay-switch { position: absolute; right: 0; top: 15%; }
div#app-header-main span#app-header-identity a { font-size: 2.25em; color: #545454; }

div#app-header-menu { text-align: center; }
div#app-header-menu a.menu-item { font-size: 1.4em; font-weight: 400; color: #525252; }
div#app-header-menu a.menu-item.active { font-weight: 700; color: #8b0000; }
div#app-header-menu span.sep { padding: 0 .5em; }

div#app-overlay-menu { display: none; position: fixed; top: 85px; width: 100%; background-color: #f5f5f5; padding: 2.5em 1em 5em 1em; z-index: 1000; }
div#app-overlay-menu a.menu-item { display: block; color: #232323; padding: .5em; border-bottom: 1px #ddd solid; }
div#app-overlay-menu a.menu-item.active { font-weight: 700; color: #8b0000; }
div#app-overlay-menu span.sep { display: none; }

/* App header (end) */

/* App main (start) */

div#app-main p { line-height: 1.5em; }
div#app-main a { font-weight: 700; color: #8b0000; }

/* App main (end) */

/* App footer (start) */

div#app-footer a { font-weight: 700; color: inherit; }

/* App footer (end) */

div.announcement {
	padding: .1em 1em .1em 1em; background-color: #ded8cc; color: black;
	font-size: 1em; line-height: 1.4em; border-radius: 10px;
}

/* Teachers (start) */
div.identity { opacity: .9; font-style: italic; margin-bottom: 1em; }
div.short-profile { display: table; width: 100%; }
div.short-profile > div { display: table-cell; vertical-align: top; line-height: 1.3em; }
div.short-profile img { margin-right: 1em; }
/* Teachers (start) */

/* Quotation start */
div.quote-container {
	margin-bottom: 2em;
	padding: 1em;
}

div.quote-subject {
	font-weight: bold;
	font-size: 1.2em;
	padding-left: 60px;
}

div.quote-body {
	padding: 1em 0 15px 60px;
	background-image: url('../img/quote-open.png');
	background-repeat: no-repeat;
	background-position: top left;
}

div.quote-signature {
	font-weight: 700;
	color: #2e4f5a;
	padding-left: 60px;
}
/* Quotation end */

@media only screen and (max-width: 1200px) {
	div.app-content-area { width: 100%; }
}

@media only screen and (max-width: 960px) {
	div.app-content-area { padding: 1em 1em !important; }
}

@media only screen and (max-width: 640px) {
	div#app-header { position: fixed; overflow: hidden; top: 0; left: 0; z-index: 9999; border-bottom: 1px #ccc solid; }
	div#app-header div.app-content-area { padding: .25em 1em !important; }
	div#top-blank { height: 100px; }
	input.text { width: 96%; }
	span#app-header-identity img { width: 240px; height: 72px; }
}

@media only screen and (max-width: 414px) {
	form input.text, form textarea { width: 90%; }
}
